1import{c as e,r as t}from"./vendor-react-D0h46m16.js";import{b as n}from"./legacy-article-redirect-fp3isHR7.js";import{_ as r}from"./ScrollToTop-BbnbJAtN.js";import{a as o,b as s,F as a,u as i}from"./index-DqZvI2U2.js";import{c,d as u}from"./exports-cWTammwm.js";import{u as l,b as d,k as f}from"./vendor-query-Dr68jqlw.js";import{c as m}from"./vendor-api-B4hs_cPm.js";const g=e=>{let t;const n=new Set,r=(e,r)=>{const o="function"==typeof e?e(t):e;if(!Object.is(o,t)){const e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,s={setState:r,getState:o,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e))},a=t=e(r,o,s);return s},p=e=>e;const y=t=>{const n=(e=>e?g(e):g)(t),r=t=>function(t,n=p){const r=e.useSyncExternalStore(t.subscribe,e.useCallback(()=>n(t.getState()),[t,n]),e.useCallback(()=>n(t.getInitialState()),[t,n]));return e.useDebugValue(r),r}(n,t);return Object.assign(r,n),r},h=e=>e?y(e):y,w=1e3,v=5e3,_=250;let b=!1,S=!1,I=!1;function k(e=document){try{const t=e.cookie.match(/(?:^|;\s*)CookieConsent=([^;]*)/);if(!t)return!1;let n=t[1]??"";try{n=decodeURIComponent(n)}catch{}return/marketing\s*:\s*false/.test(n)}catch{return!1}}const x=e=>new Promise(t=>setTimeout(t,e));function z(e={}){if(S)return!1;S=!0;const{reload:t=()=>window.location.reload(),doc:n=document,minWarteMs:r=w,maxWarteMs:o=v,intervallMs:s=_}=e;return(async()=>{const e=Date.now()+o;for(await x(r);!I&&!k(n)&&Date.now()<e;)await x(s);if(I)return I=!1,void(S=!1);k(n)||function(e=document,t=location.hostname){const n="expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",r=t.split("."),o=r.length>=2?`.${r.slice(-2).join(".")}`:"";try{e.cookie=`CookieConsent=; ${n}`,t&&(e.cookie=`CookieConsent=; ${n}; domain=${t}`),o&&o!==`.${t}`&&(e.cookie=`CookieConsent=; ${n}; domain=${o}`)}catch{}}(n),t()})(),!0}function E(e,t){return e?(b=!0,S&&(I=!0),!1):!(!b||!t())&&(I=!1,z(),!0)}function A(e,t){let n;try{n=e()}catch(r){return}return{getItem:e=>{var t;const r=e=>null===e?null:JSON.parse(e,void 0),o=null!=(t=n.getItem(e))?t:null;return o instanceof Promise?o.then(r):r(o)},setItem:(e,t)=>n.setItem(e,JSON.stringify(t,void 0)),removeItem:e=>n.removeItem(e)}}const O=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then:e=>O(e)(n),catch(e){return this}}}catch(n){return{then(e){return this},catch:e=>O(e)(n)}}},T=(e,t)=>(n,r,o)=>{let s={storage:A(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},a=!1,i=0;const c=new Set,u=new Set;let l=s.storage;if(!l)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),n(...e)},r,o);const d=()=>{const e=s.partialize({...r()});return l.setItem(s.name,{state:e,version:s.version})},f=o.setState;o.setState=(e,t)=>(f(e,t),d());const m=e((...e)=>(n(...e),d()),r,o);let g;o.getInitialState=()=>m;const p=()=>{var e,t;if(!l)return;const o=++i;a=!1,c.forEach(e=>{var t;return e(null!=(t=r())?t:m)});const f=(null==(t=s.onRehydrateStorage)?void 0:t.call(s,null!=(e=r())?e:m))||void 0;return O(l.getItem.bind(l))(s.name).then(e=>{if(e){if("number"!=typeof e.version||e.version===s.version)return[!1,e.state];if(s.migrate){const t=s.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(o!==i)return;const[a,c]=e;return g=s.merge(c,null!=(t=r())?t:m),n(g,!0),a?d():void 0}).then(()=>{o===i&&(null==f||f(g,void 0),g=r(),a=!0,u.forEach(e=>e(g)))}).catch(e=>{o===i&&(null==f||f(void 0,e))})};return o.persist={setOptions:e=>{s={...s,...e},e.storage&&(l=e.storage)},clearStorage:()=>{null==l||l.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>p(),hasHydrated:()=>a,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(u.add(e),()=>{u.delete(e)})},s.skipHydration||p(),g||m},P=e=>!!e&&["true","1","yes","on"].includes(e.toLowerCase()),j={newsletter:P("true"),userAvatars:P("false"),comments:P("true"),notifications:P("true"),sponsoredContent:P("false"),ads:P("true"),displayAds:P("true"),mgidNativeAds:P("true"),audienzzAds:P("true"),cookieBanner:P("true"),search:P("true"),breakingNews:P("true"),themeToggle:P("true"),livestream:P("true"),shopLink:P("true"),forum:P("true"),readAfterArticle:P("true"),internalLinks:P("false"),accessibility:P("true"),profileSettings:P("true"),profilePersonalization:P("false"),profileNotifications:P("true"),profileCommentsPage:P("true"),profileForumPosts:P("true"),profileAchievements:P("true"),commentAppeals:P("true"),profileAvatarUpload:P("true"),achievementProgressTracking:P("false"),achievementLeaderboard:P("false"),achievementRarityBadges:P("false"),achievementSocialSharing:P("false"),achievementStreaks:P("false"),achievementLevels:P("false"),achievementEmailReports:P("false"),breakingNewsABTest:P("false"),breakingNewsAlgorithm:"smart_hybrid",subscriptions:P("true"),commentLimits:P("true"),premiumBadge:P("true"),adFreeExperience:P("true"),pricingPage:P("true"),campaigns:P("true"),sentrySessionReplay:P("false"),sentryProfiling:P("false"),sentryMetrics:P("true"),sentrySendPii:P("false"),sentryLogs:P("false"),userBans:P("true"),shadowban:P("true"),strikeSystem:P("true"),autoEscalation:P("true"),threadLocking:P("true"),levelDecay:P("false"),premiumPointBoost:P("true"),adminBanManagement:P("true"),adminStrikeDashboard:P("true"),adDebugMode:P("false"),sidebarWidget:"community",authorPages:P("true"),rssEnhanced:P("true"),betaBanner:P("true"),forumSubscriberOnly:P("true"),donationBox:P("true"),consentOrPay:P("false"),newsletterBackend:P("true"),mauticTracking:P("true"),oewaTracking:P("true")},C="1065619",D=void 0,R="GTM-W522DZW3",N=(...e)=>{for(const t of e)if(t&&""!==t.trim())return t;return null},M={audienzzTagId:N("1112","1112"),mgidPublisherId:N(C),gaId:N(D),gtmId:N(R)};function B(e,t){u(e?{id:e,email:t}:null)}const L="cookie-session-id";function $(){try{const e=sessionStorage.getItem(L);if(e)return e;const t=o();return sessionStorage.setItem(L,t),t}catch{return o()}}const q={getItem:e=>{try{return localStorage.getItem(e)}catch{return null}},setItem:(e,t)=>
1{try{localStorage.setItem(e,t)}catch{}},removeItem:e=>{try{localStorage.removeItem(e)}catch{}}},F="2026-09-05",J=/^[A-Za-z0-9_-]{11}$/;function V(e){return"string"==typeof e&&J.test(e)}function W(e){let t;try{t=new URL(e)}catch{return null}const n=t.hostname.toLowerCase().replace(/^(www|m)\./,"");if("youtube.com"!==n&&"youtube-nocookie.com"!==n&&"youtu.be"!==n)return null;if(t.pathname.startsWith("/playlist"))return null;let r=null;if("youtu.be"===n)r=t.pathname.split("/").filter(Boolean)[0]??null;else if(t.searchParams.get("v"))r=t.searchParams.get("v");else{const e=t.pathname.match(/^\/(?:embed|live|shorts|v)\/([^/]+)/);r=e?.[1]??null}return"videoseries"===r?null:V(r)?r:null}function Z(e,t="hqdefault"){return V(e)?`/yt-vorschau/${e}/${t}.jpg`:null}function H(e,t=Date.now()){if(!e.alleBis||e.textVersion!==F)return!1;const n=Date.parse(e.alleBis);return Number.isFinite(n)&&n>t}function Q(e,t=Date.now()){return H(e,t)||e.videos.length>0}async function G(e){try{const{supabase:t}=await r(async()=>{const{supabase:e}=await Promise.resolve().then(()=>ke);return{supabase:e}},void 0),{data:{session:n}}=await t.auth.getSession(),{error:o}=await t.from("cookie_consent_logs").insert({user_id:n?.user?.id??null,session_id:$(),beleg_id:e.belegId,consent_analytics:null,consent_marketing:null,source:e.source,action:e.action,scope:e.scope,text_version:F,expires_at:e.expiresAt});o&&console.error("[YouTubeFreigabe] Protokoll abgelehnt:",o.message)}catch(t){console.error("[YouTubeFreigabe] Protokoll fehlgeschlagen:",t)}}const U=h()(T((e,t)=>({hydriert:!1,belegId:null,videos:[],alleBis:null,textVersion:null,widerrufenAm:null,erteile:(n,r)=>{if(!V(n))return;const{videos:s,belegId:a,widerrufenAm:i}=t(),c=a??o(),u={belegId:c,videos:s.includes(n)?s:[...s,n],widerrufenAm:r?null:i};let l=null;r&&(l=new Date(Date.now()+31536e6).toISOString(),u.alleBis=l,u.textVersion=F),e(u),G({action:"erteilt",scope:r?"youtube:alle":`youtube:video:${n}`,source:"youtube-zwei-klick",expiresAt:l,belegId:c})},widerrufe:(n="youtube-zwei-klick")=>{const r=t(),o=Q(r)||null!==r.alleBis;let s=r.widerrufenAm;return"youtube-zwei-klick"===n?s=(new Date).toISOString():"reset"===n&&(s=null),e({videos:[],alleBis:null,textVersion:null,widerrufenAm:s}),o||"youtube-zwei-klick"===n?G({action:"widerrufen",scope:"youtube:alle",source:n,expiresAt:null,belegId:r.belegId}):Promise.resolve()},hebeWiderrufAuf:()=>{const{widerrufenAm:n,belegId:r}=t();null!==n&&(e({widerrufenAm:null}),G({action:"erteilt",scope:"youtube:cookiebot-marketing",source:"cookiebot-accept",expiresAt:null,belegId:r}))}}),{name:"youtube-freigabe",storage:A(()=>q),skipHydration:!0,partialize:e=>({belegId:e.belegId,alleBis:e.alleBis,textVersion:e.textVersion,widerrufenAm:e.widerrufenAm})}));let K=!1;function X(){if("undefined"==typeof window)return;if(K||U.getState().hydriert)return;K=!0;const e=()=>{K=!1,U.setState({hydriert:!0})};try{const t=U.persist.rehydrate();t&&"function"==typeof t.then?t.then(e,e):e()}catch{e()}}const Y=e=>null===e?null:Array.isArray(e)?e.map(String):String(e),ee=(e,t)=>
1{if(!e)return"none";const n={};for(const[o,s]of Object.entries(t))n[o]=Y(s);if("function"==typeof e.setConfig)try{return e.setConfig({targeting:n}),"setConfig"}catch{}let r;try{r=e.pubads?.()}catch{return"none"}if("function"!=typeof r?.setTargeting)return"none";for(const[o,s]of Object.entries(n))if(null!==s)try{r.setTargeting(o,s)}catch{}return"setTargeting"},te=["/preise","/autoren","/impressum","/datenschutz","/agb","/kontakt","/suche"];function ne(e){if(!e)return!1;const t=(e.split(/[?#]/)[0]??"").toLowerCase().replace(/\/+$/,"")||"/";return te.includes(t)}function re(e){return`${e.analytics?1:0}-${e.marketing?1:0}`}let oe=null;function se(e,t=Date.now()){return null!==oe&&oe.fingerabdruck===re(e)&&t-oe.zeitpunkt<2e3}function ae(e){oe?.fingerabdruck===re(e)&&(oe=null)}const ie=async(e,t)=>{try{const t=await Promise.race([s(),new Promise(e=>setTimeout(()=>e(null),300))]);if(t?.ready){const n=t.getFeatureValue(e,void 0);if("boolean"==typeof n)return n}}catch{console.warn("[AdFeature] GrowthBook not available, using fallback")}const n=j[t];return Boolean(n)},ce={necessary:!0,analytics:!1,marketing:!1},ue=e=>{"undefined"!=typeof window&&(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"consent_update",analytics_consent:e.analytics?"granted":"denied",marketing_consent:e.marketing?"granted":"denied"}),e.analytics,e.marketing)},le=h()(T(e=>({consent:null,hasInteracted:!1,isConsentReady:!1,cookiebotBlocked:!1,cookiebotBlockedGrund:null,consentPersistiert:null,setConsent:t=>{e({consent:t,hasInteracted:!0}),ue(t),he(t),me(t)},acceptAll:()=>{const t={necessary:!0,analytics:!0,marketing:!0};e({consent:t,hasInteracted:!0}),ue(t),he(t),me(t)},rejectAll:()=>{e({consent:ce,hasInteracted:!0}),ue(ce),he(ce),we(),ve(),document.querySelectorAll('[id^="adnz_infeed"]').forEach(e=>e.remove()),b&&z()},resetConsent:()=>{e({consent:null,hasInteracted:!1});const t=U.getState().widerrufe("reset"),n=new Promise(e=>setTimeout(e,1e3));Promise.race([t,n]).then(()=>window.location.reload())}}),{name:"cookie-consent-storage",partialize:e=>({consent:e.consent,hasInteracted:e.hasInteracted})}));let de=null,fe=null;const me=(e,t=!1)=>{let n=t;if(!n&&"undefined"!=typeof window)try{n="1"===localStorage.getItem("exx_ad_free")}catch{}de&&clearTimeout(de),de=setTimeout(async()=>{const t=`${e.necessary?1:0}-${e.analytics?1:0}-${e.marketing?1:0}-${n?1:0}`;if(t!==fe)if(fe=t,e.analytics||ye(),e.marketing){if(n){we(),ve();try{const e=window;e.googletag||(e.googletag={cmd:[]}),e.googletag.cmd||(e.googletag.cmd=[]);const t=()=>{try{"function"==typeof e.googletag?.destroySlots&&e.googletag.destroySlots()}catch{}};e.googletag.cmd?.push(t),e.googletag.cmd?.push(()=>{ee(e.googletag,{adfree:"1"})});let n=0;const r=window.setInterval(()=>{n+=1,t(),n>=10&&window.clearInterval(r)},1e3)}catch{}return}const[e,t]=await Promise.all([ie(a.AUDIENZZ_ADS,"audienzzAds"),ie(a.MGID_NATIVE_ADS,"mgidNativeAds")]);e?ne(window.location.pathname)?window.location.pathname:pe():we(),t||ve()}else we(),ve(),document.querySelectorAll('[id^="adnz_infeed"]').forEach(e=>e.remove())},100)},ge=async(e,t,n,r)=>{if("undefined"==typeof window)return;if(t)return;if(r&&(()=>{try{return"1"===localStorage.getItem("exx_ad_free")}catch{return!1}})())return;if(ne(e))return;if(!n)return;const{consent:o,isConsentReady:s}=le.getState();if(!s)return;if(!o?.marketing)return;if(!(await ie(a.AUDIENZZ_ADS,"audienzzAds")))return;const i=le.getState();i.isConsentReady&&i.consent?.marketing&&await pe()},pe=async()=>{if("undefined"!=typeof window&&"function"!=typeof window.htag?.api&&!window.__audienzz_header_loading&&!document.querySelector("[data-audienzz-header-loaded]")){if(window.__audienzz_header_loading=!0,"undefined"!=typeof window&&!window.__exxpressGptPreloadObserver){const e=new MutationObserver(e=>{for(const t of e)for(const e of t.addedNodes)e instanceof HTMLLinkElement&&"preload"===e.rel&&e.href.includes("securepubads.g.doubleclick.net/tag/js/gpt.js")&&(e.crossOrigin||(e.crossOrigin="anonymous"))});e.observe(document.head,{childList:!0}),window.__exxpressGptPreloadObserver=e}try{const e=(await(async()=>M)()).audienzzTagId;if(!e||""===e.trim())return;const t=document.createElement("script");
1if(t.type="text/javascript",t.async=!0,t.crossOrigin="anonymous",t.src=`https://adnz.co/header.js?adTagId=${e}`,t.setAttribute("data-audienzz-header-loaded","true"),t.onload=()=>{setTimeout(()=>{const e=["adnxs.com","rubiconproject.com","sparteo.com","indexww.com","casalemedia.com","onetag-sys.com","yellowblue.io","openwebmp.com","omnitagjs.com","servenobid.com","pubmatic.com","smartadserver.com","aniview.com","audienceexposure.com","measureadv.com","eskimi.com","dspx.tv","presage.io","extend.tv","spotxchange.com","plista.com","smaato.net","sharethrough.com","doubleclick.net/partnerpixels","adtrafficquality.google","googleadservices.com/pagead/managed"],t=document.querySelectorAll("iframe");t.forEach(t=>{const n=t.src||"";e.some(e=>n.includes(e))&&t.remove()})},1e4)},document.querySelector('script[src*="adnz.co/header.js"]'))return;const n=le.getState();if(!n.isConsentReady||!n.consent?.marketing)return;document.head.appendChild(t)}catch(e){console.error("Failed to load Audienzz Header script:",e)}finally{window.__audienzz_header_loading=!1}}},ye=()=>{},he=async e=>{if(function(e,t=Date.now()){return!se(e,t)&&(oe={fingerabdruck:re(e),zeitpunkt:t},!0)}(e))try{const{supabase:t}=await r(async()=>{const{supabase:e}=await Promise.resolve().then(()=>ke);return{supabase:e}},void 0);let n=sessionStorage.getItem("cookie-session-id");n||(n=o(),sessionStorage.setItem("cookie-session-id",n));const{data:{session:s}}=await t.auth.getSession(),a=s?.user,{error:i}=await t.from("cookie_consent_logs").insert({user_id:a?.id||null,session_id:n,consent_analytics:e.analytics,consent_marketing:e.marketing});if(i)return ae(e),void console.error("Failed to log consent decision:",i)}catch(t){if(ae(e),t instanceof DOMException&&"AbortError"===t.name)return;console.error("Failed to log consent decision:",t)}},we=()=>{if("undefined"!=typeof window){document.querySelectorAll("script[data-audienzz-header-loaded]").forEach(e=>{e.removeAttribute("data-audienzz-header-loaded"),e.setAttribute("data-audienzz-header-disabled","true")}),document.querySelectorAll("script[data-audienzz-display-loaded]").forEach(e=>e.remove()),document.querySelectorAll('script[src*="audienzz.com"]').forEach(e=>e.remove()),document.querySelectorAll('script[src*="audienzz.ch"]').forEach(e=>e.remove());try{delete window.htag,delete window.__audienzz_header_loading}catch(n){e=n,t={action:"audienzz_teardown",extra:{hasHtag:"htag"in window}},!(e instanceof Error)||e.message,console.error(`[${t.action}]`,e),c(e,{tags:{action:t.action,silent:"true"},extra:t.extra})}var e,t}},ve=()=>{"undefined"!=typeof window&&(document.querySelectorAll("script[data-mgid-singleton]").forEach(e=>e.remove()),document.querySelectorAll('script[src*="mgid.com"]').forEach(e=>e.remove()))},_e="https://pdb.exxpress.at",be="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndmbW9sc3Fhbm9hdmpyd2Vzam1qIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjQzNTE3MzAsImV4cCI6MjA3OTkyNzczMH0.qBlvKmoZQwZRVPGj1yOe52BWIfg8NRw2pfC8uxe8f10",Se=m(_e,be,{auth:{storage:"undefined"!=typeof window?localStorage:void 0,persistSession:!0,autoRefreshToken:!0,flowType:"pkce"}}),Ie=m(_e,be,{auth:{persistSession:!1,autoRefreshToken:!1,detectSessionInUrl:!1,flowType:"implicit",storageKey:"sb-pdb-password-reset"}}),ke=Object.freeze(Object.defineProperty({__proto__:null,supabase:Se,supabaseRecovery:Ie},Symbol.toStringTag,{value:"Module"})),xe="exx_visitor_id",ze=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Ee(){try{const e=document.cookie.match(/(?:^|;\s*)exx_vid=([^;]+)/),t=e?.[1];return t&&ze.test(t)?t:null}catch{return null}}function Ae(){try{const e="undefined"!=typeof location&&location.hostname.endsWith("exxpress.at")?"; Domain=.exxpress.at":"";document.cookie=`exx_vid=; Path=/; Max-Age=0; SameSite=Lax${e}`}catch{}}function Oe(){const e=Ee();if(e)return e;try{const e=localStorage.getItem(xe);if(e&&ze.test(e))return e;e&&localStorage.removeItem(xe)}catch{}return null}function Te(){const e=o();try{localStorage.setItem(xe,e)}catch{}return e}function Pe(){const{consent:e}=le(),[n]=t.useState(()=>{if("undefined"==typeof window)return null;const t=Oe();return t||(e?.analytics?Te():null)});return t.useEffect(()=>{"undefined"!=typeof window&&e?.analytics&&!Oe()&&Te()},[e?.analytics]),t.useEffect(()=>{"undefined"!=typeof window&&e&&!e.analytics&&(localStorage.removeItem(xe),Ae())},[e]),t.useEffect(()=>{const{data:{subscription:e}}=Se.auth.onAuthStateChange(e=>{"SIGNED_OUT"===e&&(localStorage.removeItem(xe),Ae(),localStorage.removeItem("exx_reading_prefs"),sessionStorage.removeItem("exx_session_token"),sessionStorage.removeItem("exx_session_id"))});return()=>e.unsubscribe()},[]),e?.analytics?n??Oe():null}function je(){if("undefined"==typeof window)return null;if(!function(){try{return!0===le.getState().consent?.analytics}catch{return!1}}())return null;const e=Ee();if(e)return e;try{const e=localStorage.getItem(xe);return e?ze.test(e)?e:(localStorage.removeItem(xe),null):null}catch{return null}}const Ce=Object.freeze(Object.defineProperty({__proto__:null,getVisitorId:je,useVisitorId:Pe},Symbol.toStringTag,{value:"Module"})),De=()=>{const e=l(),{data:n,isLoading:r,error:o}=d({queryKey:["session"],queryFn:async()=>{const{data:{session:e},error:t}=await Se.auth.getSession();return t?(console.error("[useSession] Error fetching session:",t),null):e},staleTime:1/0,gcTime:1/0,refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:!1});return t.useEffect(()=>{const{data:{subscription:t}}=Se.auth.onAuthStateChange((t,n)=>{const r=e.getQueryData(["session"]),o=r?.user?.id,s=n?.user?.id;if(n?.user?B(n.user.id,n.user.email):B(null),"SIGNED_OUT"===t){e.getQueryData(["session"])&&i.info("Deine Sitzung ist abgelaufen. Bitte melde dich erneut an."),e.setQueryData(["session"],null),e.invali
1dateQueries({queryKey:["profile"]}),e.invalidateQueries({queryKey:["user-roles"]})}else"PASSWORD_RECOVERY"===t?(e.setQueryData(["session"],n),"undefined"==typeof window||window.location.pathname.startsWith("/password-reset")||(window.location.href="/password-reset#type=recovery")):"SIGNED_IN"!==t&&"TOKEN_REFRESHED"!==t||(e.setQueryData(["session"],n),o!==s&&(e.invalidateQueries({queryKey:["profile"]}),e.invalidateQueries({queryKey:["user-roles"]})))});return()=>t.unsubscribe()},[e]),{session:n,user:n?.user??null,isLoading:r,isAuthenticated:!!n?.user,error:o}},Re="exx_reading_prefs";function Ne(){return{categories:{},topics:{},entities:{},total_reads:0,last_decay:(new Date).toISOString().slice(0,10)}}function Me(){if("undefined"==typeof window)return Ne();try{const e=localStorage.getItem(Re);if(!e)return Ne();const t=JSON.parse(e);return{categories:t.categories??{},topics:t.topics??{},entities:t.entities??{},total_reads:t.total_reads??0,last_decay:t.last_decay??(new Date).toISOString().slice(0,10)}}catch{return Ne()}}function Be(e,t){const n=Object.entries(e).sort((e,t)=>t[1]-e[1]);return n.length<=t?e:Object.fromEntries(n.slice(0,t))}function Le(e){const t=(new Date).toISOString().slice(0,10);if(e.last_decay===t)return;const n=Math.max(1,(r=e.last_decay,o=t,Math.floor((new Date(o).getTime()-new Date(r).getTime())/864e5)));var r,o;const s=Math.pow(.9,n);for(const a of Object.keys(e.categories))e.categories[a]=Math.round(e.categories[a]*s),0===e.categories[a]&&delete e.categories[a];for(const a of Object.keys(e.topics))e.topics[a]=Math.round(e.topics[a]*s),0===e.topics[a]&&delete e.topics[a];for(const a of Object.keys(e.entities))e.entities[a]=Math.round(e.entities[a]*s),0===e.entities[a]&&delete e.entities[a];e.last_decay=t}function $e(){return{trackRead:t.useCallback(e=>{const t=Me();Le(t),t.categories[e.category]=(t.categories[e.category]||0)+1;const n=e.ai_summary?.topics??[];for(const s of n)t.topics[s]=(t.topics[s]||0)+1;const r=e.ai_summary?.entities?.people??[],o=e.ai_summary?.entities?.organizations??[];for(const s of[...r,...o])t.entities[s]=(t.entities[s]||0)+1;t.total_reads++,t.topics=Be(t.topics,50),t.entities=Be(t.entities,100),function(e){if("undefined"!=typeof window)try{localStorage.setItem(Re,JSON.stringify(e))}catch{}}(t)},[]),getPreferences:t.useCallback(()=>Me(),[]),clearPreferences:t.useCallback(()=>{"undefined"!=typeof window&&localStorage.removeItem(Re)},[])}}const qe="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndmbW9sc3Fhbm9hdmpyd2Vzam1qIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjQzNTE3MzAsImV4cCI6MjA3OTkyNzczMH0.qBlvKmoZQwZRVPGj1yOe52BWIfg8NRw2pfC8uxe8f10",Fe=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;const Je=e=>{const t={"Content-Type":"application/json",Authorization:`Bearer ${function(){if("undefined"==typeof window||!window.localStorage)return null;try{const e=`sb-${new URL("https://pdb.exxpress.at").hostname.split(".")[0]}-auth-token`,t=localStorage.getItem(e);if(!t)return null;const n=JSON.parse(t),r=n?.access_token;return"string"==typeof r&&r.length>20?r:null}catch{return null}}()??qe}`,apikey:qe},n=e?.visitor_id;return"string"==typeof n&&Fe.test(n)&&(t["X-Visitor-Id"]=n),t};async function Ve(e,t,n){const r=`/api/edge/${e}`,{signal:o,cancel:s}=function(e,t){const n=new AbortController,r=setTimeout(()=>n.abort(new DOMException("Edge function timeout","TimeoutError")),t);return{signal:n.signal,cancel:()=>clearTimeout(r)}}(0,4e3);try{const e=await fetch(r,{method:void 0!==t?"POST":"GET",headers:Je(t),body:void 0!==t?JSON.stringify(t):void 0,signal:o,credentials:"same-origin"});if(!e.ok){let t=e.statusText||`HTTP ${e.status}`;try{if((e.headers.get("content-type")??"").includes("application/json")){const n=await e.json();t=n?.error??n?.message??t}else{const n=await e.text();n&&(t=n.slice(0,200))}}catch{}return{data:null,error:{message:t,status:e.status}}}if(204===e.status)return{data:null,error:null};if(!(e.headers.get("content-type")??"").includes("application/json"))return{data:null,error:null};return{data:await e.json(),error:null}}catch(a){return{data:null,error:{message:a instanceof Error?"TimeoutError"===a.name||"AbortError"===a.name?`Edge function ${e} aborted: ${a.message}`:a.message:String(a)}}}finally{s()}}function We(e,t){const n=`/api/edge/${e}`,r=JSON.stringify(t);if("undefined"!=typeof window&&"fetch"in window)try{return fetch(n,{method:"POST",headers:Je(t),body:r,keepalive:!0,credentials:"same-origin"}).catch(()=>{}),!0}catch{}if("undefined"!=typeof navigator&&"sendBeacon"in navigator)try{const e=new Blob([r],{type:"application/json"});return navigator.sendBeacon(n,e)}catch{return!1}return!1}const Ze="exx_session_token",He="exx_session_id";function Qe(){if("undefined"==typeof window)return"unknown";const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"}function Ge(){if("undefined"==typeof window)return{};const e=new URLSearchParams(window.location.search),t={};for(const n of["utm_source","utm_medium","utm_campaign","utm_content","utm_term"]){const r=e.get(n);r&&(t[n]=r)}return t}function Ue(){return"undefined"==typeof sessionStorage?null:sessionStorage.getItem(He)}const Ke=new Map;function Xe(e){const t=e.session_id?e:{...e,session_id:Ue()};let n=null;try{n=JSON.stringify(t)}catch{}if(null!==n){const e=Date.now(),t=Ke.get(n);if(void 0!==t&&e-t<1e3)return;if(Ke.size>=50){const e=Ke.keys().next().value;void 0!==e&&Ke.delete(e)}Ke.delete(n),Ke.set(n,e)}We("app-visitor-event",t)||console.warn("[SessionTracking] beacon dispatch refused (non-fatal)")}let Ye=null,et=null;function tt(){const e=Pe(),r=le(e=>e.consent),s=n(),{session:a}=De(),i=a?.user,c=t.useRef(0),u=t.useRef(null),l=t.useRef(null),d=t.useRef(!1),f=t.useRef(null),m=t.useRef(0),g=t.useRef(!0),p=t.useRef(null);t.useEffect(()=>{if(!e)return;if("undefined"==typeof window)return;const t=sessionStorage.getItem(Ze),n=sessionStorage.getItem(He);if(t&&n)return void(u.current=n);if(Ye===e)return;Ye=e;const a=o();sessionStorage.setItem(Ze,a);const i=Ge(),c=function(){if("undefined"==typeof window)return{os:"unknown",browser:"unknown",browser_version:"",is_apple:!1,screen_width:0,screen_height:0};const e=navigator.userAgent,t=/iPhone|iPad|iPod/.test(e)?"iOS":/Mac OS/.test(e)?"macOS":/Android/.test(e)?"Android":/Windows/.test(e)?"Windows":/Linux/.test(e)?"Linux":"unknown",n=/Edg\//.test(e)?"Edge":/Chrome\//.test(e)?"Chrome":/Safari\//.test(e)&&!/Chrome/.test(e)?"Safari":/Firefox\//.test(e)?"Firefox":"unknown",r=e.match(new RegExp(`${"Edge"===n?"Edg":n}\\/([\\d.]+)`));return{os:t,browser:n,browser_version:r?.[1]||"",is_apple:"iOS"===t||"macOS"===t,screen_width:window.screen.width,screen_height:window.screen.height}}(),l={analytics:r?.analytics??!1,marketing:r?.marketing??!1,necessary:!0};(async()=>{try{let t=null;try{const e=await fetch("/cdn-cgi/trace",{cache:"no-store"}),n=(await e.text()).match(/loc=([A-Z]{2})/);t=n?n[1]:null}catch{}const{data:n}=await Ve("app-visitor-event",{visitor_id:e,event_type:"session_start",session_token:a,metadata:{referrer:document.referrer||null,device_type:Qe(),...i,...c,consent:l,language:navigator.language,dark_mode:window.matchMedia("(prefers-color-scheme: dark)").matches,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,connection_type:navigator.connection?.effectiveType||null,is_pwa:window.matchMedia("(display-mode: standalone)").matches,user_agent:navigator.userAgent,consent_analytics:l.analytics,consent_marketing:l.marketing,entry_page:s.pathname,has_touch:navigator.maxTouchPoints>0,do_not_track:"1"===navigator.doNotTrack,viewport_width:window.innerWidth,pixel_ratio:window.devicePixelRatio||1,save_data:navigator.connection?.saveData||!1,reduced_motion:window.matchMedia("(prefers-reduced-motion: reduce)").matches,country:t}}
1),r=n?.results?.[0]?.session_id;r&&(u.current=r,sessionStorage.setItem(He,r))}catch(t){Ye=null,console.warn("[SessionTracking] session_start failed:",t)}})(),setTimeout(()=>{p.current="undefined"!=typeof window&&!window.htag&&!document.querySelector("[data-audienzz-header-loaded]")},8e3)},[e]),t.useEffect(()=>{if(!e)return;const t=s.pathname;if(t.startsWith("/api/")||t.endsWith("/feed"))return;if(f.current===t)return;const n=Date.now(),r=et;if(r&&r.path===t&&n-r.ts<2e3)return;et={path:t,ts:n},f.current=t,c.current++;try{sessionStorage.setItem("exx_page_count",String(c.current))}catch{}const o=u.current||sessionStorage.getItem(He)||void 0;o&&(u.current=o);const a=t.split("/").filter(Boolean),i=a.length>=2?a[0]:void 0;Xe({visitor_id:e,event_type:"page_view",session_id:o,metadata:{path:t,page_count:c.current,category:i,...Ge()}})},[e,s.pathname]),t.useEffect(()=>{if(!e)return;const t=setInterval(()=>{g.current&&m.current++},1e3),n=()=>{g.current="visible"===document.visibilityState};return document.addEventListener("visibilitychange",n),()=>{clearInterval(t),document.removeEventListener("visibilitychange",n)}},[e]),t.useEffect(()=>{if(e)return l.current=setInterval(()=>{const t=u.current||sessionStorage.getItem(He);if(!t)return;const n={page_count:c.current,tab_focus_seconds:m.current};null!==p.current&&(n.has_adblocker=p.current,p.current=null),Xe({visitor_id:e,event_type:"session_heartbeat",session_id:t,metadata:n})},6e4),()=>{l.current&&clearInterval(l.current)}},[e]),t.useEffect(()=>{if(!e)return;let t=!1;const n=()=>
1{if(t)return;t=!0,setTimeout(()=>{t=!1},2e3);const n=u.current||sessionStorage.getItem(He);n&&We("app-visitor-event",{visitor_id:e,event_type:"session_heartbeat",session_id:n,metadata:{page_count:c.current,exit_page:f.current,tab_focus_seconds:m.current}})},r=()=>{"hidden"===document.visibilityState&&n()};return window.addEventListener("beforeunload",n),document.addEventListener("visibilitychange",r),()=>{window.removeEventListener("beforeunload",n),document.removeEventListener("visibilitychange",r)}},[e]);const y=t.useCallback(async()=>{if(!e||!i||d.current)return;d.current=!0,Xe({visitor_id:e,event_type:"identity_merge",metadata:{}});const t=Me();t.total_reads>0&&(Xe({visitor_id:e,event_type:"preferences_merge",metadata:{preferences:t}}),localStorage.removeItem("exx_reading_prefs"))},[e,i]);t.useEffect(()=>{y()},[y])}const nt=Object.freeze(Object.defineProperty({__proto__:null,fireVisitorEvent:Xe,getSessionId:Ue,useSessionTracking:tt},Symbol.toStringTag,{value:"Module"})),rt=(e,t=!0,n="relevance")=>d({queryKey:["search",e,n],queryFn:async()=>{if(!e.trim())return{articles:[],tags:[],categories:[]};const{data:t,error:r}=await Se.functions.invoke("app-search",{body:{q:e.trim(),limit:20,sort:n}});if(r)return console.error("Search error:",r),{articles:[],tags:[],categories:[]};return{articles:t?.data||[],tags:t?.tags||[],categories:t?.categories||[]}},enabled:t&&e.trim().length>=2,staleTime:3e4,placeholderData:f}),ot="exxpress_search_history",st=()=>{const[e,n]=t.useState([]);t.useEffect(()=>{const e=localStorage.getItem(ot);if(e)try{n(JSON.parse(e))}catch(t){console.error("Failed to parse search history",t)}},[]);return{searchHistory:e,addToHistory:t=>{if(!t.trim())return;const r=t.trim(),o=[r,...e.filter(e=>e!==r)].slice(0,10);n(o),localStorage.setItem(ot,JSON.stringify(o))},removeFromHistory:t=>{const r=e.filter(e=>e!==t);n(r),localStorage.setItem(ot,JSON.stringify(r))},clearHistory:()=>{n([]),localStorage.removeItem(ot)}}};export{j as F,U as a,le as b,We as c,Ie as d,H as e,Xe as f,je as g,X as h,Q as i,rt as j,st as k,W as l,me as m,se as n,ge as o,ne as p,tt as q,$e as r,Se as s,ee as t,De as u,E as v,h as w,Ce as x,Z as y,nt as z};
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.