orbitchat 2.13.0 → 2.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/assets/{_baseUniq-BRKsqoH--DGdgNAAC.js → _baseUniq-BRKsqoH--BnZ8jILn.js} +1 -1
- package/dist/assets/api-C90fNFdj.js +2 -0
- package/dist/assets/api-Dg2si9TY.js +2 -0
- package/dist/assets/{arc-pab_su9s-5Fj8gaRD.js → arc-pab_su9s-DFq3JYvb.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-DqQ8r_6g-CUv_1hwH.js → architectureDiagram-VXUJARFQ-DqQ8r_6g-ejnypLyO.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-B-dKfcH3-C5C8ioHy.js → blockDiagram-VD42YOAC-B-dKfcH3-Bgo8FU6J.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-DMUPaBEl-C9aRvbUH.js → c4Diagram-YG6GDRKO-DMUPaBEl-CX9lx-UK.js} +1 -1
- package/dist/assets/channel-HKsfPa5q-i-PY3wcB.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB-CX67kh_B-Dg-FCFRz.js → chunk-4BX2VUAB-CX67kh_B-Dm2c-Lyy.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-BocSyyvr-DLl0J2Y8.js → chunk-55IACEB6-BocSyyvr-lclbFu9j.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-CO8QAyfE-CA70cVW0.js → chunk-B4BG7PRW-CO8QAyfE-CvvrZ063.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-Dw1L6Eos-D9NxRcb0.js → chunk-DI55MBZ5-Dw1L6Eos-BuD2OREa.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-dPK7Boav-BnBNSo2K.js → chunk-FMBD7UC4-dPK7Boav-D0ZlDI-s.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-vP2PqfVG-CPmEgt7H.js → chunk-QN33PNHL-vP2PqfVG-DqaIoebO.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-Bcidzu63-D5oprccq.js → chunk-QZHKN3VN-Bcidzu63-DG8agfQA.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-BtljMjlg-BMaQANUN.js → chunk-TZMSLE5B-BtljMjlg-B6xEnbcW.js} +1 -1
- package/dist/assets/{classDiagram-2ON5EDUG-C7cYN9hv-BJ55vfJP.js → classDiagram-2ON5EDUG-C7cYN9hv-Dd-YCt5Q.js} +1 -1
- package/dist/assets/{classDiagram-v2-WZHVMYZB-C7cYN9hv-BJ55vfJP.js → classDiagram-v2-WZHVMYZB-C7cYN9hv-Dd-YCt5Q.js} +1 -1
- package/dist/assets/clone-DoPb9X13-DxnBl06F.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-BGzO4EsH-C4qWHBkh.js → cose-bilkent-S5V4N54A-BGzO4EsH-BMVWyh_a.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-TzNvXCds-DHQFOEg9.js → dagre-6UL2VRFP-TzNvXCds-CbmhexaH.js} +1 -1
- package/dist/assets/{diagram-PSM6KHXK-BqY4RpUg-B5PMaM9_.js → diagram-PSM6KHXK-BqY4RpUg-BqmtaKLy.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-CTjgBsne-BxRfYCvV.js → diagram-QEK2KX5R-CTjgBsne-Dbl2BvQJ.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-BqrhTIpA-lHz0Lv72.js → diagram-S2PKOQOG-BqrhTIpA-DnNkr8UG.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-B2hsi_Tl-CA9gC_Sq.js → erDiagram-Q2GNP2WA-B2hsi_Tl-r9lLCSiy.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-C03vtt_F-D_0d3iIN.js → flowDiagram-NV44I4VS-C03vtt_F-Bj1MoEwx.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-B3hAg964-DBmhALRX.js → ganttDiagram-JELNMOA3-B3hAg964-CCnbkzn3.js} +1 -1
- package/dist/assets/{gitGraphDiagram-NY62KEGX-ByhMH0yZ-CPYXuiML.js → gitGraphDiagram-NY62KEGX-ByhMH0yZ-YRu-SLHD.js} +1 -1
- package/dist/assets/{graph-BmNkcFEM-KNWsAmWF.js → graph-BmNkcFEM-dUEThWgx.js} +1 -1
- package/dist/assets/{index-BW8v6af7.js → index-BTk6gbYa.js} +179 -179
- package/dist/assets/{index-BXexqYFc-B__qmzrN.js → index-BXexqYFc-6FZAvmAF.js} +1 -1
- package/dist/assets/index-BjgS88qB.css +1 -0
- package/dist/assets/{infoDiagram-WHAUD3N6-is6Ho4-T-Dq-eketn.js → infoDiagram-WHAUD3N6-is6Ho4-T-BLBpQ0kq.js} +1 -1
- package/dist/assets/{journeyDiagram-XKPGCS4Q-CRTOL26C-LR6WJTSP.js → journeyDiagram-XKPGCS4Q-CRTOL26C-BslRBPzU.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-CNnO_t6O-DtmYC3pq.js → kanban-definition-3W4ZIXB7-CNnO_t6O-C2MPRjuS.js} +1 -1
- package/dist/assets/{layout-C0kZPebx-B_46-FEA.js → layout-C0kZPebx-DBUyCsod.js} +1 -1
- package/dist/assets/{min-7Gb0pNxh-DKsTGhJ-.js → min-7Gb0pNxh-9FduVVTw.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-CJZ2wTTa-CQ5XhAm3.js → mindmap-definition-VGOIOE7T-CJZ2wTTa-DP1XV6kP.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-C9OSknjr-Zjsm8zCu.js → pieDiagram-ADFJNKIX-C9OSknjr-BdkTw8nn.js} +1 -1
- package/dist/assets/{quadrantDiagram-AYHSOK5B-CW8yuAqv-CewG7Ps5.js → quadrantDiagram-AYHSOK5B-CW8yuAqv-BcCv0sYD.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-nGPhruO1-CmwzlmWj.js → requirementDiagram-UZGBJVZJ-nGPhruO1-CZD7Xw4s.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-CmL90u-m-DyQmhLGo.js → sankeyDiagram-TZEHDZUN-CmL90u-m-BicoH15o.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-B02VRcnM-B2VD9p2E.js → sequenceDiagram-WL72ISMW-B02VRcnM-CvY3TSCC.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-DjoyLUdz-CJrUh4uS.js → stateDiagram-FKZM4ZOC-DjoyLUdz-Cy3GdNKr.js} +1 -1
- package/dist/assets/{stateDiagram-v2-4FDKWEC3-Bq76BTB7-B5yHWv_e.js → stateDiagram-v2-4FDKWEC3-Bq76BTB7-BTj88h18.js} +1 -1
- package/dist/assets/{timeline-definition-IT6M3QCI-CTn0Gm3T-DHkXiL9a.js → timeline-definition-IT6M3QCI-CTn0Gm3T-BPnEK60y.js} +1 -1
- package/dist/assets/{treemap-KMMF4GRG-BjgLKKyi-D9LFxDnG.js → treemap-KMMF4GRG-BjgLKKyi-Dpn6IoCt.js} +1 -1
- package/dist/assets/{xychartDiagram-PRI3JC2R-Cgg6Uija-D8sQ8SWv.js → xychartDiagram-PRI3JC2R-Cgg6Uija-B3NNTn5p.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +2 -2
- package/dist/assets/api-BHF9IxKN.js +0 -1
- package/dist/assets/api-BrcFa20y.js +0 -2
- package/dist/assets/channel-HKsfPa5q-nerGd90z.js +0 -1
- package/dist/assets/clone-DoPb9X13-BYjj6fv1.js +0 -1
- package/dist/assets/index-Cox333Kd.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{U as A,B as G,M}from"./chunk-DI55MBZ5-Dw1L6Eos-D9NxRcb0.js";import{M as y,C as t,d as v,a as E,i as U,m as H,aw as C,aD as O,aA as P,r as R}from"./index-BW8v6af7.js";import{Q as I}from"./graph-BmNkcFEM-KNWsAmWF.js";import{B as W}from"./layout-C0kZPebx-B_46-FEA.js";import"./chunk-55IACEB6-BocSyyvr-DLl0J2Y8.js";import"./chunk-QN33PNHL-vP2PqfVG-CPmEgt7H.js";import"./_baseUniq-BRKsqoH--DGdgNAAC.js";import"./min-7Gb0pNxh-DKsTGhJ-.js";var $=y(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),F=y(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),J=y((e,n)=>{const g=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(n.id),s=g.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",s.width+2*t().state.padding).attr("height",s.height+2*t().state.padding).attr("rx",t().state.radius),g},"drawSimpleState"),Y=y((e,n)=>{const g=y(function(o,u,b){const m=o.append("tspan").attr("x",2*t().state.padding).text(u);b||m.attr("dy",t().state.textHeight)},"addTspan"),s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),r=s.height,c=e.append("text").attr("x",t().state.padding).attr("y",r+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let l=!0,a=!0;n.descriptions.forEach(function(o){l||(g(c,o,a),a=!1),l=!1});const d=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+r+t().state.dividerMargin/2).attr("y2",t().state.padding+r+t().state.dividerMargin/2).attr("class","descr-divider"),x=c.node().getBBox(),h=Math.max(x.width,s.width);return d.attr("x2",h+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",h+2*t().state.padding).attr("height",x.height+r+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),j=y((e,n,g)=>{const s=t().state.padding,r=2*t().state.padding,c=e.node().getBBox(),l=c.width,a=c.x,d=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(n.id),x=d.node().getBBox().width+r;let h=Math.max(x,l);h===l&&(h=h+r);let o;const u=e.node().getBBox();n.doc,o=a-s,x>l&&(o=(l-h)/2+s),Math.abs(a-u.x)<s&&x>l&&(o=a-(x-l)/2);const b=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",b).attr("class",g?"alt-composit":"composit").attr("width",h).attr("height",u.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),d.attr("x",o+s),x<=l&&d.attr("x",a+(h-r)/2-x/2+s),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",h).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",h).attr("height",u.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),Q=y(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),X=y((e,n)=>{let g=t().state.forkWidth,s=t().state.forkHeight;if(n.parentId){let r=g;g=s,s=r}return e.append("rect").style("stroke","black").style("fill","black").attr("width",g).attr("height",s).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),q=y((e,n,g,s)=>{let r=0;const c=s.append("text");c.style("text-anchor","start"),c.attr("class","noteText");let l=e.replace(/\r\n/g,"<br/>");l=l.replace(/\n/g,"<br/>");const a=l.split(H.lineBreakRegex);let d=1.25*t().state.noteMargin;for(const x of a){const h=x.trim();if(h.length>0){const o=c.append("tspan");if(o.text(h),d===0){const u=o.node().getBBox();d+=u.height}r+=d,o.attr("x",n+t().state.noteMargin),o.attr("y",g+r+1.25*t().state.noteMargin)}}return{textWidth:c.node().getBBox().width,textHeight:r}},"_drawLongText"),Z=y((e,n)=>{n.attr("class","state-note");const g=n.append("rect").attr("x",0).attr("y",t().state.padding),s=n.append("g"),{textWidth:r,textHeight:c}=q(e,0,0,s);return g.attr("height",c+2*t().state.noteMargin),g.attr("width",r+t().state.noteMargin*2),g},"drawNote"),T=y(function(e,n){const g=n.id,s={id:g,label:n.id,width:0,height:0},r=e.append("g").attr("id",g).attr("class","stateGroup");n.type==="start"&&$(r),n.type==="end"&&Q(r),(n.type==="fork"||n.type==="join")&&X(r,n),n.type==="note"&&Z(n.note.text,r),n.type==="divider"&&F(r),n.type==="default"&&n.descriptions.length===0&&J(r,n),n.type==="default"&&n.descriptions.length>0&&Y(r,n);const c=r.node().getBBox();return s.width=c.width+2*t().state.padding,s.height=c.height+2*t().state.padding,s},"drawState"),D=0,K=y(function(e,n,g){const s=y(function(d){switch(d){case M.relationType.AGGREGATION:return"aggregation";case M.relationType.EXTENSION:return"extension";case M.relationType.COMPOSITION:return"composition";case M.relationType.DEPENDENCY:return"dependency"}},"getRelationType");n.points=n.points.filter(d=>!Number.isNaN(d.y));const r=n.points,c=C().x(function(d){return d.x}).y(function(d){return d.y}).curve(O),l=e.append("path").attr("d",c(r)).attr("id","edge"+D).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=P(!0)),l.attr("marker-end","url("+a+"#"+s(M.relationType.DEPENDENCY)+"End)"),g.title!==void 0){const d=e.append("g").attr("class","stateLabel"),{x,y:h}=R.calcLabelPosition(n.points),o=H.getRows(g.title);let u=0;const b=[];let m=0,S=0;for(let f=0;f<=o.length;f++){const p=d.append("text").attr("text-anchor","middle").text(o[f]).attr("x",x).attr("y",h+u),w=p.node().getBBox();m=Math.max(m,w.width),S=Math.min(S,w.x),E.info(w.x,x,h+u),u===0&&(u=p.node().getBBox().height,E.info("Title height",u,h)),b.push(p)}let N=u*o.length;if(o.length>1){const f=(o.length-1)*u*.5;b.forEach((p,w)=>p.attr("y",h+w*u-f)),N=u*o.length}const i=d.node().getBBox();d.insert("rect",":first-child").attr("class","box").attr("x",x-m/2-t().state.padding/2).attr("y",h-N/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",N+t().state.padding),E.info(i)}D++},"drawEdge"),B,z={},V=y(function(){},"setConf"),_=y(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),tt=y(function(e,n,g,s){B=t().state;const r=t().securityLevel;let c;r==="sandbox"&&(c=v("#i"+n));const l=r==="sandbox"?v(c.nodes()[0].contentDocument.body):v("body"),a=r==="sandbox"?c.nodes()[0].contentDocument:document;E.debug("Rendering diagram "+e);const d=l.select(`[id='${n}']`);_(d);const x=s.db.getRootDoc();L(x,d,void 0,!1,l,a,s);const h=B.padding,o=d.node().getBBox(),u=o.width+h*2,b=o.height+h*2,m=u*1.75;U(d,b,m,B.useMaxWidth),d.attr("viewBox",`${o.x-B.padding} ${o.y-B.padding} `+u+" "+b)},"draw"),et=y(e=>e?e.length*B.fontSizeFactor:1,"getLabelWidth"),L=y((e,n,g,s,r,c,l)=>{const a=new I({compound:!0,multigraph:!0});let d,x=!0;for(d=0;d<e.length;d++)if(e[d].stmt==="relation"){x=!1;break}g?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:x?1:B.edgeLengthFactor,nodeSep:x?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:x?1:B.edgeLengthFactor,nodeSep:x?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const h=l.db.getStates(),o=l.db.getRelations(),u=Object.keys(h);for(const i of u){const f=h[i];g&&(f.parentId=g);let p;if(f.doc){let w=n.append("g").attr("id",f.id).attr("class","stateGroup");p=L(f.doc,w,f.id,!s,r,c,l);{w=j(w,f,s);let k=w.node().getBBox();p.width=k.width,p.height=k.height+B.padding/2,z[f.id]={y:B.compositTitleSize}}}else p=T(n,f,a);if(f.note){const w={descriptions:[],id:f.id+"-note",note:f.note,type:"note"},k=T(n,w,a);f.note.position==="left of"?(a.setNode(p.id+"-note",k),a.setNode(p.id,p)):(a.setNode(p.id,p),a.setNode(p.id+"-note",k)),a.setParent(p.id,p.id+"-group"),a.setParent(p.id+"-note",p.id+"-group")}else a.setNode(p.id,p)}E.debug("Count=",a.nodeCount(),a);let b=0;o.forEach(function(i){b++,E.debug("Setting edge",i),a.setEdge(i.id1,i.id2,{relation:i,width:et(i.title),height:B.labelHeight*H.getRows(i.title).length,labelpos:"c"},"id"+b)}),W(a),E.debug("Graph after layout",a.nodes());const m=n.node();a.nodes().forEach(function(i){i!==void 0&&a.node(i)!==void 0?(E.warn("Node "+i+": "+JSON.stringify(a.node(i))),r.select("#"+m.id+" #"+i).attr("transform","translate("+(a.node(i).x-a.node(i).width/2)+","+(a.node(i).y+(z[i]?z[i].y:0)-a.node(i).height/2)+" )"),r.select("#"+m.id+" #"+i).attr("data-x-shift",a.node(i).x-a.node(i).width/2),c.querySelectorAll("#"+m.id+" #"+i+" .divider").forEach(f=>{const p=f.parentElement;let w=0,k=0;p&&(p.parentElement&&(w=p.parentElement.getBBox().width),k=parseInt(p.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),f.setAttribute("x1",0-k+8),f.setAttribute("x2",w-k-8)})):E.debug("No Node "+i+": "+JSON.stringify(a.node(i)))});let S=m.getBBox();a.edges().forEach(function(i){i!==void 0&&a.edge(i)!==void 0&&(E.debug("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(a.edge(i))),K(n,a.edge(i),a.edge(i).relation))}),S=m.getBBox();const N={id:g||"root",label:g||"root",width:0,height:0};return N.width=S.width+2*B.padding,N.height=S.height+2*B.padding,E.debug("Doc rendered",N,a),N},"renderDoc"),at={setConf:V,draw:tt},ht={parser:G,get db(){return new M(1)},renderer:at,styles:A,init:y(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{ht as diagram};
|
|
1
|
+
import{U as A,B as G,M}from"./chunk-DI55MBZ5-Dw1L6Eos-BuD2OREa.js";import{M as y,C as t,d as v,a as E,i as U,m as H,aw as C,aD as O,aA as P,r as R}from"./index-BTk6gbYa.js";import{Q as I}from"./graph-BmNkcFEM-dUEThWgx.js";import{B as W}from"./layout-C0kZPebx-DBUyCsod.js";import"./chunk-55IACEB6-BocSyyvr-lclbFu9j.js";import"./chunk-QN33PNHL-vP2PqfVG-DqaIoebO.js";import"./_baseUniq-BRKsqoH--BnZ8jILn.js";import"./min-7Gb0pNxh-9FduVVTw.js";var $=y(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),F=y(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),J=y((e,n)=>{const g=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(n.id),s=g.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",s.width+2*t().state.padding).attr("height",s.height+2*t().state.padding).attr("rx",t().state.radius),g},"drawSimpleState"),Y=y((e,n)=>{const g=y(function(o,u,b){const m=o.append("tspan").attr("x",2*t().state.padding).text(u);b||m.attr("dy",t().state.textHeight)},"addTspan"),s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),r=s.height,c=e.append("text").attr("x",t().state.padding).attr("y",r+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let l=!0,a=!0;n.descriptions.forEach(function(o){l||(g(c,o,a),a=!1),l=!1});const d=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+r+t().state.dividerMargin/2).attr("y2",t().state.padding+r+t().state.dividerMargin/2).attr("class","descr-divider"),x=c.node().getBBox(),h=Math.max(x.width,s.width);return d.attr("x2",h+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",h+2*t().state.padding).attr("height",x.height+r+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),j=y((e,n,g)=>{const s=t().state.padding,r=2*t().state.padding,c=e.node().getBBox(),l=c.width,a=c.x,d=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(n.id),x=d.node().getBBox().width+r;let h=Math.max(x,l);h===l&&(h=h+r);let o;const u=e.node().getBBox();n.doc,o=a-s,x>l&&(o=(l-h)/2+s),Math.abs(a-u.x)<s&&x>l&&(o=a-(x-l)/2);const b=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",b).attr("class",g?"alt-composit":"composit").attr("width",h).attr("height",u.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),d.attr("x",o+s),x<=l&&d.attr("x",a+(h-r)/2-x/2+s),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",h).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",h).attr("height",u.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),Q=y(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),X=y((e,n)=>{let g=t().state.forkWidth,s=t().state.forkHeight;if(n.parentId){let r=g;g=s,s=r}return e.append("rect").style("stroke","black").style("fill","black").attr("width",g).attr("height",s).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),q=y((e,n,g,s)=>{let r=0;const c=s.append("text");c.style("text-anchor","start"),c.attr("class","noteText");let l=e.replace(/\r\n/g,"<br/>");l=l.replace(/\n/g,"<br/>");const a=l.split(H.lineBreakRegex);let d=1.25*t().state.noteMargin;for(const x of a){const h=x.trim();if(h.length>0){const o=c.append("tspan");if(o.text(h),d===0){const u=o.node().getBBox();d+=u.height}r+=d,o.attr("x",n+t().state.noteMargin),o.attr("y",g+r+1.25*t().state.noteMargin)}}return{textWidth:c.node().getBBox().width,textHeight:r}},"_drawLongText"),Z=y((e,n)=>{n.attr("class","state-note");const g=n.append("rect").attr("x",0).attr("y",t().state.padding),s=n.append("g"),{textWidth:r,textHeight:c}=q(e,0,0,s);return g.attr("height",c+2*t().state.noteMargin),g.attr("width",r+t().state.noteMargin*2),g},"drawNote"),T=y(function(e,n){const g=n.id,s={id:g,label:n.id,width:0,height:0},r=e.append("g").attr("id",g).attr("class","stateGroup");n.type==="start"&&$(r),n.type==="end"&&Q(r),(n.type==="fork"||n.type==="join")&&X(r,n),n.type==="note"&&Z(n.note.text,r),n.type==="divider"&&F(r),n.type==="default"&&n.descriptions.length===0&&J(r,n),n.type==="default"&&n.descriptions.length>0&&Y(r,n);const c=r.node().getBBox();return s.width=c.width+2*t().state.padding,s.height=c.height+2*t().state.padding,s},"drawState"),D=0,K=y(function(e,n,g){const s=y(function(d){switch(d){case M.relationType.AGGREGATION:return"aggregation";case M.relationType.EXTENSION:return"extension";case M.relationType.COMPOSITION:return"composition";case M.relationType.DEPENDENCY:return"dependency"}},"getRelationType");n.points=n.points.filter(d=>!Number.isNaN(d.y));const r=n.points,c=C().x(function(d){return d.x}).y(function(d){return d.y}).curve(O),l=e.append("path").attr("d",c(r)).attr("id","edge"+D).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=P(!0)),l.attr("marker-end","url("+a+"#"+s(M.relationType.DEPENDENCY)+"End)"),g.title!==void 0){const d=e.append("g").attr("class","stateLabel"),{x,y:h}=R.calcLabelPosition(n.points),o=H.getRows(g.title);let u=0;const b=[];let m=0,S=0;for(let f=0;f<=o.length;f++){const p=d.append("text").attr("text-anchor","middle").text(o[f]).attr("x",x).attr("y",h+u),w=p.node().getBBox();m=Math.max(m,w.width),S=Math.min(S,w.x),E.info(w.x,x,h+u),u===0&&(u=p.node().getBBox().height,E.info("Title height",u,h)),b.push(p)}let N=u*o.length;if(o.length>1){const f=(o.length-1)*u*.5;b.forEach((p,w)=>p.attr("y",h+w*u-f)),N=u*o.length}const i=d.node().getBBox();d.insert("rect",":first-child").attr("class","box").attr("x",x-m/2-t().state.padding/2).attr("y",h-N/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",N+t().state.padding),E.info(i)}D++},"drawEdge"),B,z={},V=y(function(){},"setConf"),_=y(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),tt=y(function(e,n,g,s){B=t().state;const r=t().securityLevel;let c;r==="sandbox"&&(c=v("#i"+n));const l=r==="sandbox"?v(c.nodes()[0].contentDocument.body):v("body"),a=r==="sandbox"?c.nodes()[0].contentDocument:document;E.debug("Rendering diagram "+e);const d=l.select(`[id='${n}']`);_(d);const x=s.db.getRootDoc();L(x,d,void 0,!1,l,a,s);const h=B.padding,o=d.node().getBBox(),u=o.width+h*2,b=o.height+h*2,m=u*1.75;U(d,b,m,B.useMaxWidth),d.attr("viewBox",`${o.x-B.padding} ${o.y-B.padding} `+u+" "+b)},"draw"),et=y(e=>e?e.length*B.fontSizeFactor:1,"getLabelWidth"),L=y((e,n,g,s,r,c,l)=>{const a=new I({compound:!0,multigraph:!0});let d,x=!0;for(d=0;d<e.length;d++)if(e[d].stmt==="relation"){x=!1;break}g?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:x?1:B.edgeLengthFactor,nodeSep:x?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:x?1:B.edgeLengthFactor,nodeSep:x?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const h=l.db.getStates(),o=l.db.getRelations(),u=Object.keys(h);for(const i of u){const f=h[i];g&&(f.parentId=g);let p;if(f.doc){let w=n.append("g").attr("id",f.id).attr("class","stateGroup");p=L(f.doc,w,f.id,!s,r,c,l);{w=j(w,f,s);let k=w.node().getBBox();p.width=k.width,p.height=k.height+B.padding/2,z[f.id]={y:B.compositTitleSize}}}else p=T(n,f,a);if(f.note){const w={descriptions:[],id:f.id+"-note",note:f.note,type:"note"},k=T(n,w,a);f.note.position==="left of"?(a.setNode(p.id+"-note",k),a.setNode(p.id,p)):(a.setNode(p.id,p),a.setNode(p.id+"-note",k)),a.setParent(p.id,p.id+"-group"),a.setParent(p.id+"-note",p.id+"-group")}else a.setNode(p.id,p)}E.debug("Count=",a.nodeCount(),a);let b=0;o.forEach(function(i){b++,E.debug("Setting edge",i),a.setEdge(i.id1,i.id2,{relation:i,width:et(i.title),height:B.labelHeight*H.getRows(i.title).length,labelpos:"c"},"id"+b)}),W(a),E.debug("Graph after layout",a.nodes());const m=n.node();a.nodes().forEach(function(i){i!==void 0&&a.node(i)!==void 0?(E.warn("Node "+i+": "+JSON.stringify(a.node(i))),r.select("#"+m.id+" #"+i).attr("transform","translate("+(a.node(i).x-a.node(i).width/2)+","+(a.node(i).y+(z[i]?z[i].y:0)-a.node(i).height/2)+" )"),r.select("#"+m.id+" #"+i).attr("data-x-shift",a.node(i).x-a.node(i).width/2),c.querySelectorAll("#"+m.id+" #"+i+" .divider").forEach(f=>{const p=f.parentElement;let w=0,k=0;p&&(p.parentElement&&(w=p.parentElement.getBBox().width),k=parseInt(p.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),f.setAttribute("x1",0-k+8),f.setAttribute("x2",w-k-8)})):E.debug("No Node "+i+": "+JSON.stringify(a.node(i)))});let S=m.getBBox();a.edges().forEach(function(i){i!==void 0&&a.edge(i)!==void 0&&(E.debug("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(a.edge(i))),K(n,a.edge(i),a.edge(i).relation))}),S=m.getBBox();const N={id:g||"root",label:g||"root",width:0,height:0};return N.width=S.width+2*B.padding,N.height=S.height+2*B.padding,E.debug("Doc rendered",N,a),N},"renderDoc"),at={setConf:V,draw:tt},ht={parser:G,get db(){return new M(1)},renderer:at,styles:A,init:y(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{ht as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{U as t,V as e,B as a,M as s}from"./chunk-DI55MBZ5-Dw1L6Eos-
|
|
1
|
+
import{U as t,V as e,B as a,M as s}from"./chunk-DI55MBZ5-Dw1L6Eos-BuD2OREa.js";import{M as o}from"./index-BTk6gbYa.js";import"./chunk-55IACEB6-BocSyyvr-lclbFu9j.js";import"./chunk-QN33PNHL-vP2PqfVG-DqaIoebO.js";var M={parser:a,get db(){return new s(2)},renderer:e,styles:t,init:o(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{M as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{M as r,C as mt,a as $,d as Y,aX as xt,aY as bt,aZ as kt,a_ as _t,J as vt,a$ as wt,N as St}from"./index-
|
|
1
|
+
import{M as r,C as mt,a as $,d as Y,aX as xt,aY as bt,aZ as kt,a_ as _t,J as vt,a$ as wt,N as St}from"./index-BTk6gbYa.js";import{h as et}from"./arc-pab_su9s-DFq3JYvb.js";var X=function(){var n=r(function(f,s,l,h){for(l=l||{},h=f.length;h--;l[f[h]]=s);return l},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],i=[1,11],o=[1,12],u=[1,13],p=[1,16],y=[1,17],m={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:r(function(f,s,l,h,d,c,k){var x=c.length-1;switch(d){case 1:return c[x-1];case 2:this.$=[];break;case 3:c[x-1].push(c[x]),this.$=c[x-1];break;case 4:case 5:this.$=c[x];break;case 6:case 7:this.$=[];break;case 8:h.getCommonDb().setDiagramTitle(c[x].substr(6)),this.$=c[x].substr(6);break;case 9:this.$=c[x].trim(),h.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=c[x].trim(),h.getCommonDb().setAccDescription(this.$);break;case 12:h.addSection(c[x].substr(8)),this.$=c[x].substr(8);break;case 15:h.addTask(c[x],0,""),this.$=c[x];break;case 16:h.addEvent(c[x].substr(2)),this.$=c[x];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:i,16:o,17:u,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:i,16:o,17:u,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:r(function(f,s){if(s.recoverable)this.trace(f);else{var l=new Error(f);throw l.hash=s,l}},"parseError"),parse:r(function(f){var s=this,l=[0],h=[],d=[null],c=[],k=this.table,x="",A=0,M=0,W=2,I=1,B=c.slice.call(arguments,1),_=Object.create(this.lexer),S={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(S.yy[v]=this.yy[v]);_.setInput(f,S.yy),S.yy.lexer=_,S.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var N=_.yylloc;c.push(N);var O=_.options&&_.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function L(E){l.length=l.length-2*E,d.length=d.length-E,c.length=c.length-E}r(L,"popStack");function D(){var E;return E=h.pop()||_.lex()||I,typeof E!="number"&&(E instanceof Array&&(h=E,E=h.pop()),E=s.symbols_[E]||E),E}r(D,"lex");for(var w,R,T,J,P={},z,C,tt,V;;){if(R=l[l.length-1],this.defaultActions[R]?T=this.defaultActions[R]:((w===null||typeof w>"u")&&(w=D()),T=k[R]&&k[R][w]),typeof T>"u"||!T.length||!T[0]){var U="";V=[];for(z in k[R])this.terminals_[z]&&z>W&&V.push("'"+this.terminals_[z]+"'");_.showPosition?U="Parse error on line "+(A+1)+`:
|
|
2
2
|
`+_.showPosition()+`
|
|
3
3
|
Expecting `+V.join(", ")+", got '"+(this.terminals_[w]||w)+"'":U="Parse error on line "+(A+1)+": Unexpected "+(w==I?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(U,{text:_.match,token:this.terminals_[w]||w,line:_.yylineno,loc:N,expected:V})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+w);switch(T[0]){case 1:l.push(w),d.push(_.yytext),c.push(_.yylloc),l.push(T[1]),w=null,M=_.yyleng,x=_.yytext,A=_.yylineno,N=_.yylloc;break;case 2:if(C=this.productions_[T[1]][1],P.$=d[d.length-C],P._$={first_line:c[c.length-(C||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(C||1)].first_column,last_column:c[c.length-1].last_column},O&&(P._$.range=[c[c.length-(C||1)].range[0],c[c.length-1].range[1]]),J=this.performAction.apply(P,[x,M,A,S.yy,T[1],d,c].concat(B)),typeof J<"u")return J;C&&(l=l.slice(0,-1*C*2),d=d.slice(0,-1*C),c=c.slice(0,-1*C)),l.push(this.productions_[T[1]][0]),d.push(P.$),c.push(P._$),tt=k[l[l.length-2]][l[l.length-1]],l.push(tt);break;case 3:return!0}}return!0},"parse")},b=function(){var f={EOF:1,parseError:r(function(s,l){if(this.yy.parser)this.yy.parser.parseError(s,l);else throw new Error(s)},"parseError"),setInput:r(function(s,l){return this.yy=l||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:r(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var l=s.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:r(function(s){var l=s.length,h=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var c=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===d.length?this.yylloc.first_column:0)+d[d.length-h.length].length-h[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[c[0],c[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:r(function(){return this._more=!0,this},"more"),reject:r(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:r(function(s){this.unput(this.match.slice(s))},"less"),pastInput:r(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:r(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:r(function(){var s=this.pastInput(),l=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
package/dist/assets/{treemap-KMMF4GRG-BjgLKKyi-D9LFxDnG.js → treemap-KMMF4GRG-BjgLKKyi-Dpn6IoCt.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as Ft,bB as Ip}from"./index-BW8v6af7.js";import{M as ot,L as _p,k as Cp}from"./min-7Gb0pNxh-DKsTGhJ-.js";import{Y as bu,q as Ua,Z as Np,B as Op,J as Lp,a as Pp}from"./_baseUniq-BRKsqoH--DGdgNAAC.js";var Mp=Object.defineProperty,Dp=(t,e,r)=>e in t?Mp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Gt=(t,e,r)=>Dp(t,typeof e!="symbol"?e+"":e,r);function jp(t,e){return Op(ot(t,e))}function Up(t,e){return t&&t.length?Lp(t,Pp(e)):[]}function le(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ze(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Fp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function fi(t){return typeof t=="object"&&t!==null&&le(t.container)&&ze(t.reference)&&typeof t.message=="string"}class Pf{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return le(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Tn(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Mf(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Df(t){return Tn(t)&&typeof t.fullText=="string"}class ne{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new ne(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ae})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=Gp(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new ne(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?Ae:{done:!1,value:e(i)}})}filter(e){return new ne(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ae})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new ne(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Si(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ae})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new ne(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Si(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ae})}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new ne(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new ne(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ae:this.nextFn(r.state)))}distinct(e){return new ne(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ae})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function Gp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Si(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Bp=new ne(()=>{},()=>Ae),Ae=Object.freeze({done:!0,value:void 0});function ie(...t){if(t.length===1){const e=t[0];if(e instanceof ne)return e;if(Si(e))return new ne(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ne(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Ae)}return t.length>1?new ne(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const r=t[e.collIndex++];Si(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Ae}):Bp}class Io extends ne{constructor(e,r,n){super(()=>({iterators:n!=null&&n.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(r(a.value)[Symbol.iterator]()),a}return Ae})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ms;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(Ms||(Ms={}));function Ds(t){return new Io(t,e=>Tn(e)?e.content:[],{includeRoot:!0})}function Kp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function js(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function wi(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var at;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(at||(at={}));function Vp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return at.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return at.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?at.Inside:r?at.OverlapBack:n?at.OverlapFront:at.Outside}function Hp(t,e){return Vp(t,e)>at.After}const zp=/^[\w\p{L}]$/u;function Wp(t,e){if(t){const r=Yp(t,!0);if(r&&Su(r,e))return r;if(Df(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(Su(a,e))return a}}}}function Su(t,e){return Mf(t)&&e.includes(t.tokenType.name)}function Yp(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class jf extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wn(t){throw new Error("Error! The input value was not handled.")}const Gn="AbstractRule",Bn="AbstractType",Fa="Condition",wu="TypeDefinition",Ga="ValueLiteral",Or="AbstractElement";function qp(t){return j.isInstance(t,Or)}const Kn="ArrayLiteral",Vn="ArrayType",Lr="BooleanLiteral";function Xp(t){return j.isInstance(t,Lr)}const Pr="Conjunction";function Zp(t){return j.isInstance(t,Pr)}const Mr="Disjunction";function Qp(t){return j.isInstance(t,Mr)}const Hn="Grammar",Ba="GrammarImport",Dr="InferredType";function Uf(t){return j.isInstance(t,Dr)}const jr="Interface";function Ff(t){return j.isInstance(t,jr)}const Ka="NamedArgument",Ur="Negation";function Jp(t){return j.isInstance(t,Ur)}const zn="NumberLiteral",Wn="Parameter",Fr="ParameterReference";function em(t){return j.isInstance(t,Fr)}const Gr="ParserRule";function Ce(t){return j.isInstance(t,Gr)}const Yn="ReferenceType",di="ReturnType";function tm(t){return j.isInstance(t,di)}const Br="SimpleType";function rm(t){return j.isInstance(t,Br)}const qn="StringLiteral",fr="TerminalRule";function Jt(t){return j.isInstance(t,fr)}const Kr="Type";function Gf(t){return j.isInstance(t,Kr)}const Va="TypeAttribute",Xn="UnionType",Vr="Action";function ra(t){return j.isInstance(t,Vr)}const Hr="Alternatives";function Bf(t){return j.isInstance(t,Hr)}const zr="Assignment";function Ht(t){return j.isInstance(t,zr)}const Wr="CharacterRange";function nm(t){return j.isInstance(t,Wr)}const Yr="CrossReference";function _o(t){return j.isInstance(t,Yr)}const qr="EndOfFile";function im(t){return j.isInstance(t,qr)}const Xr="Group";function Co(t){return j.isInstance(t,Xr)}const Zr="Keyword";function zt(t){return j.isInstance(t,Zr)}const Qr="NegatedToken";function am(t){return j.isInstance(t,Qr)}const Jr="RegexToken";function sm(t){return j.isInstance(t,Jr)}const en="RuleCall";function Wt(t){return j.isInstance(t,en)}const tn="TerminalAlternatives";function om(t){return j.isInstance(t,tn)}const rn="TerminalGroup";function um(t){return j.isInstance(t,rn)}const nn="TerminalRuleCall";function lm(t){return j.isInstance(t,nn)}const an="UnorderedGroup";function Kf(t){return j.isInstance(t,an)}const sn="UntilToken";function cm(t){return j.isInstance(t,sn)}const on="Wildcard";function fm(t){return j.isInstance(t,on)}class Vf extends Pf{getAllTypes(){return[Or,Gn,Bn,Vr,Hr,Kn,Vn,zr,Lr,Wr,Fa,Pr,Yr,Mr,qr,Hn,Ba,Xr,Dr,jr,Zr,Ka,Qr,Ur,zn,Wn,Fr,Gr,Yn,Jr,di,en,Br,qn,tn,rn,fr,nn,Kr,Va,wu,Xn,an,sn,Ga,on]}computeIsSubtype(e,r){switch(e){case Vr:case Hr:case zr:case Wr:case Yr:case qr:case Xr:case Zr:case Qr:case Jr:case en:case tn:case rn:case nn:case an:case sn:case on:return this.isSubtype(Or,r);case Kn:case zn:case qn:return this.isSubtype(Ga,r);case Vn:case Yn:case Br:case Xn:return this.isSubtype(wu,r);case Lr:return this.isSubtype(Fa,r)||this.isSubtype(Ga,r);case Pr:case Mr:case Ur:case Fr:return this.isSubtype(Fa,r);case Dr:case jr:case Kr:return this.isSubtype(Bn,r);case Gr:return this.isSubtype(Gn,r)||this.isSubtype(Bn,r);case fr:return this.isSubtype(Gn,r);default:return!1}}getReferenceType(e){const r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Bn;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Gn;case"Grammar:usedGrammars":return Hn;case"NamedArgument:parameter":case"ParameterReference:parameter":return Wn;case"TerminalRuleCall:rule":return fr;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Or:return{name:Or,properties:[{name:"cardinality"},{name:"lookahead"}]};case Kn:return{name:Kn,properties:[{name:"elements",defaultValue:[]}]};case Vn:return{name:Vn,properties:[{name:"elementType"}]};case Lr:return{name:Lr,properties:[{name:"true",defaultValue:!1}]};case Pr:return{name:Pr,properties:[{name:"left"},{name:"right"}]};case Mr:return{name:Mr,properties:[{name:"left"},{name:"right"}]};case Hn:return{name:Hn,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case Ba:return{name:Ba,properties:[{name:"path"}]};case Dr:return{name:Dr,properties:[{name:"name"}]};case jr:return{name:jr,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Ka:return{name:Ka,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Ur:return{name:Ur,properties:[{name:"value"}]};case zn:return{name:zn,properties:[{name:"value"}]};case Wn:return{name:Wn,properties:[{name:"name"}]};case Fr:return{name:Fr,properties:[{name:"parameter"}]};case Gr:return{name:Gr,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case Yn:return{name:Yn,properties:[{name:"referenceType"}]};case di:return{name:di,properties:[{name:"name"}]};case Br:return{name:Br,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case qn:return{name:qn,properties:[{name:"value"}]};case fr:return{name:fr,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Kr:return{name:Kr,properties:[{name:"name"},{name:"type"}]};case Va:return{name:Va,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case Xn:return{name:Xn,properties:[{name:"types",defaultValue:[]}]};case Vr:return{name:Vr,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Hr:return{name:Hr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case zr:return{name:zr,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Wr:return{name:Wr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case Yr:return{name:Yr,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case qr:return{name:qr,properties:[{name:"cardinality"},{name:"lookahead"}]};case Xr:return{name:Xr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Zr:return{name:Zr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Qr:return{name:Qr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Jr:return{name:Jr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case en:return{name:en,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case tn:return{name:tn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case rn:return{name:rn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case nn:return{name:nn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case an:return{name:an,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case sn:return{name:sn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case on:return{name:on,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const j=new Vf;function dm(t){for(const[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{le(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):le(r)&&(r.$container=t,r.$containerProperty=e))}function na(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Et(t){const e=Us(t).$document;if(!e)throw new Error("AST node has no document.");return e}function Us(t){for(;t.$container;)t=t.$container;return t}function No(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e==null?void 0:e.range;return new ne(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const a=t[i];if(le(a)){if(n.keyIndex++,Iu(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){const s=n.arrayIndex++,o=a[s];if(le(o)&&Iu(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return Ae})}function In(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Io(t,r=>No(r,e))}function hr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Io(t,r=>No(r,e),{includeRoot:!0})}function Iu(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?Hp(n,e):!1}function Hf(t){return new ne(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(ze(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,a=n[i];if(ze(a))return{done:!1,value:{reference:a,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ae})}function hm(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=zf(i.defaultValue))}function zf(t){return Array.isArray(t)?[...t.map(zf)]:t}function I(t){return t.charCodeAt(0)}function Ha(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function wr(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function cr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function pm(){throw Error("Internal Error - Should never get here!")}function _u(t){return t.type==="Character"}const Ii=[];for(let t=I("0");t<=I("9");t++)Ii.push(t);const _i=[I("_")].concat(Ii);for(let t=I("a");t<=I("z");t++)_i.push(t);for(let t=I("A");t<=I("Z");t++)_i.push(t);const Cu=[I(" "),I("\f"),I(`
|
|
1
|
+
import{_ as Ft,bB as Ip}from"./index-BTk6gbYa.js";import{M as ot,L as _p,k as Cp}from"./min-7Gb0pNxh-9FduVVTw.js";import{Y as bu,q as Ua,Z as Np,B as Op,J as Lp,a as Pp}from"./_baseUniq-BRKsqoH--BnZ8jILn.js";var Mp=Object.defineProperty,Dp=(t,e,r)=>e in t?Mp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Gt=(t,e,r)=>Dp(t,typeof e!="symbol"?e+"":e,r);function jp(t,e){return Op(ot(t,e))}function Up(t,e){return t&&t.length?Lp(t,Pp(e)):[]}function le(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ze(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Fp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function fi(t){return typeof t=="object"&&t!==null&&le(t.container)&&ze(t.reference)&&typeof t.message=="string"}class Pf{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return le(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function Tn(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Mf(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Df(t){return Tn(t)&&typeof t.fullText=="string"}class ne{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new ne(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ae})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=Gp(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new ne(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?Ae:{done:!1,value:e(i)}})}filter(e){return new ne(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ae})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new ne(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Si(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ae})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new ne(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Si(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ae})}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new ne(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new ne(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ae:this.nextFn(r.state)))}distinct(e){return new ne(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ae})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function Gp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Si(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Bp=new ne(()=>{},()=>Ae),Ae=Object.freeze({done:!0,value:void 0});function ie(...t){if(t.length===1){const e=t[0];if(e instanceof ne)return e;if(Si(e))return new ne(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ne(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Ae)}return t.length>1?new ne(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const r=t[e.collIndex++];Si(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Ae}):Bp}class Io extends ne{constructor(e,r,n){super(()=>({iterators:n!=null&&n.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(r(a.value)[Symbol.iterator]()),a}return Ae})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ms;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(Ms||(Ms={}));function Ds(t){return new Io(t,e=>Tn(e)?e.content:[],{includeRoot:!0})}function Kp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function js(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function wi(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var at;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(at||(at={}));function Vp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return at.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return at.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?at.Inside:r?at.OverlapBack:n?at.OverlapFront:at.Outside}function Hp(t,e){return Vp(t,e)>at.After}const zp=/^[\w\p{L}]$/u;function Wp(t,e){if(t){const r=Yp(t,!0);if(r&&Su(r,e))return r;if(Df(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(Su(a,e))return a}}}}function Su(t,e){return Mf(t)&&e.includes(t.tokenType.name)}function Yp(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class jf extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function wn(t){throw new Error("Error! The input value was not handled.")}const Gn="AbstractRule",Bn="AbstractType",Fa="Condition",wu="TypeDefinition",Ga="ValueLiteral",Or="AbstractElement";function qp(t){return j.isInstance(t,Or)}const Kn="ArrayLiteral",Vn="ArrayType",Lr="BooleanLiteral";function Xp(t){return j.isInstance(t,Lr)}const Pr="Conjunction";function Zp(t){return j.isInstance(t,Pr)}const Mr="Disjunction";function Qp(t){return j.isInstance(t,Mr)}const Hn="Grammar",Ba="GrammarImport",Dr="InferredType";function Uf(t){return j.isInstance(t,Dr)}const jr="Interface";function Ff(t){return j.isInstance(t,jr)}const Ka="NamedArgument",Ur="Negation";function Jp(t){return j.isInstance(t,Ur)}const zn="NumberLiteral",Wn="Parameter",Fr="ParameterReference";function em(t){return j.isInstance(t,Fr)}const Gr="ParserRule";function Ce(t){return j.isInstance(t,Gr)}const Yn="ReferenceType",di="ReturnType";function tm(t){return j.isInstance(t,di)}const Br="SimpleType";function rm(t){return j.isInstance(t,Br)}const qn="StringLiteral",fr="TerminalRule";function Jt(t){return j.isInstance(t,fr)}const Kr="Type";function Gf(t){return j.isInstance(t,Kr)}const Va="TypeAttribute",Xn="UnionType",Vr="Action";function ra(t){return j.isInstance(t,Vr)}const Hr="Alternatives";function Bf(t){return j.isInstance(t,Hr)}const zr="Assignment";function Ht(t){return j.isInstance(t,zr)}const Wr="CharacterRange";function nm(t){return j.isInstance(t,Wr)}const Yr="CrossReference";function _o(t){return j.isInstance(t,Yr)}const qr="EndOfFile";function im(t){return j.isInstance(t,qr)}const Xr="Group";function Co(t){return j.isInstance(t,Xr)}const Zr="Keyword";function zt(t){return j.isInstance(t,Zr)}const Qr="NegatedToken";function am(t){return j.isInstance(t,Qr)}const Jr="RegexToken";function sm(t){return j.isInstance(t,Jr)}const en="RuleCall";function Wt(t){return j.isInstance(t,en)}const tn="TerminalAlternatives";function om(t){return j.isInstance(t,tn)}const rn="TerminalGroup";function um(t){return j.isInstance(t,rn)}const nn="TerminalRuleCall";function lm(t){return j.isInstance(t,nn)}const an="UnorderedGroup";function Kf(t){return j.isInstance(t,an)}const sn="UntilToken";function cm(t){return j.isInstance(t,sn)}const on="Wildcard";function fm(t){return j.isInstance(t,on)}class Vf extends Pf{getAllTypes(){return[Or,Gn,Bn,Vr,Hr,Kn,Vn,zr,Lr,Wr,Fa,Pr,Yr,Mr,qr,Hn,Ba,Xr,Dr,jr,Zr,Ka,Qr,Ur,zn,Wn,Fr,Gr,Yn,Jr,di,en,Br,qn,tn,rn,fr,nn,Kr,Va,wu,Xn,an,sn,Ga,on]}computeIsSubtype(e,r){switch(e){case Vr:case Hr:case zr:case Wr:case Yr:case qr:case Xr:case Zr:case Qr:case Jr:case en:case tn:case rn:case nn:case an:case sn:case on:return this.isSubtype(Or,r);case Kn:case zn:case qn:return this.isSubtype(Ga,r);case Vn:case Yn:case Br:case Xn:return this.isSubtype(wu,r);case Lr:return this.isSubtype(Fa,r)||this.isSubtype(Ga,r);case Pr:case Mr:case Ur:case Fr:return this.isSubtype(Fa,r);case Dr:case jr:case Kr:return this.isSubtype(Bn,r);case Gr:return this.isSubtype(Gn,r)||this.isSubtype(Bn,r);case fr:return this.isSubtype(Gn,r);default:return!1}}getReferenceType(e){const r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Bn;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Gn;case"Grammar:usedGrammars":return Hn;case"NamedArgument:parameter":case"ParameterReference:parameter":return Wn;case"TerminalRuleCall:rule":return fr;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Or:return{name:Or,properties:[{name:"cardinality"},{name:"lookahead"}]};case Kn:return{name:Kn,properties:[{name:"elements",defaultValue:[]}]};case Vn:return{name:Vn,properties:[{name:"elementType"}]};case Lr:return{name:Lr,properties:[{name:"true",defaultValue:!1}]};case Pr:return{name:Pr,properties:[{name:"left"},{name:"right"}]};case Mr:return{name:Mr,properties:[{name:"left"},{name:"right"}]};case Hn:return{name:Hn,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case Ba:return{name:Ba,properties:[{name:"path"}]};case Dr:return{name:Dr,properties:[{name:"name"}]};case jr:return{name:jr,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Ka:return{name:Ka,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Ur:return{name:Ur,properties:[{name:"value"}]};case zn:return{name:zn,properties:[{name:"value"}]};case Wn:return{name:Wn,properties:[{name:"name"}]};case Fr:return{name:Fr,properties:[{name:"parameter"}]};case Gr:return{name:Gr,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case Yn:return{name:Yn,properties:[{name:"referenceType"}]};case di:return{name:di,properties:[{name:"name"}]};case Br:return{name:Br,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case qn:return{name:qn,properties:[{name:"value"}]};case fr:return{name:fr,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Kr:return{name:Kr,properties:[{name:"name"},{name:"type"}]};case Va:return{name:Va,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case Xn:return{name:Xn,properties:[{name:"types",defaultValue:[]}]};case Vr:return{name:Vr,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Hr:return{name:Hr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case zr:return{name:zr,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Wr:return{name:Wr,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case Yr:return{name:Yr,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case qr:return{name:qr,properties:[{name:"cardinality"},{name:"lookahead"}]};case Xr:return{name:Xr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Zr:return{name:Zr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Qr:return{name:Qr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Jr:return{name:Jr,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case en:return{name:en,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case tn:return{name:tn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case rn:return{name:rn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case nn:return{name:nn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case an:return{name:an,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case sn:return{name:sn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case on:return{name:on,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const j=new Vf;function dm(t){for(const[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{le(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):le(r)&&(r.$container=t,r.$containerProperty=e))}function na(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Et(t){const e=Us(t).$document;if(!e)throw new Error("AST node has no document.");return e}function Us(t){for(;t.$container;)t=t.$container;return t}function No(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e==null?void 0:e.range;return new ne(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const a=t[i];if(le(a)){if(n.keyIndex++,Iu(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){const s=n.arrayIndex++,o=a[s];if(le(o)&&Iu(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return Ae})}function In(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Io(t,r=>No(r,e))}function hr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Io(t,r=>No(r,e),{includeRoot:!0})}function Iu(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?Hp(n,e):!1}function Hf(t){return new ne(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(ze(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,a=n[i];if(ze(a))return{done:!1,value:{reference:a,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ae})}function hm(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=zf(i.defaultValue))}function zf(t){return Array.isArray(t)?[...t.map(zf)]:t}function I(t){return t.charCodeAt(0)}function Ha(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function wr(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function cr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function pm(){throw Error("Internal Error - Should never get here!")}function _u(t){return t.type==="Character"}const Ii=[];for(let t=I("0");t<=I("9");t++)Ii.push(t);const _i=[I("_")].concat(Ii);for(let t=I("a");t<=I("z");t++)_i.push(t);for(let t=I("A");t<=I("Z");t++)_i.push(t);const Cu=[I(" "),I("\f"),I(`
|
|
2
2
|
`),I("\r"),I(" "),I("\v"),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I(" "),I("\u2028"),I("\u2029"),I(" "),I(" "),I(" "),I("\uFEFF")],mm=/[0-9a-fA-F]/,Zn=/[0-9]/,gm=/[1-9]/;class Wf{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":wr(n,"global");break;case"i":wr(n,"ignoreCase");break;case"m":wr(n,"multiLine");break;case"u":wr(n,"unicode");break;case"y":wr(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}cr(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return pm()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;cr(r);break}if(!(e===!0&&r===void 0)&&cr(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),cr(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[I(`
|
|
3
3
|
`),I("\r"),I("\u2028"),I("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Ii;break;case"D":e=Ii,r=!0;break;case"s":e=Cu;break;case"S":e=Cu,r=!0;break;case"w":e=_i;break;case"W":e=_i,r=!0;break}if(cr(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=I("\f");break;case"n":e=I(`
|
|
4
4
|
`);break;case"r":e=I("\r");break;case"t":e=I(" ");break;case"v":e=I("\v");break}if(cr(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:I("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:I(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{e as gi,f as ui,t as Wt,s as xi,g as di,h as pi,M as a,a as Xt,am as fi,i as yi,N as mi,Q as wt,j as bi,K as Ot,P as Ai,at as Si,au as wi,av as It,$ as Bt,aw as zt}from"./index-
|
|
1
|
+
import{e as gi,f as ui,t as Wt,s as xi,g as di,h as pi,M as a,a as Xt,am as fi,i as yi,N as mi,Q as wt,j as bi,K as Ot,P as Ai,at as Si,au as wi,av as It,$ as Bt,aw as zt}from"./index-BTk6gbYa.js";var mt=function(){var t=a(function(v,h,c,g){for(c=c||{},g=v.length;g--;c[v[g]]=h);return c},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],l=[1,5],p=[1,6],u=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],L=[1,25],z=[1,26],$=[1,28],R=[1,29],P=[1,30],F=[1,31],N=[1,32],T=[1,33],M=[1,34],d=[1,35],A=[1,36],r=[1,37],I=[1,43],B=[1,42],U=[1,47],X=[1,50],o=[1,10,12,14,16,18,19,21,23,34,35,36],C=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],b=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],S=[1,64],G={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(v,h,c,g,y,n,k){var x=n.length-1;switch(y){case 5:g.setOrientation(n[x]);break;case 9:g.setDiagramTitle(n[x].text.trim());break;case 12:g.setLineData({text:"",type:"text"},n[x]);break;case 13:g.setLineData(n[x-1],n[x]);break;case 14:g.setBarData({text:"",type:"text"},n[x]);break;case 15:g.setBarData(n[x-1],n[x]);break;case 16:this.$=n[x].trim(),g.setAccTitle(this.$);break;case 17:case 18:this.$=n[x].trim(),g.setAccDescription(this.$);break;case 19:this.$=n[x-1];break;case 20:this.$=[Number(n[x-2]),...n[x]];break;case 21:this.$=[Number(n[x])];break;case 22:g.setXAxisTitle(n[x]);break;case 23:g.setXAxisTitle(n[x-1]);break;case 24:g.setXAxisTitle({type:"text",text:""});break;case 25:g.setXAxisBand(n[x]);break;case 26:g.setXAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 27:this.$=n[x-1];break;case 28:this.$=[n[x-2],...n[x]];break;case 29:this.$=[n[x]];break;case 30:g.setYAxisTitle(n[x]);break;case 31:g.setYAxisTitle(n[x-1]);break;case 32:g.setYAxisTitle({type:"text",text:""});break;case 33:g.setYAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 37:this.$={text:n[x],type:"text"};break;case 38:this.$={text:n[x],type:"text"};break;case 39:this.$={text:n[x],type:"markdown"};break;case 40:this.$=n[x];break;case 41:this.$=n[x-1]+""+n[x];break}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:l,35:p,36:u}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:l,35:p,36:u}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:l,35:p,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(m,[2,34]),t(m,[2,35]),t(m,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:l,35:p,36:u}),{1:[2,3]},t(m,[2,5]),t(i,[2,7],{4:22,34:l,35:p,36:u}),{11:23,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:39,13:38,24:I,27:B,29:40,30:41,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:45,15:44,27:U,33:46,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:49,17:48,24:X,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{11:52,17:51,24:X,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},{20:[1,53]},{22:[1,54]},t(o,[2,18]),{1:[2,2]},t(o,[2,8]),t(o,[2,9]),t(C,[2,37],{40:55,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r}),t(C,[2,38]),t(C,[2,39]),t(b,[2,40]),t(b,[2,42]),t(b,[2,43]),t(b,[2,44]),t(b,[2,45]),t(b,[2,46]),t(b,[2,47]),t(b,[2,48]),t(b,[2,49]),t(b,[2,50]),t(b,[2,51]),t(o,[2,10]),t(o,[2,22],{30:41,29:56,24:I,27:B}),t(o,[2,24]),t(o,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},t(o,[2,11]),t(o,[2,30],{33:60,27:U}),t(o,[2,32]),{31:[1,61]},t(o,[2,12]),{17:62,24:X},{25:63,27:S},t(o,[2,14]),{17:65,24:X},t(o,[2,16]),t(o,[2,17]),t(b,[2,41]),t(o,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(o,[2,31]),{27:[1,69]},t(o,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(o,[2,15]),t(o,[2,26]),t(o,[2,27]),{11:59,32:72,37:24,38:L,39:z,40:27,41:$,42:R,43:P,44:F,45:N,46:T,47:M,48:d,49:A,50:r},t(o,[2,33]),t(o,[2,19]),{25:73,27:S},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(v,h){if(h.recoverable)this.trace(v);else{var c=new Error(v);throw c.hash=h,c}},"parseError"),parse:a(function(v){var h=this,c=[0],g=[],y=[null],n=[],k=this.table,x="",q=0,vt=0,oi=2,Et=1,ri=n.slice.call(arguments,1),w=Object.create(this.lexer),V={yy:{}};for(var at in this.yy)Object.prototype.hasOwnProperty.call(this.yy,at)&&(V.yy[at]=this.yy[at]);w.setInput(v,V.yy),V.yy.lexer=w,V.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var nt=w.yylloc;n.push(nt);var li=w.options&&w.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(D){c.length=c.length-2*D,y.length=y.length-D,n.length=n.length-D}a(ci,"popStack");function $t(){var D;return D=g.pop()||w.lex()||Et,typeof D!="number"&&(D instanceof Array&&(g=D,D=g.pop()),D=h.symbols_[D]||D),D}a($t,"lex");for(var _,Y,E,ht,H={},tt,W,Mt,it;;){if(Y=c[c.length-1],this.defaultActions[Y]?E=this.defaultActions[Y]:((_===null||typeof _>"u")&&(_=$t()),E=k[Y]&&k[Y][_]),typeof E>"u"||!E.length||!E[0]){var ot="";it=[];for(tt in k[Y])this.terminals_[tt]&&tt>oi&&it.push("'"+this.terminals_[tt]+"'");w.showPosition?ot="Parse error on line "+(q+1)+`:
|
|
2
2
|
`+w.showPosition()+`
|
|
3
3
|
Expecting `+it.join(", ")+", got '"+(this.terminals_[_]||_)+"'":ot="Parse error on line "+(q+1)+": Unexpected "+(_==Et?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(ot,{text:w.match,token:this.terminals_[_]||_,line:w.yylineno,loc:nt,expected:it})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+_);switch(E[0]){case 1:c.push(_),y.push(w.yytext),n.push(w.yylloc),c.push(E[1]),_=null,vt=w.yyleng,x=w.yytext,q=w.yylineno,nt=w.yylloc;break;case 2:if(W=this.productions_[E[1]][1],H.$=y[y.length-W],H._$={first_line:n[n.length-(W||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(W||1)].first_column,last_column:n[n.length-1].last_column},li&&(H._$.range=[n[n.length-(W||1)].range[0],n[n.length-1].range[1]]),ht=this.performAction.apply(H,[x,vt,q,V.yy,E[1],y,n].concat(ri)),typeof ht<"u")return ht;W&&(c=c.slice(0,-1*W*2),y=y.slice(0,-1*W),n=n.slice(0,-1*W)),c.push(this.productions_[E[1]][0]),y.push(H.$),n.push(H._$),Mt=k[c[c.length-2]][c[c.length-1]],c.push(Mt);break;case 3:return!0}}return!0},"parse")},Z=function(){var v={EOF:1,parseError:a(function(h,c){if(this.yy.parser)this.yy.parser.parseError(h,c);else throw new Error(h)},"parseError"),setInput:a(function(h,c){return this.yy=c||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var c=h.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var c=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),c=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
|
package/dist/index.html
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
22
22
|
}
|
|
23
23
|
</style>
|
|
24
|
-
<script type="module" crossorigin src="/assets/index-
|
|
25
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
24
|
+
<script type="module" crossorigin src="/assets/index-BTk6gbYa.js"></script>
|
|
25
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BjgS88qB.css">
|
|
26
26
|
</head>
|
|
27
27
|
<body>
|
|
28
28
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orbitchat",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.13.
|
|
4
|
+
"version": "2.13.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"orbitchat": "./bin/orbitchat.js"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"prepublishOnly": "npm run build"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@schmitech/chatbot-api": "^2.
|
|
28
|
+
"@schmitech/chatbot-api": "^2.2.0",
|
|
29
29
|
"@schmitech/markdown-renderer": "^0.8.0",
|
|
30
30
|
"express": "^5.0.1",
|
|
31
31
|
"http-proxy-middleware": "^3.0.5",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const r=()=>{throw new Error("Local API stub loaded while VITE_USE_LOCAL_API=false.")},e=async function*(){throw new Error("Local API stub loaded while VITE_USE_LOCAL_API=false.")};class t{constructor(){throw new Error("Local API stub loaded while VITE_USE_LOCAL_API=false.")}}export{t as ApiClient,r as configureApi,e as streamChat};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as O}from"./index-BW8v6af7.js";var j=Object.defineProperty,D=(l,r,e)=>r in l?j(l,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[r]=e,m=(l,r,e)=>D(l,typeof r!="symbol"?r+"":r,e);let $=null,T=null;typeof window>"u"&&Promise.all([O(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]).catch(()=>null),O(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]).catch(()=>null)]).then(([l,r])=>{var e,t;(e=l==null?void 0:l.default)!=null&&e.Agent?$=new l.default.Agent({keepAlive:!0}):l!=null&&l.Agent&&($=new l.Agent({keepAlive:!0})),(t=r==null?void 0:r.default)!=null&&t.Agent?T=new r.default.Agent({keepAlive:!0}):r!=null&&r.Agent&&(T=new r.Agent({keepAlive:!0}))}).catch(l=>{console.warn("Failed to initialize HTTP agents:",l.message)});class L{constructor(r){if(m(this,"apiUrl"),m(this,"apiKey"),m(this,"adapterName"),m(this,"middlewareBaseUrl"),m(this,"middlewareMode"),m(this,"sessionId"),!r.apiUrl||typeof r.apiUrl!="string")throw new Error("API URL must be a valid string");if(r.apiKey!==void 0&&r.apiKey!==null&&typeof r.apiKey!="string")throw new Error("API key must be a valid string or null");if(r.sessionId!==void 0&&r.sessionId!==null&&typeof r.sessionId!="string")throw new Error("Session ID must be a valid string or null");if(r.adapterName!==void 0&&r.adapterName!==null&&typeof r.adapterName!="string")throw new Error("Adapter name must be a valid string or null");if(r.middlewareBaseUrl!==void 0&&r.middlewareBaseUrl!==null&&typeof r.middlewareBaseUrl!="string")throw new Error("Middleware base URL must be a valid string or null");this.apiUrl=r.apiUrl,this.apiKey=r.apiKey??null,this.sessionId=r.sessionId??null;const e=typeof r.adapterName=="string"?r.adapterName.trim():"";this.adapterName=e&&e.length>0?e:null;const t=typeof r.middlewareBaseUrl=="string"?r.middlewareBaseUrl.trim():"";this.middlewareBaseUrl=t.endsWith("/")?t.slice(0,-1):t;const s=r.useMiddleware??(!this.apiKey&&!!this.adapterName);this.middlewareMode=!!(this.adapterName&&s)}setSessionId(r){if(r!==null&&typeof r!="string")throw new Error("Session ID must be a valid string or null");this.sessionId=r}getSessionId(){return this.sessionId}async validateApiKey(){var r;if(!this.apiKey)throw new Error("API key is required for validation");try{const e=await fetch(`${this.apiUrl}/admin/api-keys/${this.apiKey}/status`,{...this.getFetchOptions({method:"GET"})}).catch(s=>{throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s});if(!e.ok){let s="";try{s=await e.text()}catch{s=`HTTP ${e.status}`}let i,n;try{const o=JSON.parse(s);i=o.detail||o.message||s}catch{i=s||`HTTP ${e.status}`}switch(e.status){case 401:n="API key is invalid or expired";break;case 403:n="Access denied: API key does not have required permissions";break;case 404:n="API key not found";break;case 503:n="API key management is not available in inference-only mode";break;default:n=`Failed to validate API key: ${i}`;break}throw new Error(n)}const t=await e.json();if(!t.exists){const s="API key does not exist";throw new Error(s)}if(!t.active){const s="API key is inactive";throw new Error(s)}return t}catch(e){let t;throw e instanceof Error&&e.message?e.message.includes("API key")||e.message.includes("Access denied")||e.message.includes("invalid")||e.message.includes("expired")||e.message.includes("inactive")||e.message.includes("not found")||e.message.includes("Could not connect")?t=e.message:t=`API key validation failed: ${e.message}`:e.name==="TypeError"&&(r=e.message)!=null&&r.includes("Failed to fetch")?t="Could not connect to the server. Please check if the server is running.":t="API key validation failed. Please check your API key and try again.",console.warn(`[ApiClient] ${t}`),new Error(t)}}async getAdapterInfo(){var r;if(!this.apiKey)throw new Error("API key is required to get adapter information");try{const e=await fetch(`${this.apiUrl}/admin/adapters/info`,{...this.getFetchOptions({method:"GET"})}).catch(t=>{throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t});if(!e.ok){let t="";try{t=await e.text()}catch{t=`HTTP ${e.status}`}let s,i;try{const n=JSON.parse(t);s=n.detail||n.message||t}catch{s=t||`HTTP ${e.status}`}switch(e.status){case 401:i="API key is invalid, disabled, or has no associated adapter";break;case 404:i="Adapter configuration not found";break;case 503:i="Service is not available";break;default:i=`Failed to get adapter info: ${s}`;break}throw new Error(i)}return await e.json()}catch(e){let t;throw e instanceof Error&&e.message?e.message.includes("API key")||e.message.includes("Adapter")||e.message.includes("invalid")||e.message.includes("disabled")||e.message.includes("not found")||e.message.includes("Could not connect")?t=e.message:t=`Failed to get adapter info: ${e.message}`:e.name==="TypeError"&&(r=e.message)!=null&&r.includes("Failed to fetch")?t="Could not connect to the server. Please check if the server is running.":t="Failed to get adapter information. Please try again.",console.warn(`[ApiClient] ${t}`),new Error(t)}}async getAutocompleteSuggestions(r,e=5){if(r.length<3)return{suggestions:[],query:r};const t=this.middlewareMode&&!!this.adapterName;if(!t&&!this.apiKey)return{suggestions:[],query:r};try{const s=new URLSearchParams;s.set("q",r),s.set("limit",String(e));let i,n;if(t){if(!this.middlewareBaseUrl&&typeof window>"u")throw new Error("middlewareBaseUrl must be set when using middleware outside the browser environment.");i=`${this.middlewareBaseUrl?this.middlewareBaseUrl:""}/api/v1/autocomplete?${s.toString()}`;const c={"X-Adapter-Name":this.adapterName,"X-Request-ID":Date.now().toString(36)+Math.random().toString(36).substring(2)};this.sessionId&&(c["X-Session-ID"]=this.sessionId),n={method:"GET",headers:c}}else{const c=new URL(`${this.apiUrl}/v1/autocomplete`);c.searchParams.set("q",r),c.searchParams.set("limit",String(e)),i=c.toString(),n={...this.getFetchOptions({method:"GET"})}}const o=await fetch(i,n);return o.ok?await o.json():(console.warn("[ApiClient] Autocomplete request failed:",o.status),{suggestions:[],query:r})}catch(s){return console.warn("[ApiClient] Autocomplete error:",s.message),{suggestions:[],query:r}}}getFetchOptions(r={}){const e={};if(typeof window>"u"){const s=this.apiUrl.startsWith("https:")?T:$;s&&(e.agent=s)}else e.headers={Connection:"keep-alive"};const t={"X-Request-ID":Date.now().toString(36)+Math.random().toString(36).substring(2)};if(e.headers&&Object.assign(t,e.headers),r.headers){const s=r.headers;for(const[i,n]of Object.entries(s))(i.toLowerCase()!=="x-api-key"||!this.apiKey)&&(t[i]=n)}return this.apiKey&&(t["X-API-Key"]=this.apiKey),this.sessionId&&(t["X-Session-ID"]=this.sessionId),{...r,...e,headers:t}}createChatRequest(r,e=!0,t,s,i,n,o,c,u,w,y){const d={messages:[{role:"user",content:r}],stream:e};return t&&t.length>0&&(d.file_ids=t),s&&(d.thread_id=s),i&&(d.audio_input=i),n&&(d.audio_format=n),o&&(d.language=o),c!==void 0&&(d.return_audio=c),u&&(d.tts_voice=u),w&&(d.source_language=w),y&&(d.target_language=y),d}async*streamChat(r,e=!0,t,s,i,n,o,c,u,w,y,d){var b,C,U;try{const p=new AbortController,S=setTimeout(()=>p.abort(),6e4);d&&d.addEventListener("abort",()=>p.abort());const v=await fetch(`${this.apiUrl}/v1/chat`,{...this.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json",Accept:e?"text/event-stream":"application/json"},body:JSON.stringify(this.createChatRequest(r,e,t,s,i,n,o,c,u,w,y))}),signal:p.signal});if(clearTimeout(S),!v.ok){const g=await v.text();throw new Error(`Network response was not ok: ${v.status} ${g}`)}if(!e){const g=await v.json();g.response&&(yield{text:g.response,done:!0,audio:g.audio,audioFormat:g.audio_format});return}const I=(b=v.body)==null?void 0:b.getReader();if(!I)throw new Error("No reader available");const x=new TextDecoder;let f="",k=!1;try{for(;;){const{done:g,value:q}=await I.read();if(g)break;const N=x.decode(q,{stream:!0});f+=N;let P=0,F;for(;(F=f.indexOf(`
|
|
2
|
-
`,P))!==-1;){const E=f.slice(P,F).trim();if(P=F+1,E&&E.startsWith("data: ")){const h=E.slice(6).trim();if(!h||h==="[DONE]"){yield{text:"",done:!0};return}try{const a=JSON.parse(h);if(a.error){const K=`Server error: ${((C=a.error)==null?void 0:C.message)||a.error||"Unknown server error"}`;throw console.warn(`[ApiClient] ${K}`),new Error(K)}if(a.request_id&&!a.response&&!a.done){yield{text:"",done:!1,request_id:a.request_id};continue}if(a.done===!0){k=!0,yield{text:"",done:!0,audio:a.audio,audioFormat:a.audio_format||a.audioFormat,threading:a.threading};return}const _=a.response||"";a.audio_chunk!==void 0&&(yield{text:"",done:!1,audio_chunk:a.audio_chunk,audioFormat:a.audioFormat||a.audio_format||"opus",chunk_index:a.chunk_index??0}),(_||a.audio)&&(k=!0,yield{text:_,done:a.done||!1,audio:a.audio,audioFormat:a.audio_format||a.audioFormat,threading:a.threading})}catch(a){if((U=a==null?void 0:a.message)!=null&&U.startsWith("Server error:"))throw a;console.warn("[ApiClient] Unable to parse server response. This may be a temporary issue."),console.warn("[ApiClient] Parse error details:",a==null?void 0:a.message),console.warn("[ApiClient] JSON text length:",h==null?void 0:h.length),console.warn("[ApiClient] JSON text preview (first 200 chars):",h==null?void 0:h.substring(0,200)),console.warn("[ApiClient] JSON text preview (last 200 chars):",h==null?void 0:h.substring(h.length-200))}}else E&&(k=!0,yield{text:E,done:!1})}f=f.slice(P),f.length>1e6&&(console.warn("[ApiClient] Buffer too large, truncating..."),f=f.slice(-5e5))}k&&(yield{text:"",done:!0})}finally{I.releaseLock()}}catch(p){throw p.name==="AbortError"?d!=null&&d.aborted?new Error("Stream cancelled by user"):new Error("Connection timed out. Please check if the server is running."):p.name==="TypeError"&&p.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):p}}async stopChat(r,e){try{const t=await fetch(`${this.apiUrl}/v1/chat/stop`,{...this.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({session_id:r,request_id:e})})});return t.ok?(await t.json()).status==="cancelled":(console.warn("[ApiClient] Failed to stop stream:",t.status),!1)}catch(t){return console.error("[ApiClient] Error stopping stream:",t),!1}}async getConversationHistory(r,e){const t=r||this.sessionId;if(!t)throw new Error("No session ID provided and no current session available");const s={};this.apiKey&&(s["X-API-Key"]=this.apiKey);try{const i=new URL(`${this.apiUrl}/admin/chat-history/${t}`);typeof e=="number"&&Number.isFinite(e)&&e>0&&i.searchParams.set("limit",String(Math.floor(e)));const n=await fetch(i.toString(),{...this.getFetchOptions({method:"GET",headers:s})});if(!n.ok){const w=await n.text();throw new Error(`Failed to fetch conversation history: ${n.status} ${w}`)}const o=await n.json(),c=Array.isArray(o==null?void 0:o.messages)?o.messages:[],u=typeof(o==null?void 0:o.count)=="number"?o.count:c.length;return{session_id:(o==null?void 0:o.session_id)||t,messages:c,count:u}}catch(i){throw i.name==="TypeError"&&i.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):i}}async clearConversationHistory(r){const e=r||this.sessionId;if(!e)throw new Error("No session ID provided and no current session available");if(!this.apiKey)throw new Error("API key is required for clearing conversation history");const t={"Content-Type":"application/json","X-Session-ID":e,"X-API-Key":this.apiKey};try{const s=await fetch(`${this.apiUrl}/admin/chat-history/${e}`,{...this.getFetchOptions({method:"DELETE",headers:t})});if(!s.ok){const i=await s.text();throw new Error(`Failed to clear conversation history: ${s.status} ${i}`)}return await s.json()}catch(s){throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s}}async deleteConversationWithFiles(r,e){const t=r||this.sessionId;if(!t)throw new Error("No session ID provided and no current session available");if(!this.apiKey)throw new Error("API key is required for deleting conversation");const s={"Content-Type":"application/json","X-Session-ID":t,"X-API-Key":this.apiKey},i=e&&e.length>0?`?file_ids=${e.join(",")}`:"",n=`${this.apiUrl}/admin/conversations/${t}${i}`;try{const o=await fetch(n,{...this.getFetchOptions({method:"DELETE",headers:s})});if(!o.ok){const c=await o.text();throw new Error(`Failed to delete conversation: ${o.status} ${c}`)}return await o.json()}catch(o){throw o.name==="TypeError"&&o.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):o}}async createThread(r,e){if(!this.apiKey)throw new Error("API key is required for creating threads");const t={"Content-Type":"application/json","X-API-Key":this.apiKey};try{const s=await fetch(`${this.apiUrl}/api/threads`,{...this.getFetchOptions({method:"POST",headers:t,body:JSON.stringify({message_id:r,session_id:e})})});if(!s.ok){const i=await s.text();throw new Error(`Failed to create thread: ${s.status} ${i}`)}return await s.json()}catch(s){throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s}}async getThreadInfo(r){if(!this.apiKey)throw new Error("API key is required for getting thread info");const e={"X-API-Key":this.apiKey};try{const t=await fetch(`${this.apiUrl}/api/threads/${r}`,{...this.getFetchOptions({method:"GET",headers:e})});if(!t.ok){const s=await t.text();throw new Error(`Failed to get thread info: ${t.status} ${s}`)}return await t.json()}catch(t){throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t}}async deleteThread(r){if(!this.apiKey)throw new Error("API key is required for deleting threads");const e={"X-API-Key":this.apiKey};try{const t=await fetch(`${this.apiUrl}/api/threads/${r}`,{...this.getFetchOptions({method:"DELETE",headers:e})});if(!t.ok){const s=await t.text();throw new Error(`Failed to delete thread: ${t.status} ${s}`)}return await t.json()}catch(t){throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t}}async uploadFile(r){if(!this.apiKey)throw new Error("API key is required for file upload");const e=new FormData;e.append("file",r);try{const t=await fetch(`${this.apiUrl}/api/files/upload`,{...this.getFetchOptions({method:"POST",body:e})});if(!t.ok){const s=await t.text();throw new Error(`Failed to upload file: ${t.status} ${s}`)}return await t.json()}catch(t){throw t.name==="TypeError"&&t.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):t}}async listFiles(){if(!this.apiKey)throw new Error("API key is required for listing files");try{const r=await fetch(`${this.apiUrl}/api/files`,{...this.getFetchOptions({method:"GET"})});if(!r.ok){const e=await r.text();throw new Error(`Failed to list files: ${r.status} ${e}`)}return await r.json()}catch(r){throw r.name==="TypeError"&&r.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):r}}async getFileInfo(r){if(!this.apiKey)throw new Error("API key is required for getting file info");try{const e=await fetch(`${this.apiUrl}/api/files/${r}`,{...this.getFetchOptions({method:"GET"})});if(!e.ok){const t=await e.text();throw new Error(`Failed to get file info: ${e.status} ${t}`)}return await e.json()}catch(e){throw e.name==="TypeError"&&e.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):e}}async queryFile(r,e,t=10){if(!this.apiKey)throw new Error("API key is required for querying files");try{const s=await fetch(`${this.apiUrl}/api/files/${r}/query`,{...this.getFetchOptions({method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,max_results:t})})});if(!s.ok){const i=await s.text();throw new Error(`Failed to query file: ${s.status} ${i}`)}return await s.json()}catch(s){throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?new Error("Could not connect to the server. Please check if the server is running."):s}}async deleteFile(r){if(!this.apiKey)throw new Error("API key is required for deleting files");const e=`${this.apiUrl}/api/files/${r}`,t=this.getFetchOptions({method:"DELETE"});try{const s=await fetch(e,t);if(!s.ok){const i=await s.text();let n;try{const o=JSON.parse(i);n=o.detail||o.message||`Failed to delete file (HTTP ${s.status})`}catch{n=`Failed to delete file (HTTP ${s.status})`}throw console.warn(`[ApiClient] ${n}`),new Error(n)}return await s.json()}catch(s){let i;throw s.name==="TypeError"&&s.message.includes("Failed to fetch")?i="Could not connect to the server. Please check if the server is running.":s.message&&!s.message.includes("Failed to delete file")?i=s.message:i="Failed to delete file. Please try again.",console.warn(`[ApiClient] ${i}`),new Error(i)}}}let A=null;const X=(l,r=null,e=null)=>{A=new L({apiUrl:l,apiKey:r,sessionId:e})};async function*B(l,r=!0,e,t,s,i,n,o,c,u,w,y){if(!A)throw new Error("API not configured. Please call configureApi() with your server URL before using any API functions.");yield*A.streamChat(l,r,e,t,s,i,n,o,c,u,w,y)}async function J(l,r){if(!A)throw new Error("API not configured. Please call configureApi() with your server URL before using any API functions.");return A.stopChat(l,r)}export{L as ApiClient,X as configureApi,J as stopChat,B as streamChat};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{bk as a,bl as s}from"./index-BW8v6af7.js";const e=(o,r)=>a.lang.round(s.parse(o)[r]);export{e as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as o}from"./graph-BmNkcFEM-KNWsAmWF.js";var t=4;function n(r){return o(r,t)}export{n as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.orbit-gradient-logo{filter:brightness(0) saturate(100%);filter:drop-shadow(0 0 8px rgba(59,130,246,.5));background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;mix-blend-mode:screen}.message-list{--thread-panel-bg: #f6f7fb;--thread-panel-border: rgba(15, 23, 42, .08);--thread-panel-shadow: 0 30px 60px -38px rgba(15, 23, 42, .45);--thread-panel-heading: #1f2937;--thread-panel-button-border: rgba(15, 23, 42, .18);--thread-panel-button-text: #1f2937;--thread-panel-button-hover: rgba(15, 23, 42, .08);--thread-avatar-assistant-bg: #e7e9fb;--thread-avatar-assistant-text: #252c53;--thread-avatar-user-bg: #e6f4ef;--thread-avatar-user-text: #0f5f47;scroll-behavior:auto;overflow-anchor:auto}.dark .message-list{--thread-panel-bg: #1a1c24;--thread-panel-border: rgba(255, 255, 255, .12);--thread-panel-shadow: 0 35px 60px -40px rgba(0, 0, 0, .9);--thread-panel-heading: #eef1ff;--thread-panel-button-border: rgba(255, 255, 255, .2);--thread-panel-button-text: #eef1ff;--thread-panel-button-hover: rgba(255, 255, 255, .08);--thread-avatar-assistant-bg: rgba(83, 99, 164, .45);--thread-avatar-assistant-text: #e5e8ff;--thread-avatar-user-bg: rgba(16, 163, 127, .35);--thread-avatar-user-text: #d7fff3}.message-list :where(.thread-panel){background-color:var(--thread-panel-bg)!important;border-color:var(--thread-panel-border)!important;box-shadow:var(--thread-panel-shadow)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-list :where(.thread-panel) .text-blue-900,.message-list :where(.thread-panel) .dark\:text-\[\#c5d7ff\]{color:var(--thread-panel-heading)!important}.message-list :where(.thread-panel) .border-blue-200\/80,.message-list :where(.thread-panel) .dark\:border-\[\#233449\]{border-color:var(--thread-panel-button-border)!important}.message-list :where(.thread-panel) button.inline-flex.items-center.gap-2.rounded-full.border{color:var(--thread-panel-button-text)!important;background-color:transparent;transition:background-color .2s ease,border-color .2s ease}.message-list :where(.thread-panel) button.inline-flex.items-center.gap-2.rounded-full.border:hover{background-color:var(--thread-panel-button-hover)!important}.message-list :where(.flex.h-7.w-7.flex-shrink-0.items-center.justify-center.rounded-full.bg-blue-100){background-color:var(--thread-avatar-assistant-bg)!important;color:var(--thread-avatar-assistant-text)!important}.message-list :where(.flex.h-7.w-7.flex-shrink-0.items-center.justify-center.rounded-full.bg-emerald-100){background-color:var(--thread-avatar-user-bg)!important;color:var(--thread-avatar-user-text)!important}.message-list .message-bubble{width:100%;max-width:960px}@media (min-width: 1280px){.message-list .message-bubble{max-width:900px}}.message-list .message-markdown{width:100%;max-width:100%;min-width:0;margin-left:auto;margin-right:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 767px){.message-list .message-markdown{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) transparent}.message-list .message-markdown::-webkit-scrollbar{height:4px}.message-list .message-markdown::-webkit-scrollbar-track{background:transparent}.message-list .message-markdown::-webkit-scrollbar-thumb{background-color:#8080804d;border-radius:2px}.message-list .message-markdown pre,.message-list .message-markdown table,.message-list .message-markdown .recharts-wrapper,.message-list .message-markdown svg{max-width:100%;overflow-x:auto}.message-list .message-markdown .recharts-wrapper{min-width:300px}}@media (min-width: 768px){.message-list .message-markdown{max-width:840px;overflow-x:visible}}@media (min-width: 1280px){.message-list .message-markdown{max-width:880px}}.thread-markdown-wrapper{width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.thread-markdown-wrapper::-webkit-scrollbar{height:6px}.thread-markdown-wrapper::-webkit-scrollbar-track{background:transparent;border-radius:3px}.thread-markdown-wrapper::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:3px}.dark .thread-markdown-wrapper::-webkit-scrollbar-thumb{background-color:#ffffff4d}.thread-markdown-wrapper table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.thread-markdown-wrapper .prose{max-width:100%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;-webkit-tap-highlight-color:transparent}html{font-size:1rem;line-height:1.5rem;scroll-behavior:smooth;overscroll-behavior-y:contain}body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}body{line-height:1.75}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}textarea{border:none!important;outline:none!important;box-shadow:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}textarea:focus{border:none!important;outline:none!important;box-shadow:none!important;ring:none!important}.prose{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.prose:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.prose p{font-weight:400;line-height:1.75rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose p:is(.dark *){--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose p{font-size:15px;margin-top:.75rem;margin-bottom:.75rem}.prose p:first-child{margin-top:0}.prose p:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-weight:600;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose h1:is(.dark *),.prose h2:is(.dark *),.prose h3:is(.dark *),.prose h4:is(.dark *),.prose h5:is(.dark *),.prose h6:is(.dark *){--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-top:1.5rem;margin-bottom:.75rem}.prose h1{font-size:1.5rem;line-height:2rem}.prose h2{font-size:1.25rem;line-height:1.75rem}.prose h3{font-size:1.125rem;line-height:1.75rem}.prose ul,.prose ol{margin-top:1rem;margin-bottom:1rem;margin-left:1.5rem}.prose li{margin-top:.5rem;margin-bottom:.5rem;line-height:1.75rem;font-size:15px}.prose strong{font-weight:600}.prose em{font-style:italic}.prose a{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1));text-decoration-line:underline}.prose a:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.prose pre{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose pre:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose code{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose code:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose blockquote{margin-top:1rem;margin-bottom:1rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-left-width:4px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding-top:1rem;padding-bottom:1rem;padding-left:1.5rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose blockquote:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose table{margin-top:1rem;margin-bottom:1rem;width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.25rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose thead{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.prose thead:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 43 50 / var(--tw-bg-opacity, 1))}.prose th{border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.5rem 1rem;text-align:left;font-weight:600;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose th:is(.dark *){--tw-border-opacity: 1;border-color:rgb(60 63 74 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose th{white-space:nowrap}.prose td{border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.5rem 1rem;--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.prose td:is(.dark *){--tw-border-opacity: 1;border-color:rgb(60 63 74 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.prose tbody tr:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.prose tbody tr:nth-child(2n):is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1))}.prose tbody tr:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.prose tbody tr:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 43 50 / var(--tw-bg-opacity, 1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-right-3{right:-.75rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.left-1\/2{left:50%}.left-3{left:.75rem}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-\[max\(env\(safe-area-inset-top\)\,0\.75rem\)\]{top:max(env(safe-area-inset-top),.75rem)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-2{margin-top:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[96px\]{height:96px}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[min\(18rem\,85vw\)\]{width:min(18rem,85vw)}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[150px\]{max-width:150px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-t-\[28px\]{border-top-left-radius:28px;border-top-right-radius:28px}.rounded-t-\[32px\]{border-top-left-radius:32px;border-top-right-radius:32px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#343541\]{--tw-border-opacity: 1;border-color:rgb(52 53 65 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-100\/80{border-color:#dbeafecc}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-200\/80{border-color:#bfdbfecc}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/40{border-color:#fff6}.border-white\/50{border-color:#ffffff80}.border-white\/70{border-color:#ffffffb3}.border-white\/80{border-color:#fffc}.border-t-transparent{border-top-color:transparent}.bg-\[\#0f8f6f\]{--tw-bg-opacity: 1;background-color:rgb(15 143 111 / var(--tw-bg-opacity, 1))}.bg-\[\#10a37f\]{--tw-bg-opacity: 1;background-color:rgb(16 163 127 / var(--tw-bg-opacity, 1))}.bg-\[\#11121a\]\/90{background-color:#11121ae6}.bg-\[\#343541\]{--tw-bg-opacity: 1;background-color:rgb(52 53 65 / var(--tw-bg-opacity, 1))}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\/70{background-color:#eff6ffb3}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/40{background-color:#fff6}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/95{background-color:#fffffff2}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-100{--tw-gradient-from: #dbeafe var(--tw-gradient-from-position);--tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-100{--tw-gradient-from: #d1fae5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-gray-50{--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f9fafb var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-200{--tw-gradient-to: #bfdbfe var(--tw-gradient-to-position)}.to-emerald-200{--tw-gradient-to: #a7f3d0 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-\[max\(env\(safe-area-inset-bottom\)\,0\.75rem\)\]{padding-bottom:max(env(safe-area-inset-bottom),.75rem)}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-\[max\(env\(safe-area-inset-top\)\,1rem\)\]{padding-top:max(env(safe-area-inset-top),1rem)}.text-left{text-align:left}.text-center{text-align:center}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-semibold{font-weight:600!important}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-gray-700{--tw-text-opacity: 1 !important;color:rgb(55 65 81 / var(--tw-text-opacity, 1))!important}.text-\[\#0f172a\]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-\[\#11111b\]{--tw-text-opacity: 1;color:rgb(17 17 27 / var(--tw-text-opacity, 1))}.text-\[\#11121a\]{--tw-text-opacity: 1;color:rgb(17 18 26 / var(--tw-text-opacity, 1))}.text-\[\#1c3226\]{--tw-text-opacity: 1;color:rgb(28 50 38 / var(--tw-text-opacity, 1))}.text-\[\#1f1f21\]{--tw-text-opacity: 1;color:rgb(31 31 33 / var(--tw-text-opacity, 1))}.text-\[\#1f2937\]{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-\[\#353740\]{--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.text-\[\#4a4c5a\]{--tw-text-opacity: 1;color:rgb(74 76 90 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-blue-900\/70{color:#1e3a8ab3}.text-blue-900\/80{color:#1e3a8acc}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-600\/60{color:#dc262699}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-transparent::-moz-placeholder{color:transparent}.placeholder-transparent::placeholder{color:transparent}.accent-gray-600{accent-color:#4b5563}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_-12px_45px_rgba\(15\,23\,42\,0\.2\)\]{--tw-shadow: 0 -12px 45px rgba(15,23,42,.2);--tw-shadow-colored: 0 -12px 45px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-18px_rgba\(15\,52\,33\,0\.25\)\]{--tw-shadow: 0 12px 30px -18px rgba(15,52,33,.25);--tw-shadow-colored: 0 12px 30px -18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_15px_35px_-20px_rgba\(15\,23\,42\,0\.25\)\]{--tw-shadow: 0 15px 35px -20px rgba(15,23,42,.25);--tw-shadow-colored: 0 15px 35px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_25px_60px_rgba\(15\,23\,42\,0\.15\)\]{--tw-shadow: 0 25px 60px rgba(15,23,42,.15);--tw-shadow-colored: 0 25px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(15\,23\,42\,0\.06\)\]{--tw-shadow: 0 2px 8px rgba(15,23,42,.06);--tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-blue-100\/60{--tw-ring-color: rgb(219 234 254 / .6)}.ring-white\/50{--tw-ring-color: rgb(255 255 255 / .5)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.katex{font-size:1em!important}.katex-display{margin:1em 0!important;text-align:center}.markdown-content .katex{overflow-x:auto;overflow-y:hidden}.markdown-content .katex-display{overflow-x:auto;overflow-y:hidden;padding:.5em 0}@media (prefers-color-scheme: dark){.katex{color:inherit!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-track{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}:is(.dark *)::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.high-contrast{--tw-text-opacity: 1;--tw-bg-opacity: 1}.high-contrast .text-slate-500{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.high-contrast .text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.high-contrast .text-slate-400{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.high-contrast .text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.high-contrast .bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.high-contrast .bg-slate-50:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.animate-shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200px 100%}.message-input-container:focus-within{outline:2px solid transparent;outline-offset:2px}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(156 163 175 / .7);--tw-ring-offset-width: 0px}button:focus-visible:is(.dark *),input:focus-visible:is(.dark *),textarea:focus-visible:is(.dark *){--tw-ring-color: rgb(107 114 128 / .7)}@media (max-width: 768px){.prose,body{font-size:.875rem;line-height:1.25rem}button,a,[role=button]{touch-action:manipulation}.overflow-y-auto,.overflow-x-auto,.overflow-auto{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.message-list::-webkit-scrollbar,.overflow-y-auto::-webkit-scrollbar{display:none}.message-list,.overflow-y-auto{-ms-overflow-style:none;scrollbar-width:none}button,input,textarea,select,a{touch-action:manipulation}button,[role=button],a{min-height:44px;min-width:44px}.inline-btn,button.h-8,button.h-6{min-height:auto;min-width:auto}}@supports (-webkit-touch-callout: none){input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{font-size:16px!important}@media (min-width: 768px){input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,select{font-size:inherit!important}}.mobile-bottom-safe{padding-bottom:max(env(safe-area-inset-bottom),.75rem)}}@media (hover: none) and (pointer: coarse){button:active:not(:disabled),[role=button]:active:not(:disabled){transform:scale(.97);transition:transform .1s ease-out}.conversation-item:active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.conversation-item:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(60 63 74 / var(--tw-bg-opacity, 1))}}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-emerald-400:hover{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\:border-red-400:hover{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#0c0d14\]:hover{--tw-bg-opacity: 1;background-color:rgb(12 13 20 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#0d765b\]:hover{--tw-bg-opacity: 1;background-color:rgb(13 118 91 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#0f8f6f\]:hover{--tw-bg-opacity: 1;background-color:rgb(15 143 111 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#282b32\]:hover{--tw-bg-opacity: 1;background-color:rgb(40 43 50 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-700:hover{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-50\/30:hover{background-color:#ecfdf54d}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:bg-white\/80:hover{background-color:#fffc}.hover\:text-\[\#353740\]:hover{--tw-text-opacity: 1;color:rgb(53 55 64 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:shadow-\[0_15px_45px_rgba\(15\,23\,42\,0\.12\)\]:hover{--tw-shadow: 0 15px 45px rgba(15,23,42,.12);--tw-shadow-colored: 0 15px 45px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_8px_20px_rgba\(15\,23\,42\,0\.12\)\]:hover{--tw-shadow: 0 8px 20px rgba(15,23,42,.12);--tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-blue-200:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1))}.focus\:border-gray-400:focus{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-amber-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-white:focus{--tw-ring-offset-color: #fff}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[\#0f8f6f\]:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(15 143 111 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.97\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:transform-none:disabled{transform:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.group:hover .group-hover\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-\[\#1a2b21\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(26 43 33 / var(--tw-border-opacity, 1))}.dark\:border-\[\#1f2a36\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 42 54 / var(--tw-border-opacity, 1))}.dark\:border-\[\#2f303d\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(47 48 61 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3b3c49\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 60 73 / var(--tw-border-opacity, 1))}.dark\:border-\[\#3c3f4a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(60 63 74 / var(--tw-border-opacity, 1))}.dark\:border-\[\#40414f\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(64 65 79 / var(--tw-border-opacity, 1))}.dark\:border-\[\#444654\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(68 70 84 / var(--tw-border-opacity, 1))}.dark\:border-\[\#4a4b54\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.dark\:border-\[\#565869\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(86 88 105 / var(--tw-border-opacity, 1))}.dark\:border-\[\#6b6f7a\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 111 122 / var(--tw-border-opacity, 1))}.dark\:border-amber-500\/30:is(.dark *){border-color:#f59e0b4d}.dark\:border-amber-500\/40:is(.dark *){border-color:#f59e0b66}.dark\:border-amber-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-emerald-400:is(.dark *){--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.dark\:border-gray-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-green-600\/40:is(.dark *){border-color:#16a34a66}.dark\:border-red-600\/40:is(.dark *){border-color:#dc262666}.dark\:border-red-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-red-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.dark\:border-slate-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-slate-700\/60:is(.dark *){border-color:#33415599}.dark\:border-transparent:is(.dark *){border-color:transparent}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/5:is(.dark *){border-color:#ffffff0d}.dark\:border-t-transparent:is(.dark *){border-top-color:transparent}.dark\:bg-\[\#1c1d23\]\/90:is(.dark *){background-color:#1c1d23e6}.dark\:bg-\[\#1c1d23\]\/95:is(.dark *){background-color:#1c1d23f2}.dark\:bg-\[\#1f1f24\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 31 36 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1f2027\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 32 39 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#1f2a36\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 42 54 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#202123\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(32 33 35 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#212121\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#22232b\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(34 35 43 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232430\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(35 36 48 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#232430\]\/80:is(.dark *){background-color:#232430cc}.dark\:bg-\[\#252830\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(37 40 48 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2a2b34\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 43 52 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2c2f36\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(44 47 54 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2d2f39\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(45 47 57 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2f2410\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(47 36 16 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#2f313a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(47 49 58 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#343541\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(52 53 65 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#3c3f4a\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(60 63 74 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#4a4b54\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(74 75 84 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#565869\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(86 88 105 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#bfc2cd\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(191 194 205 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:#78350f33}.dark\:bg-amber-900\/30:is(.dark *){background-color:#78350f4d}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-blue-900\/40:is(.dark *){background-color:#1e3a8a66}.dark\:bg-emerald-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.dark\:bg-emerald-900\/20:is(.dark *){background-color:#064e3b33}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-red-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.dark\:bg-red-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-red-900\/40:is(.dark *){background-color:#7f1d1d66}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800\/50:is(.dark *){background-color:#1e293b80}.dark\:bg-slate-900\/40:is(.dark *){background-color:#0f172a66}.dark\:bg-slate-900\/50:is(.dark *){background-color:#0f172a80}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:bg-white\/\[0\.035\]:is(.dark *){background-color:#ffffff09}.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:#ffffff0a}.dark\:bg-none:is(.dark *){background-image:none}.dark\:from-\[\#0f1f17\]:is(.dark *){--tw-gradient-from: #0f1f17 var(--tw-gradient-from-position);--tw-gradient-to: rgb(15 31 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-\[\#1f2a36\]:is(.dark *){--tw-gradient-from: #1f2a36 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 42 54 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:to-\[\#0b1712\]:is(.dark *){--tw-gradient-to: #0b1712 var(--tw-gradient-to-position)}.dark\:to-\[\#1a2230\]:is(.dark *){--tw-gradient-to: #1a2230 var(--tw-gradient-to-position)}.dark\:to-\[\#1c1d23\]:is(.dark *){--tw-gradient-to: #1c1d23 var(--tw-gradient-to-position)}.dark\:\!text-white:is(.dark *){--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.dark\:text-\[\#4a4b54\]:is(.dark *){--tw-text-opacity: 1;color:rgb(74 75 84 / var(--tw-text-opacity, 1))}.dark\:text-\[\#6b6f7a\]:is(.dark *){--tw-text-opacity: 1;color:rgb(107 111 122 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8e8ea0\]:is(.dark *){--tw-text-opacity: 1;color:rgb(142 142 160 / var(--tw-text-opacity, 1))}.dark\:text-\[\#8fb7ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(143 183 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#9ef0d5\]:is(.dark *){--tw-text-opacity: 1;color:rgb(158 240 213 / var(--tw-text-opacity, 1))}.dark\:text-\[\#a6acc5\]:is(.dark *){--tw-text-opacity: 1;color:rgb(166 172 197 / var(--tw-text-opacity, 1))}.dark\:text-\[\#b4c7ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(180 199 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#bfc2cd\]:is(.dark *){--tw-text-opacity: 1;color:rgb(191 194 205 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c5d7ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(197 215 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#c7f5df\]:is(.dark *){--tw-text-opacity: 1;color:rgb(199 245 223 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d1d5db\]:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-\[\#d4d7e2\]:is(.dark *){--tw-text-opacity: 1;color:rgb(212 215 226 / var(--tw-text-opacity, 1))}.dark\:text-\[\#dffbea\]:is(.dark *){--tw-text-opacity: 1;color:rgb(223 251 234 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e1e8ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(225 232 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5e7f4\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 244 / var(--tw-text-opacity, 1))}.dark\:text-\[\#e5edff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(229 237 255 / var(--tw-text-opacity, 1))}.dark\:text-\[\#ececf1\]:is(.dark *){--tw-text-opacity: 1;color:rgb(236 236 241 / var(--tw-text-opacity, 1))}.dark\:text-\[\#f1f5ff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 255 / var(--tw-text-opacity, 1))}.dark\:text-amber-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-red-400\/60:is(.dark *){color:#f8717199}.dark\:text-slate-100:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:placeholder-\[\#8e8ea0\]:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(142 142 160 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-\[\#8e8ea0\]:is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(142 142 160 / var(--tw-placeholder-opacity, 1))}.dark\:placeholder-transparent:is(.dark *)::-moz-placeholder{color:transparent}.dark\:placeholder-transparent:is(.dark *)::placeholder{color:transparent}.dark\:accent-\[\#bfc2cd\]:is(.dark *){accent-color:#bfc2cd}.dark\:shadow-lg:is(.dark *){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-none:is(.dark *){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:ring-white\/10:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:ring-white\/5:is(.dark *){--tw-ring-color: rgb(255 255 255 / .05)}.dark\:hover\:border-\[\#4a4b54\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.dark\:hover\:border-\[\#6b6f7a\]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 111 122 / var(--tw-border-opacity, 1))}.dark\:hover\:border-blue-400\/50:hover:is(.dark *){border-color:#60a5fa80}.dark\:hover\:border-gray-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:hover\:border-red-500\/60:hover:is(.dark *){border-color:#ef444499}.dark\:hover\:bg-\[\#2a2d35\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(42 45 53 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#2f323c\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(47 50 60 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#353740\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(53 55 64 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#353947\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(53 57 71 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#3c3f4a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(60 63 74 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#4a4b54\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(74 75 84 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#565869\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(86 88 105 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-\[\#6b6f7a\]:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(107 111 122 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-emerald-900\/10:hover:is(.dark *){background-color:#064e3b1a}.dark\:hover\:bg-gray-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-800\/40:hover:is(.dark *){background-color:#991b1b66}.dark\:hover\:bg-red-900\/20:hover:is(.dark *){background-color:#7f1d1d33}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:#7f1d1d4d}.dark\:hover\:bg-slate-800\/60:hover:is(.dark *){background-color:#1e293b99}.dark\:hover\:bg-white\/\[0\.08\]:hover:is(.dark *){background-color:#ffffff14}.dark\:hover\:text-blue-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:border-\[\#6b6f7a\]:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 111 122 / var(--tw-border-opacity, 1))}.dark\:focus\:border-\[\#8e8ea0\]:focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(142 142 160 / var(--tw-border-opacity, 1))}.dark\:focus\:ring-\[\#8e8ea0\]:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(142 142 160 / var(--tw-ring-opacity, 1))}.dark\:focus\:ring-offset-gray-800:focus:is(.dark *){--tw-ring-offset-color: #1f2937}.dark\:focus-visible\:ring-blue-400:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.dark\:focus-visible\:ring-offset-\[\#0f1821\]:focus-visible:is(.dark *){--tw-ring-offset-color: #0f1821}.dark\:disabled\:hover\:border-\[\#4a4b54\]:hover:disabled:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.dark\:disabled\:hover\:bg-transparent:hover:disabled:is(.dark *){background-color:transparent}.group:hover .dark\:group-hover\:border-blue-500\/40:is(.dark *){border-color:#3b82f666}.group:hover .dark\:group-hover\:bg-transparent:is(.dark *){background-color:transparent}.group:hover .dark\:group-hover\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:-mt-3{margin-top:-.75rem}.sm\:ml-2{margin-left:.5rem}.sm\:mt-4{margin-top:1rem}.sm\:inline{display:inline}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-9{height:2.25rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-9{width:2.25rem}.sm\:w-auto{width:auto}.sm\:min-w-\[220px\]{min-width:220px}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-4{padding:1rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:static{position:static}.md\:absolute{position:absolute}.md\:bottom-full{bottom:100%}.md\:left-0{left:0}.md\:right-0{right:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-8{height:2rem}.md\:min-h-screen{min-height:100vh}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-72{width:18rem}.md\:w-8{width:2rem}.md\:min-w-\[72px\]{min-width:72px}.md\:flex-none{flex:none}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\:overflow-visible{overflow:visible}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-none{border-radius:0}.md\:border-0{border-width:0px}.md\:border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.md\:border-transparent{border-color:transparent}.md\:bg-transparent{background-color:transparent}.md\:px-0{padding-left:0;padding-right:0}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:pb-0{padding-bottom:0}.md\:pb-6{padding-bottom:1.5rem}.md\:pt-0{padding-top:0}.md\:pt-6{padding-top:1.5rem}.md\:text-right{text-align:right}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.md\:backdrop-blur-0{--tw-backdrop-blur: blur(0);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.md\:dark\:border-0:is(.dark *){border-width:0px}.md\:dark\:border-\[\#4a4b54\]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(74 75 84 / var(--tw-border-opacity, 1))}.md\:dark\:border-transparent:is(.dark *){border-color:transparent}.md\:dark\:bg-transparent:is(.dark *){background-color:transparent}}.\[\&\>\:first-child\]\:mt-0>:first-child{margin-top:0}.\[\&\>\:last-child\]\:mb-0>:last-child{margin-bottom:0}.\[\&\>div\]\:rounded-t-\[28px\]>div{border-top-left-radius:28px;border-top-right-radius:28px}.\[\&\>div\]\:bg-transparent>div{background-color:transparent}@media (min-width: 768px){.md\:\[\&\>div\]\:rounded-none>div{border-radius:0}.md\:\[\&\>div\]\:px-0>div{padding-left:0;padding-right:0}}
|