1import{c as B,u as G,a as te,l as re,r as p,s as ne,j as e,$ as D,G as z,H as R,J as F,w as g,K as j,N as f,x as N,O as M}from"./index-MoAbC8_9.js";import{O as ae}from"./OwnersLayout-Cd0M3dw8.js";import{B as C}from"./badge-BHbYeRgi.js";import{S as ie,a as oe,b as ce,c as le,d as me}from"./select-ChAxOmxm.js";import{T as de,a as xe,c as E}from"./tabs-5EVsfllK.js";import{T as ue}from"./thermometer-CsW4-4zi.js";import{E as he}from"./euro-Cc6O9qjZ.js";import{F as L}from"./flame-wMx8KIS8.js";import{S as I}from"./snowflake-DxjZHYUy.js";import{C as pe}from"./chart-column-Bo5i9GGE.js";import{R as ge,C as je,X as fe,Y as Ne,T as ve,Q as be,B as ye,a as we}from"./generateCategoricalChart-C2b_mvpD.js";import{B as Ce}from"./BarChart-FFUEJ1QK.js";import{A as $}from"./arrow-right-QNKB-9eH.js";import"./Header-CnJGZ8vQ.js";import"./mountain-BHfTfCFy.js";import"./user-Cvsz7Lm_.js";import"./separator-CQ84aZ0V.js";import"./collapsible-BIxz44zB.js";import"./skeleton-ClxqB572.js";import"./breadcrumb-CmKLwRya.js";import"./switch-BHj3-8MN.js";import"./index-D9-GACGG.js";import"./house-DjS1WMqx.js";import"./receipt-DnGXta2k.js";import"./building-crte1H4H.js";import"./file-text-Bif0RP8Y.js";import"./upload-BH1HltYO.js";import"./piggy-bank-DP-A2O0m.js";import"./landmark-C0TkBs1l.js";import"./trending-up-Cg9WFJWB.js";import"./users-xui-UtA1.js";import"./eye-DKrvAixa.js";import"./dialog-DrI7Oddz.js";import"./textarea-4z16PwID.js";import"./index-BdQq_4o_.js";import"./chevron-down-BDe4YKQW.js";import"./chevron-up-JyGCcpt9.js";import"./index-Dh4i1-J3.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const ke=B("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);/** 7 * @license lucide-react v0.462.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const Se=B("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),He=()=>{var _,A;const{language:n}=G(),V=te();re();const[u,O]=p.useState([]),[k,K]=p.useState(""),[i,Y]=p.useState("consumption"),[J,U]=p.useState(!0);p.useEffect(()=>{W()},[]);const W=async()=>{const{data:s}=await ne.from("apartment_heating_costs").select("id, year, apartment_code, owner_name, area_sqm, consumption_units, total_gross_eur").order("year",{ascending:!1});if(s){O(s);const r=[...new Set(s.map(t=>t.year))].sort((t,a)=>a-t);r.length>0&&!k&&K(r[0].toString())}U(!1)},S=p.useMemo(()=>[...new Set(u.map(s=>s.year))].sort((s,r)=>r-s),[u]),m=p.useMemo(()=>{if(!k)return[];const r=u.filter(a=>a.year===parseInt(k)).reduce((a,l)=>{const d=l.apartment_code;return a[d]||(a[d]={apartment:l.apartment_code,owner:l.owner_name,area:l.area_sqm||0,consumption:l.consumption_units||0,totalCost:0}),a[d].totalCost+=Number(l.total_gross_eur),a[d].consumption+=Number(l.consumption_units||0),a},{}),t=Object.values(r).map(a=>({...a,costPerSqm:a.area>0?a.totalCost/a.area:0,consumptionPerSqm:a.area>0?a.consumption/a.area:0}));return i==="consumption"?t.sort((a,l)=>l.consumptionPerSqm-a.consumptionPerSqm):t.sort((a,l)=>l.costPerSqm-a.costPerSqm)},[u,k,i]),o=p.useMemo(()=>{if(m.length===0)return null;const s=i==="consumption"?m.map(c=>c.consumptionPerSqm).filter(c=>c>0):m.map(c=>c.costPerSqm).filter(c=>c>0),r=s.reduce((c,b)=>c+b,0)/s.length,t=Math.max(...s),a=Math.min(...s),l=i==="consumption"?m.find(c=>c.consumptionPerSqm===t):m.find(c=>c.costPerSqm===t),d=i==="consumption"?m.find(c=>c.consumptionPerSqm===a):m.find(c=>c.costPerSqm===a);return{avg:r,max:t,min:a,range:t-a,highest:l,lowest:d}},[m,i]),q=s=>i==="consumption"?s.consumptionPerSqm:s.costPerSqm,y=s=>i==="consumption"?x(s):v(s),X=(s,r)=>{const t=/(\d+)/g,a=s.split(t),l=r.split(t);for(let d=0;d<Math.max(a.length,l.length);
11d++){const c=a[d]||"",b=l[d]||"",H=parseInt(c,10),h=parseInt(b,10);if(!isNaN(H)&&!isNaN(h)){if(H!==h)return H-h}else if(c!==b)return c.localeCompare(b)}return 0},T=p.useMemo(()=>{const s=[...new Set(u.map(t=>t.apartment_code))].sort(X),r=S.slice(0,5);return s.map(t=>{const a={apartment:t};return r.forEach(l=>{const d=u.filter(h=>h.apartment_code===t&&h.year===l),c=d.reduce((h,P)=>h+(P.area_sqm||0),0)/(d.length||1),b=d.reduce((h,P)=>h+(P.consumption_units||0),0),H=d.reduce((h,P)=>h+Number(P.total_gross_eur),0);i==="consumption"?a[l.toString()]=c>0?b/c:0:a[l.toString()]=c>0?H/c:0}),a})},[u,S,i]),v=s=>new Intl.NumberFormat(n==="de"?"de-DE":"en-GB",{style:"currency",currency:"EUR"}).format(s),x=(s,r=1)=>new Intl.NumberFormat(n==="de"?"de-DE":"en-GB",{minimumFractionDigits:r,maximumFractionDigits:r}).format(s),Q=(s,r)=>{const t=s/r;return t>1.3?"hsl(0 72% 51%)":t>1.1?"hsl(25 85% 60%)":t>.9?"hsl(48 96% 53%)":t>.7?"hsl(142 71% 45%)":"hsl(172 66% 50%)"},Z=(s,r)=>{if(!s||s===0)return"hsl(var(--muted))";const t=s/r;return t>1.3?"hsl(0 72% 51% / 0.8)":t>1.1?"hsl(25 85% 60% / 0.7)":t>.9?"hsl(48 96% 53% / 0.6)":t>.7?"hsl(142 71% 45% / 0.6)":"hsl(172 66% 50% / 0.7)"},w=s=>{V(`/costs?tab=heating&subtab=history&apartment=${s}`)};if(J)return e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"})});const ee=m.slice(0,5),se=i==="consumption"?[...m].sort((s,r)=>s.consumptionPerSqm-r.consumptionPerSqm).slice(0,5):[...m].sort((s,r)=>s.costPerSqm-r.costPerSqm).slice(0,5);return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:n==="de"?"Jahr:":"Year:"}),e.jsxs(ie,{value:k,onValueChange:K,children:[e.jsx(oe,{className:"w-[150px]",children:e.jsx(ce,{})}),e.jsx(le,{children:S.map(s=>e.jsx(me,{value:s.toString(),children:s},s))})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(de,{value:i,onValueChange:s=>Y(s),children:e.jsxs(xe,{children:[e.jsxs(E,{value:"consumption",className:"gap-2",children:[e.jsx(ue,{className:"h-4 w-4"}),"HKV/m²"]}),e.jsxs(E,{value:"cost",className:"gap-2",children:[e.jsx(he,{className:"h-4 w-4"}),"â¬/m²"]})]})}),e.jsx(D,{children:e.jsxs(z,{children:[e.jsx(R,{asChild:!0,children:e.jsx("div",{className:"w-5 h-5 rounded-full bg-muted flex items-center justify-center text-xs font-medium text-muted-foreground cursor-help hover:bg-muted/80",children:"?"})}),e.jsxs(F,{className:"max-w-xs",children:[e.jsx("p",{className:"font-medium mb-1",children:"HKV = Heizkostenverteiler"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:n==="de"?"Elektronische Geräte an Heizkörpern, die den relativen Wärmeverbrauch messen. Die Einheiten sind dimensionslos und dienen zur Verteilung der Heizkosten.":"Electronic devices on radiators measuring relative heat consumption. Units are dimensionless and used for distributing heating costs."})]})]})})]})]}),o&&e.jsxs("div",{className:"grid gap-4 md:grid-cols-4",children:[e.jsxs(g,{className:"border-l-4 border-l-destructive cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>o.highest&&w(o.highest.apartment),children:[e.jsxs(j,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(f,{className:"text-sm font-medium",children:i==="consumption"?n==="de"?"Höchster Verbrauch":"Highest Consumption":n==="de"?"Höchste Kosten":"Highest Cost"}),e.jsx(L,{className:"h-4 w-4 text-destructive"})]}),e.jsxs(N,{children:[e.jsx("div",{className:"text-2xl font-bold",children:(_=o.highest)==null?void 0:_.apartment}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[y(o.max)," ",i==="consumption"&&"HKV/m²",e.jsxs(C,{variant:"destructive",className:"ml-2",children:["+",x((o.max/o.avg-1)*100,0),"%"]})]})]})]}),e.jsxs(g,{className:"border-l-4 border-l-green-600 cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>o.lowest&&w(o.lowest.apartment),children:[e.jsxs(j,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(f,{className:"text-sm font-medium",children:i==="consumption"?n==="de"?"Niedrigster Verbrauch":"Lowest Consumption":n==="de"?"Niedrigste Kosten":"Lowest Cost"}),e.jsx(I,{className:"h-4 w-4 text-green-600"})]}),e.jsxs(N,{children:[e.jsx("div",{className:"text-2xl font-bold",children:(A=o.lowest)==null?void 0:A.apartment}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[y(o.min)," ",i==="consumption"&&"HKV/m²",e.jsxs(C,{variant:"secondary",className:"ml-2 bg-green-100 text-green-800",children:[x((o.min/o.avg-1)*100,0),"%"]})]})]})]}),e.jsxs(g,{className:"border-l-4 border-l-primary",children:[e.jsxs(j,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(f,{className:"text-sm font-medium",children:n==="de"?"Durchschnitt":"Average"}),e.jsx(Se,{className:"h-4 w-4 text-primary"})]}),e.jsxs(N,{children:[e.jsxs("div",{className:"text-2xl font-bold",children:[y(o.avg)," ",i==="consumption"&&"HKV/m²"]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[m.length," ",n==="de"?"Apartments":"apartments"]})]})]}),e.jsxs(g,{className:"border-l-4 border-l-amber-500",children:[e.jsxs(j,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(f,{className:"text-sm font-medium",children:n==="de"?"Spannweite":"Range"}),e.jsx(pe,{className:"h-4 w-4 text-amber-500"})]}),e.jsxs(N,{children:[e.jsxs("div",{className:"text-2xl font-bold",children:[y(o.range)," ",i==="consumption"&&"HKV/m²"]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[y(o.min)," â ",y(o.max)]})]})]})]}),e.jsxs(g,{children:[e.jsxs(j,{children:[e.jsxs(f,{className:"font-serif flex items-center gap-2",children:[e.jsx(ke,{className:"h-5 w-5 text-primary"}),i==="consumption"?n==="de"?"Verbrauchsranking":"Consumption Ranking":n==="de"?"Kostenranking":"Cost Ranking"]}),e.jsx(M,{children:i==="consumption"?n==="de"?"Sortiert nach HKV-Verbrauch pro m² - Klicken für Details":"Sorted by HKV consumption per m² - Click for details":n==="de"?"Sortiert nach Kosten pro m² - Klicken für Details":"Sorted by cost per m² - Click for details"})]}),e.jsx(N,{children:m.length>0&&o?e.jsx(ge,{width:"100%",height:Math.max(400,m.length*28),children:e.jsxs(Ce,{data:m,layout:"vertical",margin:{left:60,right:30},onClick:s=>{var r,t;(t=(r=s==null?void 0:s.activePayload)==null?void 0:r[0])!=null&&t.payload&&w(s.activePayload[0].payload.apartment)},children:[e.jsx(je,{strokeDasharray:"3 3",className:"stroke-muted",horizontal:!1}),e.jsx(fe,{type:"number",className:"text-xs",tickFormatter:s=>i==="consumption"?`${s.toFixed(0)}`:`â¬${s.toFixed(0)}`,domain:[0,"dataMax"]}),e.jsx(Ne,{type:"category",dataKey:"apartment",className:"text-xs",width:55,tick:{fontSize:11}}),e.jsx(ve,{content:({active:s,payload:r})=>{if(s&&r&&r.length){const t=r[0].payload,l=(q(t)/o.avg*100).toFixed(0);return e.jsxs("div",{className:"bg-popover border rounded-lg p-3 shadow-lg",children:[e.jsx("p",{className:"font-medium",children:t.apartment}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t.owner}),e.jsxs("div",{className:"mt-2 space-y-1 text-sm",children:[e.jsxs("p",{children:[e.jsx("span",{className:"text-muted-foreground",children:"HKV/m²:"})," ",e.jsx("strong",{children:x(t.consumptionPerSqm)}
11)]}),e.jsxs("p",{children:[e.jsx("span",{className:"text-muted-foreground",children:"â¬/m²:"})," ",e.jsx("strong",{children:v(t.costPerSqm)})]}),e.jsxs("p",{children:[e.jsx("span",{className:"text-muted-foreground",children:"vs Ã:"})," ",e.jsxs("strong",{children:[l,"%"]})]}),e.jsxs("p",{children:[e.jsxs("span",{className:"text-muted-foreground",children:[n==="de"?"Gesamt":"Total",":"]})," ",v(t.totalCost)]}),e.jsxs("p",{children:[e.jsxs("span",{className:"text-muted-foreground",children:[n==="de"?"Fläche":"Area",":"]})," ",x(t.area,1)," m²"]})]})]})}return null}}),e.jsx(be,{x:o.avg,stroke:"hsl(var(--primary))",strokeWidth:2,strokeDasharray:"5 5",label:{value:i==="consumption"?`à ${x(o.avg)}`:`à ${v(o.avg)}`,position:"top",fill:"hsl(var(--primary))",fontSize:11}}),e.jsx(ye,{dataKey:i==="consumption"?"consumptionPerSqm":"costPerSqm",radius:[0,4,4,0],cursor:"pointer",children:m.map((s,r)=>e.jsx(we,{fill:Q(q(s),o.avg)},`cell-${r}`))})]})}):e.jsx("div",{className:"h-[400px] flex items-center justify-center text-muted-foreground",children:n==="de"?"Keine Daten verfügbar":"No data available"})})]}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[e.jsxs(g,{children:[e.jsx(j,{className:"pb-3",children:e.jsxs(f,{className:"font-serif flex items-center gap-2 text-lg",children:[e.jsx(L,{className:"h-5 w-5 text-destructive"}),i==="consumption"?n==="de"?"Top 5 â Höchster Verbrauch":"Top 5 â Highest Consumption":n==="de"?"Top 5 â Höchste Kosten":"Top 5 â Highest Cost"]})}),e.jsx(N,{children:e.jsx("div",{className:"space-y-2",children:ee.map((s,r)=>e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-destructive/5 hover:bg-destructive/10 cursor-pointer transition-colors",onClick:()=>w(s.apartment),children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(C,{variant:"outline",className:"w-6 h-6 p-0 justify-center",children:r+1}),e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:s.apartment}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.owner})]})]}),e.jsxs("div",{className:"text-right flex items-center gap-2",children:[e.jsxs("div",{children:[e.jsx("span",{className:"font-bold text-destructive",children:i==="consumption"?x(s.consumptionPerSqm):v(s.costPerSqm)}),i==="consumption"&&e.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:"HKV/m²"})]}),o&&e.jsxs(C,{variant:"destructive",className:"text-xs",children:["+",x((q(s)/o.avg-1)*100,0),"%"]}),e.jsx($,{className:"h-4 w-4 text-muted-foreground"})]})]},s.apartment))})})]}),e.jsxs(g,{children:[e.jsx(j,{className:"pb-3",children:e.jsxs(f,{className:"font-serif flex items-center gap-2 text-lg",children:[e.jsx(I,{className:"h-5 w-5 text-green-600"}),i==="consumption"?n==="de"?"Top 5 â Niedrigster Verbrauch":"Top 5 â Lowest Consumption":n==="de"?"Top 5 â Niedrigste Kosten":"Top 5 â Lowest Cost"]})}),e.jsx(N,{children:e.jsx("div",{className:"space-y-2",children:se.map((s,r)=>e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-green-50 dark:bg-green-950/20 hover:bg-green-100 dark:hover:bg-green-950/30 cursor-pointer transition-colors",onClick:()=>w(s.apartment),children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(C,{variant:"outline",className:"w-6 h-6 p-0 justify-center border-green-600 text-green-600",children:r+1}),e.jsxs("div",{children:[e.jsx("span",{className:"font-medium",children:s.apartment}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.owner})]})]}),e.jsxs("div",{className:"text-right flex items-center gap-2",children:[e.jsxs("div",{children:[e.jsx("span",{className:"font-bold text-green-600",children:i==="consumption"?x(s.consumptionPerSqm):v(s.costPerSqm)}),i==="consumption"&&e.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:"HKV/m²"})]}),o&&e.jsxs(C,{className:"text-xs bg-green-100 text-green-800 hover:bg-green-100",children:[x((q(s)/o.avg-1)*100,0),"%"]}),e.jsx($,{className:"h-4 w-4 text-muted-foreground"})]})]},s.apartment))})})]})]}),e.jsxs(g,{children:[e.jsxs(j,{children:[e.jsx(f,{className:"font-serif flex items-center gap-2",children:i==="consumption"?n==="de"?"Verbrauchsentwicklung (Heatmap)":"Consumption Trend (Heatmap)":n==="de"?"Kostenentwicklung (Heatmap)":"Cost Trend (Heatmap)"}),e.jsx(M,{children:i==="consumption"?n==="de"?"HKV pro m² über die letzten Jahre - Farbe zeigt Intensität vs. Durchschnitt":"HKV per m² over recent years - Color shows intensity vs. average":n==="de"?"⬠pro m² über die letzten Jahre - Farbe zeigt Intensität vs. Durchschnitt":"⬠per m² over recent years - Color shows intensity vs. average"})]}),e.jsxs(N,{children:[T.length>0&&o?e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"text-left p-2 font-medium text-muted-foreground",children:"Apartment"}),S.slice(0,5).map(s=>e.jsx("th",{className:"text-center p-2 font-medium text-muted-foreground",children:s},s))]})}),e.jsx("tbody",{children:T.map(s=>e.jsxs("tr",{className:"hover:bg-muted/50 cursor-pointer",onClick:()=>w(s.apartment),children:[e.jsx("td",{className:"p-2 font-medium",children:s.apartment}),S.slice(0,5).map(r=>{const t=s[r.toString()];return e.jsx("td",{className:"p-1 text-center",children:e.jsx(D,{children:e.jsxs(z,{children:[e.jsx(R,{asChild:!0,children:e.jsx("div",{className:"mx-auto w-12 h-8 rounded flex items-center justify-center text-xs font-medium",style:{backgroundColor:Z(t,o.avg),color:t>o.avg*.9?"white":"inherit"},children:t>0?x(t,0):"â"})}),e.jsxs(F,{children:[e.jsxs("p",{children:[s.apartment," (",r,")"]}),e.jsx("p",{className:"font-medium",children:i==="consumption"?`${x(t)} HKV/m²`:`${v(t)}/m²`}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[x((t/o.avg-1)*100,0),"% vs Ã"]})]})]})})},r)})]},s.apartment))})]})}):e.jsx("div",{className:"h-[200px] flex items-center justify-center text-muted-foreground",children:n==="de"?"Keine Daten verfügbar":"No data available"}),e.jsxs("div",{className:"flex items-center justify-center gap-4 mt-4 text-xs",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-4 h-4 rounded",style:{backgroundColor:"hsl(172 66% 50% / 0.7)"}}),e.jsx("span",{children:n==="de"?"Niedrig":"Low"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-4 h-4 rounded",style:{backgroundColor:"hsl(142 71% 45% / 0.6)"}}),e.jsx("span",{children:n==="de"?"Unter Ã":"Below avg"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-4 h-4 rounded",style:{backgroundColor:"hsl(48 96% 53% / 0.6)"}}),e.jsx("span",{children:"Ã"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-4 h-4 rounded",style:{backgroundColor:"hsl(25 85% 60% / 0.7)"}}),e.jsx("span",{children:n==="de"?"Ãber Ã":"Above avg"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-4 h-4 rounded",style:{backgroundColor:"hsl(0 72% 51% / 0.8)"}}),e.jsx("span",{children:n==="de"?"Hoch":"High"})]})]})]})]})]})},xs=()=>{const{language:n}=G(),V={de:{title:"Heizkosten Ranking",description:"Vergleich der Heizkosten zwischen Apartments",costs:"Kosten",heating:"Heizkosten",ranking:"Ranking"},en:{title:"Heating Cost Ranking",description:"Comparison of heating costs between apartments",costs:"Costs",heating:"Heating",ranking:"Ranking"},cs:{title:"ŽebÅÃÄek nákladů na vytápÄnÃ",description:"PorovnÃ
11¡nà nákladů na vytápÄnà mezi byty",costs:"Náklady",heating:"VytápÄnÃ",ranking:"ŽebÅÃÄek"}},u=V[n]||V.cs;return e.jsx(ae,{title:u.title,description:u.description,breadcrumbs:[{label:u.costs,href:"/owners/costs"},{label:u.heating,href:"/owners/costs/heating"},{label:u.ranking}],children:e.jsx(He,{})})};export{xs as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.