1import{M as ve,m as qe,R as j,j as e,I as ee,n as we,o as Ae,P as te,K as Ce,r as N,h as z,S as je,c as Ne,s as F,f as oe,x as Se,w as Re,u as Fe,y as ke,L as X}from"./index-V3GY8dhw.js";import{u as Le}from"./useThemeReady-BS0NhHcX.js";import{H as Ee,a as Y}from"./index.esm-PDxS46Jy.js";import{H as Ie,F as Oe}from"./Footer-CFQ4rXID.js";import{c as se,R as Pe,T as Qe,b as Te}from"./index-CV-Eom3P.js";import{u as De}from"./index-B2KZiKa2.js";import{C as Me,u as He,e as Ke}from"./switch-CaKJXLqJ.js";import{c as $e}from"./previewChannel-DXLHuTRV.js";import{u as ze}from"./usePreviewRouteSync-CwZZN3Ur.js";import{u as Ve}from"./useTenantWebsite-2fj-o7qw.js";import{u as We}from"./usePartnerByDomain-C2kNnOe1.js";import{h as Z}from"./colorUtils-Ck_v5qsb.js";import{u as Ue,a as O,D as L}from"./useTenantStyling-Cou6Ch60.js";import{N as Be}from"./NotFound-DejfS8jA.js";import{u as Ge}from"./useFooterLocationLinks-BRt-w4Fi.js";import{L as Je}from"./loader-circle-CviPjubx.js";import"./button-Ce0tpQwG.js";import"./dialog-T8Fgi_5o.js";import"./index-blfnDmmN.js";import"./index-BndKEgC8.js";import"./partnerPhoneOverrides-bKgnO36s.js";import"./phone-BmTdogtD.js";import"./youtube-B7bgLAWJ.js";import"./label-nOJN2Fay.js";import"./shield-hx8ERPU8.js";import"./MarkdownText-DJIY4A0K.js";import"./mail-PdutmgJb.js";import"./adminDomains-DP4bhfZx.js";import"./useLocationPages-DdQOaVDD.js";var S="Accordion",Xe=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[V,Ye,Ze]=ve(S),[M,$t]=qe(S,[Ze,se]),W=se(),re=j.forwardRef((a,l)=>{const{type:o,...t}=a,f=t,i=t;return e.jsx(V.Provider,{scope:a.__scopeAccordion,children:o==="multiple"?e.jsx(st,{...i,ref:l}):e.jsx(ot,{...f,ref:l})})});re.displayName=S;var[ne,et]=M(S),[ae,tt]=M(S,{collapsible:!1}),ot=j.forwardRef((a,l)=>{const{value:o,defaultValue:t,onValueChange:f=()=>{},collapsible:i=!1,...g}=a,[s,b]=ee({prop:o,defaultProp:t??"",onChange:f,caller:S});return e.jsx(ne,{scope:a.__scopeAccordion,value:j.useMemo(()=>s?[s]:[],[s]),onItemOpen:b,onItemClose:j.useCallback(()=>i&&b(""),[i,b]),children:e.jsx(ae,{scope:a.__scopeAccordion,collapsible:i,children:e.jsx(ie,{...g,ref:l})})})}),st=j.forwardRef((a,l)=>{const{value:o,defaultValue:t,onValueChange:f=()=>{},...i}=a,[g,s]=ee({prop:o,defaultProp:t??[],onChange:f,caller:S}),b=j.useCallback(w=>s((c=[])=>[...c,w]),[s]),q=j.useCallback(w=>s((c=[])=>c.filter(A=>A!==w)),[s]);return e.jsx(ne,{scope:a.__scopeAccordion,value:g,onItemOpen:b,onItemClose:q,children:e.jsx(ae,{scope:a.__scopeAccordion,collapsible:!0,children:e.jsx(ie,{...i,ref:l})})})}),[rt,H]=M(S),ie=j.forwardRef((a,l)=>{const{__scopeAccordion:o,disabled:t,dir:f,orientation:i="vertical",...g}=a,s=j.useRef(null),b=we(s,l),q=Ye(o),c=De(f)==="ltr",A=Ae(a.onKeyDown,m=>{var k;if(!Xe.includes(m.key))return;const E=m.target,R=q().filter(I=>{var P;return!((P=I.ref.current)!=null&&P.disabled)}),r=R.findIndex(I=>I.ref.current===E),p=R.length;if(r===-1)return;m.preventDefault();let d=r;const n=0,v=p-1,C=()=>{d=r+1,d>v&&(d=n)},u=()=>{d=r-1,d<n&&(d=v)};switch(m.key){case"Home":d=n;break;case"End":d=v;break;case"ArrowRight":i==="horizontal"&&(c?C():u());break;case"ArrowDown":i==="vertical"&&C();break;case"ArrowLeft":i==="horizontal"&&(c?u():C());break;case"ArrowUp":i==="vertical"&&u();break}const Q=d%p;(k=R[Q].ref.current)==null||k.focus()});return e.jsx(rt,{scope:o,disabled:t,direction:f,orientation:i,children:e.jsx(V.Slot,{scope:o,children:e.jsx(te.div,{...g,"data-orientation":i,ref:b,onKeyDown:t?void 0:A})})})}),D="AccordionItem",[nt,U]=M(D),ce=j.forwardRef((a,l)=>{const{__scopeAccordion:o,value:t,...f}=a,i=H(D,o),g=et(D,o),s=W(o),b=Ce(),q=t&&g.value.includes(t)||!1,w=i.disabled||a.disabled;return e.jsx(nt,{scope:o,open:q,disabled:w,triggerId:b,children:e.jsx(Pe,{"data-orientation":i.orientation,"data-state":fe(q),...s,...f,ref:l,disabled:w,open:q,onOpenChange:c=>{c?g.onItemOpen(t):g.onItemClose(t)}})})});ce.displayName=D;var le="AccordionHeader",de=j.forwardRef((a,l)=>{const{__scopeAccordion:o,...t}=a,f=H(S,o),i=U(le,o);return e.jsx(te.h3,{"data-orientation":f.orientation,"data-state":fe(i.open),"data-disabled":i.disabled?"":void 0,...t,ref:l})});de.displayName=le;var $="AccordionTrigger",ue=j.forwardRef((a,l)=>{const{__scopeAccordion:o,...t}=a,f=H(S,o),i=U($,o),g=tt($,o),s=W(o);return e.jsx(V.ItemSlot,{scope:o,children:e.jsx(Qe,{"aria-disabled":i.open&&!g.collapsible||void 0,"data-orientation":f.orientation,id:i.triggerId,...s,...t,ref:l})})});ue.displayName=$;var me="AccordionContent",pe=j.forwardRef((a,l)=>{const{__scopeAccordion:o,...t}=a,f=H(S,o),i=U(me,o),g=W(o);return e.jsx(Te,{role:"region","aria-labelledby":i.triggerId,"data-orientation":f.orientation,...g,...t,ref:l,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...a.style}})});pe.displayName=me;function fe(a){return a?"open":"closed"}var at=re,it=ce,ct=de,ge=ue,_e=pe;const lt=at,he=N.forwardRef(({className:a,...l},o)=>e.jsx(it,{ref:o,className:z("border-b",a),...l}));he.displayName="AccordionItem";const xe=N.forwardRef(({className:a,children:l,...o},t)=>e.jsx(ct,{className:"flex",children:e.jsxs(ge,{ref:t,className:z("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",a),...o,children:[l,e.jsx(Me,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));xe.displayName=ge.displayName;const ye=N.forwardRef(({className:a,children:l,...o},t)=>e.jsx(_e,{ref:t,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...o,children:e.jsx("div",{className:z("pb-4 pt-0",a),children:l})}));ye.displayName=_e.displayName;function dt(a,l,o=!1,t){const{data:f,isLoading:i}=je(t);return Ne({queryKey:["faq-templates",(a||"").split(/[,&]/).map(g=>
1g.trim()).filter(Boolean).join(","),l,o,t||null],queryFn:async()=>{let g=[],s=[],b=[];if(l)if(t&&f){const r=f.faq_overrides||[],p=f.faq_categories||[],d=f.custom_faqs||[];g=r.map(n=>({faq_template_id:String(n.faq_template_id||""),custom_question:(o?n.published_custom_question:n.custom_question)??n.custom_question??null,custom_answer:(o?n.published_custom_answer:n.custom_answer)??n.custom_answer??null,is_visible:((o?n.published_is_visible:n.is_visible)??n.is_visible??!0)===!0})),s=p.map(n=>({category:String(n.category||""),sort_order:Number((o?n.published_sort_order:n.sort_order)??n.sort_order??0),is_visible:((o?n.published_is_visible:n.is_visible)??n.is_visible??!0)===!0})),b=d.filter(n=>((o?n.published_is_visible:n.is_visible)??n.is_visible??!0)===!0).map(n=>({id:String(n.id||""),category:String(n.category||""),question:String((o?n.published_question:n.question)??n.question??""),answer:String((o?n.published_answer:n.answer)??n.answer??""),sort_order:Number((o?n.published_sort_order:n.sort_order)??n.sort_order??0),is_visible:!0}))}else if(o){const[r,p,d]=await Promise.all([F.from("partner_faq_overrides").select("faq_template_id, custom_question, custom_answer, is_visible, published_custom_question, published_custom_answer, published_is_visible").eq("partner_id",l),F.from("partner_faq_categories").select("category, sort_order, is_visible, published_sort_order, published_is_visible").eq("partner_id",l),F.from("partner_custom_faqs").select("id, category, question, answer, sort_order, is_visible, published_question, published_answer, published_is_visible, published_sort_order").eq("partner_id",l)]),n=r.data||[],v=p.data||[],C=d.data||[];g=n.map(u=>({faq_template_id:u.faq_template_id,custom_question:u.published_custom_question??u.custom_question??null,custom_answer:u.published_custom_answer??u.custom_answer??null,is_visible:u.published_is_visible??u.is_visible??!0})),s=v.map(u=>({category:u.category,sort_order:u.published_sort_order??u.sort_order??0,is_visible:u.published_is_visible??u.is_visible??!0})),b=C.filter(u=>(u.published_is_visible??u.is_visible??!0)===!0).map(u=>({id:u.id,category:u.category,question:u.published_question||u.question||"",answer:u.published_answer||u.answer||"",sort_order:u.published_sort_order??u.sort_order??0,is_visible:!0}))}else{const[r,p,d]=await Promise.all([F.from("partner_faq_overrides").select("faq_template_id, custom_question, custom_answer, is_visible").eq("partner_id",l),F.from("partner_faq_categories").select("category, sort_order, is_visible").eq("partner_id",l),F.from("partner_custom_faqs").select("*").eq("partner_id",l).eq("is_visible",!0).order("sort_order")]);g=r.data||[],s=p.data||[],b=d.data||[]}const q=(a||"").split(/[,&]/).map(r=>r.trim()).filter(Boolean),w=Array.from(new Set(g.map(r=>r.faq_template_id).filter(Boolean)));let c=[];if(q.length>0||w.length>0){const r=F.from("faq_templates").select("*").eq("is_active",!0).order("sort_order").order("category"),{data:p,error:d}=await(q.length>1?r.in("gewerk",q):q.length===1?r.eq("gewerk",q[0]):r.in("id",w));if(d)throw d;c=p||[]}const A=new Map,m=new Set(s.filter(r=>r.is_visible===!1).map(r=>r.category)),E=new Map;for(const r of c){const p=r.category;if(m.has(p))continue;const d=g.find(C=>C.faq_template_id===r.id);if((d==null?void 0:d.is_visible)===!1)continue;const n=((d==null?void 0:d.custom_question)||r.question).trim(),v=E.get(p)||new Set;if(!v.has(n)){if(v.add(n),E.set(p,v),!A.has(p)){const C=s.find(u=>u.category===p);
1A.set(p,{questions:[],sortOrder:(C==null?void 0:C.sort_order)??r.sort_order??0})}A.get(p).questions.push({id:r.id,question:n,answer:(d==null?void 0:d.custom_answer)||r.answer,sortOrder:r.sort_order,isCustom:!1})}}for(const r of s)!A.has(r.category)&&r.is_visible!==!1&&A.set(r.category,{questions:[],sortOrder:r.sort_order??999});for(const r of b){const p=r.category;if(!m.has(p)){if(!A.has(p)){const d=s.find(n=>n.category===p);A.set(p,{questions:[],sortOrder:(d==null?void 0:d.sort_order)??999})}A.get(p).questions.push({id:r.id,question:r.question,answer:r.answer,sortOrder:r.sort_order,isCustom:!0})}}const R=[];return A.forEach((r,p)=>{const d=s.find(v=>v.category===p);if((d==null?void 0:d.is_visible)===!1)return;const n=s.some(v=>v.category===p&&v.is_visible===!0);r.questions.length===0&&!n||R.push({category:p,questions:r.questions,sortOrder:r.sortOrder})}),R.sort((r,p)=>r.sortOrder-p.sortOrder),R.map(({category:r,questions:p})=>({category:r,questions:p}))},enabled:(!!a||!!l)&&(!t||!i),staleTime:0,refetchOnWindowFocus:!0})}function ut(a,l){const o=oe();N.useEffect(()=>{if(!a)return;const t=`faq-realtime-${a}`,f=F.channel(t).on("postgres_changes",{event:"*",schema:"public",table:"partner_faq_overrides",filter:`partner_id=eq.${a}`},i=>{console.log("[FAQ Realtime] partner_faq_overrides changed:",i.eventType),o.invalidateQueries({predicate:g=>{const s=g.queryKey;return Array.isArray(s)&&s[0]==="faq-templates"&&s.includes(a)}})}).on("postgres_changes",{event:"*",schema:"public",table:"partner_faq_categories",filter:`partner_id=eq.${a}`},i=>{console.log("[FAQ Realtime] partner_faq_categories changed:",i.eventType),o.invalidateQueries({predicate:g=>{const s=g.queryKey;return Array.isArray(s)&&s[0]==="faq-templates"&&s.includes(a)}})}).on("postgres_changes",{event:"*",schema:"public",table:"partner_custom_faqs",filter:`partner_id=eq.${a}`},i=>{console.log("[FAQ Realtime] partner_custom_faqs changed:",i.eventType),o.invalidateQueries({predicate:g=>{const s=g.queryKey;return Array.isArray(s)&&s[0]==="faq-templates"&&s.includes(a)}})}).subscribe(i=>{console.log("[FAQ Realtime] Subscription status:",i)});return()=>{console.log("[FAQ Realtime] Unsubscribing from channel:",t),F.removeChannel(f)}},[a,l,o])}const mt=(a,l,o)=>({"@context":"https://schema.org","@type":"FAQPage",mainEntity:a.flatMap(f=>f.questions.map(i=>({"@type":"Question",name:o(i.question),acceptedAnswer:{"@type":"Answer",text:o(i.answer)}})))}),zt=()=>{var G,J;const{partnerId:a}=Se(),l=Re(),o=Fe(),t=Ue();N.useEffect(()=>{window.scrollTo({top:0,behavior:"instant"})},[]);const f=o.pathname.startsWith("/preview/")||!!t,{partner:i,isLoading:g}=We(),s=(t==null?void 0:t.partnerId)||(o.pathname.startsWith("/preview/")?a:i==null?void 0:i.partnerId);ze({partnerId:s,enabled:o.pathname.startsWith("/preview/")&&!t});const b=t?!0:!f,q=!!t||b,w=(t==null?void 0:t.basePath)||(o.pathname.startsWith("/preview/")&&s?`/preview/${s}`:""),{partner:c,isLoading:A}=ke(s||null,q,t==null?void 0:t.token),{website:m,isLoading:E}=Ve(s||null,b,t==null?void 0:t.token),R=(m==null?void 0:m.id)||null,{sections:r,isLoading:p}=He(R,b,t==null?void 0:t.token),{locationLinks:d}=Ge(s||null,b,t==null?void 0:t.token),{data:n,isLoading:v}=dt((c==null?void 0:c.gewerk)||null,s,b,t==null?void 0:t.token);ut(s,c==null?void 0:c.gewerk);const C=h=>{let x=h;return x=x.replace(/\{\{standort\}\}/gi,(c==null?void 0:c.location)||"der Region"),x=x.replace(/\{\{firmenname\}\}/gi,(c==null?void 0:c.displayName)||(c==null?void 0:c.companyName)||"Ihr Fachbetrieb"),x=x.replace(/\{\{[^}]*\}\}/g,"").replace(/\s{2,}/g," ").replace(/\s+([.,!?;:])/g,"$1").trim(),x},u=oe();N.useEffect(()=>{if(!f||!s)return;const h=x=>{var y,_;((y=x.data)==null?void 0:y.type)==="preview-navigate"&&((_=x.data)==null?void 0:_.partnerId)===s&&l(`/preview/${s}${x.data.path}`)};return window.addEventListener("message",h),()=>{window.removeEventListener("message",h)}},[f,s,l]),N.useEffect(()=>!f||!s?void 0:$e(x=>{x.partnerId===s&&(console.log("[FAQPage] Received preview-refresh, invalidating FAQ queries"),u.invalidateQueries({predicate:y=>{const _=y.queryKey;return Array.isArray(_)&&_[0]==="tenant-website"&&_[1]===s}}
1),u.invalidateQueries({queryKey:["partner-data",s]}),u.invalidateQueries({predicate:y=>{const _=y.queryKey;return Array.isArray(_)&&_[0]==="faq-templates"&&_.includes(s)}}),u.refetchQueries({predicate:y=>{const _=y.queryKey;return Array.isArray(_)&&_[0]==="faq-templates"&&_.includes(s)}}),u.invalidateQueries({predicate:y=>{const _=y.queryKey;return Array.isArray(_)&&(_[0]==="partner-location-pages"||_[0]==="partner-location-page")&&_[1]===s}}))}),[f,s,c==null?void 0:c.gewerk,u]),N.useEffect(()=>{window.scrollTo(0,0)},[]);const Q=N.useMemo(()=>{const h=r==null?void 0:r.find(_=>_.section_type==="services"&&_.is_visible);if(!(h!=null&&h.content))return[];const y=h.content.services||[];return Ke(y,c==null?void 0:c.gewerk)},[r]),k=N.useMemo(()=>{const h={primaryColor:"#F97316",secondaryColor:"#64748B",logoSettings:O,textColors:L,footerConfig:void 0};if(m!=null&&m.styling&&typeof m.styling=="object"){const x=m.styling,y=x.logoSettings,_=x.textColors,be=x.footerConfig;return{...h,...x,logoSettings:y?{headerSize:typeof y.headerSize=="number"?y.headerSize:O.headerSize,footerSize:typeof y.footerSize=="number"?y.footerSize:O.footerSize,headerOffset:typeof y.headerOffset=="number"?y.headerOffset:O.headerOffset,footerOffset:typeof y.footerOffset=="number"?y.footerOffset:O.footerOffset}:O,textColors:_?{color1:_.color1||L.color1,color2:_.color2||L.color2,color3:_.color3||L.color3,color4:_.color4||L.color4,color5:_.color5||L.color5}:L,footerConfig:be}}return h},[m==null?void 0:m.styling]),I=(m==null?void 0:m.custom_logo_footer)||null,P=(m==null?void 0:m.custom_logo)||(c==null?void 0:c.logoLink)||I||null,B=k.logoSettings;if(N.useEffect(()=>{const h=document.documentElement;return h.style.setProperty("--primary",Z(k.primaryColor)),h.style.setProperty("--secondary",Z(k.secondaryColor)),()=>{h.style.removeProperty("--primary"),h.style.removeProperty("--secondary")}},[k]),Le(!!m),A||E||p||v||(f?!1:g))return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-background",children:e.jsx(Je,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(!f&&(!m||!m.published_at))return e.jsx(Be,{});const K=(c==null?void 0:c.fullCompanyName)||"Unser Unternehmen",T=n||[];return e.jsx(Ee,{children:e.jsxs("div",{className:"min-h-screen flex flex-col bg-background",children:[e.jsxs(Y,{children:[e.jsxs("title",{children:["FAQ - Häufig gestellte Fragen | ",K]}),e.jsx("meta",{name:"description",content:`Finden Sie Antworten auf häufig gestellte Fragen zu unseren Leistungen. ${K} beantwortet Ihre Fragen.`})]}),T.length>0&&e.jsx(Y,{children:e.jsx("script",{type:"application/ld+json",children:JSON.stringify(mt(T,K,C))})}),e.jsx(Ie,{customLogo:P,logoSettings:B,partnerData:c,serviceSubpages:Q,basePath:w,projectsPageEnabled:((G=m==null?void 0:m.styling)==null?void 0:G.projectsPageEnabled)!==!1}),e.jsxs("main",{className:"flex-1 pt-20",children:[e.jsx("div",{className:"bg-muted/30 border-b",children:e.jsx("div",{className:"container mx-auto px-4 py-3",children:e.jsxs("nav",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(X,{to:w||"/",className:"hover:text-foreground transition-colors",children:"Startseite"}),e.jsx("span",{children:"âº"}),e.jsx("span",{className:"text-foreground",children:"FAQ"})]})})}),e.jsx("section",{className:"py-16 md:py-24 bg-gradient-to-b from-muted/50 to-background",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[e.jsxs("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-bold mb-6",children:["Häufig gestellte ",e.jsx("span",{className:"text-primary",children:"Fragen"})]}),e.jsx("p",{className:"text-lg text-muted-foreground",children:"Hier finden Sie Antworten auf die häufigsten Fragen zu unseren Leistungen. Sollte Ihre Frage nicht dabei sein, kontaktieren Sie uns gerne."})]})})}),e.jsx("section",{className:"py-12 md:py-16",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsx("div",{className:"max-w-3xl mx-auto",children:T.length===0?e.jsx("div",{className:"text-center py-12",children:e.jsx("p",{className:"text-muted-foreground",children:"Noch keine FAQ-Einträge vorhanden."})}):T.filter(h=>h.questions.length>0).map(h=>e.jsxs("div",{className:"mb-10",children:[e.jsxs("h2",{className:"text-xl md:text-2xl font-bold mb-4 flex items-center gap-3",children:[e.jsx("span",{className:"w-1 h-8 bg-primary rounded-full"}),h.category]}),e.jsx(lt,{type:"single",collapsible:!0,className:"space-y-3",children:h.questions.map(x=>e.jsxs(he,{value:x.id,className:"border rounded-lg px-4 bg-card shadow-sm",children:[e.jsx(xe,{className:"text-left hover:no-underline py-4",children:e.jsx("span",{className:"font-medium",children:C(x.question)})}),e.jsx(ye,{className:"text-muted-foreground pb-4",children:C(x.answer)})]},x.id))})]},h.category))})})}),e.jsx("section",{className:"py-16 bg-muted",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsxs("div",{className:"max-w-2xl mx-auto text-center",children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-4",children:"Noch Fragen?"}),e.jsx("p",{className:"text-muted-foreground mb-8",children:"Wir beraten Sie gerne persönlich und beantworten alle Ihre Fragen rund um unsere Leistungen."}),e.jsx(X,{to:`${w}?scrollTo=kontakt`,className:"inline-flex items-center justify-center px-8 py-4 bg-primary text-primary-foreground font-semibold rounded-full hover:bg-primary/90 transition-colors",children:"Kontakt aufnehmen"})]})})})]}),e.jsx(Oe,{customLogo:P,customLogoFooter:I,logoSettings:B,partnerData:c,serviceSubpages:Q,locationPages:d,footerConfig:k.footerConfig,basePath:w,projectsPageEnabled:((J=m==null?void 0:m.styling)==null?void 0:J.projectsPageEnabled)!==!1})]})})};export{zt 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.