try{!function(){var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="913801ef-e809-435f-8880-b742092a9c44",e._sentryDebugIdIdentifier="sentry-dbid-913801ef-e809-435f-8880-b742092a9c44")}()}catch(e){}(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6529],{3850:(e,t,r)=>{"use strict";r.r(t),r.d(t,{i18nInstance:()=>c,initI18n:()=>l,initMissingKeyHandler:()=>a,switchLanguage:()=>u});var s=r(50931),n=r(77928);function a(e){}let i=s.Ay.createInstance(),o=!1;async function l(e,t){o?await u(e,t):(await i.use(n.r9).init({lng:e,fallbackLng:"en",defaultNS:"common",ns:Object.keys(t),resources:{[e]:t},keySeparator:!1,nsSeparator:!1,interpolation:{escapeValue:!1,prefix:"{{",suffix:"}}"},saveMissing:!1,missingKeyHandler:(e,t,r,s)=>{},react:{useSuspense:!1}}),o=!0)}async function u(e,t){for(let[r,s]of Object.entries(t))i.addResourceBundle(e,r,s,!0,!0);await i.changeLanguage(e)}let c=i},9240:(e,t,r)=>{"use strict";function s(e){if(!e)return;let t=e.split("-")[0].toLowerCase();return"ar"===t?"ar":t}r.d(t,{Ep:()=>a,Jn:()=>s,sC:()=>n});let n=(e,t)=>{try{let{i18nInstance:s}=r(3850);if(s?.isInitialized){let r=e.indexOf(".");if(-1===r)return s.t(e,{defaultValue:t});let n=e.substring(0,r),a=e.substring(r+1);return s.t(a,{ns:n,defaultValue:t})}}catch{}try{let r=localStorage.getItem("language")||"en",s=localStorage.getItem(`translations_${r}`);if(s){let r=JSON.parse(s),n=e.split("."),a=r;for(let e of n){if(a?.[e]===void 0)return t;a=a[e]}return a}}catch(e){console.error("Error getting translation:",e)}return t},a=(e,t)=>{let r=e.safeParse(t);if(r.success)return null;var s=r.error.message;try{let[e]=JSON.parse(s),{key:t,fallbackKey:r}=JSON.parse(e?.message);return n(t,r)}catch{return s}}},15130:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>i,Ws:()=>a});var s=r(11785);let n={general:{platformName:"Influencer Hub",requireEmailVerification:!1,showRetainerField:!1,supportEmail:"support@influencerhub.com",withdrawalThreshold:100,showSystemDebug:!1}},a=(0,s.zD)("systemConfig/fetch",async()=>n),i=(0,s.Z0)({name:"systemConfig",initialState:{config:null,loading:!1,error:null},reducers:{setConfig:(e,t)=>{e.config=t.payload},clearConfig:e=>{e.config=null,e.error=null}},extraReducers:e=>{e.addCase(a.pending,e=>{e.loading=!0,e.error=null}).addCase(a.fulfilled,(e,t)=>{e.loading=!1,e.config=t.payload,e.error=null}).addCase(a.rejected,(e,t)=>{e.loading=!1,e.error=t.error.message||"Failed to fetch system configuration"})}}).reducer},16848:(e,t,r)=>{"use strict";r.r(t),r.d(t,{LanguageProvider:()=>y});var s=r(95155),n=r(12115),a=r(85705),i=r(62238),o=r(27335),l=r(42557),u=r(3850),c=r(9240),d=r(85410);let h="tms_bundle_";function f(e,t,r,s){try{let n=t?`${h}${e}_${t}`:`${h}${e}`;localStorage.setItem(n,JSON.stringify({data:r,timestamp:Date.now(),version:s}))}catch{}}async function g(e,t,r){let s=new URLSearchParams;t&&s.set("portal",t),r&&s.set("v",String(r));let n=s.toString(),a=`/api/translation/bundle/${encodeURIComponent(e)}${n?`?${n}`:""}`,i=await fetch(a);if(!i.ok)throw Error(`Bundle fetch failed: ${i.status}`);return i.json()}async function p(e){try{let t=await r(54098)(`./${e}.json`),s=t.default||t,n={};for(let[e,t]of Object.entries(s))"object"==typeof t&&null!==t&&(n[e]=function e(t,r=""){let s={};for(let[n,a]of Object.entries(t)){let t=r?`${r}.${n}`:n;"object"!=typeof a||null===a||Array.isArray(a)?s[t]=String(a):Object.assign(s,e(a,t))}return s}(t));return n}catch{return{}}}async function m(e,t,r){let s=function(e,t,r){try{let s=t?`${h}${e}_${t}`:`${h}${e}`,n=localStorage.getItem(s);if(!n)return null;let a=JSON.parse(n);if(r&&a.version!==r||Date.now()-a.timestamp>18e5)return null;return a.data}catch{return null}}(e,t,r);if(s)return g(e,t,r).then(s=>f(e,t,s,r)).catch(()=>{}),s;try{let s=await g(e,t,r);return f(e,t,s,r),s}catch{return p(e)}}let y=(0,n.memo)(function({children:e}){let[t,r]=(0,n.useState)("en"),[h,f]=(0,n.useState)(!0),[g,p]=(0,n.useState)(0),{countryCode:y,countryConfig:w,detectedLanguage:b,isLoading:T}=(0,i.F)(),C=(0,o.T)(),{languageCodes:v,getBundleVersion:S}=(0,l.J)(),A=(0,n.useRef)(S);A.current=S,(0,n.useEffect)(()=>{try{let e=(0,a.h)();(0,u.initMissingKeyHandler)(e)}catch{}},[]),(0,n.useEffect)(()=>{if(T)return;let e=!1,t=localStorage.getItem("language");"ar-EG"===t&&(t="ar",localStorage.setItem("language","ar"));let s=w?.defaultLanguage,n=(0,c.Jn)(b),a="en";t?a=t:n?a=n:s&&(a=s),r(a);let i=A.current(a);return m(a,C??void 0,i||void 0).then(t=>{if(!e)return(0,u.initI18n)(a,t)}).then(()=>{e||(f(!1),p(e=>e+1))}).catch(()=>{e||f(!1)}),()=>{e=!0}},[y,w,b,T,C]);let k=(0,n.useCallback)(async e=>{r(e),localStorage.setItem("language",e);let t=S(e),s=await m(e,C??void 0,t||void 0);await (0,u.switchLanguage)(e,s),p(e=>e+1)},[C,S]),E=(0,n.useMemo)(()=>(e,t,r)=>{let s,n=e.indexOf(".");if(-1===n){let s=u.i18nInstance.t(e,{defaultValue:t||e,...r});return s===e&&t?t:s}let a=e.substring(0,n),i=e.substring(n+1);if(t)if(t.includes(".")){let e=t.indexOf("."),r=t.substring(0,e),n=t.substring(e+1);s=u.i18nInstance.t(n,{ns:r,defaultValue:t})}else s=t;let o=u.i18nInstance.t(i,{ns:a,defaultValue:s||e,...r});return o===i&&s?s:o},[t,g]),I=(0,n.useMemo)(()=>({language:t,setLanguage:k,t:E,translations:{},availableLanguages:v,isLoading:h}),[t,k,E,v,h]);return(0,s.jsx)(d.sM.Provider,{value:I,children:e})})},20741:(e,t,r)=>{"use strict";r.d(t,{$y:()=>a,JY:()=>n,Ri:()=>s});let s=e=>{if("u"s("detected_country"),a=()=>s("recruiterId")},27335:(e,t,r)=>{"use strict";r.d(t,{ES:()=>i,GD:()=>o,WP:()=>l,FI:()=>u,mK:()=>c,F1:()=>h,Jv:()=>f,T:()=>d,qf:()=>g});var s=r(95155),n=r(12115),a=r(85705);let i=(0,n.createContext)(null);function o({children:e,portalData:t,apiBaseUrl:r}){let o;o=(0,n.useRef)(null),(0,n.useEffect)(()=>{let e=null;async function t(){if("visible"===document.visibilityState)try{let e=await fetch("/api/version-check");if(!e.ok)return;let t=await e.json();if(!o.current){o.current=t;return}let r=o.current;if(null!==r.portalConfigHash&&null!==t.portalConfigHash&&r.portalConfigHash!==t.portalConfigHash||r.appVersion!==t.appVersion)return void window.location.reload()}catch{}}e=setInterval(t,6e4);let r=setTimeout(t,5e3);return()=>{e&&clearInterval(e),clearTimeout(r)}},[]);let l=(0,n.useMemo)(()=>{let e=t?.apiUrl||r;return(e&&(0,a.T)(e),t)?{portalId:t.id,portalCode:t.code,branding:{name:t.name,logoUrl:t.logoUrl,faviconUrl:t.faviconUrl,splashUrl:t.splashUrl,pageTitle:t.pageTitle,themeConfig:t.themeConfig,supportEmail:t.supportEmail,supportUrl:t.supportUrl},enabledFeatures:t.enabledFeatures||[],enabledPaymentMethodTypes:t.enabledPaymentMethodTypes||["bank_transfer","crypto","payment_apps"],analyticsCode:t.analyticsCode,isPortalContext:!0,hasTermsOfUse:t.hasTermsOfUse,hasPrivacyPolicy:t.hasPrivacyPolicy,hasCookiePolicy:t.hasCookiePolicy,hasDataProtectionPolicy:t.hasDataProtectionPolicy}:{portalId:null,portalCode:null,branding:null,enabledFeatures:[],enabledPaymentMethodTypes:["bank_transfer","crypto","payment_apps"],analyticsCode:null,isPortalContext:!1,hasTermsOfUse:!0,hasPrivacyPolicy:!0,hasCookiePolicy:!0,hasDataProtectionPolicy:!1}},[t,r]);return(0,s.jsx)(i.Provider,{value:l,children:e})}function l(){let e=(0,n.useContext)(i);if(!e)throw Error("usePortal must be used within a PortalProvider");return e}function u(){return l().branding}function c(){let e=(0,n.useContext)(i);return e?.branding??null}function d(){return l().portalId}function h(){return l().portalCode}function f(){return l().enabledPaymentMethodTypes}function g(){let{hasTermsOfUse:e,hasPrivacyPolicy:t,hasCookiePolicy:r,hasDataProtectionPolicy:s}=l();return{hasTermsOfUse:e,hasPrivacyPolicy:t,hasCookiePolicy:r,hasDataProtectionPolicy:s}}},29200:(e,t,r)=>{"use strict";r.d(t,{M_:()=>g,jL:()=>p,GV:()=>m});var s=r(11785),n=r(2834),a=r(64469),i=r(29582);let o=(0,s.Z0)({name:"realtimeUsers",initialState:{users:{},listeners:{}},reducers:{updateUser:(e,t)=>{let{id:r,...s}=t.payload;r&&(e.users[r]={...e.users[r],...s,id:r})},removeUser:(e,t)=>{delete e.users[t.payload],delete e.listeners[t.payload]},setListenerActive:(e,t)=>{t.payload.active?e.listeners[t.payload.userId]=!0:delete e.listeners[t.payload.userId]},clearAllUsers:e=>{e.users={},e.listeners={}}}}),{updateUser:l,removeUser:u,setListenerActive:c,clearAllUsers:d}=o.actions,h=o.reducer;var f=r(15130);let g=(0,s.U1)({reducer:{auth:a.Ay,loader:i.A,systemConfig:f.Ay,realtimeUsers:h},middleware:e=>e()}),p=n.wA,m=n.d4},29582:(e,t,r)=>{"use strict";r.d(t,{A:()=>a,O:()=>n});let s=(0,r(11785).Z0)({name:"loader",initialState:{loading:!0},reducers:{setLoaderLoading:(e,t)=>{t.payload.loading&&window.location.pathname!==t.payload.pathname?e.loading=t.payload.loading:e.loading=!1}}}),{setLoaderLoading:n}=s.actions,a=s.reducer},37780:(e,t,r)=>{"use strict";r.d(t,{W:()=>w,V:()=>m});var s=r(85705),n=r(69226);function a(e,t){window.dispatchEvent(new CustomEvent("auth-error",{detail:{status:401,url:e,...t&&{reason:t}}}))}async function i(){let{IdentitySvc:e}=await r.e(8791).then(r.bind(r,48791)),t=await e.refresh();if(!t.accessToken)throw Error("No access token in refresh response");return n.b.setTokens(t.accessToken,t.expiresAt),t.accessToken}class o extends Error{constructor(e,t,r){super(e),this.name="FetchError",this.status=t,this.response=r}}async function l(e,t={}){let{requireAuth:r=!1,timeout:s=1e4,retries:u=0,retryDelay:c=1e3,suppressPermissionToast:d=!1,...h}=t,f=0,g=u+1;for(;fl.abort(),s),c=await fetch(e,{...h,headers:t,signal:l.signal});if(clearTimeout(u),!c.ok){let n=`HTTP ${c.status}`,l=c.headers.get("content-type");if(401===c.status){if(console.error("Authentication error (401) on request to:",e),r)try{let r=await i();t.Authorization=`Bearer ${r}`;let n=new AbortController,a=setTimeout(()=>n.abort(),s),o=await fetch(e,{...h,headers:t,signal:n.signal});if(clearTimeout(a),o.ok){if(204===o.status)return{success:!0,data:void 0,status:o.status};let e=await o.json();return{success:!0,data:e,status:o.status}}}catch{}a(e)}if(403===c.status&&(console.warn("Permission denied (403) on request to:",e),!d)){let t,r;try{let e=c.clone(),s=await e.json();t=s.error||s.message,r=s.requiredPermission||s.permission}catch{}window.dispatchEvent(new CustomEvent("permission-error",{detail:{status:403,url:e,errorMessage:t,requiredPermission:r}}))}try{if(l&&l.includes("application/json")){let e=await c.json();n=e.error||e.message||n}else{let t=await c.text();t.includes("setTimeout(e,c));continue}return{success:!1,error:e instanceof Error?e.message:"Network error",status:0}}return{success:!1,error:"Max retries exceeded",status:0}}async function u(e,t={}){return l(e,{...t,method:"GET"})}async function c(e,t,r={}){return l(e,{...r,method:"POST",body:t?t instanceof FormData?t:JSON.stringify(t):void 0})}async function d(e,t,r={}){return l(e,{...r,method:"PUT",body:t?t instanceof FormData?t:JSON.stringify(t):void 0})}async function h(e,t,r={}){return l(e,{...r,method:"PATCH",body:t?JSON.stringify(t):void 0})}async function f(e,t={}){return l(e,{...t,method:"DELETE"})}class g extends Error{constructor(e){super(e.message),this.name="ApiError",this.status=e.status,this.response=e.response}}class p{constructor(e={}){this.baseUrl=e.baseUrl||"",this.defaultConfig={requireAuth:!0,timeout:25e3,retries:1,headers:{},...e}}async get(e,t,r={}){let s,n=t?(s=new URLSearchParams,Object.entries(t).forEach(([e,t])=>{null!=t&&""!==t&&s.append(e,String(t))}),s.toString()):"",a=this.buildUrl(e,n),i=await u(a,{requireAuth:r.requireAuth??this.defaultConfig.requireAuth,timeout:r.timeout??this.defaultConfig.timeout,retries:r.retries??this.defaultConfig.retries,headers:{...this.defaultConfig.headers,...r.headers},suppressPermissionToast:r.suppressPermissionToast});return this.handleResponse(i)}async post(e,t,r={}){let s=this.buildUrl(e),n=await c(s,t,{requireAuth:r.requireAuth??this.defaultConfig.requireAuth,timeout:r.timeout??this.defaultConfig.timeout,retries:r.retries??this.defaultConfig.retries,headers:{...this.defaultConfig.headers,...r.headers},suppressPermissionToast:r.suppressPermissionToast});return this.handleResponse(n)}async put(e,t,r={}){let s=this.buildUrl(e),n=await d(s,t,{requireAuth:r.requireAuth??this.defaultConfig.requireAuth,timeout:r.timeout??this.defaultConfig.timeout,retries:r.retries??this.defaultConfig.retries,headers:{...this.defaultConfig.headers,...r.headers}});return this.handleResponse(n)}async patch(e,t,r={}){let s=this.buildUrl(e),n=await h(s,t,{requireAuth:r.requireAuth??this.defaultConfig.requireAuth,timeout:r.timeout??this.defaultConfig.timeout,retries:r.retries??this.defaultConfig.retries,headers:{...this.defaultConfig.headers,...r.headers}});return this.handleResponse(n)}async delete(e,t={}){let r=this.buildUrl(e),s=await f(r,{requireAuth:t.requireAuth??this.defaultConfig.requireAuth,timeout:t.timeout??this.defaultConfig.timeout,retries:t.retries??this.defaultConfig.retries,headers:{...this.defaultConfig.headers,...t.headers}});return this.handleResponse(s)}buildUrl(e,t){let r=this.baseUrl||(0,s.h)(),n=`${r}${e}`;return t?`${n}?${t}`:n}handleResponse(e){if(!e.success){let t=new g({message:e.error||"API request failed",status:e.status||500});throw t.fullResponse=e,t}if(204!==e.status){if(!e.data)throw new g({message:"No data received from server",status:204});return e.data}}}class m extends Error{constructor(e,t,r){super(e),this.errorCode=t,this.details=r,this.name="ApiBusinessError"}}let y=new Set(["success","error","errorCode","fieldErrors","data","version"]);class w extends p{constructor(){super({requireAuth:!0,timeout:8e3,retries:1})}toBusinessError(e,t){let r={};for(let[t,s]of Object.entries(e))y.has(t)||(r[t]=s);return new m(e.error||t,e.errorCode,Object.keys(r).length>0?r:void 0)}async typedPost(e,t,r,s){let n=await this.post(e,t,s);if(!n.success)throw this.toBusinessError(n,r);return n.data}async typedGet(e,t,r,s){let n=await this.get(e,t,s);if(!n.success)throw this.toBusinessError(n,r);return n.data}async typedPut(e,t,r,s){let n=await this.put(e,t,s);if(!n.success)throw this.toBusinessError(n,r);return n.data}async typedDelete(e,t,r){let s=await this.delete(e,r);if(void 0!==s){if(!s.success)throw this.toBusinessError(s,t);return s.data}}async typedDeleteWithBody(e,t,r,s){let n=await this.post(e,t,s);if(!n.success)throw this.toBusinessError(n,r);return n.data}async postFormData(e,t,r,s){let n=await this.post(e,t,s);if(!n.success)throw this.toBusinessError(n,r);return n.data}async putFormData(e,t,r,s){let n=await this.put(e,t,s);if(!n.success)throw this.toBusinessError(n,r);return n.data}}},42557:(e,t,r)=>{"use strict";r.d(t,{J:()=>o});var s=r(12115);let n=null,a=null;async function i(){return a||(a=fetch("/api/translation/languages").then(e=>{if(!e.ok)throw Error("Failed to fetch languages");return e.json()}).then(e=>{let t=e.map(e=>({code:e.code,label:e.name,nativeName:e.nativeName,isSource:e.isSource,bundleVersion:e.bundleVersion??0}));return n={data:t,timestamp:Date.now()},t}).finally(()=>{a=null}))}function o(){let[e,t]=(0,s.useState)(n?.data??[]),[r,a]=(0,s.useState)(!n);(0,s.useEffect)(()=>{if(n&&Date.now()-n.timestamp<6e4){t(n.data),a(!1);return}a(!0),i().then(t).catch(()=>{n&&t(n.data)}).finally(()=>a(!1))},[]);let o=(0,s.useCallback)(t=>{let r=e.find(e=>e.code===t);return r?.label??t.toUpperCase()},[e]),l=(0,s.useCallback)(t=>{let r=e.find(e=>e.code===t);return r?.nativeName??t.toUpperCase()},[e]),u=(0,s.useMemo)(()=>e.map(e=>e.code),[e]),c=(0,s.useCallback)(t=>{let r=e.find(e=>e.code===t);return r?r.bundleVersion:void 0},[e]);return{languages:e,languageCodes:u,isLoading:r,getLanguageLabel:o,getLanguageNativeName:l,getBundleVersion:c,invalidateCache:(0,s.useCallback)(async()=>{n=null,await fetch("/api/translation/languages",{method:"POST"}),t(await i())},[])}}},54098:(e,t,r)=>{var s={"./ar-EG.json":[10892,892],"./ar.json":[64491,4491],"./en.json":[85419,5419],"./es.json":[99344,9344],"./id.json":[24197,4197],"./pt.json":[25784,5784],"./th.json":[39e3,9e3],"./tr.json":[14550,4550]};function n(e){if(!r.o(s,e))return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=s[e],n=t[0];return r.e(t[1]).then(()=>r.t(n,19))}n.keys=()=>Object.keys(s),n.id=54098,e.exports=n},62238:(e,t,r)=>{"use strict";r.d(t,{Y:()=>p,F:()=>m});var s=r(95155),n=r(12115),a=r(74234),i=r(64469),o=r(29200),l=r(37780);class u extends l.W{async listCountries(){return this.typedGet("/countries/list",{},"Failed to get countries",{requireAuth:!1})}}let c=new u;var d=r(20741),h=r(9240);let f=(0,n.createContext)(void 0),g=null,p=(0,n.memo)(function({children:e}){let t=(0,o.GV)(i.mB),[r,l]=(0,n.useState)(g||[]),[u,p]=(0,n.useState)("TR"),[m,y]=(0,n.useState)("en"),[w,b]=(0,n.useState)(!0);(0,a.O)("LocaleProvider",{detectedCountry:u,isLoading:w,countriesCount:r.length}),(0,n.useEffect)(()=>{!async function(){if(g?.length)return l(g);try{let e=await c.listCountries();g=e.countries,l(e.countries)}catch(e){console.error("[LocaleProvider] Failed to fetch countries:",e)}}()},[]),(0,n.useEffect)(()=>{let e=setTimeout(()=>{let e=(0,d.JY)(),t=(0,d.Ri)("detected_language");p(e||"TR"),t&&y(t),b(!1)},0);return()=>clearTimeout(e)},[]);let T=(0,n.useMemo)(()=>{let e=t?.countryCode||u,s=r.find(t=>t.code===e)||null,n=(0,h.Jn)(m);return{countryCode:e,detectedCountry:u,detectedLanguage:m,language:n||s?.defaultLanguage||"en",currency:t?.preferredCurrency||s?.defaultCurrency||"USD",timezone:t?.timezone||s?.timezone||"UTC",countries:r,countryConfig:s,isLoading:w}},[t?.countryCode,t?.preferredCurrency,t?.timezone,u,m,r,w]);return(0,s.jsx)(f.Provider,{value:T,children:e})});function m(){let e=(0,n.useContext)(f);if(!e)throw Error("useLocale must be used within LocaleProvider");return e}},64469:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>p,H$:()=>w,R4:()=>f,bQ:()=>b,mB:()=>m,nH:()=>y,oG:()=>g,q0:()=>d,r1:()=>u,sX:()=>o,x9:()=>l});var s=r(11785);let n=e=>e?{...e,currentAppId:e.currentAppId||null}:null,a=(0,s.Z0)({name:"auth",initialState:{user:null,org:null,impersonation:null,loading:!0,error:null},reducers:{initAuth:e=>{e.loading=!0,e.error=null},setUserData:(e,t)=>{t.payload&&e.user?.currentAppId?e.user=n({...t.payload,currentAppId:e.user.currentAppId}):e.user=n(t.payload)},setOrgData:(e,t)=>{e.org=t.payload},updateUserData:(e,t)=>{if(e.user){let r={...e.user,...t.payload};e.user=n(r)}},setEmailVerified:(e,t)=>{if(e.user){let r={...e.user,emailVerified:t.payload};e.user=n(r)}},setAvailableApps:(e,t)=>{if(e.user){let r={...e.user,availableApps:t.payload};e.user=n(r)}},setCurrentAppId:(e,t)=>{if(e.user){let r={...e.user,currentAppId:t.payload};e.user=n(r)}},setLoading:(e,t)=>{e.loading=t.payload},setError:(e,t)=>{e.error=t.payload},setImpersonation:(e,t)=>{e.impersonation=t.payload},clearImpersonation:e=>{e.impersonation=null},clearAuth:e=>{e.user=null,e.loading=!1,e.error=null}}}),{initAuth:i,setUserData:o,setOrgData:l,setLoading:u,setError:c,clearAuth:d,setCurrentAppId:h,setImpersonation:f,clearImpersonation:g}=a.actions,p=a.reducer,m=e=>e.auth.user,y=e=>e.auth.org,w=e=>e.auth.loading,b=e=>e.auth.impersonation},66029:(e,t,r)=>{"use strict";r.r(t),r.d(t,{LanguageProvider:()=>f});var s=r(95155),n=r(12115),a=r(62238),i=r(74234),o=r(85410),l=r(9240),u=r(41463);let c=["en","tr","es","pt","id","ar","ar-EG","th"],d=async(e,t=3)=>{let s;for(let n=0;nsetTimeout(e,100*Math.pow(2,n)))}throw s},h=e=>{try{let t=localStorage.getItem(`translations_${e}`);if(t)return JSON.parse(t)}catch{}return null},f=n.memo(function({children:e}){let[t,r]=(0,n.useState)("en"),[f,g]=(0,n.useState)({}),[p,m]=(0,n.useState)(!0),y=(0,n.useRef)(null),{countryCode:w,countryConfig:b,detectedLanguage:T,isLoading:C}=(0,a.F)();(0,i.O)("LanguageProvider",{language:t,countryCode:w,localeLoading:C,availableLanguagesCount:c.length,hasTranslations:Object.keys(f).length>0,loadedForCountry:y.current}),(0,n.useEffect)(()=>{C||y.current===w||(async()=>{let e=localStorage.getItem("language");"ar-EG"===e&&(e="ar",localStorage.setItem("language","ar"));let t=b?.defaultLanguage,s=(0,l.Jn)(T),n="en";e&&c.includes(e)?n=e:s?n=s:t&&c.includes(t)&&(n=t,e&&!c.includes(e)&&localStorage.removeItem("language")),r(n);let a=(e,t)=>{g(e),t&&r(t),m(!1),y.current=w},i=h(n);if(i){a(i),d(n).then(e=>{g(e),localStorage.setItem(`translations_${n}`,JSON.stringify(e))}).catch(()=>{});return}try{let e=await d(n);a(e),localStorage.setItem(`translations_${n}`,JSON.stringify(e));return}catch(e){console.error("Failed to load translations:",e)}try{let e=await d("en");a(e,"en");return}catch(e){console.error("Failed to load English translations:",e)}a({})})()},[w,b,T,C]);let v=(0,n.useCallback)(async e=>{let t=h(e);t&&(g(t),r(e),localStorage.setItem("language",e));try{let t=await d(e);g(t),r(e),localStorage.setItem("language",e),localStorage.setItem(`translations_${e}`,JSON.stringify(t))}catch(e){console.error("Failed to load translations:",e),t||console.warn("No cached translations available, staying on current language")}},[]),S=(0,n.useCallback)((e,t)=>t&&e.includes("{{")?e.replace(/\{\{(\w+)\}\}/g,(e,r)=>void 0!==t[r]?String(t[r]):e):e,[]),A=(0,n.useMemo)(()=>(e,t,r)=>{try{let s=e.split("."),n=f,a=!0;for(let e of s){if(n?.[e]===void 0){a=!1;break}n=n[e]}if(a)return S(String(n),r);if(t){if(!t.includes("."))return S(t,r);let s=t.split("."),n=f;for(let a of s){if(n?.[a]===void 0)return"true"===u.env.NEXT_PUBLIC_SHOW_MISSING_TRANSLATION_KEY&&console.warn(`Both translation keys missing: ${e} and ${t}`),S(t,r);n=n[a]}return S(String(n),r)}return"true"===u.env.NEXT_PUBLIC_SHOW_MISSING_TRANSLATION_KEY&&console.warn(`Translation missing for key: ${e}`),e}catch(s){return console.error("Translation error:",s),S(t||e,r)}},[f,S]),k=(0,n.useMemo)(()=>({language:t,setLanguage:v,t:A,translations:f,availableLanguages:c,isLoading:p}),[t,v,A,f,c,p]);return(0,s.jsx)(o.sM.Provider,{value:k,children:e})})},69226:(e,t,r)=>{"use strict";r.d(t,{b:()=>n});class s{static{this.instance=null}static{this.EXPIRY_BUFFER_SECONDS=30}constructor(){this.accessToken=null,this.refreshToken=null,this.expiresAt=null,this.isRestoringSession=!1,this.stashedAccessToken=null,this.stashedRefreshToken=null,this.stashedExpiresAt=null}static getInstance(){return s.instance||(s.instance=new s),s.instance}setTokens(e,t){this.accessToken=e,this.expiresAt=t}clearTokens(){this.accessToken=null,this.refreshToken=null,this.expiresAt=null}isTokenExpired(){if(!this.expiresAt)return!0;let e=Math.floor(Date.now()/1e3);return this.expiresAt<=e}isTokenExpiredOrExpiring(){if(!this.expiresAt)return!0;let e=Math.floor(Date.now()/1e3);return this.expiresAt<=e+s.EXPIRY_BUFFER_SECONDS}hasValidTokens(){return!!(this.accessToken&&!this.isTokenExpired())}getAccessToken(){return this.accessToken}setSessionRestoring(e){this.isRestoringSession=e}getSessionRestoring(){return this.isRestoringSession}initFromSession(e,t){this.setTokens(e,t),this.isRestoringSession=!1}stashOriginalTokens(){this.stashedAccessToken=this.accessToken,this.stashedRefreshToken=this.refreshToken,this.stashedExpiresAt=this.expiresAt}restoreOriginalTokens(){this.stashedAccessToken?(this.accessToken=this.stashedAccessToken,this.refreshToken=this.stashedRefreshToken,this.expiresAt=this.stashedExpiresAt,this.clearStash()):console.warn("[TokenManager] No stashed tokens to restore")}hasStashedTokens(){return!!this.stashedAccessToken}clearStash(){this.stashedAccessToken=null,this.stashedRefreshToken=null,this.stashedExpiresAt=null}debugInfo(){return{hasAccessToken:!!this.accessToken,hasRefreshToken:!!this.refreshToken,expiresAt:this.expiresAt,expiresAtDate:this.expiresAt?new Date(1e3*this.expiresAt).toISOString():null,isExpired:this.isTokenExpired(),isImpersonating:this.hasStashedTokens()}}}let n=s.getInstance()},74234:(e,t,r)=>{"use strict";r.d(t,{O:()=>n});var s=r(12115);function n(e,t){let r=(0,s.useRef)(0);(0,s.useRef)(),(0,s.useEffect)(()=>{r.current+=1})}},85410:(e,t,r)=>{"use strict";r.d(t,{Is:()=>i,ok:()=>o,sM:()=>a});var s=r(12115),n=r(41463);let a=(0,s.createContext)({language:"en",setLanguage:()=>{},t:(e,t)=>t||e,translations:{},availableLanguages:["en"],isLoading:!0}),i=r("false"!==n.env.NEXT_PUBLIC_USE_TMS?16848:66029).LanguageProvider,o=()=>(0,s.useContext)(a)},85705:(e,t,r)=>{"use strict";r.d(t,{T:()=>n,h:()=>a});let s=null;function n(e){s=e}function a(){if(!s)throw Error("[apiConfig] API base URL not initialized. Ensure PortalProvider has mounted before making API calls.");return s}},92093:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var s=r(29722),n=r(622);function a(...e){return(0,n.QP)((0,s.$)(e))}}}]);