function Of(s,e){for(var r=0;r<e.length;r++){const n=e[r];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in s)){const a=Object.getOwnPropertyDescriptor(n,i);a&&Object.defineProperty(s,i,a.get?a:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();var Nt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function bm(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function kn(s){if(s.__esModule)return s;var e=s.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(s).forEach(function(n){var i=Object.getOwnPropertyDescriptor(s,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return s[n]}})}),r}var jm={exports:{}},ya={},ym={exports:{}},M={};/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Sn=Symbol.for("react.element"),qf=Symbol.for("react.portal"),Rf=Symbol.for("react.fragment"),Lf=Symbol.for("react.strict_mode"),Df=Symbol.for("react.profiler"),zf=Symbol.for("react.provider"),Mf=Symbol.for("react.context"),If=Symbol.for("react.forward_ref"),$f=Symbol.for("react.suspense"),Uf=Symbol.for("react.memo"),Ff=Symbol.for("react.lazy"),fd=Symbol.iterator;function Bf(s){return s===null||typeof s!="object"?null:(s=fd&&s[fd]||s["@@iterator"],typeof s=="function"?s:null)}var wm={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Nm=Object.assign,_m={};function kr(s,e,r){this.props=s,this.context=e,this.refs=_m,this.updater=r||wm}kr.prototype.isReactComponent={};kr.prototype.setState=function(s,e){if(typeof s!="object"&&typeof s!="function"&&s!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,s,e,"setState")};kr.prototype.forceUpdate=function(s){this.updater.enqueueForceUpdate(this,s,"forceUpdate")};function km(){}km.prototype=kr.prototype;function sc(s,e,r){this.props=s,this.context=e,this.refs=_m,this.updater=r||wm}var rc=sc.prototype=new km;rc.constructor=sc;Nm(rc,kr.prototype);rc.isPureReactComponent=!0;var gd=Array.isArray,Sm=Object.prototype.hasOwnProperty,nc={current:null},Em={key:!0,ref:!0,__self:!0,__source:!0};function Cm(s,e,r){var n,i={},a=null,o=null;if(e!=null)for(n in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(a=""+e.key),e)Sm.call(e,n)&&!Em.hasOwnProperty(n)&&(i[n]=e[n]);var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];i.children=c}if(s&&s.defaultProps)for(n in l=s.defaultProps,l)i[n]===void 0&&(i[n]=l[n]);return{$$typeof:Sn,type:s,key:a,ref:o,props:i,_owner:nc.current}}function Vf(s,e){return{$$typeof:Sn,type:s.type,key:e,ref:s.ref,props:s.props,_owner:s._owner}}function ic(s){return typeof s=="object"&&s!==null&&s.$$typeof===Sn}function Hf(s){var e={"=":"=0",":":"=2"};return"$"+s.replace(/[=:]/g,function(r){return e[r]})}var vd=/\/+/g;function Za(s,e){return typeof s=="object"&&s!==null&&s.key!=null?Hf(""+s.key):e.toString(36)}function wi(s,e,r,n,i){var a=typeof s;(a==="undefined"||a==="boolean")&&(s=null);var o=!1;if(s===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(s.$$typeof){case Sn:case qf:o=!0}}if(o)return o=s,i=i(o),s=n===""?"."+Za(o,0):n,gd(i)?(r="",s!=null&&(r=s.replace(vd,"$&/")+"/"),wi(i,e,r,"",function(d){return d})):i!=null&&(ic(i)&&(i=Vf(i,r+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(vd,"$&/")+"/")+s)),e.push(i)),1;if(o=0,n=n===""?".":n+":",gd(s))for(var l=0;l<s.length;l++){a=s[l];var c=n+Za(a,l);o+=wi(a,e,r,c,i)}else if(c=Bf(s),typeof c=="function")for(s=c.call(s),l=0;!(a=s.next()).done;)a=a.value,c=n+Za(a,l++),o+=wi(a,e,r,c,i);else if(a==="object")throw e=String(s),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.");return o}function Hn(s,e,r){if(s==null)return s;var n=[],i=0;return wi(s,n,"","",function(a){return e.call(r,a,i++)}),n}function Wf(s){if(s._status===-1){var e=s._result;e=e(),e.then(function(r){(s._status===0||s._status===-1)&&(s._status=1,s._result=r)},function(r){(s._status===0||s._status===-1)&&(s._status=2,s._result=r)}),s._status===-1&&(s._status=0,s._result=e)}if(s._status===1)return s._result.default;throw s._result}var ze={current:null},Ni={transition:null},Gf={ReactCurrentDispatcher:ze,ReactCurrentBatchConfig:Ni,ReactCurrentOwner:nc};function Pm(){throw Error("act(...) is not supported in production builds of React.")}M.Children={map:Hn,forEach:function(s,e,r){Hn(s,function(){e.apply(this,arguments)},r)},count:function(s){var e=0;return Hn(s,function(){e++}),e},toArray:function(s){return Hn(s,function(e){return e})||[]},only:function(s){if(!ic(s))throw Error("React.Children.only expected to receive a single React element child.");return s}};M.Component=kr;M.Fragment=Rf;M.Profiler=Df;M.PureComponent=sc;M.StrictMode=Lf;M.Suspense=$f;M.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Gf;M.act=Pm;M.cloneElement=function(s,e,r){if(s==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+s+".");var n=Nm({},s.props),i=s.key,a=s.ref,o=s._owner;if(e!=null){if(e.ref!==void 0&&(a=e.ref,o=nc.current),e.key!==void 0&&(i=""+e.key),s.type&&s.type.defaultProps)var l=s.type.defaultProps;for(c in e)Sm.call(e,c)&&!Em.hasOwnProperty(c)&&(n[c]=e[c]===void 0&&l!==void 0?l[c]:e[c])}var c=arguments.length-2;if(c===1)n.children=r;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];n.children=l}return{$$typeof:Sn,type:s.type,key:i,ref:a,props:n,_owner:o}};M.createContext=function(s){return s={$$typeof:Mf,_currentValue:s,_currentValue2:s,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},s.Provider={$$typeof:zf,_context:s},s.Consumer=s};M.createElement=Cm;M.createFactory=function(s){var e=Cm.bind(null,s);return e.type=s,e};M.createRef=function(){return{current:null}};M.forwardRef=function(s){return{$$typeof:If,render:s}};M.isValidElement=ic;M.lazy=function(s){return{$$typeof:Ff,_payload:{_status:-1,_result:s},_init:Wf}};M.memo=function(s,e){return{$$typeof:Uf,type:s,compare:e===void 0?null:e}};M.startTransition=function(s){var e=Ni.transition;Ni.transition={};try{s()}finally{Ni.transition=e}};M.unstable_act=Pm;M.useCallback=function(s,e){return ze.current.useCallback(s,e)};M.useContext=function(s){return ze.current.useContext(s)};M.useDebugValue=function(){};M.useDeferredValue=function(s){return ze.current.useDeferredValue(s)};M.useEffect=function(s,e){return ze.current.useEffect(s,e)};M.useId=function(){return ze.current.useId()};M.useImperativeHandle=function(s,e,r){return ze.current.useImperativeHandle(s,e,r)};M.useInsertionEffect=function(s,e){return ze.current.useInsertionEffect(s,e)};M.useLayoutEffect=function(s,e){return ze.current.useLayoutEffect(s,e)};M.useMemo=function(s,e){return ze.current.useMemo(s,e)};M.useReducer=function(s,e,r){return ze.current.useReducer(s,e,r)};M.useRef=function(s){return ze.current.useRef(s)};M.useState=function(s){return ze.current.useState(s)};M.useSyncExternalStore=function(s,e,r){return ze.current.useSyncExternalStore(s,e,r)};M.useTransition=function(){return ze.current.useTransition()};M.version="18.3.1";ym.exports=M;var k=ym.exports;const Qf=bm(k);/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Yf=k,Kf=Symbol.for("react.element"),Jf=Symbol.for("react.fragment"),Zf=Object.prototype.hasOwnProperty,Xf=Yf.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,e0={key:!0,ref:!0,__self:!0,__source:!0};function Tm(s,e,r){var n,i={},a=null,o=null;r!==void 0&&(a=""+r),e.key!==void 0&&(a=""+e.key),e.ref!==void 0&&(o=e.ref);for(n in e)Zf.call(e,n)&&!e0.hasOwnProperty(n)&&(i[n]=e[n]);if(s&&s.defaultProps)for(n in e=s.defaultProps,e)i[n]===void 0&&(i[n]=e[n]);return{$$typeof:Kf,type:s,key:a,ref:o,props:i,_owner:Xf.current}}ya.Fragment=Jf;ya.jsx=Tm;ya.jsxs=Tm;jm.exports=ya;var t=jm.exports,Am={exports:{}},et={},Om={exports:{}},qm={};/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/(function(s){function e(C,D){var z=C.length;C.push(D);e:for(;0<z;){var re=z-1>>>1,fe=C[re];if(0<i(fe,D))C[re]=D,C[z]=fe,z=re;else break e}}function r(C){return C.length===0?null:C[0]}function n(C){if(C.length===0)return null;var D=C[0],z=C.pop();if(z!==D){C[0]=z;e:for(var re=0,fe=C.length,Bn=fe>>>1;re<Bn;){var xs=2*(re+1)-1,Ja=C[xs],fs=xs+1,Vn=C[fs];if(0>i(Ja,z))fs<fe&&0>i(Vn,Ja)?(C[re]=Vn,C[fs]=z,re=fs):(C[re]=Ja,C[xs]=z,re=xs);else if(fs<fe&&0>i(Vn,z))C[re]=Vn,C[fs]=z,re=fs;else break e}}return D}function i(C,D){var z=C.sortIndex-D.sortIndex;return z!==0?z:C.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;s.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();s.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,m=null,h=3,f=!1,v=!1,j=!1,w=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(C){for(var D=r(d);D!==null;){if(D.callback===null)n(d);else if(D.startTime<=C)n(d),D.sortIndex=D.expirationTime,e(c,D);else break;D=r(d)}}function y(C){if(j=!1,g(C),!v)if(r(c)!==null)v=!0,$(_);else{var D=r(d);D!==null&&he(y,D.startTime-C)}}function _(C,D){v=!1,j&&(j=!1,p(E),E=-1),f=!0;var z=h;try{for(g(D),m=r(c);m!==null&&(!(m.expirationTime>D)||C&&!ce());){var re=m.callback;if(typeof re=="function"){m.callback=null,h=m.priorityLevel;var fe=re(m.expirationTime<=D);D=s.unstable_now(),typeof fe=="function"?m.callback=fe:m===r(c)&&n(c),g(D)}else n(c);m=r(c)}if(m!==null)var Bn=!0;else{var xs=r(d);xs!==null&&he(y,xs.startTime-D),Bn=!1}return Bn}finally{m=null,h=z,f=!1}}var b=!1,N=null,E=-1,R=5,O=-1;function ce(){return!(s.unstable_now()-O<R)}function We(){if(N!==null){var C=s.unstable_now();O=C;var D=!0;try{D=N(!0,C)}finally{D?Ge():(b=!1,N=null)}}else b=!1}var Ge;if(typeof x=="function")Ge=function(){x(We)};else if(typeof MessageChannel<"u"){var Qe=new MessageChannel,qe=Qe.port2;Qe.port1.onmessage=We,Ge=function(){qe.postMessage(null)}}else Ge=function(){w(We,0)};function $(C){N=C,b||(b=!0,Ge())}function he(C,D){E=w(function(){C(s.unstable_now())},D)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(C){C.callback=null},s.unstable_continueExecution=function(){v||f||(v=!0,$(_))},s.unstable_forceFrameRate=function(C){0>C||125<C?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<C?Math.floor(1e3/C):5},s.unstable_getCurrentPriorityLevel=function(){return h},s.unstable_getFirstCallbackNode=function(){return r(c)},s.unstable_next=function(C){switch(h){case 1:case 2:case 3:var D=3;break;default:D=h}var z=h;h=D;try{return C()}finally{h=z}},s.unstable_pauseExecution=function(){},s.unstable_requestPaint=function(){},s.unstable_runWithPriority=function(C,D){switch(C){case 1:case 2:case 3:case 4:case 5:break;default:C=3}var z=h;h=C;try{return D()}finally{h=z}},s.unstable_scheduleCallback=function(C,D,z){var re=s.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0<z?re+z:re):z=re,C){case 1:var fe=-1;break;case 2:fe=250;break;case 5:fe=1073741823;break;case 4:fe=1e4;break;default:fe=5e3}return fe=z+fe,C={id:u++,callback:D,priorityLevel:C,startTime:z,expirationTime:fe,sortIndex:-1},z>re?(C.sortIndex=z,e(d,C),r(c)===null&&C===r(d)&&(j?(p(E),E=-1):j=!0,he(y,z-re))):(C.sortIndex=fe,e(c,C),v||f||(v=!0,$(_))),C},s.unstable_shouldYield=ce,s.unstable_wrapCallback=function(C){var D=h;return function(){var z=h;h=D;try{return C.apply(this,arguments)}finally{h=z}}}})(qm);Om.exports=qm;var t0=Om.exports;/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var s0=k,Xe=t0;function S(s){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+s,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+s+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Rm=new Set,sn={};function Is(s,e){pr(s,e),pr(s+"Capture",e)}function pr(s,e){for(sn[s]=e,s=0;s<e.length;s++)Rm.add(e[s])}var zt=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),zo=Object.prototype.hasOwnProperty,r0=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,bd={},jd={};function n0(s){return zo.call(jd,s)?!0:zo.call(bd,s)?!1:r0.test(s)?jd[s]=!0:(bd[s]=!0,!1)}function i0(s,e,r,n){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(s=s.toLowerCase().slice(0,5),s!=="data-"&&s!=="aria-");default:return!1}}function a0(s,e,r,n){if(e===null||typeof e>"u"||i0(s,e,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Me(s,e,r,n,i,a,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=r,this.propertyName=s,this.type=e,this.sanitizeURL=a,this.removeEmptyString=o}var _e={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(s){_e[s]=new Me(s,0,!1,s,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(s){var e=s[0];_e[e]=new Me(e,1,!1,s[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(s){_e[s]=new Me(s,2,!1,s.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(s){_e[s]=new Me(s,2,!1,s,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(s){_e[s]=new Me(s,3,!1,s.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(s){_e[s]=new Me(s,3,!0,s,null,!1,!1)});["capture","download"].forEach(function(s){_e[s]=new Me(s,4,!1,s,null,!1,!1)});["cols","rows","size","span"].forEach(function(s){_e[s]=new Me(s,6,!1,s,null,!1,!1)});["rowSpan","start"].forEach(function(s){_e[s]=new Me(s,5,!1,s.toLowerCase(),null,!1,!1)});var ac=/[\-:]([a-z])/g;function oc(s){return s[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(s){var e=s.replace(ac,oc);_e[e]=new Me(e,1,!1,s,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(s){var e=s.replace(ac,oc);_e[e]=new Me(e,1,!1,s,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(s){var e=s.replace(ac,oc);_e[e]=new Me(e,1,!1,s,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(s){_e[s]=new Me(s,1,!1,s.toLowerCase(),null,!1,!1)});_e.xlinkHref=new Me("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(s){_e[s]=new Me(s,1,!1,s.toLowerCase(),null,!0,!0)});function lc(s,e,r,n){var i=_e.hasOwnProperty(e)?_e[e]:null;(i!==null?i.type!==0:n||!(2<e.length)||e[0]!=="o"&&e[0]!=="O"||e[1]!=="n"&&e[1]!=="N")&&(a0(e,r,i,n)&&(r=null),n||i===null?n0(e)&&(r===null?s.removeAttribute(e):s.setAttribute(e,""+r)):i.mustUseProperty?s[i.propertyName]=r===null?i.type===3?!1:"":r:(e=i.attributeName,n=i.attributeNamespace,r===null?s.removeAttribute(e):(i=i.type,r=i===3||i===4&&r===!0?"":""+r,n?s.setAttributeNS(n,e,r):s.setAttribute(e,r))))}var Ut=s0.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Wn=Symbol.for("react.element"),Qs=Symbol.for("react.portal"),Ys=Symbol.for("react.fragment"),cc=Symbol.for("react.strict_mode"),Mo=Symbol.for("react.profiler"),Lm=Symbol.for("react.provider"),Dm=Symbol.for("react.context"),dc=Symbol.for("react.forward_ref"),Io=Symbol.for("react.suspense"),$o=Symbol.for("react.suspense_list"),uc=Symbol.for("react.memo"),Gt=Symbol.for("react.lazy"),zm=Symbol.for("react.offscreen"),yd=Symbol.iterator;function Or(s){return s===null||typeof s!="object"?null:(s=yd&&s[yd]||s["@@iterator"],typeof s=="function"?s:null)}var ee=Object.assign,Xa;function $r(s){if(Xa===void 0)try{throw Error()}catch(r){var e=r.stack.trim().match(/\n( *(at )?)/);Xa=e&&e[1]||""}return`
`+Xa+s}var eo=!1;function to(s,e){if(!s||eo)return"";eo=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(d){var n=d}Reflect.construct(s,[],e)}else{try{e.call()}catch(d){n=d}s.call(e.prototype)}else{try{throw Error()}catch(d){n=d}s()}}catch(d){if(d&&n&&typeof d.stack=="string"){for(var i=d.stack.split(`
`),a=n.stack.split(`
`),o=i.length-1,l=a.length-1;1<=o&&0<=l&&i[o]!==a[l];)l--;for(;1<=o&&0<=l;o--,l--)if(i[o]!==a[l]){if(o!==1||l!==1)do if(o--,l--,0>l||i[o]!==a[l]){var c=`
`+i[o].replace(" at new "," at ");return s.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",s.displayName)),c}while(1<=o&&0<=l);break}}}finally{eo=!1,Error.prepareStackTrace=r}return(s=s?s.displayName||s.name:"")?$r(s):""}function o0(s){switch(s.tag){case 5:return $r(s.type);case 16:return $r("Lazy");case 13:return $r("Suspense");case 19:return $r("SuspenseList");case 0:case 2:case 15:return s=to(s.type,!1),s;case 11:return s=to(s.type.render,!1),s;case 1:return s=to(s.type,!0),s;default:return""}}function Uo(s){if(s==null)return null;if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case Ys:return"Fragment";case Qs:return"Portal";case Mo:return"Profiler";case cc:return"StrictMode";case Io:return"Suspense";case $o:return"SuspenseList"}if(typeof s=="object")switch(s.$$typeof){case Dm:return(s.displayName||"Context")+".Consumer";case Lm:return(s._context.displayName||"Context")+".Provider";case dc:var e=s.render;return s=s.displayName,s||(s=e.displayName||e.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case uc:return e=s.displayName||null,e!==null?e:Uo(s.type)||"Memo";case Gt:e=s._payload,s=s._init;try{return Uo(s(e))}catch{}}return null}function l0(s){var e=s.type;switch(s.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return s=e.render,s=s.displayName||s.name||"",e.displayName||(s!==""?"ForwardRef("+s+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Uo(e);case 8:return e===cc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function cs(s){switch(typeof s){case"boolean":case"number":case"string":case"undefined":return s;case"object":return s;default:return""}}function Mm(s){var e=s.type;return(s=s.nodeName)&&s.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function c0(s){var e=Mm(s)?"checked":"value",r=Object.getOwnPropertyDescriptor(s.constructor.prototype,e),n=""+s[e];if(!s.hasOwnProperty(e)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var i=r.get,a=r.set;return Object.defineProperty(s,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){n=""+o,a.call(this,o)}}),Object.defineProperty(s,e,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(o){n=""+o},stopTracking:function(){s._valueTracker=null,delete s[e]}}}}function Gn(s){s._valueTracker||(s._valueTracker=c0(s))}function Im(s){if(!s)return!1;var e=s._valueTracker;if(!e)return!0;var r=e.getValue(),n="";return s&&(n=Mm(s)?s.checked?"true":"false":s.value),s=n,s!==r?(e.setValue(s),!0):!1}function Ii(s){if(s=s||(typeof document<"u"?document:void 0),typeof s>"u")return null;try{return s.activeElement||s.body}catch{return s.body}}function Fo(s,e){var r=e.checked;return ee({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??s._wrapperState.initialChecked})}function wd(s,e){var r=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;r=cs(e.value!=null?e.value:r),s._wrapperState={initialChecked:n,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function $m(s,e){e=e.checked,e!=null&&lc(s,"checked",e,!1)}function Bo(s,e){$m(s,e);var r=cs(e.value),n=e.type;if(r!=null)n==="number"?(r===0&&s.value===""||s.value!=r)&&(s.value=""+r):s.value!==""+r&&(s.value=""+r);else if(n==="submit"||n==="reset"){s.removeAttribute("value");return}e.hasOwnProperty("value")?Vo(s,e.type,r):e.hasOwnProperty("defaultValue")&&Vo(s,e.type,cs(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(s.defaultChecked=!!e.defaultChecked)}function Nd(s,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+s._wrapperState.initialValue,r||e===s.value||(s.value=e),s.defaultValue=e}r=s.name,r!==""&&(s.name=""),s.defaultChecked=!!s._wrapperState.initialChecked,r!==""&&(s.name=r)}function Vo(s,e,r){(e!=="number"||Ii(s.ownerDocument)!==s)&&(r==null?s.defaultValue=""+s._wrapperState.initialValue:s.defaultValue!==""+r&&(s.defaultValue=""+r))}var Ur=Array.isArray;function ar(s,e,r,n){if(s=s.options,e){e={};for(var i=0;i<r.length;i++)e["$"+r[i]]=!0;for(r=0;r<s.length;r++)i=e.hasOwnProperty("$"+s[r].value),s[r].selected!==i&&(s[r].selected=i),i&&n&&(s[r].defaultSelected=!0)}else{for(r=""+cs(r),e=null,i=0;i<s.length;i++){if(s[i].value===r){s[i].selected=!0,n&&(s[i].defaultSelected=!0);return}e!==null||s[i].disabled||(e=s[i])}e!==null&&(e.selected=!0)}}function Ho(s,e){if(e.dangerouslySetInnerHTML!=null)throw Error(S(91));return ee({},e,{value:void 0,defaultValue:void 0,children:""+s._wrapperState.initialValue})}function _d(s,e){var r=e.value;if(r==null){if(r=e.children,e=e.defaultValue,r!=null){if(e!=null)throw Error(S(92));if(Ur(r)){if(1<r.length)throw Error(S(93));r=r[0]}e=r}e==null&&(e=""),r=e}s._wrapperState={initialValue:cs(r)}}function Um(s,e){var r=cs(e.value),n=cs(e.defaultValue);r!=null&&(r=""+r,r!==s.value&&(s.value=r),e.defaultValue==null&&s.defaultValue!==r&&(s.defaultValue=r)),n!=null&&(s.defaultValue=""+n)}function kd(s){var e=s.textContent;e===s._wrapperState.initialValue&&e!==""&&e!==null&&(s.value=e)}function Fm(s){switch(s){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Wo(s,e){return s==null||s==="http://www.w3.org/1999/xhtml"?Fm(e):s==="http://www.w3.org/2000/svg"&&e==="foreignObject"?"http://www.w3.org/1999/xhtml":s}var Qn,Bm=function(s){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,r,n,i){MSApp.execUnsafeLocalFunction(function(){return s(e,r,n,i)})}:s}(function(s,e){if(s.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in s)s.innerHTML=e;else{for(Qn=Qn||document.createElement("div"),Qn.innerHTML="<svg>"+e.valueOf().toString()+"</svg>",e=Qn.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;e.firstChild;)s.appendChild(e.firstChild)}});function rn(s,e){if(e){var r=s.firstChild;if(r&&r===s.lastChild&&r.nodeType===3){r.nodeValue=e;return}}s.textContent=e}var Wr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},d0=["Webkit","ms","Moz","O"];Object.keys(Wr).forEach(function(s){d0.forEach(function(e){e=e+s.charAt(0).toUpperCase()+s.substring(1),Wr[e]=Wr[s]})});function Vm(s,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||Wr.hasOwnProperty(s)&&Wr[s]?(""+e).trim():e+"px"}function Hm(s,e){s=s.style;for(var r in e)if(e.hasOwnProperty(r)){var n=r.indexOf("--")===0,i=Vm(r,e[r],n);r==="float"&&(r="cssFloat"),n?s.setProperty(r,i):s[r]=i}}var u0=ee({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Go(s,e){if(e){if(u0[s]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(S(137,s));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(S(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(S(61))}if(e.style!=null&&typeof e.style!="object")throw Error(S(62))}}function Qo(s,e){if(s.indexOf("-")===-1)return typeof e.is=="string";switch(s){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Yo=null;function mc(s){return s=s.target||s.srcElement||window,s.correspondingUseElement&&(s=s.correspondingUseElement),s.nodeType===3?s.parentNode:s}var Ko=null,or=null,lr=null;function Sd(s){if(s=Pn(s)){if(typeof Ko!="function")throw Error(S(280));var e=s.stateNode;e&&(e=Sa(e),Ko(s.stateNode,s.type,e))}}function Wm(s){or?lr?lr.push(s):lr=[s]:or=s}function Gm(){if(or){var s=or,e=lr;if(lr=or=null,Sd(s),e)for(s=0;s<e.length;s++)Sd(e[s])}}function Qm(s,e){return s(e)}function Ym(){}var so=!1;function Km(s,e,r){if(so)return s(e,r);so=!0;try{return Qm(s,e,r)}finally{so=!1,(or!==null||lr!==null)&&(Ym(),Gm())}}function nn(s,e){var r=s.stateNode;if(r===null)return null;var n=Sa(r);if(n===null)return null;r=n[e];e:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(s=s.type,n=!(s==="button"||s==="input"||s==="select"||s==="textarea")),s=!n;break e;default:s=!1}if(s)return null;if(r&&typeof r!="function")throw Error(S(231,e,typeof r));return r}var Jo=!1;if(zt)try{var qr={};Object.defineProperty(qr,"passive",{get:function(){Jo=!0}}),window.addEventListener("test",qr,qr),window.removeEventListener("test",qr,qr)}catch{Jo=!1}function m0(s,e,r,n,i,a,o,l,c){var d=Array.prototype.slice.call(arguments,3);try{e.apply(r,d)}catch(u){this.onError(u)}}var Gr=!1,$i=null,Ui=!1,Zo=null,h0={onError:function(s){Gr=!0,$i=s}};function p0(s,e,r,n,i,a,o,l,c){Gr=!1,$i=null,m0.apply(h0,arguments)}function x0(s,e,r,n,i,a,o,l,c){if(p0.apply(this,arguments),Gr){if(Gr){var d=$i;Gr=!1,$i=null}else throw Error(S(198));Ui||(Ui=!0,Zo=d)}}function $s(s){var e=s,r=s;if(s.alternate)for(;e.return;)e=e.return;else{s=e;do e=s,e.flags&4098&&(r=e.return),s=e.return;while(s)}return e.tag===3?r:null}function Jm(s){if(s.tag===13){var e=s.memoizedState;if(e===null&&(s=s.alternate,s!==null&&(e=s.memoizedState)),e!==null)return e.dehydrated}return null}function Ed(s){if($s(s)!==s)throw Error(S(188))}function f0(s){var e=s.alternate;if(!e){if(e=$s(s),e===null)throw Error(S(188));return e!==s?null:s}for(var r=s,n=e;;){var i=r.return;if(i===null)break;var a=i.alternate;if(a===null){if(n=i.return,n!==null){r=n;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===r)return Ed(i),s;if(a===n)return Ed(i),e;a=a.sibling}throw Error(S(188))}if(r.return!==n.return)r=i,n=a;else{for(var o=!1,l=i.child;l;){if(l===r){o=!0,r=i,n=a;break}if(l===n){o=!0,n=i,r=a;break}l=l.sibling}if(!o){for(l=a.child;l;){if(l===r){o=!0,r=a,n=i;break}if(l===n){o=!0,n=a,r=i;break}l=l.sibling}if(!o)throw Error(S(189))}}if(r.alternate!==n)throw Error(S(190))}if(r.tag!==3)throw Error(S(188));return r.stateNode.current===r?s:e}function Zm(s){return s=f0(s),s!==null?Xm(s):null}function Xm(s){if(s.tag===5||s.tag===6)return s;for(s=s.child;s!==null;){var e=Xm(s);if(e!==null)return e;s=s.sibling}return null}var eh=Xe.unstable_scheduleCallback,Cd=Xe.unstable_cancelCallback,g0=Xe.unstable_shouldYield,v0=Xe.unstable_requestPaint,ae=Xe.unstable_now,b0=Xe.unstable_getCurrentPriorityLevel,hc=Xe.unstable_ImmediatePriority,th=Xe.unstable_UserBlockingPriority,Fi=Xe.unstable_NormalPriority,j0=Xe.unstable_LowPriority,sh=Xe.unstable_IdlePriority,wa=null,St=null;function y0(s){if(St&&typeof St.onCommitFiberRoot=="function")try{St.onCommitFiberRoot(wa,s,void 0,(s.current.flags&128)===128)}catch{}}var gt=Math.clz32?Math.clz32:_0,w0=Math.log,N0=Math.LN2;function _0(s){return s>>>=0,s===0?32:31-(w0(s)/N0|0)|0}var Yn=64,Kn=4194304;function Fr(s){switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return s&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return s}}function Bi(s,e){var r=s.pendingLanes;if(r===0)return 0;var n=0,i=s.suspendedLanes,a=s.pingedLanes,o=r&268435455;if(o!==0){var l=o&~i;l!==0?n=Fr(l):(a&=o,a!==0&&(n=Fr(a)))}else o=r&~i,o!==0?n=Fr(o):a!==0&&(n=Fr(a));if(n===0)return 0;if(e!==0&&e!==n&&!(e&i)&&(i=n&-n,a=e&-e,i>=a||i===16&&(a&4194240)!==0))return e;if(n&4&&(n|=r&16),e=s.entangledLanes,e!==0)for(s=s.entanglements,e&=n;0<e;)r=31-gt(e),i=1<<r,n|=s[r],e&=~i;return n}function k0(s,e){switch(s){case 1:case 2:case 4:return e+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function S0(s,e){for(var r=s.suspendedLanes,n=s.pingedLanes,i=s.expirationTimes,a=s.pendingLanes;0<a;){var o=31-gt(a),l=1<<o,c=i[o];c===-1?(!(l&r)||l&n)&&(i[o]=k0(l,e)):c<=e&&(s.expiredLanes|=l),a&=~l}}function Xo(s){return s=s.pendingLanes&-1073741825,s!==0?s:s&1073741824?1073741824:0}function rh(){var s=Yn;return Yn<<=1,!(Yn&4194240)&&(Yn=64),s}function ro(s){for(var e=[],r=0;31>r;r++)e.push(s);return e}function En(s,e,r){s.pendingLanes|=e,e!==536870912&&(s.suspendedLanes=0,s.pingedLanes=0),s=s.eventTimes,e=31-gt(e),s[e]=r}function E0(s,e){var r=s.pendingLanes&~e;s.pendingLanes=e,s.suspendedLanes=0,s.pingedLanes=0,s.expiredLanes&=e,s.mutableReadLanes&=e,s.entangledLanes&=e,e=s.entanglements;var n=s.eventTimes;for(s=s.expirationTimes;0<r;){var i=31-gt(r),a=1<<i;e[i]=0,n[i]=-1,s[i]=-1,r&=~a}}function pc(s,e){var r=s.entangledLanes|=e;for(s=s.entanglements;r;){var n=31-gt(r),i=1<<n;i&e|s[n]&e&&(s[n]|=e),r&=~i}}var U=0;function nh(s){return s&=-s,1<s?4<s?s&268435455?16:536870912:4:1}var ih,xc,ah,oh,lh,el=!1,Jn=[],ts=null,ss=null,rs=null,an=new Map,on=new Map,Yt=[],C0="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Pd(s,e){switch(s){case"focusin":case"focusout":ts=null;break;case"dragenter":case"dragleave":ss=null;break;case"mouseover":case"mouseout":rs=null;break;case"pointerover":case"pointerout":an.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":on.delete(e.pointerId)}}function Rr(s,e,r,n,i,a){return s===null||s.nativeEvent!==a?(s={blockedOn:e,domEventName:r,eventSystemFlags:n,nativeEvent:a,targetContainers:[i]},e!==null&&(e=Pn(e),e!==null&&xc(e)),s):(s.eventSystemFlags|=n,e=s.targetContainers,i!==null&&e.indexOf(i)===-1&&e.push(i),s)}function P0(s,e,r,n,i){switch(e){case"focusin":return ts=Rr(ts,s,e,r,n,i),!0;case"dragenter":return ss=Rr(ss,s,e,r,n,i),!0;case"mouseover":return rs=Rr(rs,s,e,r,n,i),!0;case"pointerover":var a=i.pointerId;return an.set(a,Rr(an.get(a)||null,s,e,r,n,i)),!0;case"gotpointercapture":return a=i.pointerId,on.set(a,Rr(on.get(a)||null,s,e,r,n,i)),!0}return!1}function ch(s){var e=Es(s.target);if(e!==null){var r=$s(e);if(r!==null){if(e=r.tag,e===13){if(e=Jm(r),e!==null){s.blockedOn=e,lh(s.priority,function(){ah(r)});return}}else if(e===3&&r.stateNode.current.memoizedState.isDehydrated){s.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}s.blockedOn=null}function _i(s){if(s.blockedOn!==null)return!1;for(var e=s.targetContainers;0<e.length;){var r=tl(s.domEventName,s.eventSystemFlags,e[0],s.nativeEvent);if(r===null){r=s.nativeEvent;var n=new r.constructor(r.type,r);Yo=n,r.target.dispatchEvent(n),Yo=null}else return e=Pn(r),e!==null&&xc(e),s.blockedOn=r,!1;e.shift()}return!0}function Td(s,e,r){_i(s)&&r.delete(e)}function T0(){el=!1,ts!==null&&_i(ts)&&(ts=null),ss!==null&&_i(ss)&&(ss=null),rs!==null&&_i(rs)&&(rs=null),an.forEach(Td),on.forEach(Td)}function Lr(s,e){s.blockedOn===e&&(s.blockedOn=null,el||(el=!0,Xe.unstable_scheduleCallback(Xe.unstable_NormalPriority,T0)))}function ln(s){function e(i){return Lr(i,s)}if(0<Jn.length){Lr(Jn[0],s);for(var r=1;r<Jn.length;r++){var n=Jn[r];n.blockedOn===s&&(n.blockedOn=null)}}for(ts!==null&&Lr(ts,s),ss!==null&&Lr(ss,s),rs!==null&&Lr(rs,s),an.forEach(e),on.forEach(e),r=0;r<Yt.length;r++)n=Yt[r],n.blockedOn===s&&(n.blockedOn=null);for(;0<Yt.length&&(r=Yt[0],r.blockedOn===null);)ch(r),r.blockedOn===null&&Yt.shift()}var cr=Ut.ReactCurrentBatchConfig,Vi=!0;function A0(s,e,r,n){var i=U,a=cr.transition;cr.transition=null;try{U=1,fc(s,e,r,n)}finally{U=i,cr.transition=a}}function O0(s,e,r,n){var i=U,a=cr.transition;cr.transition=null;try{U=4,fc(s,e,r,n)}finally{U=i,cr.transition=a}}function fc(s,e,r,n){if(Vi){var i=tl(s,e,r,n);if(i===null)po(s,e,n,Hi,r),Pd(s,n);else if(P0(i,s,e,r,n))n.stopPropagation();else if(Pd(s,n),e&4&&-1<C0.indexOf(s)){for(;i!==null;){var a=Pn(i);if(a!==null&&ih(a),a=tl(s,e,r,n),a===null&&po(s,e,n,Hi,r),a===i)break;i=a}i!==null&&n.stopPropagation()}else po(s,e,n,null,r)}}var Hi=null;function tl(s,e,r,n){if(Hi=null,s=mc(n),s=Es(s),s!==null)if(e=$s(s),e===null)s=null;else if(r=e.tag,r===13){if(s=Jm(e),s!==null)return s;s=null}else if(r===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;s=null}else e!==s&&(s=null);return Hi=s,null}function dh(s){switch(s){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(b0()){case hc:return 1;case th:return 4;case Fi:case j0:return 16;case sh:return 536870912;default:return 16}default:return 16}}var Xt=null,gc=null,ki=null;function uh(){if(ki)return ki;var s,e=gc,r=e.length,n,i="value"in Xt?Xt.value:Xt.textContent,a=i.length;for(s=0;s<r&&e[s]===i[s];s++);var o=r-s;for(n=1;n<=o&&e[r-n]===i[a-n];n++);return ki=i.slice(s,1<n?1-n:void 0)}function Si(s){var e=s.keyCode;return"charCode"in s?(s=s.charCode,s===0&&e===13&&(s=13)):s=e,s===10&&(s=13),32<=s||s===13?s:0}function Zn(){return!0}function Ad(){return!1}function tt(s){function e(r,n,i,a,o){this._reactName=r,this._targetInst=i,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null;for(var l in s)s.hasOwnProperty(l)&&(r=s[l],this[l]=r?r(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Zn:Ad,this.isPropagationStopped=Ad,this}return ee(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=Zn)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=Zn)},persist:function(){},isPersistent:Zn}),e}var Sr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(s){return s.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},vc=tt(Sr),Cn=ee({},Sr,{view:0,detail:0}),q0=tt(Cn),no,io,Dr,Na=ee({},Cn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:bc,button:0,buttons:0,relatedTarget:function(s){return s.relatedTarget===void 0?s.fromElement===s.srcElement?s.toElement:s.fromElement:s.relatedTarget},movementX:function(s){return"movementX"in s?s.movementX:(s!==Dr&&(Dr&&s.type==="mousemove"?(no=s.screenX-Dr.screenX,io=s.screenY-Dr.screenY):io=no=0,Dr=s),no)},movementY:function(s){return"movementY"in s?s.movementY:io}}),Od=tt(Na),R0=ee({},Na,{dataTransfer:0}),L0=tt(R0),D0=ee({},Cn,{relatedTarget:0}),ao=tt(D0),z0=ee({},Sr,{animationName:0,elapsedTime:0,pseudoElement:0}),M0=tt(z0),I0=ee({},Sr,{clipboardData:function(s){return"clipboardData"in s?s.clipboardData:window.clipboardData}}),$0=tt(I0),U0=ee({},Sr,{data:0}),qd=tt(U0),F0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},B0={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},V0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function H0(s){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(s):(s=V0[s])?!!e[s]:!1}function bc(){return H0}var W0=ee({},Cn,{key:function(s){if(s.key){var e=F0[s.key]||s.key;if(e!=="Unidentified")return e}return s.type==="keypress"?(s=Si(s),s===13?"Enter":String.fromCharCode(s)):s.type==="keydown"||s.type==="keyup"?B0[s.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:bc,charCode:function(s){return s.type==="keypress"?Si(s):0},keyCode:function(s){return s.type==="keydown"||s.type==="keyup"?s.keyCode:0},which:function(s){return s.type==="keypress"?Si(s):s.type==="keydown"||s.type==="keyup"?s.keyCode:0}}),G0=tt(W0),Q0=ee({},Na,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Rd=tt(Q0),Y0=ee({},Cn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:bc}),K0=tt(Y0),J0=ee({},Sr,{propertyName:0,elapsedTime:0,pseudoElement:0}),Z0=tt(J0),X0=ee({},Na,{deltaX:function(s){return"deltaX"in s?s.deltaX:"wheelDeltaX"in s?-s.wheelDeltaX:0},deltaY:function(s){return"deltaY"in s?s.deltaY:"wheelDeltaY"in s?-s.wheelDeltaY:"wheelDelta"in s?-s.wheelDelta:0},deltaZ:0,deltaMode:0}),eg=tt(X0),tg=[9,13,27,32],jc=zt&&"CompositionEvent"in window,Qr=null;zt&&"documentMode"in document&&(Qr=document.documentMode);var sg=zt&&"TextEvent"in window&&!Qr,mh=zt&&(!jc||Qr&&8<Qr&&11>=Qr),Ld=" ",Dd=!1;function hh(s,e){switch(s){case"keyup":return tg.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ph(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var Ks=!1;function rg(s,e){switch(s){case"compositionend":return ph(e);case"keypress":return e.which!==32?null:(Dd=!0,Ld);case"textInput":return s=e.data,s===Ld&&Dd?null:s;default:return null}}function ng(s,e){if(Ks)return s==="compositionend"||!jc&&hh(s,e)?(s=uh(),ki=gc=Xt=null,Ks=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return mh&&e.locale!=="ko"?null:e.data;default:return null}}var ig={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function zd(s){var e=s&&s.nodeName&&s.nodeName.toLowerCase();return e==="input"?!!ig[s.type]:e==="textarea"}function xh(s,e,r,n){Wm(n),e=Wi(e,"onChange"),0<e.length&&(r=new vc("onChange","change",null,r,n),s.push({event:r,listeners:e}))}var Yr=null,cn=null;function ag(s){Sh(s,0)}function _a(s){var e=Xs(s);if(Im(e))return s}function og(s,e){if(s==="change")return e}var fh=!1;if(zt){var oo;if(zt){var lo="oninput"in document;if(!lo){var Md=document.createElement("div");Md.setAttribute("oninput","return;"),lo=typeof Md.oninput=="function"}oo=lo}else oo=!1;fh=oo&&(!document.documentMode||9<document.documentMode)}function Id(){Yr&&(Yr.detachEvent("onpropertychange",gh),cn=Yr=null)}function gh(s){if(s.propertyName==="value"&&_a(cn)){var e=[];xh(e,cn,s,mc(s)),Km(ag,e)}}function lg(s,e,r){s==="focusin"?(Id(),Yr=e,cn=r,Yr.attachEvent("onpropertychange",gh)):s==="focusout"&&Id()}function cg(s){if(s==="selectionchange"||s==="keyup"||s==="keydown")return _a(cn)}function dg(s,e){if(s==="click")return _a(e)}function ug(s,e){if(s==="input"||s==="change")return _a(e)}function mg(s,e){return s===e&&(s!==0||1/s===1/e)||s!==s&&e!==e}var bt=typeof Object.is=="function"?Object.is:mg;function dn(s,e){if(bt(s,e))return!0;if(typeof s!="object"||s===null||typeof e!="object"||e===null)return!1;var r=Object.keys(s),n=Object.keys(e);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++){var i=r[n];if(!zo.call(e,i)||!bt(s[i],e[i]))return!1}return!0}function $d(s){for(;s&&s.firstChild;)s=s.firstChild;return s}function Ud(s,e){var r=$d(s);s=0;for(var n;r;){if(r.nodeType===3){if(n=s+r.textContent.length,s<=e&&n>=e)return{node:r,offset:e-s};s=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=$d(r)}}function vh(s,e){return s&&e?s===e?!0:s&&s.nodeType===3?!1:e&&e.nodeType===3?vh(s,e.parentNode):"contains"in s?s.contains(e):s.compareDocumentPosition?!!(s.compareDocumentPosition(e)&16):!1:!1}function bh(){for(var s=window,e=Ii();e instanceof s.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch{r=!1}if(r)s=e.contentWindow;else break;e=Ii(s.document)}return e}function yc(s){var e=s&&s.nodeName&&s.nodeName.toLowerCase();return e&&(e==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||e==="textarea"||s.contentEditable==="true")}function hg(s){var e=bh(),r=s.focusedElem,n=s.selectionRange;if(e!==r&&r&&r.ownerDocument&&vh(r.ownerDocument.documentElement,r)){if(n!==null&&yc(r)){if(e=n.start,s=n.end,s===void 0&&(s=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(s,r.value.length);else if(s=(e=r.ownerDocument||document)&&e.defaultView||window,s.getSelection){s=s.getSelection();var i=r.textContent.length,a=Math.min(n.start,i);n=n.end===void 0?a:Math.min(n.end,i),!s.extend&&a>n&&(i=n,n=a,a=i),i=Ud(r,a);var o=Ud(r,n);i&&o&&(s.rangeCount!==1||s.anchorNode!==i.node||s.anchorOffset!==i.offset||s.focusNode!==o.node||s.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),s.removeAllRanges(),a>n?(s.addRange(e),s.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),s.addRange(e)))}}for(e=[],s=r;s=s.parentNode;)s.nodeType===1&&e.push({element:s,left:s.scrollLeft,top:s.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<e.length;r++)s=e[r],s.element.scrollLeft=s.left,s.element.scrollTop=s.top}}var pg=zt&&"documentMode"in document&&11>=document.documentMode,Js=null,sl=null,Kr=null,rl=!1;function Fd(s,e,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;rl||Js==null||Js!==Ii(n)||(n=Js,"selectionStart"in n&&yc(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Kr&&dn(Kr,n)||(Kr=n,n=Wi(sl,"onSelect"),0<n.length&&(e=new vc("onSelect","select",null,e,r),s.push({event:e,listeners:n}),e.target=Js)))}function Xn(s,e){var r={};return r[s.toLowerCase()]=e.toLowerCase(),r["Webkit"+s]="webkit"+e,r["Moz"+s]="moz"+e,r}var Zs={animationend:Xn("Animation","AnimationEnd"),animationiteration:Xn("Animation","AnimationIteration"),animationstart:Xn("Animation","AnimationStart"),transitionend:Xn("Transition","TransitionEnd")},co={},jh={};zt&&(jh=document.createElement("div").style,"AnimationEvent"in window||(delete Zs.animationend.animation,delete Zs.animationiteration.animation,delete Zs.animationstart.animation),"TransitionEvent"in window||delete Zs.transitionend.transition);function ka(s){if(co[s])return co[s];if(!Zs[s])return s;var e=Zs[s],r;for(r in e)if(e.hasOwnProperty(r)&&r in jh)return co[s]=e[r];return s}var yh=ka("animationend"),wh=ka("animationiteration"),Nh=ka("animationstart"),_h=ka("transitionend"),kh=new Map,Bd="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function us(s,e){kh.set(s,e),Is(e,[s])}for(var uo=0;uo<Bd.length;uo++){var mo=Bd[uo],xg=mo.toLowerCase(),fg=mo[0].toUpperCase()+mo.slice(1);us(xg,"on"+fg)}us(yh,"onAnimationEnd");us(wh,"onAnimationIteration");us(Nh,"onAnimationStart");us("dblclick","onDoubleClick");us("focusin","onFocus");us("focusout","onBlur");us(_h,"onTransitionEnd");pr("onMouseEnter",["mouseout","mouseover"]);pr("onMouseLeave",["mouseout","mouseover"]);pr("onPointerEnter",["pointerout","pointerover"]);pr("onPointerLeave",["pointerout","pointerover"]);Is("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Is("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Is("onBeforeInput",["compositionend","keypress","textInput","paste"]);Is("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Is("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Is("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Br="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),gg=new Set("cancel close invalid load scroll toggle".split(" ").concat(Br));function Vd(s,e,r){var n=s.type||"unknown-event";s.currentTarget=r,x0(n,e,void 0,s),s.currentTarget=null}function Sh(s,e){e=(e&4)!==0;for(var r=0;r<s.length;r++){var n=s[r],i=n.event;n=n.listeners;e:{var a=void 0;if(e)for(var o=n.length-1;0<=o;o--){var l=n[o],c=l.instance,d=l.currentTarget;if(l=l.listener,c!==a&&i.isPropagationStopped())break e;Vd(i,l,d),a=c}else for(o=0;o<n.length;o++){if(l=n[o],c=l.instance,d=l.currentTarget,l=l.listener,c!==a&&i.isPropagationStopped())break e;Vd(i,l,d),a=c}}}if(Ui)throw s=Zo,Ui=!1,Zo=null,s}function H(s,e){var r=e[ll];r===void 0&&(r=e[ll]=new Set);var n=s+"__bubble";r.has(n)||(Eh(e,s,2,!1),r.add(n))}function ho(s,e,r){var n=0;e&&(n|=4),Eh(r,s,n,e)}var ei="_reactListening"+Math.random().toString(36).slice(2);function un(s){if(!s[ei]){s[ei]=!0,Rm.forEach(function(r){r!=="selectionchange"&&(gg.has(r)||ho(r,!1,s),ho(r,!0,s))});var e=s.nodeType===9?s:s.ownerDocument;e===null||e[ei]||(e[ei]=!0,ho("selectionchange",!1,e))}}function Eh(s,e,r,n){switch(dh(e)){case 1:var i=A0;break;case 4:i=O0;break;default:i=fc}r=i.bind(null,e,r,s),i=void 0,!Jo||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(i=!0),n?i!==void 0?s.addEventListener(e,r,{capture:!0,passive:i}):s.addEventListener(e,r,!0):i!==void 0?s.addEventListener(e,r,{passive:i}):s.addEventListener(e,r,!1)}function po(s,e,r,n,i){var a=n;if(!(e&1)&&!(e&2)&&n!==null)e:for(;;){if(n===null)return;var o=n.tag;if(o===3||o===4){var l=n.stateNode.containerInfo;if(l===i||l.nodeType===8&&l.parentNode===i)break;if(o===4)for(o=n.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;l!==null;){if(o=Es(l),o===null)return;if(c=o.tag,c===5||c===6){n=a=o;continue e}l=l.parentNode}}n=n.return}Km(function(){var d=a,u=mc(r),m=[];e:{var h=kh.get(s);if(h!==void 0){var f=vc,v=s;switch(s){case"keypress":if(Si(r)===0)break e;case"keydown":case"keyup":f=G0;break;case"focusin":v="focus",f=ao;break;case"focusout":v="blur",f=ao;break;case"beforeblur":case"afterblur":f=ao;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":f=Od;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":f=L0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":f=K0;break;case yh:case wh:case Nh:f=M0;break;case _h:f=Z0;break;case"scroll":f=q0;break;case"wheel":f=eg;break;case"copy":case"cut":case"paste":f=$0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":f=Rd}var j=(e&4)!==0,w=!j&&s==="scroll",p=j?h!==null?h+"Capture":null:h;j=[];for(var x=d,g;x!==null;){g=x;var y=g.stateNode;if(g.tag===5&&y!==null&&(g=y,p!==null&&(y=nn(x,p),y!=null&&j.push(mn(x,y,g)))),w)break;x=x.return}0<j.length&&(h=new f(h,v,null,r,u),m.push({event:h,listeners:j}))}}if(!(e&7)){e:{if(h=s==="mouseover"||s==="pointerover",f=s==="mouseout"||s==="pointerout",h&&r!==Yo&&(v=r.relatedTarget||r.fromElement)&&(Es(v)||v[Mt]))break e;if((f||h)&&(h=u.window===u?u:(h=u.ownerDocument)?h.defaultView||h.parentWindow:window,f?(v=r.relatedTarget||r.toElement,f=d,v=v?Es(v):null,v!==null&&(w=$s(v),v!==w||v.tag!==5&&v.tag!==6)&&(v=null)):(f=null,v=d),f!==v)){if(j=Od,y="onMouseLeave",p="onMouseEnter",x="mouse",(s==="pointerout"||s==="pointerover")&&(j=Rd,y="onPointerLeave",p="onPointerEnter",x="pointer"),w=f==null?h:Xs(f),g=v==null?h:Xs(v),h=new j(y,x+"leave",f,r,u),h.target=w,h.relatedTarget=g,y=null,Es(u)===d&&(j=new j(p,x+"enter",v,r,u),j.target=g,j.relatedTarget=w,y=j),w=y,f&&v)t:{for(j=f,p=v,x=0,g=j;g;g=Us(g))x++;for(g=0,y=p;y;y=Us(y))g++;for(;0<x-g;)j=Us(j),x--;for(;0<g-x;)p=Us(p),g--;for(;x--;){if(j===p||p!==null&&j===p.alternate)break t;j=Us(j),p=Us(p)}j=null}else j=null;f!==null&&Hd(m,h,f,j,!1),v!==null&&w!==null&&Hd(m,w,v,j,!0)}}e:{if(h=d?Xs(d):window,f=h.nodeName&&h.nodeName.toLowerCase(),f==="select"||f==="input"&&h.type==="file")var _=og;else if(zd(h))if(fh)_=ug;else{_=cg;var b=lg}else(f=h.nodeName)&&f.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(_=dg);if(_&&(_=_(s,d))){xh(m,_,r,u);break e}b&&b(s,h,d),s==="focusout"&&(b=h._wrapperState)&&b.controlled&&h.type==="number"&&Vo(h,"number",h.value)}switch(b=d?Xs(d):window,s){case"focusin":(zd(b)||b.contentEditable==="true")&&(Js=b,sl=d,Kr=null);break;case"focusout":Kr=sl=Js=null;break;case"mousedown":rl=!0;break;case"contextmenu":case"mouseup":case"dragend":rl=!1,Fd(m,r,u);break;case"selectionchange":if(pg)break;case"keydown":case"keyup":Fd(m,r,u)}var N;if(jc)e:{switch(s){case"compositionstart":var E="onCompositionStart";break e;case"compositionend":E="onCompositionEnd";break e;case"compositionupdate":E="onCompositionUpdate";break e}E=void 0}else Ks?hh(s,r)&&(E="onCompositionEnd"):s==="keydown"&&r.keyCode===229&&(E="onCompositionStart");E&&(mh&&r.locale!=="ko"&&(Ks||E!=="onCompositionStart"?E==="onCompositionEnd"&&Ks&&(N=uh()):(Xt=u,gc="value"in Xt?Xt.value:Xt.textContent,Ks=!0)),b=Wi(d,E),0<b.length&&(E=new qd(E,s,null,r,u),m.push({event:E,listeners:b}),N?E.data=N:(N=ph(r),N!==null&&(E.data=N)))),(N=sg?rg(s,r):ng(s,r))&&(d=Wi(d,"onBeforeInput"),0<d.length&&(u=new qd("onBeforeInput","beforeinput",null,r,u),m.push({event:u,listeners:d}),u.data=N))}Sh(m,e)})}function mn(s,e,r){return{instance:s,listener:e,currentTarget:r}}function Wi(s,e){for(var r=e+"Capture",n=[];s!==null;){var i=s,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=nn(s,r),a!=null&&n.unshift(mn(s,a,i)),a=nn(s,e),a!=null&&n.push(mn(s,a,i))),s=s.return}return n}function Us(s){if(s===null)return null;do s=s.return;while(s&&s.tag!==5);return s||null}function Hd(s,e,r,n,i){for(var a=e._reactName,o=[];r!==null&&r!==n;){var l=r,c=l.alternate,d=l.stateNode;if(c!==null&&c===n)break;l.tag===5&&d!==null&&(l=d,i?(c=nn(r,a),c!=null&&o.unshift(mn(r,c,l))):i||(c=nn(r,a),c!=null&&o.push(mn(r,c,l)))),r=r.return}o.length!==0&&s.push({event:e,listeners:o})}var vg=/\r\n?/g,bg=/\u0000|\uFFFD/g;function Wd(s){return(typeof s=="string"?s:""+s).replace(vg,`
`).replace(bg,"")}function ti(s,e,r){if(e=Wd(e),Wd(s)!==e&&r)throw Error(S(425))}function Gi(){}var nl=null,il=null;function al(s,e){return s==="textarea"||s==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var ol=typeof setTimeout=="function"?setTimeout:void 0,jg=typeof clearTimeout=="function"?clearTimeout:void 0,Gd=typeof Promise=="function"?Promise:void 0,yg=typeof queueMicrotask=="function"?queueMicrotask:typeof Gd<"u"?function(s){return Gd.resolve(null).then(s).catch(wg)}:ol;function wg(s){setTimeout(function(){throw s})}function xo(s,e){var r=e,n=0;do{var i=r.nextSibling;if(s.removeChild(r),i&&i.nodeType===8)if(r=i.data,r==="/$"){if(n===0){s.removeChild(i),ln(e);return}n--}else r!=="$"&&r!=="$?"&&r!=="$!"||n++;r=i}while(r);ln(e)}function ns(s){for(;s!=null;s=s.nextSibling){var e=s.nodeType;if(e===1||e===3)break;if(e===8){if(e=s.data,e==="$"||e==="$!"||e==="$?")break;if(e==="/$")return null}}return s}function Qd(s){s=s.previousSibling;for(var e=0;s;){if(s.nodeType===8){var r=s.data;if(r==="$"||r==="$!"||r==="$?"){if(e===0)return s;e--}else r==="/$"&&e++}s=s.previousSibling}return null}var Er=Math.random().toString(36).slice(2),kt="__reactFiber$"+Er,hn="__reactProps$"+Er,Mt="__reactContainer$"+Er,ll="__reactEvents$"+Er,Ng="__reactListeners$"+Er,_g="__reactHandles$"+Er;function Es(s){var e=s[kt];if(e)return e;for(var r=s.parentNode;r;){if(e=r[Mt]||r[kt]){if(r=e.alternate,e.child!==null||r!==null&&r.child!==null)for(s=Qd(s);s!==null;){if(r=s[kt])return r;s=Qd(s)}return e}s=r,r=s.parentNode}return null}function Pn(s){return s=s[kt]||s[Mt],!s||s.tag!==5&&s.tag!==6&&s.tag!==13&&s.tag!==3?null:s}function Xs(s){if(s.tag===5||s.tag===6)return s.stateNode;throw Error(S(33))}function Sa(s){return s[hn]||null}var cl=[],er=-1;function ms(s){return{current:s}}function W(s){0>er||(s.current=cl[er],cl[er]=null,er--)}function B(s,e){er++,cl[er]=s.current,s.current=e}var ds={},Ae=ms(ds),Be=ms(!1),qs=ds;function xr(s,e){var r=s.type.contextTypes;if(!r)return ds;var n=s.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in r)i[a]=e[a];return n&&(s=s.stateNode,s.__reactInternalMemoizedUnmaskedChildContext=e,s.__reactInternalMemoizedMaskedChildContext=i),i}function Ve(s){return s=s.childContextTypes,s!=null}function Qi(){W(Be),W(Ae)}function Yd(s,e,r){if(Ae.current!==ds)throw Error(S(168));B(Ae,e),B(Be,r)}function Ch(s,e,r){var n=s.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var i in n)if(!(i in e))throw Error(S(108,l0(s)||"Unknown",i));return ee({},r,n)}function Yi(s){return s=(s=s.stateNode)&&s.__reactInternalMemoizedMergedChildContext||ds,qs=Ae.current,B(Ae,s),B(Be,Be.current),!0}function Kd(s,e,r){var n=s.stateNode;if(!n)throw Error(S(169));r?(s=Ch(s,e,qs),n.__reactInternalMemoizedMergedChildContext=s,W(Be),W(Ae),B(Ae,s)):W(Be),B(Be,r)}var At=null,Ea=!1,fo=!1;function Ph(s){At===null?At=[s]:At.push(s)}function kg(s){Ea=!0,Ph(s)}function hs(){if(!fo&&At!==null){fo=!0;var s=0,e=U;try{var r=At;for(U=1;s<r.length;s++){var n=r[s];do n=n(!0);while(n!==null)}At=null,Ea=!1}catch(i){throw At!==null&&(At=At.slice(s+1)),eh(hc,hs),i}finally{U=e,fo=!1}}return null}var tr=[],sr=0,Ki=null,Ji=0,st=[],rt=0,Rs=null,Ot=1,qt="";function js(s,e){tr[sr++]=Ji,tr[sr++]=Ki,Ki=s,Ji=e}function Th(s,e,r){st[rt++]=Ot,st[rt++]=qt,st[rt++]=Rs,Rs=s;var n=Ot;s=qt;var i=32-gt(n)-1;n&=~(1<<i),r+=1;var a=32-gt(e)+i;if(30<a){var o=i-i%5;a=(n&(1<<o)-1).toString(32),n>>=o,i-=o,Ot=1<<32-gt(e)+i|r<<i|n,qt=a+s}else Ot=1<<a|r<<i|n,qt=s}function wc(s){s.return!==null&&(js(s,1),Th(s,1,0))}function Nc(s){for(;s===Ki;)Ki=tr[--sr],tr[sr]=null,Ji=tr[--sr],tr[sr]=null;for(;s===Rs;)Rs=st[--rt],st[rt]=null,qt=st[--rt],st[rt]=null,Ot=st[--rt],st[rt]=null}var Ze=null,Je=null,Y=!1,ft=null;function Ah(s,e){var r=nt(5,null,null,0);r.elementType="DELETED",r.stateNode=e,r.return=s,e=s.deletions,e===null?(s.deletions=[r],s.flags|=16):e.push(r)}function Jd(s,e){switch(s.tag){case 5:var r=s.type;return e=e.nodeType!==1||r.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(s.stateNode=e,Ze=s,Je=ns(e.firstChild),!0):!1;case 6:return e=s.pendingProps===""||e.nodeType!==3?null:e,e!==null?(s.stateNode=e,Ze=s,Je=null,!0):!1;case 13:return e=e.nodeType!==8?null:e,e!==null?(r=Rs!==null?{id:Ot,overflow:qt}:null,s.memoizedState={dehydrated:e,treeContext:r,retryLane:1073741824},r=nt(18,null,null,0),r.stateNode=e,r.return=s,s.child=r,Ze=s,Je=null,!0):!1;default:return!1}}function dl(s){return(s.mode&1)!==0&&(s.flags&128)===0}function ul(s){if(Y){var e=Je;if(e){var r=e;if(!Jd(s,e)){if(dl(s))throw Error(S(418));e=ns(r.nextSibling);var n=Ze;e&&Jd(s,e)?Ah(n,r):(s.flags=s.flags&-4097|2,Y=!1,Ze=s)}}else{if(dl(s))throw Error(S(418));s.flags=s.flags&-4097|2,Y=!1,Ze=s}}}function Zd(s){for(s=s.return;s!==null&&s.tag!==5&&s.tag!==3&&s.tag!==13;)s=s.return;Ze=s}function si(s){if(s!==Ze)return!1;if(!Y)return Zd(s),Y=!0,!1;var e;if((e=s.tag!==3)&&!(e=s.tag!==5)&&(e=s.type,e=e!=="head"&&e!=="body"&&!al(s.type,s.memoizedProps)),e&&(e=Je)){if(dl(s))throw Oh(),Error(S(418));for(;e;)Ah(s,e),e=ns(e.nextSibling)}if(Zd(s),s.tag===13){if(s=s.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(S(317));e:{for(s=s.nextSibling,e=0;s;){if(s.nodeType===8){var r=s.data;if(r==="/$"){if(e===0){Je=ns(s.nextSibling);break e}e--}else r!=="$"&&r!=="$!"&&r!=="$?"||e++}s=s.nextSibling}Je=null}}else Je=Ze?ns(s.stateNode.nextSibling):null;return!0}function Oh(){for(var s=Je;s;)s=ns(s.nextSibling)}function fr(){Je=Ze=null,Y=!1}function _c(s){ft===null?ft=[s]:ft.push(s)}var Sg=Ut.ReactCurrentBatchConfig;function zr(s,e,r){if(s=r.ref,s!==null&&typeof s!="function"&&typeof s!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(S(309));var n=r.stateNode}if(!n)throw Error(S(147,s));var i=n,a=""+s;return e!==null&&e.ref!==null&&typeof e.ref=="function"&&e.ref._stringRef===a?e.ref:(e=function(o){var l=i.refs;o===null?delete l[a]:l[a]=o},e._stringRef=a,e)}if(typeof s!="string")throw Error(S(284));if(!r._owner)throw Error(S(290,s))}return s}function ri(s,e){throw s=Object.prototype.toString.call(e),Error(S(31,s==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":s))}function Xd(s){var e=s._init;return e(s._payload)}function qh(s){function e(p,x){if(s){var g=p.deletions;g===null?(p.deletions=[x],p.flags|=16):g.push(x)}}function r(p,x){if(!s)return null;for(;x!==null;)e(p,x),x=x.sibling;return null}function n(p,x){for(p=new Map;x!==null;)x.key!==null?p.set(x.key,x):p.set(x.index,x),x=x.sibling;return p}function i(p,x){return p=ls(p,x),p.index=0,p.sibling=null,p}function a(p,x,g){return p.index=g,s?(g=p.alternate,g!==null?(g=g.index,g<x?(p.flags|=2,x):g):(p.flags|=2,x)):(p.flags|=1048576,x)}function o(p){return s&&p.alternate===null&&(p.flags|=2),p}function l(p,x,g,y){return x===null||x.tag!==6?(x=No(g,p.mode,y),x.return=p,x):(x=i(x,g),x.return=p,x)}function c(p,x,g,y){var _=g.type;return _===Ys?u(p,x,g.props.children,y,g.key):x!==null&&(x.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Gt&&Xd(_)===x.type)?(y=i(x,g.props),y.ref=zr(p,x,g),y.return=p,y):(y=qi(g.type,g.key,g.props,null,p.mode,y),y.ref=zr(p,x,g),y.return=p,y)}function d(p,x,g,y){return x===null||x.tag!==4||x.stateNode.containerInfo!==g.containerInfo||x.stateNode.implementation!==g.implementation?(x=_o(g,p.mode,y),x.return=p,x):(x=i(x,g.children||[]),x.return=p,x)}function u(p,x,g,y,_){return x===null||x.tag!==7?(x=Os(g,p.mode,y,_),x.return=p,x):(x=i(x,g),x.return=p,x)}function m(p,x,g){if(typeof x=="string"&&x!==""||typeof x=="number")return x=No(""+x,p.mode,g),x.return=p,x;if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Wn:return g=qi(x.type,x.key,x.props,null,p.mode,g),g.ref=zr(p,null,x),g.return=p,g;case Qs:return x=_o(x,p.mode,g),x.return=p,x;case Gt:var y=x._init;return m(p,y(x._payload),g)}if(Ur(x)||Or(x))return x=Os(x,p.mode,g,null),x.return=p,x;ri(p,x)}return null}function h(p,x,g,y){var _=x!==null?x.key:null;if(typeof g=="string"&&g!==""||typeof g=="number")return _!==null?null:l(p,x,""+g,y);if(typeof g=="object"&&g!==null){switch(g.$$typeof){case Wn:return g.key===_?c(p,x,g,y):null;case Qs:return g.key===_?d(p,x,g,y):null;case Gt:return _=g._init,h(p,x,_(g._payload),y)}if(Ur(g)||Or(g))return _!==null?null:u(p,x,g,y,null);ri(p,g)}return null}function f(p,x,g,y,_){if(typeof y=="string"&&y!==""||typeof y=="number")return p=p.get(g)||null,l(x,p,""+y,_);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Wn:return p=p.get(y.key===null?g:y.key)||null,c(x,p,y,_);case Qs:return p=p.get(y.key===null?g:y.key)||null,d(x,p,y,_);case Gt:var b=y._init;return f(p,x,g,b(y._payload),_)}if(Ur(y)||Or(y))return p=p.get(g)||null,u(x,p,y,_,null);ri(x,y)}return null}function v(p,x,g,y){for(var _=null,b=null,N=x,E=x=0,R=null;N!==null&&E<g.length;E++){N.index>E?(R=N,N=null):R=N.sibling;var O=h(p,N,g[E],y);if(O===null){N===null&&(N=R);break}s&&N&&O.alternate===null&&e(p,N),x=a(O,x,E),b===null?_=O:b.sibling=O,b=O,N=R}if(E===g.length)return r(p,N),Y&&js(p,E),_;if(N===null){for(;E<g.length;E++)N=m(p,g[E],y),N!==null&&(x=a(N,x,E),b===null?_=N:b.sibling=N,b=N);return Y&&js(p,E),_}for(N=n(p,N);E<g.length;E++)R=f(N,p,E,g[E],y),R!==null&&(s&&R.alternate!==null&&N.delete(R.key===null?E:R.key),x=a(R,x,E),b===null?_=R:b.sibling=R,b=R);return s&&N.forEach(function(ce){return e(p,ce)}),Y&&js(p,E),_}function j(p,x,g,y){var _=Or(g);if(typeof _!="function")throw Error(S(150));if(g=_.call(g),g==null)throw Error(S(151));for(var b=_=null,N=x,E=x=0,R=null,O=g.next();N!==null&&!O.done;E++,O=g.next()){N.index>E?(R=N,N=null):R=N.sibling;var ce=h(p,N,O.value,y);if(ce===null){N===null&&(N=R);break}s&&N&&ce.alternate===null&&e(p,N),x=a(ce,x,E),b===null?_=ce:b.sibling=ce,b=ce,N=R}if(O.done)return r(p,N),Y&&js(p,E),_;if(N===null){for(;!O.done;E++,O=g.next())O=m(p,O.value,y),O!==null&&(x=a(O,x,E),b===null?_=O:b.sibling=O,b=O);return Y&&js(p,E),_}for(N=n(p,N);!O.done;E++,O=g.next())O=f(N,p,E,O.value,y),O!==null&&(s&&O.alternate!==null&&N.delete(O.key===null?E:O.key),x=a(O,x,E),b===null?_=O:b.sibling=O,b=O);return s&&N.forEach(function(We){return e(p,We)}),Y&&js(p,E),_}function w(p,x,g,y){if(typeof g=="object"&&g!==null&&g.type===Ys&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Wn:e:{for(var _=g.key,b=x;b!==null;){if(b.key===_){if(_=g.type,_===Ys){if(b.tag===7){r(p,b.sibling),x=i(b,g.props.children),x.return=p,p=x;break e}}else if(b.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Gt&&Xd(_)===b.type){r(p,b.sibling),x=i(b,g.props),x.ref=zr(p,b,g),x.return=p,p=x;break e}r(p,b);break}else e(p,b);b=b.sibling}g.type===Ys?(x=Os(g.props.children,p.mode,y,g.key),x.return=p,p=x):(y=qi(g.type,g.key,g.props,null,p.mode,y),y.ref=zr(p,x,g),y.return=p,p=y)}return o(p);case Qs:e:{for(b=g.key;x!==null;){if(x.key===b)if(x.tag===4&&x.stateNode.containerInfo===g.containerInfo&&x.stateNode.implementation===g.implementation){r(p,x.sibling),x=i(x,g.children||[]),x.return=p,p=x;break e}else{r(p,x);break}else e(p,x);x=x.sibling}x=_o(g,p.mode,y),x.return=p,p=x}return o(p);case Gt:return b=g._init,w(p,x,b(g._payload),y)}if(Ur(g))return v(p,x,g,y);if(Or(g))return j(p,x,g,y);ri(p,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,x!==null&&x.tag===6?(r(p,x.sibling),x=i(x,g),x.return=p,p=x):(r(p,x),x=No(g,p.mode,y),x.return=p,p=x),o(p)):r(p,x)}return w}var gr=qh(!0),Rh=qh(!1),Zi=ms(null),Xi=null,rr=null,kc=null;function Sc(){kc=rr=Xi=null}function Ec(s){var e=Zi.current;W(Zi),s._currentValue=e}function ml(s,e,r){for(;s!==null;){var n=s.alternate;if((s.childLanes&e)!==e?(s.childLanes|=e,n!==null&&(n.childLanes|=e)):n!==null&&(n.childLanes&e)!==e&&(n.childLanes|=e),s===r)break;s=s.return}}function dr(s,e){Xi=s,kc=rr=null,s=s.dependencies,s!==null&&s.firstContext!==null&&(s.lanes&e&&(Fe=!0),s.firstContext=null)}function at(s){var e=s._currentValue;if(kc!==s)if(s={context:s,memoizedValue:e,next:null},rr===null){if(Xi===null)throw Error(S(308));rr=s,Xi.dependencies={lanes:0,firstContext:s}}else rr=rr.next=s;return e}var Cs=null;function Cc(s){Cs===null?Cs=[s]:Cs.push(s)}function Lh(s,e,r,n){var i=e.interleaved;return i===null?(r.next=r,Cc(e)):(r.next=i.next,i.next=r),e.interleaved=r,It(s,n)}function It(s,e){s.lanes|=e;var r=s.alternate;for(r!==null&&(r.lanes|=e),r=s,s=s.return;s!==null;)s.childLanes|=e,r=s.alternate,r!==null&&(r.childLanes|=e),r=s,s=s.return;return r.tag===3?r.stateNode:null}var Qt=!1;function Pc(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Dh(s,e){s=s.updateQueue,e.updateQueue===s&&(e.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,effects:s.effects})}function Rt(s,e){return{eventTime:s,lane:e,tag:0,payload:null,callback:null,next:null}}function is(s,e,r){var n=s.updateQueue;if(n===null)return null;if(n=n.shared,I&2){var i=n.pending;return i===null?e.next=e:(e.next=i.next,i.next=e),n.pending=e,It(s,r)}return i=n.interleaved,i===null?(e.next=e,Cc(n)):(e.next=i.next,i.next=e),n.interleaved=e,It(s,r)}function Ei(s,e,r){if(e=e.updateQueue,e!==null&&(e=e.shared,(r&4194240)!==0)){var n=e.lanes;n&=s.pendingLanes,r|=n,e.lanes=r,pc(s,r)}}function eu(s,e){var r=s.updateQueue,n=s.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var i=null,a=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};a===null?i=a=o:a=a.next=o,r=r.next}while(r!==null);a===null?i=a=e:a=a.next=e}else i=a=e;r={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:n.shared,effects:n.effects},s.updateQueue=r;return}s=r.lastBaseUpdate,s===null?r.firstBaseUpdate=e:s.next=e,r.lastBaseUpdate=e}function ea(s,e,r,n){var i=s.updateQueue;Qt=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var c=l,d=c.next;c.next=null,o===null?a=d:o.next=d,o=c;var u=s.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==o&&(l===null?u.firstBaseUpdate=d:l.next=d,u.lastBaseUpdate=c))}if(a!==null){var m=i.baseState;o=0,u=d=c=null,l=a;do{var h=l.lane,f=l.eventTime;if((n&h)===h){u!==null&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var v=s,j=l;switch(h=e,f=r,j.tag){case 1:if(v=j.payload,typeof v=="function"){m=v.call(f,m,h);break e}m=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=j.payload,h=typeof v=="function"?v.call(f,m,h):v,h==null)break e;m=ee({},m,h);break e;case 2:Qt=!0}}l.callback!==null&&l.lane!==0&&(s.flags|=64,h=i.effects,h===null?i.effects=[l]:h.push(l))}else f={eventTime:f,lane:h,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(d=u=f,c=m):u=u.next=f,o|=h;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;h=l,l=h.next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}while(!0);if(u===null&&(c=m),i.baseState=c,i.firstBaseUpdate=d,i.lastBaseUpdate=u,e=i.shared.interleaved,e!==null){i=e;do o|=i.lane,i=i.next;while(i!==e)}else a===null&&(i.shared.lanes=0);Ds|=o,s.lanes=o,s.memoizedState=m}}function tu(s,e,r){if(s=e.effects,e.effects=null,s!==null)for(e=0;e<s.length;e++){var n=s[e],i=n.callback;if(i!==null){if(n.callback=null,n=r,typeof i!="function")throw Error(S(191,i));i.call(n)}}}var Tn={},Et=ms(Tn),pn=ms(Tn),xn=ms(Tn);function Ps(s){if(s===Tn)throw Error(S(174));return s}function Tc(s,e){switch(B(xn,e),B(pn,s),B(Et,Tn),s=e.nodeType,s){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Wo(null,"");break;default:s=s===8?e.parentNode:e,e=s.namespaceURI||null,s=s.tagName,e=Wo(e,s)}W(Et),B(Et,e)}function vr(){W(Et),W(pn),W(xn)}function zh(s){Ps(xn.current);var e=Ps(Et.current),r=Wo(e,s.type);e!==r&&(B(pn,s),B(Et,r))}function Ac(s){pn.current===s&&(W(Et),W(pn))}var Z=ms(0);function ta(s){for(var e=s;e!==null;){if(e.tag===13){var r=e.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===s)break;for(;e.sibling===null;){if(e.return===null||e.return===s)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var go=[];function Oc(){for(var s=0;s<go.length;s++)go[s]._workInProgressVersionPrimary=null;go.length=0}var Ci=Ut.ReactCurrentDispatcher,vo=Ut.ReactCurrentBatchConfig,Ls=0,X=null,pe=null,ge=null,sa=!1,Jr=!1,fn=0,Eg=0;function Se(){throw Error(S(321))}function qc(s,e){if(e===null)return!1;for(var r=0;r<e.length&&r<s.length;r++)if(!bt(s[r],e[r]))return!1;return!0}function Rc(s,e,r,n,i,a){if(Ls=a,X=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,Ci.current=s===null||s.memoizedState===null?Ag:Og,s=r(n,i),Jr){a=0;do{if(Jr=!1,fn=0,25<=a)throw Error(S(301));a+=1,ge=pe=null,e.updateQueue=null,Ci.current=qg,s=r(n,i)}while(Jr)}if(Ci.current=ra,e=pe!==null&&pe.next!==null,Ls=0,ge=pe=X=null,sa=!1,e)throw Error(S(300));return s}function Lc(){var s=fn!==0;return fn=0,s}function yt(){var s={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ge===null?X.memoizedState=ge=s:ge=ge.next=s,ge}function ot(){if(pe===null){var s=X.alternate;s=s!==null?s.memoizedState:null}else s=pe.next;var e=ge===null?X.memoizedState:ge.next;if(e!==null)ge=e,pe=s;else{if(s===null)throw Error(S(310));pe=s,s={memoizedState:pe.memoizedState,baseState:pe.baseState,baseQueue:pe.baseQueue,queue:pe.queue,next:null},ge===null?X.memoizedState=ge=s:ge=ge.next=s}return ge}function gn(s,e){return typeof e=="function"?e(s):e}function bo(s){var e=ot(),r=e.queue;if(r===null)throw Error(S(311));r.lastRenderedReducer=s;var n=pe,i=n.baseQueue,a=r.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}n.baseQueue=i=a,r.pending=null}if(i!==null){a=i.next,n=n.baseState;var l=o=null,c=null,d=a;do{var u=d.lane;if((Ls&u)===u)c!==null&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),n=d.hasEagerState?d.eagerState:s(n,d.action);else{var m={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(l=c=m,o=n):c=c.next=m,X.lanes|=u,Ds|=u}d=d.next}while(d!==null&&d!==a);c===null?o=n:c.next=l,bt(n,e.memoizedState)||(Fe=!0),e.memoizedState=n,e.baseState=o,e.baseQueue=c,r.lastRenderedState=n}if(s=r.interleaved,s!==null){i=s;do a=i.lane,X.lanes|=a,Ds|=a,i=i.next;while(i!==s)}else i===null&&(r.lanes=0);return[e.memoizedState,r.dispatch]}function jo(s){var e=ot(),r=e.queue;if(r===null)throw Error(S(311));r.lastRenderedReducer=s;var n=r.dispatch,i=r.pending,a=e.memoizedState;if(i!==null){r.pending=null;var o=i=i.next;do a=s(a,o.action),o=o.next;while(o!==i);bt(a,e.memoizedState)||(Fe=!0),e.memoizedState=a,e.baseQueue===null&&(e.baseState=a),r.lastRenderedState=a}return[a,n]}function Mh(){}function Ih(s,e){var r=X,n=ot(),i=e(),a=!bt(n.memoizedState,i);if(a&&(n.memoizedState=i,Fe=!0),n=n.queue,Dc(Fh.bind(null,r,n,s),[s]),n.getSnapshot!==e||a||ge!==null&&ge.memoizedState.tag&1){if(r.flags|=2048,vn(9,Uh.bind(null,r,n,i,e),void 0,null),ve===null)throw Error(S(349));Ls&30||$h(r,e,i)}return i}function $h(s,e,r){s.flags|=16384,s={getSnapshot:e,value:r},e=X.updateQueue,e===null?(e={lastEffect:null,stores:null},X.updateQueue=e,e.stores=[s]):(r=e.stores,r===null?e.stores=[s]:r.push(s))}function Uh(s,e,r,n){e.value=r,e.getSnapshot=n,Bh(e)&&Vh(s)}function Fh(s,e,r){return r(function(){Bh(e)&&Vh(s)})}function Bh(s){var e=s.getSnapshot;s=s.value;try{var r=e();return!bt(s,r)}catch{return!0}}function Vh(s){var e=It(s,1);e!==null&&vt(e,s,1,-1)}function su(s){var e=yt();return typeof s=="function"&&(s=s()),e.memoizedState=e.baseState=s,s={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:gn,lastRenderedState:s},e.queue=s,s=s.dispatch=Tg.bind(null,X,s),[e.memoizedState,s]}function vn(s,e,r,n){return s={tag:s,create:e,destroy:r,deps:n,next:null},e=X.updateQueue,e===null?(e={lastEffect:null,stores:null},X.updateQueue=e,e.lastEffect=s.next=s):(r=e.lastEffect,r===null?e.lastEffect=s.next=s:(n=r.next,r.next=s,s.next=n,e.lastEffect=s)),s}function Hh(){return ot().memoizedState}function Pi(s,e,r,n){var i=yt();X.flags|=s,i.memoizedState=vn(1|e,r,void 0,n===void 0?null:n)}function Ca(s,e,r,n){var i=ot();n=n===void 0?null:n;var a=void 0;if(pe!==null){var o=pe.memoizedState;if(a=o.destroy,n!==null&&qc(n,o.deps)){i.memoizedState=vn(e,r,a,n);return}}X.flags|=s,i.memoizedState=vn(1|e,r,a,n)}function ru(s,e){return Pi(8390656,8,s,e)}function Dc(s,e){return Ca(2048,8,s,e)}function Wh(s,e){return Ca(4,2,s,e)}function Gh(s,e){return Ca(4,4,s,e)}function Qh(s,e){if(typeof e=="function")return s=s(),e(s),function(){e(null)};if(e!=null)return s=s(),e.current=s,function(){e.current=null}}function Yh(s,e,r){return r=r!=null?r.concat([s]):null,Ca(4,4,Qh.bind(null,e,s),r)}function zc(){}function Kh(s,e){var r=ot();e=e===void 0?null:e;var n=r.memoizedState;return n!==null&&e!==null&&qc(e,n[1])?n[0]:(r.memoizedState=[s,e],s)}function Jh(s,e){var r=ot();e=e===void 0?null:e;var n=r.memoizedState;return n!==null&&e!==null&&qc(e,n[1])?n[0]:(s=s(),r.memoizedState=[s,e],s)}function Zh(s,e,r){return Ls&21?(bt(r,e)||(r=rh(),X.lanes|=r,Ds|=r,s.baseState=!0),e):(s.baseState&&(s.baseState=!1,Fe=!0),s.memoizedState=r)}function Cg(s,e){var r=U;U=r!==0&&4>r?r:4,s(!0);var n=vo.transition;vo.transition={};try{s(!1),e()}finally{U=r,vo.transition=n}}function Xh(){return ot().memoizedState}function Pg(s,e,r){var n=os(s);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},ep(s))tp(e,r);else if(r=Lh(s,e,r,n),r!==null){var i=Le();vt(r,s,n,i),sp(r,e,n)}}function Tg(s,e,r){var n=os(s),i={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(ep(s))tp(e,i);else{var a=s.alternate;if(s.lanes===0&&(a===null||a.lanes===0)&&(a=e.lastRenderedReducer,a!==null))try{var o=e.lastRenderedState,l=a(o,r);if(i.hasEagerState=!0,i.eagerState=l,bt(l,o)){var c=e.interleaved;c===null?(i.next=i,Cc(e)):(i.next=c.next,c.next=i),e.interleaved=i;return}}catch{}finally{}r=Lh(s,e,i,n),r!==null&&(i=Le(),vt(r,s,n,i),sp(r,e,n))}}function ep(s){var e=s.alternate;return s===X||e!==null&&e===X}function tp(s,e){Jr=sa=!0;var r=s.pending;r===null?e.next=e:(e.next=r.next,r.next=e),s.pending=e}function sp(s,e,r){if(r&4194240){var n=e.lanes;n&=s.pendingLanes,r|=n,e.lanes=r,pc(s,r)}}var ra={readContext:at,useCallback:Se,useContext:Se,useEffect:Se,useImperativeHandle:Se,useInsertionEffect:Se,useLayoutEffect:Se,useMemo:Se,useReducer:Se,useRef:Se,useState:Se,useDebugValue:Se,useDeferredValue:Se,useTransition:Se,useMutableSource:Se,useSyncExternalStore:Se,useId:Se,unstable_isNewReconciler:!1},Ag={readContext:at,useCallback:function(s,e){return yt().memoizedState=[s,e===void 0?null:e],s},useContext:at,useEffect:ru,useImperativeHandle:function(s,e,r){return r=r!=null?r.concat([s]):null,Pi(4194308,4,Qh.bind(null,e,s),r)},useLayoutEffect:function(s,e){return Pi(4194308,4,s,e)},useInsertionEffect:function(s,e){return Pi(4,2,s,e)},useMemo:function(s,e){var r=yt();return e=e===void 0?null:e,s=s(),r.memoizedState=[s,e],s},useReducer:function(s,e,r){var n=yt();return e=r!==void 0?r(e):e,n.memoizedState=n.baseState=e,s={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:e},n.queue=s,s=s.dispatch=Pg.bind(null,X,s),[n.memoizedState,s]},useRef:function(s){var e=yt();return s={current:s},e.memoizedState=s},useState:su,useDebugValue:zc,useDeferredValue:function(s){return yt().memoizedState=s},useTransition:function(){var s=su(!1),e=s[0];return s=Cg.bind(null,s[1]),yt().memoizedState=s,[e,s]},useMutableSource:function(){},useSyncExternalStore:function(s,e,r){var n=X,i=yt();if(Y){if(r===void 0)throw Error(S(407));r=r()}else{if(r=e(),ve===null)throw Error(S(349));Ls&30||$h(n,e,r)}i.memoizedState=r;var a={value:r,getSnapshot:e};return i.queue=a,ru(Fh.bind(null,n,a,s),[s]),n.flags|=2048,vn(9,Uh.bind(null,n,a,r,e),void 0,null),r},useId:function(){var s=yt(),e=ve.identifierPrefix;if(Y){var r=qt,n=Ot;r=(n&~(1<<32-gt(n)-1)).toString(32)+r,e=":"+e+"R"+r,r=fn++,0<r&&(e+="H"+r.toString(32)),e+=":"}else r=Eg++,e=":"+e+"r"+r.toString(32)+":";return s.memoizedState=e},unstable_isNewReconciler:!1},Og={readContext:at,useCallback:Kh,useContext:at,useEffect:Dc,useImperativeHandle:Yh,useInsertionEffect:Wh,useLayoutEffect:Gh,useMemo:Jh,useReducer:bo,useRef:Hh,useState:function(){return bo(gn)},useDebugValue:zc,useDeferredValue:function(s){var e=ot();return Zh(e,pe.memoizedState,s)},useTransition:function(){var s=bo(gn)[0],e=ot().memoizedState;return[s,e]},useMutableSource:Mh,useSyncExternalStore:Ih,useId:Xh,unstable_isNewReconciler:!1},qg={readContext:at,useCallback:Kh,useContext:at,useEffect:Dc,useImperativeHandle:Yh,useInsertionEffect:Wh,useLayoutEffect:Gh,useMemo:Jh,useReducer:jo,useRef:Hh,useState:function(){return jo(gn)},useDebugValue:zc,useDeferredValue:function(s){var e=ot();return pe===null?e.memoizedState=s:Zh(e,pe.memoizedState,s)},useTransition:function(){var s=jo(gn)[0],e=ot().memoizedState;return[s,e]},useMutableSource:Mh,useSyncExternalStore:Ih,useId:Xh,unstable_isNewReconciler:!1};function mt(s,e){if(s&&s.defaultProps){e=ee({},e),s=s.defaultProps;for(var r in s)e[r]===void 0&&(e[r]=s[r]);return e}return e}function hl(s,e,r,n){e=s.memoizedState,r=r(n,e),r=r==null?e:ee({},e,r),s.memoizedState=r,s.lanes===0&&(s.updateQueue.baseState=r)}var Pa={isMounted:function(s){return(s=s._reactInternals)?$s(s)===s:!1},enqueueSetState:function(s,e,r){s=s._reactInternals;var n=Le(),i=os(s),a=Rt(n,i);a.payload=e,r!=null&&(a.callback=r),e=is(s,a,i),e!==null&&(vt(e,s,i,n),Ei(e,s,i))},enqueueReplaceState:function(s,e,r){s=s._reactInternals;var n=Le(),i=os(s),a=Rt(n,i);a.tag=1,a.payload=e,r!=null&&(a.callback=r),e=is(s,a,i),e!==null&&(vt(e,s,i,n),Ei(e,s,i))},enqueueForceUpdate:function(s,e){s=s._reactInternals;var r=Le(),n=os(s),i=Rt(r,n);i.tag=2,e!=null&&(i.callback=e),e=is(s,i,n),e!==null&&(vt(e,s,n,r),Ei(e,s,n))}};function nu(s,e,r,n,i,a,o){return s=s.stateNode,typeof s.shouldComponentUpdate=="function"?s.shouldComponentUpdate(n,a,o):e.prototype&&e.prototype.isPureReactComponent?!dn(r,n)||!dn(i,a):!0}function rp(s,e,r){var n=!1,i=ds,a=e.contextType;return typeof a=="object"&&a!==null?a=at(a):(i=Ve(e)?qs:Ae.current,n=e.contextTypes,a=(n=n!=null)?xr(s,i):ds),e=new e(r,a),s.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=Pa,s.stateNode=e,e._reactInternals=s,n&&(s=s.stateNode,s.__reactInternalMemoizedUnmaskedChildContext=i,s.__reactInternalMemoizedMaskedChildContext=a),e}function iu(s,e,r,n){s=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(r,n),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(r,n),e.state!==s&&Pa.enqueueReplaceState(e,e.state,null)}function pl(s,e,r,n){var i=s.stateNode;i.props=r,i.state=s.memoizedState,i.refs={},Pc(s);var a=e.contextType;typeof a=="object"&&a!==null?i.context=at(a):(a=Ve(e)?qs:Ae.current,i.context=xr(s,a)),i.state=s.memoizedState,a=e.getDerivedStateFromProps,typeof a=="function"&&(hl(s,e,a,r),i.state=s.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(e=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),e!==i.state&&Pa.enqueueReplaceState(i,i.state,null),ea(s,r,i,n),i.state=s.memoizedState),typeof i.componentDidMount=="function"&&(s.flags|=4194308)}function br(s,e){try{var r="",n=e;do r+=o0(n),n=n.return;while(n);var i=r}catch(a){i=`
Error generating stack: `+a.message+`
`+a.stack}return{value:s,source:e,stack:i,digest:null}}function yo(s,e,r){return{value:s,source:null,stack:r??null,digest:e??null}}function xl(s,e){try{console.error(e.value)}catch(r){setTimeout(function(){throw r})}}var Rg=typeof WeakMap=="function"?WeakMap:Map;function np(s,e,r){r=Rt(-1,r),r.tag=3,r.payload={element:null};var n=e.value;return r.callback=function(){ia||(ia=!0,kl=n),xl(s,e)},r}function ip(s,e,r){r=Rt(-1,r),r.tag=3;var n=s.type.getDerivedStateFromError;if(typeof n=="function"){var i=e.value;r.payload=function(){return n(i)},r.callback=function(){xl(s,e)}}var a=s.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(r.callback=function(){xl(s,e),typeof n!="function"&&(as===null?as=new Set([this]):as.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),r}function au(s,e,r){var n=s.pingCache;if(n===null){n=s.pingCache=new Rg;var i=new Set;n.set(e,i)}else i=n.get(e),i===void 0&&(i=new Set,n.set(e,i));i.has(r)||(i.add(r),s=Qg.bind(null,s,e,r),e.then(s,s))}function ou(s){do{var e;if((e=s.tag===13)&&(e=s.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return s;s=s.return}while(s!==null);return null}function lu(s,e,r,n,i){return s.mode&1?(s.flags|=65536,s.lanes=i,s):(s===e?s.flags|=65536:(s.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(e=Rt(-1,1),e.tag=2,is(r,e,1))),r.lanes|=1),s)}var Lg=Ut.ReactCurrentOwner,Fe=!1;function Re(s,e,r,n){e.child=s===null?Rh(e,null,r,n):gr(e,s.child,r,n)}function cu(s,e,r,n,i){r=r.render;var a=e.ref;return dr(e,i),n=Rc(s,e,r,n,a,i),r=Lc(),s!==null&&!Fe?(e.updateQueue=s.updateQueue,e.flags&=-2053,s.lanes&=~i,$t(s,e,i)):(Y&&r&&wc(e),e.flags|=1,Re(s,e,n,i),e.child)}function du(s,e,r,n,i){if(s===null){var a=r.type;return typeof a=="function"&&!Hc(a)&&a.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(e.tag=15,e.type=a,ap(s,e,a,n,i)):(s=qi(r.type,null,n,e,e.mode,i),s.ref=e.ref,s.return=e,e.child=s)}if(a=s.child,!(s.lanes&i)){var o=a.memoizedProps;if(r=r.compare,r=r!==null?r:dn,r(o,n)&&s.ref===e.ref)return $t(s,e,i)}return e.flags|=1,s=ls(a,n),s.ref=e.ref,s.return=e,e.child=s}function ap(s,e,r,n,i){if(s!==null){var a=s.memoizedProps;if(dn(a,n)&&s.ref===e.ref)if(Fe=!1,e.pendingProps=n=a,(s.lanes&i)!==0)s.flags&131072&&(Fe=!0);else return e.lanes=s.lanes,$t(s,e,i)}return fl(s,e,r,n,i)}function op(s,e,r){var n=e.pendingProps,i=n.children,a=s!==null?s.memoizedState:null;if(n.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},B(ir,Ye),Ye|=r;else{if(!(r&1073741824))return s=a!==null?a.baseLanes|r:r,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:s,cachePool:null,transitions:null},e.updateQueue=null,B(ir,Ye),Ye|=s,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=a!==null?a.baseLanes:r,B(ir,Ye),Ye|=n}else a!==null?(n=a.baseLanes|r,e.memoizedState=null):n=r,B(ir,Ye),Ye|=n;return Re(s,e,i,r),e.child}function lp(s,e){var r=e.ref;(s===null&&r!==null||s!==null&&s.ref!==r)&&(e.flags|=512,e.flags|=2097152)}function fl(s,e,r,n,i){var a=Ve(r)?qs:Ae.current;return a=xr(e,a),dr(e,i),r=Rc(s,e,r,n,a,i),n=Lc(),s!==null&&!Fe?(e.updateQueue=s.updateQueue,e.flags&=-2053,s.lanes&=~i,$t(s,e,i)):(Y&&n&&wc(e),e.flags|=1,Re(s,e,r,i),e.child)}function uu(s,e,r,n,i){if(Ve(r)){var a=!0;Yi(e)}else a=!1;if(dr(e,i),e.stateNode===null)Ti(s,e),rp(e,r,n),pl(e,r,n,i),n=!0;else if(s===null){var o=e.stateNode,l=e.memoizedProps;o.props=l;var c=o.context,d=r.contextType;typeof d=="object"&&d!==null?d=at(d):(d=Ve(r)?qs:Ae.current,d=xr(e,d));var u=r.getDerivedStateFromProps,m=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==n||c!==d)&&iu(e,o,n,d),Qt=!1;var h=e.memoizedState;o.state=h,ea(e,n,o,i),c=e.memoizedState,l!==n||h!==c||Be.current||Qt?(typeof u=="function"&&(hl(e,r,u,n),c=e.memoizedState),(l=Qt||nu(e,r,l,n,h,c,d))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=n,e.memoizedState=c),o.props=n,o.state=c,o.context=d,n=l):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),n=!1)}else{o=e.stateNode,Dh(s,e),l=e.memoizedProps,d=e.type===e.elementType?l:mt(e.type,l),o.props=d,m=e.pendingProps,h=o.context,c=r.contextType,typeof c=="object"&&c!==null?c=at(c):(c=Ve(r)?qs:Ae.current,c=xr(e,c));var f=r.getDerivedStateFromProps;(u=typeof f=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==m||h!==c)&&iu(e,o,n,c),Qt=!1,h=e.memoizedState,o.state=h,ea(e,n,o,i);var v=e.memoizedState;l!==m||h!==v||Be.current||Qt?(typeof f=="function"&&(hl(e,r,f,n),v=e.memoizedState),(d=Qt||nu(e,r,d,n,h,v,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(n,v,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(n,v,c)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===s.memoizedProps&&h===s.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===s.memoizedProps&&h===s.memoizedState||(e.flags|=1024),e.memoizedProps=n,e.memoizedState=v),o.props=n,o.state=v,o.context=c,n=d):(typeof o.componentDidUpdate!="function"||l===s.memoizedProps&&h===s.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===s.memoizedProps&&h===s.memoizedState||(e.flags|=1024),n=!1)}return gl(s,e,r,n,a,i)}function gl(s,e,r,n,i,a){lp(s,e);var o=(e.flags&128)!==0;if(!n&&!o)return i&&Kd(e,r,!1),$t(s,e,a);n=e.stateNode,Lg.current=e;var l=o&&typeof r.getDerivedStateFromError!="function"?null:n.render();return e.flags|=1,s!==null&&o?(e.child=gr(e,s.child,null,a),e.child=gr(e,null,l,a)):Re(s,e,l,a),e.memoizedState=n.state,i&&Kd(e,r,!0),e.child}function cp(s){var e=s.stateNode;e.pendingContext?Yd(s,e.pendingContext,e.pendingContext!==e.context):e.context&&Yd(s,e.context,!1),Tc(s,e.containerInfo)}function mu(s,e,r,n,i){return fr(),_c(i),e.flags|=256,Re(s,e,r,n),e.child}var vl={dehydrated:null,treeContext:null,retryLane:0};function bl(s){return{baseLanes:s,cachePool:null,transitions:null}}function dp(s,e,r){var n=e.pendingProps,i=Z.current,a=!1,o=(e.flags&128)!==0,l;if((l=o)||(l=s!==null&&s.memoizedState===null?!1:(i&2)!==0),l?(a=!0,e.flags&=-129):(s===null||s.memoizedState!==null)&&(i|=1),B(Z,i&1),s===null)return ul(e),s=e.memoizedState,s!==null&&(s=s.dehydrated,s!==null)?(e.mode&1?s.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=n.children,s=n.fallback,a?(n=e.mode,a=e.child,o={mode:"hidden",children:o},!(n&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=Oa(o,n,0,null),s=Os(s,n,r,null),a.return=e,s.return=e,a.sibling=s,e.child=a,e.child.memoizedState=bl(r),e.memoizedState=vl,s):Mc(e,o));if(i=s.memoizedState,i!==null&&(l=i.dehydrated,l!==null))return Dg(s,e,o,n,l,i,r);if(a){a=n.fallback,o=e.mode,i=s.child,l=i.sibling;var c={mode:"hidden",children:n.children};return!(o&1)&&e.child!==i?(n=e.child,n.childLanes=0,n.pendingProps=c,e.deletions=null):(n=ls(i,c),n.subtreeFlags=i.subtreeFlags&14680064),l!==null?a=ls(l,a):(a=Os(a,o,r,null),a.flags|=2),a.return=e,n.return=e,n.sibling=a,e.child=n,n=a,a=e.child,o=s.child.memoizedState,o=o===null?bl(r):{baseLanes:o.baseLanes|r,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=s.childLanes&~r,e.memoizedState=vl,n}return a=s.child,s=a.sibling,n=ls(a,{mode:"visible",children:n.children}),!(e.mode&1)&&(n.lanes=r),n.return=e,n.sibling=null,s!==null&&(r=e.deletions,r===null?(e.deletions=[s],e.flags|=16):r.push(s)),e.child=n,e.memoizedState=null,n}function Mc(s,e){return e=Oa({mode:"visible",children:e},s.mode,0,null),e.return=s,s.child=e}function ni(s,e,r,n){return n!==null&&_c(n),gr(e,s.child,null,r),s=Mc(e,e.pendingProps.children),s.flags|=2,e.memoizedState=null,s}function Dg(s,e,r,n,i,a,o){if(r)return e.flags&256?(e.flags&=-257,n=yo(Error(S(422))),ni(s,e,o,n)):e.memoizedState!==null?(e.child=s.child,e.flags|=128,null):(a=n.fallback,i=e.mode,n=Oa({mode:"visible",children:n.children},i,0,null),a=Os(a,i,o,null),a.flags|=2,n.return=e,a.return=e,n.sibling=a,e.child=n,e.mode&1&&gr(e,s.child,null,o),e.child.memoizedState=bl(o),e.memoizedState=vl,a);if(!(e.mode&1))return ni(s,e,o,null);if(i.data==="$!"){if(n=i.nextSibling&&i.nextSibling.dataset,n)var l=n.dgst;return n=l,a=Error(S(419)),n=yo(a,n,void 0),ni(s,e,o,n)}if(l=(o&s.childLanes)!==0,Fe||l){if(n=ve,n!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(n.suspendedLanes|o)?0:i,i!==0&&i!==a.retryLane&&(a.retryLane=i,It(s,i),vt(n,s,i,-1))}return Vc(),n=yo(Error(S(421))),ni(s,e,o,n)}return i.data==="$?"?(e.flags|=128,e.child=s.child,e=Yg.bind(null,s),i._reactRetry=e,null):(s=a.treeContext,Je=ns(i.nextSibling),Ze=e,Y=!0,ft=null,s!==null&&(st[rt++]=Ot,st[rt++]=qt,st[rt++]=Rs,Ot=s.id,qt=s.overflow,Rs=e),e=Mc(e,n.children),e.flags|=4096,e)}function hu(s,e,r){s.lanes|=e;var n=s.alternate;n!==null&&(n.lanes|=e),ml(s.return,e,r)}function wo(s,e,r,n,i){var a=s.memoizedState;a===null?s.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:i}:(a.isBackwards=e,a.rendering=null,a.renderingStartTime=0,a.last=n,a.tail=r,a.tailMode=i)}function up(s,e,r){var n=e.pendingProps,i=n.revealOrder,a=n.tail;if(Re(s,e,n.children,r),n=Z.current,n&2)n=n&1|2,e.flags|=128;else{if(s!==null&&s.flags&128)e:for(s=e.child;s!==null;){if(s.tag===13)s.memoizedState!==null&&hu(s,r,e);else if(s.tag===19)hu(s,r,e);else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===e)break e;for(;s.sibling===null;){if(s.return===null||s.return===e)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}n&=1}if(B(Z,n),!(e.mode&1))e.memoizedState=null;else switch(i){case"forwards":for(r=e.child,i=null;r!==null;)s=r.alternate,s!==null&&ta(s)===null&&(i=r),r=r.sibling;r=i,r===null?(i=e.child,e.child=null):(i=r.sibling,r.sibling=null),wo(e,!1,i,r,a);break;case"backwards":for(r=null,i=e.child,e.child=null;i!==null;){if(s=i.alternate,s!==null&&ta(s)===null){e.child=i;break}s=i.sibling,i.sibling=r,r=i,i=s}wo(e,!0,r,null,a);break;case"together":wo(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function Ti(s,e){!(e.mode&1)&&s!==null&&(s.alternate=null,e.alternate=null,e.flags|=2)}function $t(s,e,r){if(s!==null&&(e.dependencies=s.dependencies),Ds|=e.lanes,!(r&e.childLanes))return null;if(s!==null&&e.child!==s.child)throw Error(S(153));if(e.child!==null){for(s=e.child,r=ls(s,s.pendingProps),e.child=r,r.return=e;s.sibling!==null;)s=s.sibling,r=r.sibling=ls(s,s.pendingProps),r.return=e;r.sibling=null}return e.child}function zg(s,e,r){switch(e.tag){case 3:cp(e),fr();break;case 5:zh(e);break;case 1:Ve(e.type)&&Yi(e);break;case 4:Tc(e,e.stateNode.containerInfo);break;case 10:var n=e.type._context,i=e.memoizedProps.value;B(Zi,n._currentValue),n._currentValue=i;break;case 13:if(n=e.memoizedState,n!==null)return n.dehydrated!==null?(B(Z,Z.current&1),e.flags|=128,null):r&e.child.childLanes?dp(s,e,r):(B(Z,Z.current&1),s=$t(s,e,r),s!==null?s.sibling:null);B(Z,Z.current&1);break;case 19:if(n=(r&e.childLanes)!==0,s.flags&128){if(n)return up(s,e,r);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),B(Z,Z.current),n)break;return null;case 22:case 23:return e.lanes=0,op(s,e,r)}return $t(s,e,r)}var mp,jl,hp,pp;mp=function(s,e){for(var r=e.child;r!==null;){if(r.tag===5||r.tag===6)s.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===e)break;for(;r.sibling===null;){if(r.return===null||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};jl=function(){};hp=function(s,e,r,n){var i=s.memoizedProps;if(i!==n){s=e.stateNode,Ps(Et.current);var a=null;switch(r){case"input":i=Fo(s,i),n=Fo(s,n),a=[];break;case"select":i=ee({},i,{value:void 0}),n=ee({},n,{value:void 0}),a=[];break;case"textarea":i=Ho(s,i),n=Ho(s,n),a=[];break;default:typeof i.onClick!="function"&&typeof n.onClick=="function"&&(s.onclick=Gi)}Go(r,n);var o;r=null;for(d in i)if(!n.hasOwnProperty(d)&&i.hasOwnProperty(d)&&i[d]!=null)if(d==="style"){var l=i[d];for(o in l)l.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(sn.hasOwnProperty(d)?a||(a=[]):(a=a||[]).push(d,null));for(d in n){var c=n[d];if(l=i!=null?i[d]:void 0,n.hasOwnProperty(d)&&c!==l&&(c!=null||l!=null))if(d==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(r||(r={}),r[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(r||(r={}),r[o]=c[o])}else r||(a||(a=[]),a.push(d,r)),r=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(a=a||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(a=a||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(sn.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&H("scroll",s),a||l===c||(a=[])):(a=a||[]).push(d,c))}r&&(a=a||[]).push("style",r);var d=a;(e.updateQueue=d)&&(e.flags|=4)}};pp=function(s,e,r,n){r!==n&&(e.flags|=4)};function Mr(s,e){if(!Y)switch(s.tailMode){case"hidden":e=s.tail;for(var r=null;e!==null;)e.alternate!==null&&(r=e),e=e.sibling;r===null?s.tail=null:r.sibling=null;break;case"collapsed":r=s.tail;for(var n=null;r!==null;)r.alternate!==null&&(n=r),r=r.sibling;n===null?e||s.tail===null?s.tail=null:s.tail.sibling=null:n.sibling=null}}function Ee(s){var e=s.alternate!==null&&s.alternate.child===s.child,r=0,n=0;if(e)for(var i=s.child;i!==null;)r|=i.lanes|i.childLanes,n|=i.subtreeFlags&14680064,n|=i.flags&14680064,i.return=s,i=i.sibling;else for(i=s.child;i!==null;)r|=i.lanes|i.childLanes,n|=i.subtreeFlags,n|=i.flags,i.return=s,i=i.sibling;return s.subtreeFlags|=n,s.childLanes=r,e}function Mg(s,e,r){var n=e.pendingProps;switch(Nc(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ee(e),null;case 1:return Ve(e.type)&&Qi(),Ee(e),null;case 3:return n=e.stateNode,vr(),W(Be),W(Ae),Oc(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(s===null||s.child===null)&&(si(e)?e.flags|=4:s===null||s.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,ft!==null&&(Cl(ft),ft=null))),jl(s,e),Ee(e),null;case 5:Ac(e);var i=Ps(xn.current);if(r=e.type,s!==null&&e.stateNode!=null)hp(s,e,r,n,i),s.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!n){if(e.stateNode===null)throw Error(S(166));return Ee(e),null}if(s=Ps(Et.current),si(e)){n=e.stateNode,r=e.type;var a=e.memoizedProps;switch(n[kt]=e,n[hn]=a,s=(e.mode&1)!==0,r){case"dialog":H("cancel",n),H("close",n);break;case"iframe":case"object":case"embed":H("load",n);break;case"video":case"audio":for(i=0;i<Br.length;i++)H(Br[i],n);break;case"source":H("error",n);break;case"img":case"image":case"link":H("error",n),H("load",n);break;case"details":H("toggle",n);break;case"input":wd(n,a),H("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!a.multiple},H("invalid",n);break;case"textarea":_d(n,a),H("invalid",n)}Go(r,a),i=null;for(var o in a)if(a.hasOwnProperty(o)){var l=a[o];o==="children"?typeof l=="string"?n.textContent!==l&&(a.suppressHydrationWarning!==!0&&ti(n.textContent,l,s),i=["children",l]):typeof l=="number"&&n.textContent!==""+l&&(a.suppressHydrationWarning!==!0&&ti(n.textContent,l,s),i=["children",""+l]):sn.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&H("scroll",n)}switch(r){case"input":Gn(n),Nd(n,a,!0);break;case"textarea":Gn(n),kd(n);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(n.onclick=Gi)}n=i,e.updateQueue=n,n!==null&&(e.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,s==="http://www.w3.org/1999/xhtml"&&(s=Fm(r)),s==="http://www.w3.org/1999/xhtml"?r==="script"?(s=o.createElement("div"),s.innerHTML="<script><\/script>",s=s.removeChild(s.firstChild)):typeof n.is=="string"?s=o.createElement(r,{is:n.is}):(s=o.createElement(r),r==="select"&&(o=s,n.multiple?o.multiple=!0:n.size&&(o.size=n.size))):s=o.createElementNS(s,r),s[kt]=e,s[hn]=n,mp(s,e,!1,!1),e.stateNode=s;e:{switch(o=Qo(r,n),r){case"dialog":H("cancel",s),H("close",s),i=n;break;case"iframe":case"object":case"embed":H("load",s),i=n;break;case"video":case"audio":for(i=0;i<Br.length;i++)H(Br[i],s);i=n;break;case"source":H("error",s),i=n;break;case"img":case"image":case"link":H("error",s),H("load",s),i=n;break;case"details":H("toggle",s),i=n;break;case"input":wd(s,n),i=Fo(s,n),H("invalid",s);break;case"option":i=n;break;case"select":s._wrapperState={wasMultiple:!!n.multiple},i=ee({},n,{value:void 0}),H("invalid",s);break;case"textarea":_d(s,n),i=Ho(s,n),H("invalid",s);break;default:i=n}Go(r,i),l=i;for(a in l)if(l.hasOwnProperty(a)){var c=l[a];a==="style"?Hm(s,c):a==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&Bm(s,c)):a==="children"?typeof c=="string"?(r!=="textarea"||c!=="")&&rn(s,c):typeof c=="number"&&rn(s,""+c):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(sn.hasOwnProperty(a)?c!=null&&a==="onScroll"&&H("scroll",s):c!=null&&lc(s,a,c,o))}switch(r){case"input":Gn(s),Nd(s,n,!1);break;case"textarea":Gn(s),kd(s);break;case"option":n.value!=null&&s.setAttribute("value",""+cs(n.value));break;case"select":s.multiple=!!n.multiple,a=n.value,a!=null?ar(s,!!n.multiple,a,!1):n.defaultValue!=null&&ar(s,!!n.multiple,n.defaultValue,!0);break;default:typeof i.onClick=="function"&&(s.onclick=Gi)}switch(r){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(e.flags|=4)}e.ref!==null&&(e.flags|=512,e.flags|=2097152)}return Ee(e),null;case 6:if(s&&e.stateNode!=null)pp(s,e,s.memoizedProps,n);else{if(typeof n!="string"&&e.stateNode===null)throw Error(S(166));if(r=Ps(xn.current),Ps(Et.current),si(e)){if(n=e.stateNode,r=e.memoizedProps,n[kt]=e,(a=n.nodeValue!==r)&&(s=Ze,s!==null))switch(s.tag){case 3:ti(n.nodeValue,r,(s.mode&1)!==0);break;case 5:s.memoizedProps.suppressHydrationWarning!==!0&&ti(n.nodeValue,r,(s.mode&1)!==0)}a&&(e.flags|=4)}else n=(r.nodeType===9?r:r.ownerDocument).createTextNode(n),n[kt]=e,e.stateNode=n}return Ee(e),null;case 13:if(W(Z),n=e.memoizedState,s===null||s.memoizedState!==null&&s.memoizedState.dehydrated!==null){if(Y&&Je!==null&&e.mode&1&&!(e.flags&128))Oh(),fr(),e.flags|=98560,a=!1;else if(a=si(e),n!==null&&n.dehydrated!==null){if(s===null){if(!a)throw Error(S(318));if(a=e.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(S(317));a[kt]=e}else fr(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;Ee(e),a=!1}else ft!==null&&(Cl(ft),ft=null),a=!0;if(!a)return e.flags&65536?e:null}return e.flags&128?(e.lanes=r,e):(n=n!==null,n!==(s!==null&&s.memoizedState!==null)&&n&&(e.child.flags|=8192,e.mode&1&&(s===null||Z.current&1?xe===0&&(xe=3):Vc())),e.updateQueue!==null&&(e.flags|=4),Ee(e),null);case 4:return vr(),jl(s,e),s===null&&un(e.stateNode.containerInfo),Ee(e),null;case 10:return Ec(e.type._context),Ee(e),null;case 17:return Ve(e.type)&&Qi(),Ee(e),null;case 19:if(W(Z),a=e.memoizedState,a===null)return Ee(e),null;if(n=(e.flags&128)!==0,o=a.rendering,o===null)if(n)Mr(a,!1);else{if(xe!==0||s!==null&&s.flags&128)for(s=e.child;s!==null;){if(o=ta(s),o!==null){for(e.flags|=128,Mr(a,!1),n=o.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),e.subtreeFlags=0,n=r,r=e.child;r!==null;)a=r,s=n,a.flags&=14680066,o=a.alternate,o===null?(a.childLanes=0,a.lanes=s,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=o.childLanes,a.lanes=o.lanes,a.child=o.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=o.memoizedProps,a.memoizedState=o.memoizedState,a.updateQueue=o.updateQueue,a.type=o.type,s=o.dependencies,a.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext}),r=r.sibling;return B(Z,Z.current&1|2),e.child}s=s.sibling}a.tail!==null&&ae()>jr&&(e.flags|=128,n=!0,Mr(a,!1),e.lanes=4194304)}else{if(!n)if(s=ta(o),s!==null){if(e.flags|=128,n=!0,r=s.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),Mr(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Y)return Ee(e),null}else 2*ae()-a.renderingStartTime>jr&&r!==1073741824&&(e.flags|=128,n=!0,Mr(a,!1),e.lanes=4194304);a.isBackwards?(o.sibling=e.child,e.child=o):(r=a.last,r!==null?r.sibling=o:e.child=o,a.last=o)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=ae(),e.sibling=null,r=Z.current,B(Z,n?r&1|2:r&1),e):(Ee(e),null);case 22:case 23:return Bc(),n=e.memoizedState!==null,s!==null&&s.memoizedState!==null!==n&&(e.flags|=8192),n&&e.mode&1?Ye&1073741824&&(Ee(e),e.subtreeFlags&6&&(e.flags|=8192)):Ee(e),null;case 24:return null;case 25:return null}throw Error(S(156,e.tag))}function Ig(s,e){switch(Nc(e),e.tag){case 1:return Ve(e.type)&&Qi(),s=e.flags,s&65536?(e.flags=s&-65537|128,e):null;case 3:return vr(),W(Be),W(Ae),Oc(),s=e.flags,s&65536&&!(s&128)?(e.flags=s&-65537|128,e):null;case 5:return Ac(e),null;case 13:if(W(Z),s=e.memoizedState,s!==null&&s.dehydrated!==null){if(e.alternate===null)throw Error(S(340));fr()}return s=e.flags,s&65536?(e.flags=s&-65537|128,e):null;case 19:return W(Z),null;case 4:return vr(),null;case 10:return Ec(e.type._context),null;case 22:case 23:return Bc(),null;case 24:return null;default:return null}}var ii=!1,Ce=!1,$g=typeof WeakSet=="function"?WeakSet:Set,P=null;function nr(s,e){var r=s.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){se(s,e,n)}else r.current=null}function yl(s,e,r){try{r()}catch(n){se(s,e,n)}}var pu=!1;function Ug(s,e){if(nl=Vi,s=bh(),yc(s)){if("selectionStart"in s)var r={start:s.selectionStart,end:s.selectionEnd};else e:{r=(r=s.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var i=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var o=0,l=-1,c=-1,d=0,u=0,m=s,h=null;t:for(;;){for(var f;m!==r||i!==0&&m.nodeType!==3||(l=o+i),m!==a||n!==0&&m.nodeType!==3||(c=o+n),m.nodeType===3&&(o+=m.nodeValue.length),(f=m.firstChild)!==null;)h=m,m=f;for(;;){if(m===s)break t;if(h===r&&++d===i&&(l=o),h===a&&++u===n&&(c=o),(f=m.nextSibling)!==null)break;m=h,h=m.parentNode}m=f}r=l===-1||c===-1?null:{start:l,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(il={focusedElem:s,selectionRange:r},Vi=!1,P=e;P!==null;)if(e=P,s=e.child,(e.subtreeFlags&1028)!==0&&s!==null)s.return=e,P=s;else for(;P!==null;){e=P;try{var v=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var j=v.memoizedProps,w=v.memoizedState,p=e.stateNode,x=p.getSnapshotBeforeUpdate(e.elementType===e.type?j:mt(e.type,j),w);p.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var g=e.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(S(163))}}catch(y){se(e,e.return,y)}if(s=e.sibling,s!==null){s.return=e.return,P=s;break}P=e.return}return v=pu,pu=!1,v}function Zr(s,e,r){var n=e.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&s)===s){var a=i.destroy;i.destroy=void 0,a!==void 0&&yl(e,r,a)}i=i.next}while(i!==n)}}function Ta(s,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var r=e=e.next;do{if((r.tag&s)===s){var n=r.create;r.destroy=n()}r=r.next}while(r!==e)}}function wl(s){var e=s.ref;if(e!==null){var r=s.stateNode;switch(s.tag){case 5:s=r;break;default:s=r}typeof e=="function"?e(s):e.current=s}}function xp(s){var e=s.alternate;e!==null&&(s.alternate=null,xp(e)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(e=s.stateNode,e!==null&&(delete e[kt],delete e[hn],delete e[ll],delete e[Ng],delete e[_g])),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}function fp(s){return s.tag===5||s.tag===3||s.tag===4}function xu(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||fp(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function Nl(s,e,r){var n=s.tag;if(n===5||n===6)s=s.stateNode,e?r.nodeType===8?r.parentNode.insertBefore(s,e):r.insertBefore(s,e):(r.nodeType===8?(e=r.parentNode,e.insertBefore(s,r)):(e=r,e.appendChild(s)),r=r._reactRootContainer,r!=null||e.onclick!==null||(e.onclick=Gi));else if(n!==4&&(s=s.child,s!==null))for(Nl(s,e,r),s=s.sibling;s!==null;)Nl(s,e,r),s=s.sibling}function _l(s,e,r){var n=s.tag;if(n===5||n===6)s=s.stateNode,e?r.insertBefore(s,e):r.appendChild(s);else if(n!==4&&(s=s.child,s!==null))for(_l(s,e,r),s=s.sibling;s!==null;)_l(s,e,r),s=s.sibling}var ye=null,pt=!1;function Vt(s,e,r){for(r=r.child;r!==null;)gp(s,e,r),r=r.sibling}function gp(s,e,r){if(St&&typeof St.onCommitFiberUnmount=="function")try{St.onCommitFiberUnmount(wa,r)}catch{}switch(r.tag){case 5:Ce||nr(r,e);case 6:var n=ye,i=pt;ye=null,Vt(s,e,r),ye=n,pt=i,ye!==null&&(pt?(s=ye,r=r.stateNode,s.nodeType===8?s.parentNode.removeChild(r):s.removeChild(r)):ye.removeChild(r.stateNode));break;case 18:ye!==null&&(pt?(s=ye,r=r.stateNode,s.nodeType===8?xo(s.parentNode,r):s.nodeType===1&&xo(s,r),ln(s)):xo(ye,r.stateNode));break;case 4:n=ye,i=pt,ye=r.stateNode.containerInfo,pt=!0,Vt(s,e,r),ye=n,pt=i;break;case 0:case 11:case 14:case 15:if(!Ce&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){i=n=n.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&yl(r,e,o),i=i.next}while(i!==n)}Vt(s,e,r);break;case 1:if(!Ce&&(nr(r,e),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(l){se(r,e,l)}Vt(s,e,r);break;case 21:Vt(s,e,r);break;case 22:r.mode&1?(Ce=(n=Ce)||r.memoizedState!==null,Vt(s,e,r),Ce=n):Vt(s,e,r);break;default:Vt(s,e,r)}}function fu(s){var e=s.updateQueue;if(e!==null){s.updateQueue=null;var r=s.stateNode;r===null&&(r=s.stateNode=new $g),e.forEach(function(n){var i=Kg.bind(null,s,n);r.has(n)||(r.add(n),n.then(i,i))})}}function dt(s,e){var r=e.deletions;if(r!==null)for(var n=0;n<r.length;n++){var i=r[n];try{var a=s,o=e,l=o;e:for(;l!==null;){switch(l.tag){case 5:ye=l.stateNode,pt=!1;break e;case 3:ye=l.stateNode.containerInfo,pt=!0;break e;case 4:ye=l.stateNode.containerInfo,pt=!0;break e}l=l.return}if(ye===null)throw Error(S(160));gp(a,o,i),ye=null,pt=!1;var c=i.alternate;c!==null&&(c.return=null),i.return=null}catch(d){se(i,e,d)}}if(e.subtreeFlags&12854)for(e=e.child;e!==null;)vp(e,s),e=e.sibling}function vp(s,e){var r=s.alternate,n=s.flags;switch(s.tag){case 0:case 11:case 14:case 15:if(dt(e,s),jt(s),n&4){try{Zr(3,s,s.return),Ta(3,s)}catch(j){se(s,s.return,j)}try{Zr(5,s,s.return)}catch(j){se(s,s.return,j)}}break;case 1:dt(e,s),jt(s),n&512&&r!==null&&nr(r,r.return);break;case 5:if(dt(e,s),jt(s),n&512&&r!==null&&nr(r,r.return),s.flags&32){var i=s.stateNode;try{rn(i,"")}catch(j){se(s,s.return,j)}}if(n&4&&(i=s.stateNode,i!=null)){var a=s.memoizedProps,o=r!==null?r.memoizedProps:a,l=s.type,c=s.updateQueue;if(s.updateQueue=null,c!==null)try{l==="input"&&a.type==="radio"&&a.name!=null&&$m(i,a),Qo(l,o);var d=Qo(l,a);for(o=0;o<c.length;o+=2){var u=c[o],m=c[o+1];u==="style"?Hm(i,m):u==="dangerouslySetInnerHTML"?Bm(i,m):u==="children"?rn(i,m):lc(i,u,m,d)}switch(l){case"input":Bo(i,a);break;case"textarea":Um(i,a);break;case"select":var h=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!a.multiple;var f=a.value;f!=null?ar(i,!!a.multiple,f,!1):h!==!!a.multiple&&(a.defaultValue!=null?ar(i,!!a.multiple,a.defaultValue,!0):ar(i,!!a.multiple,a.multiple?[]:"",!1))}i[hn]=a}catch(j){se(s,s.return,j)}}break;case 6:if(dt(e,s),jt(s),n&4){if(s.stateNode===null)throw Error(S(162));i=s.stateNode,a=s.memoizedProps;try{i.nodeValue=a}catch(j){se(s,s.return,j)}}break;case 3:if(dt(e,s),jt(s),n&4&&r!==null&&r.memoizedState.isDehydrated)try{ln(e.containerInfo)}catch(j){se(s,s.return,j)}break;case 4:dt(e,s),jt(s);break;case 13:dt(e,s),jt(s),i=s.child,i.flags&8192&&(a=i.memoizedState!==null,i.stateNode.isHidden=a,!a||i.alternate!==null&&i.alternate.memoizedState!==null||(Uc=ae())),n&4&&fu(s);break;case 22:if(u=r!==null&&r.memoizedState!==null,s.mode&1?(Ce=(d=Ce)||u,dt(e,s),Ce=d):dt(e,s),jt(s),n&8192){if(d=s.memoizedState!==null,(s.stateNode.isHidden=d)&&!u&&s.mode&1)for(P=s,u=s.child;u!==null;){for(m=P=u;P!==null;){switch(h=P,f=h.child,h.tag){case 0:case 11:case 14:case 15:Zr(4,h,h.return);break;case 1:nr(h,h.return);var v=h.stateNode;if(typeof v.componentWillUnmount=="function"){n=h,r=h.return;try{e=n,v.props=e.memoizedProps,v.state=e.memoizedState,v.componentWillUnmount()}catch(j){se(n,r,j)}}break;case 5:nr(h,h.return);break;case 22:if(h.memoizedState!==null){vu(m);continue}}f!==null?(f.return=h,P=f):vu(m)}u=u.sibling}e:for(u=null,m=s;;){if(m.tag===5){if(u===null){u=m;try{i=m.stateNode,d?(a=i.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(l=m.stateNode,c=m.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=Vm("display",o))}catch(j){se(s,s.return,j)}}}else if(m.tag===6){if(u===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(j){se(s,s.return,j)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===s)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===s)break e;for(;m.sibling===null;){if(m.return===null||m.return===s)break e;u===m&&(u=null),m=m.return}u===m&&(u=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:dt(e,s),jt(s),n&4&&fu(s);break;case 21:break;default:dt(e,s),jt(s)}}function jt(s){var e=s.flags;if(e&2){try{e:{for(var r=s.return;r!==null;){if(fp(r)){var n=r;break e}r=r.return}throw Error(S(160))}switch(n.tag){case 5:var i=n.stateNode;n.flags&32&&(rn(i,""),n.flags&=-33);var a=xu(s);_l(s,a,i);break;case 3:case 4:var o=n.stateNode.containerInfo,l=xu(s);Nl(s,l,o);break;default:throw Error(S(161))}}catch(c){se(s,s.return,c)}s.flags&=-3}e&4096&&(s.flags&=-4097)}function Fg(s,e,r){P=s,bp(s)}function bp(s,e,r){for(var n=(s.mode&1)!==0;P!==null;){var i=P,a=i.child;if(i.tag===22&&n){var o=i.memoizedState!==null||ii;if(!o){var l=i.alternate,c=l!==null&&l.memoizedState!==null||Ce;l=ii;var d=Ce;if(ii=o,(Ce=c)&&!d)for(P=i;P!==null;)o=P,c=o.child,o.tag===22&&o.memoizedState!==null?bu(i):c!==null?(c.return=o,P=c):bu(i);for(;a!==null;)P=a,bp(a),a=a.sibling;P=i,ii=l,Ce=d}gu(s)}else i.subtreeFlags&8772&&a!==null?(a.return=i,P=a):gu(s)}}function gu(s){for(;P!==null;){var e=P;if(e.flags&8772){var r=e.alternate;try{if(e.flags&8772)switch(e.tag){case 0:case 11:case 15:Ce||Ta(5,e);break;case 1:var n=e.stateNode;if(e.flags&4&&!Ce)if(r===null)n.componentDidMount();else{var i=e.elementType===e.type?r.memoizedProps:mt(e.type,r.memoizedProps);n.componentDidUpdate(i,r.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var a=e.updateQueue;a!==null&&tu(e,a,n);break;case 3:var o=e.updateQueue;if(o!==null){if(r=null,e.child!==null)switch(e.child.tag){case 5:r=e.child.stateNode;break;case 1:r=e.child.stateNode}tu(e,o,r)}break;case 5:var l=e.stateNode;if(r===null&&e.flags&4){r=l;var c=e.memoizedProps;switch(e.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&r.focus();break;case"img":c.src&&(r.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(e.memoizedState===null){var d=e.alternate;if(d!==null){var u=d.memoizedState;if(u!==null){var m=u.dehydrated;m!==null&&ln(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(S(163))}Ce||e.flags&512&&wl(e)}catch(h){se(e,e.return,h)}}if(e===s){P=null;break}if(r=e.sibling,r!==null){r.return=e.return,P=r;break}P=e.return}}function vu(s){for(;P!==null;){var e=P;if(e===s){P=null;break}var r=e.sibling;if(r!==null){r.return=e.return,P=r;break}P=e.return}}function bu(s){for(;P!==null;){var e=P;try{switch(e.tag){case 0:case 11:case 15:var r=e.return;try{Ta(4,e)}catch(c){se(e,r,c)}break;case 1:var n=e.stateNode;if(typeof n.componentDidMount=="function"){var i=e.return;try{n.componentDidMount()}catch(c){se(e,i,c)}}var a=e.return;try{wl(e)}catch(c){se(e,a,c)}break;case 5:var o=e.return;try{wl(e)}catch(c){se(e,o,c)}}}catch(c){se(e,e.return,c)}if(e===s){P=null;break}var l=e.sibling;if(l!==null){l.return=e.return,P=l;break}P=e.return}}var Bg=Math.ceil,na=Ut.ReactCurrentDispatcher,Ic=Ut.ReactCurrentOwner,it=Ut.ReactCurrentBatchConfig,I=0,ve=null,me=null,Ne=0,Ye=0,ir=ms(0),xe=0,bn=null,Ds=0,Aa=0,$c=0,Xr=null,$e=null,Uc=0,jr=1/0,Tt=null,ia=!1,kl=null,as=null,ai=!1,es=null,aa=0,en=0,Sl=null,Ai=-1,Oi=0;function Le(){return I&6?ae():Ai!==-1?Ai:Ai=ae()}function os(s){return s.mode&1?I&2&&Ne!==0?Ne&-Ne:Sg.transition!==null?(Oi===0&&(Oi=rh()),Oi):(s=U,s!==0||(s=window.event,s=s===void 0?16:dh(s.type)),s):1}function vt(s,e,r,n){if(50<en)throw en=0,Sl=null,Error(S(185));En(s,r,n),(!(I&2)||s!==ve)&&(s===ve&&(!(I&2)&&(Aa|=r),xe===4&&Kt(s,Ne)),He(s,n),r===1&&I===0&&!(e.mode&1)&&(jr=ae()+500,Ea&&hs()))}function He(s,e){var r=s.callbackNode;S0(s,e);var n=Bi(s,s===ve?Ne:0);if(n===0)r!==null&&Cd(r),s.callbackNode=null,s.callbackPriority=0;else if(e=n&-n,s.callbackPriority!==e){if(r!=null&&Cd(r),e===1)s.tag===0?kg(ju.bind(null,s)):Ph(ju.bind(null,s)),yg(function(){!(I&6)&&hs()}),r=null;else{switch(nh(n)){case 1:r=hc;break;case 4:r=th;break;case 16:r=Fi;break;case 536870912:r=sh;break;default:r=Fi}r=Ep(r,jp.bind(null,s))}s.callbackPriority=e,s.callbackNode=r}}function jp(s,e){if(Ai=-1,Oi=0,I&6)throw Error(S(327));var r=s.callbackNode;if(ur()&&s.callbackNode!==r)return null;var n=Bi(s,s===ve?Ne:0);if(n===0)return null;if(n&30||n&s.expiredLanes||e)e=oa(s,n);else{e=n;var i=I;I|=2;var a=wp();(ve!==s||Ne!==e)&&(Tt=null,jr=ae()+500,As(s,e));do try{Wg();break}catch(l){yp(s,l)}while(!0);Sc(),na.current=a,I=i,me!==null?e=0:(ve=null,Ne=0,e=xe)}if(e!==0){if(e===2&&(i=Xo(s),i!==0&&(n=i,e=El(s,i))),e===1)throw r=bn,As(s,0),Kt(s,n),He(s,ae()),r;if(e===6)Kt(s,n);else{if(i=s.current.alternate,!(n&30)&&!Vg(i)&&(e=oa(s,n),e===2&&(a=Xo(s),a!==0&&(n=a,e=El(s,a))),e===1))throw r=bn,As(s,0),Kt(s,n),He(s,ae()),r;switch(s.finishedWork=i,s.finishedLanes=n,e){case 0:case 1:throw Error(S(345));case 2:ys(s,$e,Tt);break;case 3:if(Kt(s,n),(n&130023424)===n&&(e=Uc+500-ae(),10<e)){if(Bi(s,0)!==0)break;if(i=s.suspendedLanes,(i&n)!==n){Le(),s.pingedLanes|=s.suspendedLanes&i;break}s.timeoutHandle=ol(ys.bind(null,s,$e,Tt),e);break}ys(s,$e,Tt);break;case 4:if(Kt(s,n),(n&4194240)===n)break;for(e=s.eventTimes,i=-1;0<n;){var o=31-gt(n);a=1<<o,o=e[o],o>i&&(i=o),n&=~a}if(n=i,n=ae()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Bg(n/1960))-n,10<n){s.timeoutHandle=ol(ys.bind(null,s,$e,Tt),n);break}ys(s,$e,Tt);break;case 5:ys(s,$e,Tt);break;default:throw Error(S(329))}}}return He(s,ae()),s.callbackNode===r?jp.bind(null,s):null}function El(s,e){var r=Xr;return s.current.memoizedState.isDehydrated&&(As(s,e).flags|=256),s=oa(s,e),s!==2&&(e=$e,$e=r,e!==null&&Cl(e)),s}function Cl(s){$e===null?$e=s:$e.push.apply($e,s)}function Vg(s){for(var e=s;;){if(e.flags&16384){var r=e.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var n=0;n<r.length;n++){var i=r[n],a=i.getSnapshot;i=i.value;try{if(!bt(a(),i))return!1}catch{return!1}}}if(r=e.child,e.subtreeFlags&16384&&r!==null)r.return=e,e=r;else{if(e===s)break;for(;e.sibling===null;){if(e.return===null||e.return===s)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function Kt(s,e){for(e&=~$c,e&=~Aa,s.suspendedLanes|=e,s.pingedLanes&=~e,s=s.expirationTimes;0<e;){var r=31-gt(e),n=1<<r;s[r]=-1,e&=~n}}function ju(s){if(I&6)throw Error(S(327));ur();var e=Bi(s,0);if(!(e&1))return He(s,ae()),null;var r=oa(s,e);if(s.tag!==0&&r===2){var n=Xo(s);n!==0&&(e=n,r=El(s,n))}if(r===1)throw r=bn,As(s,0),Kt(s,e),He(s,ae()),r;if(r===6)throw Error(S(345));return s.finishedWork=s.current.alternate,s.finishedLanes=e,ys(s,$e,Tt),He(s,ae()),null}function Fc(s,e){var r=I;I|=1;try{return s(e)}finally{I=r,I===0&&(jr=ae()+500,Ea&&hs())}}function zs(s){es!==null&&es.tag===0&&!(I&6)&&ur();var e=I;I|=1;var r=it.transition,n=U;try{if(it.transition=null,U=1,s)return s()}finally{U=n,it.transition=r,I=e,!(I&6)&&hs()}}function Bc(){Ye=ir.current,W(ir)}function As(s,e){s.finishedWork=null,s.finishedLanes=0;var r=s.timeoutHandle;if(r!==-1&&(s.timeoutHandle=-1,jg(r)),me!==null)for(r=me.return;r!==null;){var n=r;switch(Nc(n),n.tag){case 1:n=n.type.childContextTypes,n!=null&&Qi();break;case 3:vr(),W(Be),W(Ae),Oc();break;case 5:Ac(n);break;case 4:vr();break;case 13:W(Z);break;case 19:W(Z);break;case 10:Ec(n.type._context);break;case 22:case 23:Bc()}r=r.return}if(ve=s,me=s=ls(s.current,null),Ne=Ye=e,xe=0,bn=null,$c=Aa=Ds=0,$e=Xr=null,Cs!==null){for(e=0;e<Cs.length;e++)if(r=Cs[e],n=r.interleaved,n!==null){r.interleaved=null;var i=n.next,a=r.pending;if(a!==null){var o=a.next;a.next=i,n.next=o}r.pending=n}Cs=null}return s}function yp(s,e){do{var r=me;try{if(Sc(),Ci.current=ra,sa){for(var n=X.memoizedState;n!==null;){var i=n.queue;i!==null&&(i.pending=null),n=n.next}sa=!1}if(Ls=0,ge=pe=X=null,Jr=!1,fn=0,Ic.current=null,r===null||r.return===null){xe=1,bn=e,me=null;break}e:{var a=s,o=r.return,l=r,c=e;if(e=Ne,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,u=l,m=u.tag;if(!(u.mode&1)&&(m===0||m===11||m===15)){var h=u.alternate;h?(u.updateQueue=h.updateQueue,u.memoizedState=h.memoizedState,u.lanes=h.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=ou(o);if(f!==null){f.flags&=-257,lu(f,o,l,a,e),f.mode&1&&au(a,d,e),e=f,c=d;var v=e.updateQueue;if(v===null){var j=new Set;j.add(c),e.updateQueue=j}else v.add(c);break e}else{if(!(e&1)){au(a,d,e),Vc();break e}c=Error(S(426))}}else if(Y&&l.mode&1){var w=ou(o);if(w!==null){!(w.flags&65536)&&(w.flags|=256),lu(w,o,l,a,e),_c(br(c,l));break e}}a=c=br(c,l),xe!==4&&(xe=2),Xr===null?Xr=[a]:Xr.push(a),a=o;do{switch(a.tag){case 3:a.flags|=65536,e&=-e,a.lanes|=e;var p=np(a,c,e);eu(a,p);break e;case 1:l=c;var x=a.type,g=a.stateNode;if(!(a.flags&128)&&(typeof x.getDerivedStateFromError=="function"||g!==null&&typeof g.componentDidCatch=="function"&&(as===null||!as.has(g)))){a.flags|=65536,e&=-e,a.lanes|=e;var y=ip(a,l,e);eu(a,y);break e}}a=a.return}while(a!==null)}_p(r)}catch(_){e=_,me===r&&r!==null&&(me=r=r.return);continue}break}while(!0)}function wp(){var s=na.current;return na.current=ra,s===null?ra:s}function Vc(){(xe===0||xe===3||xe===2)&&(xe=4),ve===null||!(Ds&268435455)&&!(Aa&268435455)||Kt(ve,Ne)}function oa(s,e){var r=I;I|=2;var n=wp();(ve!==s||Ne!==e)&&(Tt=null,As(s,e));do try{Hg();break}catch(i){yp(s,i)}while(!0);if(Sc(),I=r,na.current=n,me!==null)throw Error(S(261));return ve=null,Ne=0,xe}function Hg(){for(;me!==null;)Np(me)}function Wg(){for(;me!==null&&!g0();)Np(me)}function Np(s){var e=Sp(s.alternate,s,Ye);s.memoizedProps=s.pendingProps,e===null?_p(s):me=e,Ic.current=null}function _p(s){var e=s;do{var r=e.alternate;if(s=e.return,e.flags&32768){if(r=Ig(r,e),r!==null){r.flags&=32767,me=r;return}if(s!==null)s.flags|=32768,s.subtreeFlags=0,s.deletions=null;else{xe=6,me=null;return}}else if(r=Mg(r,e,Ye),r!==null){me=r;return}if(e=e.sibling,e!==null){me=e;return}me=e=s}while(e!==null);xe===0&&(xe=5)}function ys(s,e,r){var n=U,i=it.transition;try{it.transition=null,U=1,Gg(s,e,r,n)}finally{it.transition=i,U=n}return null}function Gg(s,e,r,n){do ur();while(es!==null);if(I&6)throw Error(S(327));r=s.finishedWork;var i=s.finishedLanes;if(r===null)return null;if(s.finishedWork=null,s.finishedLanes=0,r===s.current)throw Error(S(177));s.callbackNode=null,s.callbackPriority=0;var a=r.lanes|r.childLanes;if(E0(s,a),s===ve&&(me=ve=null,Ne=0),!(r.subtreeFlags&2064)&&!(r.flags&2064)||ai||(ai=!0,Ep(Fi,function(){return ur(),null})),a=(r.flags&15990)!==0,r.subtreeFlags&15990||a){a=it.transition,it.transition=null;var o=U;U=1;var l=I;I|=4,Ic.current=null,Ug(s,r),vp(r,s),hg(il),Vi=!!nl,il=nl=null,s.current=r,Fg(r),v0(),I=l,U=o,it.transition=a}else s.current=r;if(ai&&(ai=!1,es=s,aa=i),a=s.pendingLanes,a===0&&(as=null),y0(r.stateNode),He(s,ae()),e!==null)for(n=s.onRecoverableError,r=0;r<e.length;r++)i=e[r],n(i.value,{componentStack:i.stack,digest:i.digest});if(ia)throw ia=!1,s=kl,kl=null,s;return aa&1&&s.tag!==0&&ur(),a=s.pendingLanes,a&1?s===Sl?en++:(en=0,Sl=s):en=0,hs(),null}function ur(){if(es!==null){var s=nh(aa),e=it.transition,r=U;try{if(it.transition=null,U=16>s?16:s,es===null)var n=!1;else{if(s=es,es=null,aa=0,I&6)throw Error(S(331));var i=I;for(I|=4,P=s.current;P!==null;){var a=P,o=a.child;if(P.flags&16){var l=a.deletions;if(l!==null){for(var c=0;c<l.length;c++){var d=l[c];for(P=d;P!==null;){var u=P;switch(u.tag){case 0:case 11:case 15:Zr(8,u,a)}var m=u.child;if(m!==null)m.return=u,P=m;else for(;P!==null;){u=P;var h=u.sibling,f=u.return;if(xp(u),u===d){P=null;break}if(h!==null){h.return=f,P=h;break}P=f}}}var v=a.alternate;if(v!==null){var j=v.child;if(j!==null){v.child=null;do{var w=j.sibling;j.sibling=null,j=w}while(j!==null)}}P=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,P=o;else e:for(;P!==null;){if(a=P,a.flags&2048)switch(a.tag){case 0:case 11:case 15:Zr(9,a,a.return)}var p=a.sibling;if(p!==null){p.return=a.return,P=p;break e}P=a.return}}var x=s.current;for(P=x;P!==null;){o=P;var g=o.child;if(o.subtreeFlags&2064&&g!==null)g.return=o,P=g;else e:for(o=x;P!==null;){if(l=P,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:Ta(9,l)}}catch(_){se(l,l.return,_)}if(l===o){P=null;break e}var y=l.sibling;if(y!==null){y.return=l.return,P=y;break e}P=l.return}}if(I=i,hs(),St&&typeof St.onPostCommitFiberRoot=="function")try{St.onPostCommitFiberRoot(wa,s)}catch{}n=!0}return n}finally{U=r,it.transition=e}}return!1}function yu(s,e,r){e=br(r,e),e=np(s,e,1),s=is(s,e,1),e=Le(),s!==null&&(En(s,1,e),He(s,e))}function se(s,e,r){if(s.tag===3)yu(s,s,r);else for(;e!==null;){if(e.tag===3){yu(e,s,r);break}else if(e.tag===1){var n=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(as===null||!as.has(n))){s=br(r,s),s=ip(e,s,1),e=is(e,s,1),s=Le(),e!==null&&(En(e,1,s),He(e,s));break}}e=e.return}}function Qg(s,e,r){var n=s.pingCache;n!==null&&n.delete(e),e=Le(),s.pingedLanes|=s.suspendedLanes&r,ve===s&&(Ne&r)===r&&(xe===4||xe===3&&(Ne&130023424)===Ne&&500>ae()-Uc?As(s,0):$c|=r),He(s,e)}function kp(s,e){e===0&&(s.mode&1?(e=Kn,Kn<<=1,!(Kn&130023424)&&(Kn=4194304)):e=1);var r=Le();s=It(s,e),s!==null&&(En(s,e,r),He(s,r))}function Yg(s){var e=s.memoizedState,r=0;e!==null&&(r=e.retryLane),kp(s,r)}function Kg(s,e){var r=0;switch(s.tag){case 13:var n=s.stateNode,i=s.memoizedState;i!==null&&(r=i.retryLane);break;case 19:n=s.stateNode;break;default:throw Error(S(314))}n!==null&&n.delete(e),kp(s,r)}var Sp;Sp=function(s,e,r){if(s!==null)if(s.memoizedProps!==e.pendingProps||Be.current)Fe=!0;else{if(!(s.lanes&r)&&!(e.flags&128))return Fe=!1,zg(s,e,r);Fe=!!(s.flags&131072)}else Fe=!1,Y&&e.flags&1048576&&Th(e,Ji,e.index);switch(e.lanes=0,e.tag){case 2:var n=e.type;Ti(s,e),s=e.pendingProps;var i=xr(e,Ae.current);dr(e,r),i=Rc(null,e,n,s,i,r);var a=Lc();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Ve(n)?(a=!0,Yi(e)):a=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Pc(e),i.updater=Pa,e.stateNode=i,i._reactInternals=e,pl(e,n,s,r),e=gl(null,e,n,!0,a,r)):(e.tag=0,Y&&a&&wc(e),Re(null,e,i,r),e=e.child),e;case 16:n=e.elementType;e:{switch(Ti(s,e),s=e.pendingProps,i=n._init,n=i(n._payload),e.type=n,i=e.tag=Zg(n),s=mt(n,s),i){case 0:e=fl(null,e,n,s,r);break e;case 1:e=uu(null,e,n,s,r);break e;case 11:e=cu(null,e,n,s,r);break e;case 14:e=du(null,e,n,mt(n.type,s),r);break e}throw Error(S(306,n,""))}return e;case 0:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:mt(n,i),fl(s,e,n,i,r);case 1:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:mt(n,i),uu(s,e,n,i,r);case 3:e:{if(cp(e),s===null)throw Error(S(387));n=e.pendingProps,a=e.memoizedState,i=a.element,Dh(s,e),ea(e,n,null,r);var o=e.memoizedState;if(n=o.element,a.isDehydrated)if(a={element:n,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=a,e.memoizedState=a,e.flags&256){i=br(Error(S(423)),e),e=mu(s,e,n,r,i);break e}else if(n!==i){i=br(Error(S(424)),e),e=mu(s,e,n,r,i);break e}else for(Je=ns(e.stateNode.containerInfo.firstChild),Ze=e,Y=!0,ft=null,r=Rh(e,null,n,r),e.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(fr(),n===i){e=$t(s,e,r);break e}Re(s,e,n,r)}e=e.child}return e;case 5:return zh(e),s===null&&ul(e),n=e.type,i=e.pendingProps,a=s!==null?s.memoizedProps:null,o=i.children,al(n,i)?o=null:a!==null&&al(n,a)&&(e.flags|=32),lp(s,e),Re(s,e,o,r),e.child;case 6:return s===null&&ul(e),null;case 13:return dp(s,e,r);case 4:return Tc(e,e.stateNode.containerInfo),n=e.pendingProps,s===null?e.child=gr(e,null,n,r):Re(s,e,n,r),e.child;case 11:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:mt(n,i),cu(s,e,n,i,r);case 7:return Re(s,e,e.pendingProps,r),e.child;case 8:return Re(s,e,e.pendingProps.children,r),e.child;case 12:return Re(s,e,e.pendingProps.children,r),e.child;case 10:e:{if(n=e.type._context,i=e.pendingProps,a=e.memoizedProps,o=i.value,B(Zi,n._currentValue),n._currentValue=o,a!==null)if(bt(a.value,o)){if(a.children===i.children&&!Be.current){e=$t(s,e,r);break e}}else for(a=e.child,a!==null&&(a.return=e);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var c=l.firstContext;c!==null;){if(c.context===n){if(a.tag===1){c=Rt(-1,r&-r),c.tag=2;var d=a.updateQueue;if(d!==null){d=d.shared;var u=d.pending;u===null?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}a.lanes|=r,c=a.alternate,c!==null&&(c.lanes|=r),ml(a.return,r,e),l.lanes|=r;break}c=c.next}}else if(a.tag===10)o=a.type===e.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(S(341));o.lanes|=r,l=o.alternate,l!==null&&(l.lanes|=r),ml(o,r,e),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===e){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}Re(s,e,i.children,r),e=e.child}return e;case 9:return i=e.type,n=e.pendingProps.children,dr(e,r),i=at(i),n=n(i),e.flags|=1,Re(s,e,n,r),e.child;case 14:return n=e.type,i=mt(n,e.pendingProps),i=mt(n.type,i),du(s,e,n,i,r);case 15:return ap(s,e,e.type,e.pendingProps,r);case 17:return n=e.type,i=e.pendingProps,i=e.elementType===n?i:mt(n,i),Ti(s,e),e.tag=1,Ve(n)?(s=!0,Yi(e)):s=!1,dr(e,r),rp(e,n,i),pl(e,n,i,r),gl(null,e,n,!0,s,r);case 19:return up(s,e,r);case 22:return op(s,e,r)}throw Error(S(156,e.tag))};function Ep(s,e){return eh(s,e)}function Jg(s,e,r,n){this.tag=s,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function nt(s,e,r,n){return new Jg(s,e,r,n)}function Hc(s){return s=s.prototype,!(!s||!s.isReactComponent)}function Zg(s){if(typeof s=="function")return Hc(s)?1:0;if(s!=null){if(s=s.$$typeof,s===dc)return 11;if(s===uc)return 14}return 2}function ls(s,e){var r=s.alternate;return r===null?(r=nt(s.tag,e,s.key,s.mode),r.elementType=s.elementType,r.type=s.type,r.stateNode=s.stateNode,r.alternate=s,s.alternate=r):(r.pendingProps=e,r.type=s.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=s.flags&14680064,r.childLanes=s.childLanes,r.lanes=s.lanes,r.child=s.child,r.memoizedProps=s.memoizedProps,r.memoizedState=s.memoizedState,r.updateQueue=s.updateQueue,e=s.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},r.sibling=s.sibling,r.index=s.index,r.ref=s.ref,r}function qi(s,e,r,n,i,a){var o=2;if(n=s,typeof s=="function")Hc(s)&&(o=1);else if(typeof s=="string")o=5;else e:switch(s){case Ys:return Os(r.children,i,a,e);case cc:o=8,i|=8;break;case Mo:return s=nt(12,r,e,i|2),s.elementType=Mo,s.lanes=a,s;case Io:return s=nt(13,r,e,i),s.elementType=Io,s.lanes=a,s;case $o:return s=nt(19,r,e,i),s.elementType=$o,s.lanes=a,s;case zm:return Oa(r,i,a,e);default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case Lm:o=10;break e;case Dm:o=9;break e;case dc:o=11;break e;case uc:o=14;break e;case Gt:o=16,n=null;break e}throw Error(S(130,s==null?s:typeof s,""))}return e=nt(o,r,e,i),e.elementType=s,e.type=n,e.lanes=a,e}function Os(s,e,r,n){return s=nt(7,s,n,e),s.lanes=r,s}function Oa(s,e,r,n){return s=nt(22,s,n,e),s.elementType=zm,s.lanes=r,s.stateNode={isHidden:!1},s}function No(s,e,r){return s=nt(6,s,null,e),s.lanes=r,s}function _o(s,e,r){return e=nt(4,s.children!==null?s.children:[],s.key,e),e.lanes=r,e.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},e}function Xg(s,e,r,n,i){this.tag=e,this.containerInfo=s,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ro(0),this.expirationTimes=ro(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ro(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Wc(s,e,r,n,i,a,o,l,c){return s=new Xg(s,e,r,l,c),e===1?(e=1,a===!0&&(e|=8)):e=0,a=nt(3,null,null,e),s.current=a,a.stateNode=s,a.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Pc(a),s}function ev(s,e,r){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Qs,key:n==null?null:""+n,children:s,containerInfo:e,implementation:r}}function Cp(s){if(!s)return ds;s=s._reactInternals;e:{if($s(s)!==s||s.tag!==1)throw Error(S(170));var e=s;do{switch(e.tag){case 3:e=e.stateNode.context;break e;case 1:if(Ve(e.type)){e=e.stateNode.__reactInternalMemoizedMergedChildContext;break e}}e=e.return}while(e!==null);throw Error(S(171))}if(s.tag===1){var r=s.type;if(Ve(r))return Ch(s,r,e)}return e}function Pp(s,e,r,n,i,a,o,l,c){return s=Wc(r,n,!0,s,i,a,o,l,c),s.context=Cp(null),r=s.current,n=Le(),i=os(r),a=Rt(n,i),a.callback=e??null,is(r,a,i),s.current.lanes=i,En(s,i,n),He(s,n),s}function qa(s,e,r,n){var i=e.current,a=Le(),o=os(i);return r=Cp(r),e.context===null?e.context=r:e.pendingContext=r,e=Rt(a,o),e.payload={element:s},n=n===void 0?null:n,n!==null&&(e.callback=n),s=is(i,e,o),s!==null&&(vt(s,i,o,a),Ei(s,i,o)),o}function la(s){if(s=s.current,!s.child)return null;switch(s.child.tag){case 5:return s.child.stateNode;default:return s.child.stateNode}}function wu(s,e){if(s=s.memoizedState,s!==null&&s.dehydrated!==null){var r=s.retryLane;s.retryLane=r!==0&&r<e?r:e}}function Gc(s,e){wu(s,e),(s=s.alternate)&&wu(s,e)}function tv(){return null}var Tp=typeof reportError=="function"?reportError:function(s){console.error(s)};function Qc(s){this._internalRoot=s}Ra.prototype.render=Qc.prototype.render=function(s){var e=this._internalRoot;if(e===null)throw Error(S(409));qa(s,e,null,null)};Ra.prototype.unmount=Qc.prototype.unmount=function(){var s=this._internalRoot;if(s!==null){this._internalRoot=null;var e=s.containerInfo;zs(function(){qa(null,s,null,null)}),e[Mt]=null}};function Ra(s){this._internalRoot=s}Ra.prototype.unstable_scheduleHydration=function(s){if(s){var e=oh();s={blockedOn:null,target:s,priority:e};for(var r=0;r<Yt.length&&e!==0&&e<Yt[r].priority;r++);Yt.splice(r,0,s),r===0&&ch(s)}};function Yc(s){return!(!s||s.nodeType!==1&&s.nodeType!==9&&s.nodeType!==11)}function La(s){return!(!s||s.nodeType!==1&&s.nodeType!==9&&s.nodeType!==11&&(s.nodeType!==8||s.nodeValue!==" react-mount-point-unstable "))}function Nu(){}function sv(s,e,r,n,i){if(i){if(typeof n=="function"){var a=n;n=function(){var d=la(o);a.call(d)}}var o=Pp(e,n,s,0,null,!1,!1,"",Nu);return s._reactRootContainer=o,s[Mt]=o.current,un(s.nodeType===8?s.parentNode:s),zs(),o}for(;i=s.lastChild;)s.removeChild(i);if(typeof n=="function"){var l=n;n=function(){var d=la(c);l.call(d)}}var c=Wc(s,0,!1,null,null,!1,!1,"",Nu);return s._reactRootContainer=c,s[Mt]=c.current,un(s.nodeType===8?s.parentNode:s),zs(function(){qa(e,c,r,n)}),c}function Da(s,e,r,n,i){var a=r._reactRootContainer;if(a){var o=a;if(typeof i=="function"){var l=i;i=function(){var c=la(o);l.call(c)}}qa(e,o,s,i)}else o=sv(r,e,s,i,n);return la(o)}ih=function(s){switch(s.tag){case 3:var e=s.stateNode;if(e.current.memoizedState.isDehydrated){var r=Fr(e.pendingLanes);r!==0&&(pc(e,r|1),He(e,ae()),!(I&6)&&(jr=ae()+500,hs()))}break;case 13:zs(function(){var n=It(s,1);if(n!==null){var i=Le();vt(n,s,1,i)}}),Gc(s,1)}};xc=function(s){if(s.tag===13){var e=It(s,134217728);if(e!==null){var r=Le();vt(e,s,134217728,r)}Gc(s,134217728)}};ah=function(s){if(s.tag===13){var e=os(s),r=It(s,e);if(r!==null){var n=Le();vt(r,s,e,n)}Gc(s,e)}};oh=function(){return U};lh=function(s,e){var r=U;try{return U=s,e()}finally{U=r}};Ko=function(s,e,r){switch(e){case"input":if(Bo(s,r),e=r.name,r.type==="radio"&&e!=null){for(r=s;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),e=0;e<r.length;e++){var n=r[e];if(n!==s&&n.form===s.form){var i=Sa(n);if(!i)throw Error(S(90));Im(n),Bo(n,i)}}}break;case"textarea":Um(s,r);break;case"select":e=r.value,e!=null&&ar(s,!!r.multiple,e,!1)}};Qm=Fc;Ym=zs;var rv={usingClientEntryPoint:!1,Events:[Pn,Xs,Sa,Wm,Gm,Fc]},Ir={findFiberByHostInstance:Es,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nv={bundleType:Ir.bundleType,version:Ir.version,rendererPackageName:Ir.rendererPackageName,rendererConfig:Ir.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ut.ReactCurrentDispatcher,findHostInstanceByFiber:function(s){return s=Zm(s),s===null?null:s.stateNode},findFiberByHostInstance:Ir.findFiberByHostInstance||tv,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var oi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!oi.isDisabled&&oi.supportsFiber)try{wa=oi.inject(nv),St=oi}catch{}}et.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=rv;et.createPortal=function(s,e){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Yc(e))throw Error(S(200));return ev(s,e,null,r)};et.createRoot=function(s,e){if(!Yc(s))throw Error(S(299));var r=!1,n="",i=Tp;return e!=null&&(e.unstable_strictMode===!0&&(r=!0),e.identifierPrefix!==void 0&&(n=e.identifierPrefix),e.onRecoverableError!==void 0&&(i=e.onRecoverableError)),e=Wc(s,1,!1,null,null,r,!1,n,i),s[Mt]=e.current,un(s.nodeType===8?s.parentNode:s),new Qc(e)};et.findDOMNode=function(s){if(s==null)return null;if(s.nodeType===1)return s;var e=s._reactInternals;if(e===void 0)throw typeof s.render=="function"?Error(S(188)):(s=Object.keys(s).join(","),Error(S(268,s)));return s=Zm(e),s=s===null?null:s.stateNode,s};et.flushSync=function(s){return zs(s)};et.hydrate=function(s,e,r){if(!La(e))throw Error(S(200));return Da(null,s,e,!0,r)};et.hydrateRoot=function(s,e,r){if(!Yc(s))throw Error(S(405));var n=r!=null&&r.hydratedSources||null,i=!1,a="",o=Tp;if(r!=null&&(r.unstable_strictMode===!0&&(i=!0),r.identifierPrefix!==void 0&&(a=r.identifierPrefix),r.onRecoverableError!==void 0&&(o=r.onRecoverableError)),e=Pp(e,null,s,1,r??null,i,!1,a,o),s[Mt]=e.current,un(s),n)for(s=0;s<n.length;s++)r=n[s],i=r._getVersion,i=i(r._source),e.mutableSourceEagerHydrationData==null?e.mutableSourceEagerHydrationData=[r,i]:e.mutableSourceEagerHydrationData.push(r,i);return new Ra(e)};et.render=function(s,e,r){if(!La(e))throw Error(S(200));return Da(null,s,e,!1,r)};et.unmountComponentAtNode=function(s){if(!La(s))throw Error(S(40));return s._reactRootContainer?(zs(function(){Da(null,null,s,!1,function(){s._reactRootContainer=null,s[Mt]=null})}),!0):!1};et.unstable_batchedUpdates=Fc;et.unstable_renderSubtreeIntoContainer=function(s,e,r,n){if(!La(r))throw Error(S(200));if(s==null||s._reactInternals===void 0)throw Error(S(38));return Da(s,e,r,!1,n)};et.version="18.3.1-next-f1338f8080-20240426";function Ap(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Ap)}catch(s){console.error(s)}}Ap(),Am.exports=et;var Op=Am.exports,qp,_u=Op;qp=_u.createRoot,_u.hydrateRoot;/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/var iv={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const av=s=>s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),q=(s,e)=>{const r=k.forwardRef(({color:n="currentColor",size:i=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:l="",children:c,...d},u)=>k.createElement("svg",{ref:u,...iv,width:i,height:i,stroke:n,strokeWidth:o?Number(a)*24/Number(i):a,className:["lucide",`lucide-${av(s)}`,l].join(" "),...d},[...e.map(([m,h])=>k.createElement(m,h)),...Array.isArray(c)?c:[c]]));return r.displayName=`${s}`,r};/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Pl=q("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const De=q("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const yr=q("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const An=q("Award",[["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}],["path",{d:"M15.477 12.89 17 22l-5-3-5 3 1.523-9.11",key:"em7aur"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ov=q("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Rp=q("BookOpen",[["path",{d:"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z",key:"vv98re"}],["path",{d:"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z",key:"1cyq3y"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const lv=q("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ku=q("Briefcase",[["rect",{width:"20",height:"14",x:"2",y:"7",rx:"2",ry:"2",key:"eto64e"}],["path",{d:"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"zwj3tp"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Tl=q("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Oe=q("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const we=q("CheckCircle2",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Te=q("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Lt=q("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const jn=q("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Al=q("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ol=q("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const cv=q("ClipboardCheck",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ct=q("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const dv=q("Cookie",[["path",{d:"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5",key:"laymnq"}],["path",{d:"M8.5 8.5v.01",key:"ue8clq"}],["path",{d:"M16 15.5v.01",key:"14dtrp"}],["path",{d:"M12 12v.01",key:"u5ubse"}],["path",{d:"M11 17v.01",key:"1hyl5a"}],["path",{d:"M7 14v.01",key:"uct60s"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const uv=q("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const mv=q("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const hv=q("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const On=q("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ms=q("Gift",[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Kc=q("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const pv=q("GraduationCap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Lp=q("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const xv=q("HelpCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Dp=q("Home",[["path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"y5dka4"}],["polyline",{points:"9 22 9 12 15 12 15 22",key:"e2us08"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const zp=q("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Jc=q("Instagram",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const fv=q("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const yn=q("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Su=q("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const wn=q("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const gv=q("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const vv=q("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ca=q("Rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const bv=q("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const jv=q("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const yv=q("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const lt=q("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ql=q("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ko=q("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Rl=q("Stethoscope",[["path",{d:"M4.8 2.3A.3.3 0 1 0 5 2H4a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6v0a6 6 0 0 0 6-6V4a2 2 0 0 0-2-2h-1a.2.2 0 1 0 .3.3",key:"1jd90r"}],["path",{d:"M8 15v1a6 6 0 0 0 6 6v0a6 6 0 0 0 6-6v-4",key:"126ukv"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Eu=q("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const za=q("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"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const wv=q("UserCheck",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["polyline",{points:"16 11 18 13 22 9",key:"1pwet4"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ll=q("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ct=q("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Mp=q("Video",[["path",{d:"m22 8-6 4 6 4V8Z",key:"50v9me"}],["rect",{width:"14",height:"12",x:"2",y:"6",rx:"2",ry:"2",key:"1rqjg6"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Nv=q("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Dt=q("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
* @license lucide-react v0.344.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const _v=q("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]),kv=()=>{const[s,e]=k.useState(!0),[r,n]=k.useState(!1),i=()=>{navigator.clipboard.writeText("BLACKMALODO25"),n(!0),setTimeout(()=>n(!1),2e3)};return new Date>=new Date("2026-01-01T00:00:00")||!s?null:t.jsxs("div",{className:"bg-gradient-to-r from-red-700 via-green-800 to-red-700 text-white relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-yellow-400/10 via-red-500/20 to-green-500/20 animate-pulse"}),t.jsxs("div",{className:"absolute inset-0 opacity-20",children:[t.jsx("div",{className:"absolute top-1 left-[10%] text-4xl animate-pulse",children:"❄️"}),t.jsx("div",{className:"absolute top-2 right-[15%] text-3xl animate-bounce",children:"🎄"}),t.jsx("div",{className:"absolute bottom-1 left-[20%] text-2xl animate-pulse",children:"⭐"}),t.jsx("div",{className:"absolute top-3 left-[40%] text-3xl animate-bounce",children:"❄️"}),t.jsx("div",{className:"absolute bottom-2 right-[25%] text-2xl animate-pulse",children:"🎁"}),t.jsx("div",{className:"absolute top-2 right-[45%] text-3xl animate-bounce",children:"⭐"}),t.jsx("div",{className:"absolute bottom-1 right-[60%] text-2xl animate-pulse",children:"🎄"}),t.jsx("div",{className:"absolute top-1 left-[70%] text-3xl animate-bounce",children:"❄️"})]}),t.jsxs("div",{className:"container mx-auto px-3 py-1.5 sm:px-4 sm:py-2 relative z-10",children:[t.jsxs("div",{className:"flex flex-col md:flex-row items-center justify-center gap-2 sm:gap-3 md:gap-6 text-center",children:[t.jsxs("div",{className:"flex items-center gap-1 sm:gap-2",children:[t.jsx(Ms,{className:"text-yellow-300 animate-bounce",size:16}),t.jsx("span",{className:"text-lg sm:text-2xl md:text-4xl font-extrabold bg-gradient-to-r from-yellow-300 via-red-300 to-green-300 bg-clip-text text-transparent",children:"OFFRE DE NOËL"}),t.jsx(Ms,{className:"text-yellow-300 animate-bounce",size:16})]}),t.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-2 sm:gap-3 md:gap-4",children:[t.jsx("span",{className:"text-2xl sm:text-3xl md:text-5xl font-black text-yellow-300 drop-shadow-lg",children:"-40%"}),t.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2",children:[t.jsx("span",{className:"text-xs sm:text-sm md:text-base text-white/90 font-medium",children:"Code :"}),t.jsxs("button",{onClick:i,className:"group flex items-center gap-1.5 sm:gap-2 bg-white/10 hover:bg-white/20 backdrop-blur-sm px-2.5 py-1.5 sm:px-4 sm:py-2 rounded-lg border-2 border-yellow-300/50 hover:border-yellow-300/80 transition-all duration-300 hover:scale-105",children:[t.jsx("span",{className:"text-sm sm:text-lg md:text-xl font-bold text-yellow-300 tracking-wider",children:"BLACKMALODO25"}),r?t.jsx(Lt,{className:"text-green-400 animate-bounce",size:16}):t.jsx(uv,{className:"text-white/70 group-hover:text-white transition-colors",size:16})]})]})]})]}),t.jsx("p",{className:"text-center text-[10px] sm:text-xs md:text-sm text-white/90 mt-0.5 sm:mt-1",children:"🎅 Offre spéciale fêtes de fin d'année - Valable sur tous les programmes ! 🎄"})]}),t.jsx("button",{onClick:()=>e(!1),className:"absolute top-1 right-1 sm:top-2 sm:right-2 md:top-4 md:right-4 p-1 sm:p-1.5 hover:bg-white/10 rounded-full transition-colors duration-200 z-20","aria-label":"Fermer",children:t.jsx(Dt,{size:16,className:"sm:w-5 sm:h-5"})})]})},ne=()=>{const[s,e]=k.useState(!1);k.useEffect(()=>{localStorage.getItem("cookieConsent")||e(!0)},[]);const r=()=>{localStorage.setItem("cookieConsent","accepted"),e(!1)},n=()=>{localStorage.setItem("cookieConsent","declined"),e(!1)};return s?t.jsx("div",{className:"fixed bottom-0 left-0 right-0 z-50 bg-white shadow-2xl border-t-2 border-emerald-500",children:t.jsx("div",{className:"container mx-auto px-4 py-4 sm:py-6",children:t.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4",children:[t.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[t.jsx(dv,{className:"text-emerald-600 flex-shrink-0 mt-1",size:24}),t.jsxs("div",{className:"flex-1",children:[t.jsx("h3",{className:"text-lg font-bold text-gray-900 mb-1",children:"Utilisation des cookies"}),t.jsxs("p",{className:"text-sm text-gray-600 leading-relaxed",children:[`Nous utilisons des cookies pour améliorer votre expérience sur notre site, analyser le trafic et personnaliser le contenu. En cliquant sur "Accepter", vous consentez à l'utilisation de tous les cookies. Consultez notre`," ",t.jsx("a",{href:"/politique-confidentialite",className:"text-emerald-600 hover:text-emerald-700 underline font-medium",children:"politique de confidentialité"})," ","pour plus d'informations."]})]})]}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-2 w-full sm:w-auto",children:[t.jsx("button",{onClick:n,className:"px-6 py-2.5 text-sm font-semibold text-gray-700 bg-gray-100 hover:bg-gray-200 rounded-lg transition-colors duration-200 whitespace-nowrap",children:"Refuser"}),t.jsx("button",{onClick:r,className:"px-6 py-2.5 text-sm font-semibold text-white bg-emerald-600 hover:bg-emerald-700 rounded-lg transition-colors duration-200 whitespace-nowrap shadow-md",children:"Accepter"})]}),t.jsx("button",{onClick:n,className:"absolute top-2 right-2 sm:relative sm:top-0 sm:right-0 p-1 hover:bg-gray-100 rounded-full transition-colors duration-200","aria-label":"Fermer",children:t.jsx(Dt,{size:20,className:"text-gray-500"})})]})})}):null},ie=({targetDate:s="2026-01-14T20:00:00",enabled:e=!1})=>{const[r,n]=k.useState(e),[i,a]=k.useState(new Date);if(k.useEffect(()=>{if(!e){n(!1);return}if(new URLSearchParams(window.location.search).get("admin")==="malodo2025"){n(!1);return}const u=window.location.pathname;if(u.startsWith("/resultats/")||u==="/malodo-confirmation"||u==="/resultats"){n(!1);return}n(!0);const h=()=>{const v=new Date;a(v);const j=new Date(s);v>=j&&n(!1)};h();const f=setInterval(h,6e4);return()=>clearInterval(f)},[s,e]),!r)return null;const o=()=>{const c=i,d=new Date(s);if(c>=d)return"Bientôt disponible";const u=d.getTime()-c.getTime(),m=Math.floor(u/(1e3*60*60)),h=Math.floor(u%(1e3*60*60)/(1e3*60));if(m>24){const f=Math.floor(m/24),v=m%24;return`Dans ${f} jour${f>1?"s":""} ${v}h`}return m>0?`Dans ${m}h${h>0?` ${h}min`:""}`:`Dans ${h} minutes`},l=()=>new Date(s).toLocaleString("fr-FR",{weekday:"long",day:"numeric",month:"long",hour:"2-digit",minute:"2-digit"});return t.jsxs("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center",children:[t.jsx("div",{className:"absolute inset-0 backdrop-blur-xl bg-gray-900/50"}),t.jsxs("div",{className:"relative z-10 max-w-2xl mx-4 bg-white rounded-2xl shadow-2xl p-8 md:p-12 text-center",children:[t.jsx("div",{className:"flex justify-center mb-6",children:t.jsx("div",{className:"w-20 h-20 bg-gradient-to-br from-teal-500 to-teal-600 rounded-full flex items-center justify-center animate-pulse",children:t.jsx(Nv,{className:"w-10 h-10 text-white"})})}),t.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Site en maintenance"}),t.jsxs("div",{className:"bg-teal-50 border-2 border-teal-200 rounded-xl p-6 mb-6",children:[t.jsxs("p",{className:"text-xl md:text-2xl font-bold text-teal-700 mb-2",children:["Retour prévu : ",l()]}),t.jsx("p",{className:"text-lg text-teal-600 font-semibold",children:o()})]}),t.jsx("p",{className:"text-lg text-gray-600 mb-4",children:"Nous effectuons actuellement des travaux de maintenance pour améliorer votre expérience."}),t.jsx("p",{className:"text-gray-500",children:"Merci de votre patience et à très bientôt !"}),t.jsx("div",{className:"mt-8 pt-6 border-t border-gray-200",children:t.jsxs("p",{className:"text-sm text-gray-500",children:["Pour toute urgence : ",t.jsx("a",{href:"mailto:support@malodo.pro",className:"text-teal-600 hover:text-teal-700 font-semibold",children:"support@malodo.pro"})]})})]})]})},V=({title:s,description:e,keywords:r,ogTitle:n,ogDescription:i,ogImage:a,canonicalUrl:o})=>(k.useEffect(()=>{document.title=s;const l=document.querySelector('meta[name="description"]');if(l)l.setAttribute("content",e);else{const m=document.createElement("meta");m.name="description",m.content=e,document.head.appendChild(m)}if(r){let m=document.querySelector('meta[name="keywords"]');if(m)m.setAttribute("content",r);else{const h=document.createElement("meta");h.name="keywords",h.content=r,document.head.appendChild(h)}}const c=(m,h)=>{let f=document.querySelector(`meta[property="${m}"]`);if(f)f.setAttribute("content",h);else{const v=document.createElement("meta");v.setAttribute("property",m),v.setAttribute("content",h),document.head.appendChild(v)}};c("og:title",n||s),c("og:description",i||e),a&&c("og:image",a),c("og:type","website");const d=o||`https://malodo.pro${window.location.pathname}`;let u=document.querySelector('link[rel="canonical"]');if(u)u.setAttribute("href",d);else{const m=document.createElement("link");m.setAttribute("rel","canonical"),m.setAttribute("href",d),document.head.appendChild(m)}},[s,e,r,n,i,a,o]),null),Dl=({data:s})=>(k.useEffect(()=>{const e=document.createElement("script");e.type="application/ld+json",e.text=JSON.stringify(s),e.id="structured-data";const r=document.getElementById("structured-data");return r&&r.remove(),document.head.appendChild(e),()=>{const n=document.getElementById("structured-data");n&&n.remove()}},[s]),null),Sv={"@context":"https://schema.org","@type":"HealthAndBeautyBusiness",name:"Malodo",description:"Plateforme digitale de bien-être spécialisée dans les programmes de confort lombaire personnalisés. Salle d'attente active pour patients en attente de kinésithérapie.",url:"https://malodo.pro",logo:"https://malodo.pro/logo-malodo.png",image:"https://malodo.pro/logo-malodo.png",address:{"@type":"PostalAddress",addressLocality:"Mamers",addressRegion:"Pays de la Loire",postalCode:"72600",addressCountry:"FR"},priceRange:"59€ - 149€",areaServed:{"@type":"Country",name:"France"},founder:{"@type":"Person",name:"Jimmy Renaud",jobTitle:"Kinésithérapeute DE"},sameAs:["https://www.instagram.com/malodo_officiel/","https://www.linkedin.com/in/jimmy-renaud-malodo/"]},Ev={"@context":"https://schema.org","@type":"Service",serviceType:"Programme de confort lombaire personnalisé",name:"Programme Malodo - Salle d'attente active",description:"Programme d'exercices personnalisés pour améliorer le confort lombaire en attendant votre rendez-vous kinésithérapie. Approche basée sur le mouvement et validée scientifiquement.",provider:{"@type":"HealthAndBeautyBusiness",name:"Malodo",url:"https://malodo.pro"},areaServed:{"@type":"Country",name:"France"},hasOfferCatalog:{"@type":"OfferCatalog",name:"Formules Malodo",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Formule Découverte - 4 semaines"},price:"59",priceCurrency:"EUR",availability:"https://schema.org/InStock",url:"https://malodo.pro/#programmes"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Formule Essentielle - 8 semaines"},price:"89",priceCurrency:"EUR",availability:"https://schema.org/InStock",url:"https://malodo.pro/#programmes"},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Formule Premium - 12 semaines"},price:"149",priceCurrency:"EUR",availability:"https://schema.org/InStock",url:"https://malodo.pro/#programmes"}]}},Cv={"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"Qu'est-ce que Malodo exactement ?",acceptedAnswer:{"@type":"Answer",text:"Malodo est une plateforme digitale de bien-être spécialisée dans l'amélioration du confort lombaire. Nous proposons des programmes d'exercices personnalisés, basés sur vos besoins spécifiques, pour vous aider à retrouver progressivement mobilité et confort au quotidien. C'est une salle d'attente active pour les patients en attente de kinésithérapie."}},{"@type":"Question",name:"Malodo remplace-t-il une consultation médicale ?",acceptedAnswer:{"@type":"Answer",text:"Non, Malodo est une plateforme de bien-être qui complète mais ne remplace jamais un suivi médical. Pour des douleurs sévères, persistantes ou accompagnées de symptômes neurologiques, consultez impérativement un professionnel de santé avant de commencer."}},{"@type":"Question",name:"Comment Malodo se différencie-t-il des autres solutions ?",acceptedAnswer:{"@type":"Answer",text:"Notre approche repose sur la personnalisation complète : chaque programme est unique, basé sur votre évaluation initiale. Nous proposons une salle d'attente active où vous êtes acteur de votre amélioration, avec une méthode fondée sur la compréhension du mouvement et développée par un kinésithérapeute."}},{"@type":"Question",name:"Combien coûtent les programmes Malodo ?",acceptedAnswer:{"@type":"Answer",text:"Malodo propose 3 formules : Découverte 4 semaines (59€), Essentielle 8 semaines (89€), et Premium 12 semaines (149€). Tous les programmes incluent des exercices personnalisés en vidéo, un suivi de progression et un accès à votre espace personnel."}},{"@type":"Question",name:"Pour qui Malodo est-il adapté ?",acceptedAnswer:{"@type":"Answer",text:"Malodo convient aux personnes avec des inconforts lombaires légers à modérés, sans pathologie grave diagnostiquée. Idéal pour ceux qui sont en attente de rendez-vous kiné et souhaitent être actifs dans leur bien-être."}}]};var te={},Zc={},qn={},Rn={},Ip="Expected a function",Cu=NaN,Pv="[object Symbol]",Tv=/^\s+|\s+$/g,Av=/^[-+]0x[0-9a-f]+$/i,Ov=/^0b[01]+$/i,qv=/^0o[0-7]+$/i,Rv=parseInt,Lv=typeof Nt=="object"&&Nt&&Nt.Object===Object&&Nt,Dv=typeof self=="object"&&self&&self.Object===Object&&self,zv=Lv||Dv||Function("return this")(),Mv=Object.prototype,Iv=Mv.toString,$v=Math.max,Uv=Math.min,So=function(){return zv.Date.now()};function Fv(s,e,r){var n,i,a,o,l,c,d=0,u=!1,m=!1,h=!0;if(typeof s!="function")throw new TypeError(Ip);e=Pu(e)||0,da(r)&&(u=!!r.leading,m="maxWait"in r,a=m?$v(Pu(r.maxWait)||0,e):a,h="trailing"in r?!!r.trailing:h);function f(b){var N=n,E=i;return n=i=void 0,d=b,o=s.apply(E,N),o}function v(b){return d=b,l=setTimeout(p,e),u?f(b):o}function j(b){var N=b-c,E=b-d,R=e-N;return m?Uv(R,a-E):R}function w(b){var N=b-c,E=b-d;return c===void 0||N>=e||N<0||m&&E>=a}function p(){var b=So();if(w(b))return x(b);l=setTimeout(p,j(b))}function x(b){return l=void 0,h&&n?f(b):(n=i=void 0,o)}function g(){l!==void 0&&clearTimeout(l),d=0,n=c=i=l=void 0}function y(){return l===void 0?o:x(So())}function _(){var b=So(),N=w(b);if(n=arguments,i=this,c=b,N){if(l===void 0)return v(c);if(m)return l=setTimeout(p,e),f(c)}return l===void 0&&(l=setTimeout(p,e)),o}return _.cancel=g,_.flush=y,_}function Bv(s,e,r){var n=!0,i=!0;if(typeof s!="function")throw new TypeError(Ip);return da(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),Fv(s,e,{leading:n,maxWait:e,trailing:i})}function da(s){var e=typeof s;return!!s&&(e=="object"||e=="function")}function Vv(s){return!!s&&typeof s=="object"}function Hv(s){return typeof s=="symbol"||Vv(s)&&Iv.call(s)==Pv}function Pu(s){if(typeof s=="number")return s;if(Hv(s))return Cu;if(da(s)){var e=typeof s.valueOf=="function"?s.valueOf():s;s=da(e)?e+"":e}if(typeof s!="string")return s===0?s:+s;s=s.replace(Tv,"");var r=Ov.test(s);return r||qv.test(s)?Rv(s.slice(2),r?2:8):Av.test(s)?Cu:+s}var Wv=Bv,Ln={};Object.defineProperty(Ln,"__esModule",{value:!0});Ln.addPassiveEventListener=function(e,r,n){var i=n.name;i||(i=r,console.warn("Listener must be a named function.")),Ri.has(r)||Ri.set(r,new Set);var a=Ri.get(r);if(!a.has(i)){var o=function(){var l=!1;try{var c=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("test",null,c)}catch{}return l}();e.addEventListener(r,n,o?{passive:!0}:!1),a.add(i)}};Ln.removePassiveEventListener=function(e,r,n){e.removeEventListener(r,n),Ri.get(r).delete(n.name||r)};var Ri=new Map;Object.defineProperty(Rn,"__esModule",{value:!0});var Gv=Wv,Qv=Yv(Gv),Tu=Ln;function Yv(s){return s&&s.__esModule?s:{default:s}}var Kv=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:66;return(0,Qv.default)(e,r)},K={spyCallbacks:[],spySetState:[],scrollSpyContainers:[],mount:function(e,r){if(e){var n=Kv(function(i){K.scrollHandler(e)},r);return K.scrollSpyContainers.push(e),(0,Tu.addPassiveEventListener)(e,"scroll",n),function(){(0,Tu.removePassiveEventListener)(e,"scroll",n),K.scrollSpyContainers.splice(K.scrollSpyContainers.indexOf(e),1)}}return function(){}},isMounted:function(e){return K.scrollSpyContainers.indexOf(e)!==-1},currentPositionX:function(e){if(e===document){var r=window.scrollY!==void 0,n=(document.compatMode||"")==="CSS1Compat";return r?window.scrollX:n?document.documentElement.scrollLeft:document.body.scrollLeft}else return e.scrollLeft},currentPositionY:function(e){if(e===document){var r=window.scrollX!==void 0,n=(document.compatMode||"")==="CSS1Compat";return r?window.scrollY:n?document.documentElement.scrollTop:document.body.scrollTop}else return e.scrollTop},scrollHandler:function(e){var r=K.scrollSpyContainers[K.scrollSpyContainers.indexOf(e)].spyCallbacks||[];r.forEach(function(n){return n(K.currentPositionX(e),K.currentPositionY(e))})},addStateHandler:function(e){K.spySetState.push(e)},addSpyHandler:function(e,r){var n=K.scrollSpyContainers[K.scrollSpyContainers.indexOf(r)];n.spyCallbacks||(n.spyCallbacks=[]),n.spyCallbacks.push(e)},updateStates:function(){K.spySetState.forEach(function(e){return e()})},unmount:function(e,r){K.scrollSpyContainers.forEach(function(n){return n.spyCallbacks&&n.spyCallbacks.length&&n.spyCallbacks.indexOf(r)>-1&&n.spyCallbacks.splice(n.spyCallbacks.indexOf(r),1)}),K.spySetState&&K.spySetState.length&&K.spySetState.indexOf(e)>-1&&K.spySetState.splice(K.spySetState.indexOf(e),1),document.removeEventListener("scroll",K.scrollHandler)},update:function(){return K.scrollSpyContainers.forEach(function(e){return K.scrollHandler(e)})}};Rn.default=K;var Cr={},Dn={};Object.defineProperty(Dn,"__esModule",{value:!0});var Jv=function(e,r){var n=e.indexOf("#")===0?e.substring(1):e,i=n?"#"+n:"",a=window&&window.location,o=i?a.pathname+a.search+i:a.pathname+a.search;r?history.pushState(history.state,"",o):history.replaceState(history.state,"",o)},Zv=function(){return window.location.hash.replace(/^#/,"")},Xv=function(e){return function(r){return e.contains?e!=r&&e.contains(r):!!(e.compareDocumentPosition(r)&16)}},eb=function(e){return getComputedStyle(e).position!=="static"},Eo=function(e,r){for(var n=e.offsetTop,i=e.offsetParent;i&&!r(i);)n+=i.offsetTop,i=i.offsetParent;return{offsetTop:n,offsetParent:i}},tb=function(e,r,n){if(n)return e===document?r.getBoundingClientRect().left+(window.scrollX||window.pageXOffset):getComputedStyle(e).position!=="static"?r.offsetLeft:r.offsetLeft-e.offsetLeft;if(e===document)return r.getBoundingClientRect().top+(window.scrollY||window.pageYOffset);if(eb(e)){if(r.offsetParent!==e){var i=function(u){return u===e||u===document},a=Eo(r,i),o=a.offsetTop,l=a.offsetParent;if(l!==e)throw new Error("Seems containerElement is not an ancestor of the Element");return o}return r.offsetTop}if(r.offsetParent===e.offsetParent)return r.offsetTop-e.offsetTop;var c=function(u){return u===document};return Eo(r,c).offsetTop-Eo(e,c).offsetTop};Dn.default={updateHash:Jv,getHash:Zv,filterElementInContainer:Xv,scrollOffset:tb};var Ma={},Xc={};Object.defineProperty(Xc,"__esModule",{value:!0});Xc.default={defaultEasing:function(e){return e<.5?Math.pow(e*2,2)/2:1-Math.pow((1-e)*2,2)/2},linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return e*(2-e)},easeInOutQuad:function(e){return e<.5?2*e*e:-1+(4-2*e)*e},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return--e*e*e+1},easeInOutCubic:function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1- --e*e*e*e},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1+--e*e*e*e*e},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e}};var ed={};Object.defineProperty(ed,"__esModule",{value:!0});var sb=Ln,rb=["mousedown","wheel","touchmove","keydown"];ed.default={subscribe:function(e){return typeof document<"u"&&rb.forEach(function(r){return(0,sb.addPassiveEventListener)(document,r,e)})}};var zn={};Object.defineProperty(zn,"__esModule",{value:!0});var zl={registered:{},scrollEvent:{register:function(e,r){zl.registered[e]=r},remove:function(e){zl.registered[e]=null}}};zn.default=zl;Object.defineProperty(Ma,"__esModule",{value:!0});var nb=Object.assign||function(s){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=r[n])}return s},ib=Dn;Ia(ib);var ab=Xc,Au=Ia(ab),ob=ed,lb=Ia(ob),cb=zn,_t=Ia(cb);function Ia(s){return s&&s.__esModule?s:{default:s}}var $p=function(e){return Au.default[e.smooth]||Au.default.defaultEasing},db=function(e){return typeof e=="function"?e:function(){return e}},ub=function(){if(typeof window<"u")return window.requestAnimationFrame||window.webkitRequestAnimationFrame},Ml=function(){return ub()||function(s,e,r){window.setTimeout(s,r||1e3/60,new Date().getTime())}}(),Up=function(){return{currentPosition:0,startPosition:0,targetPosition:0,progress:0,duration:0,cancel:!1,target:null,containerElement:null,to:null,start:null,delta:null,percent:null,delayTimeout:null}},Fp=function(e){var r=e.data.containerElement;if(r&&r!==document&&r!==document.body)return r.scrollLeft;var n=window.pageXOffset!==void 0,i=(document.compatMode||"")==="CSS1Compat";return n?window.pageXOffset:i?document.documentElement.scrollLeft:document.body.scrollLeft},Bp=function(e){var r=e.data.containerElement;if(r&&r!==document&&r!==document.body)return r.scrollTop;var n=window.pageXOffset!==void 0,i=(document.compatMode||"")==="CSS1Compat";return n?window.pageYOffset:i?document.documentElement.scrollTop:document.body.scrollTop},mb=function(e){var r=e.data.containerElement;if(r&&r!==document&&r!==document.body)return r.scrollWidth-r.offsetWidth;var n=document.body,i=document.documentElement;return Math.max(n.scrollWidth,n.offsetWidth,i.clientWidth,i.scrollWidth,i.offsetWidth)},hb=function(e){var r=e.data.containerElement;if(r&&r!==document&&r!==document.body)return r.scrollHeight-r.offsetHeight;var n=document.body,i=document.documentElement;return Math.max(n.scrollHeight,n.offsetHeight,i.clientHeight,i.scrollHeight,i.offsetHeight)},pb=function s(e,r,n){var i=r.data;if(!r.ignoreCancelEvents&&i.cancel){_t.default.registered.end&&_t.default.registered.end(i.to,i.target,i.currentPositionY);return}if(i.delta=Math.round(i.targetPosition-i.startPosition),i.start===null&&(i.start=n),i.progress=n-i.start,i.percent=i.progress>=i.duration?1:e(i.progress/i.duration),i.currentPosition=i.startPosition+Math.ceil(i.delta*i.percent),i.containerElement&&i.containerElement!==document&&i.containerElement!==document.body?r.horizontal?i.containerElement.scrollLeft=i.currentPosition:i.containerElement.scrollTop=i.currentPosition:r.horizontal?window.scrollTo(i.currentPosition,0):window.scrollTo(0,i.currentPosition),i.percent<1){var a=s.bind(null,e,r);Ml.call(window,a);return}_t.default.registered.end&&_t.default.registered.end(i.to,i.target,i.currentPosition)},td=function(e){e.data.containerElement=e?e.containerId?document.getElementById(e.containerId):e.container&&e.container.nodeType?e.container:document:null},Mn=function(e,r,n,i){r.data=r.data||Up(),window.clearTimeout(r.data.delayTimeout);var a=function(){r.data.cancel=!0};if(lb.default.subscribe(a),td(r),r.data.start=null,r.data.cancel=!1,r.data.startPosition=r.horizontal?Fp(r):Bp(r),r.data.targetPosition=r.absolute?e:e+r.data.startPosition,r.data.startPosition===r.data.targetPosition){_t.default.registered.end&&_t.default.registered.end(r.data.to,r.data.target,r.data.currentPosition);return}r.data.delta=Math.round(r.data.targetPosition-r.data.startPosition),r.data.duration=db(r.duration)(r.data.delta),r.data.duration=isNaN(parseFloat(r.data.duration))?1e3:parseFloat(r.data.duration),r.data.to=n,r.data.target=i;var o=$p(r),l=pb.bind(null,o,r);if(r&&r.delay>0){r.data.delayTimeout=window.setTimeout(function(){_t.default.registered.begin&&_t.default.registered.begin(r.data.to,r.data.target),Ml.call(window,l)},r.delay);return}_t.default.registered.begin&&_t.default.registered.begin(r.data.to,r.data.target),Ml.call(window,l)},$a=function(e){return e=nb({},e),e.data=e.data||Up(),e.absolute=!0,e},xb=function(e){Mn(0,$a(e))},fb=function(e,r){Mn(e,$a(r))},gb=function(e){e=$a(e),td(e),Mn(e.horizontal?mb(e):hb(e),e)},vb=function(e,r){r=$a(r),td(r);var n=r.horizontal?Fp(r):Bp(r);Mn(e+n,r)};Ma.default={animateTopScroll:Mn,getAnimationType:$p,scrollToTop:xb,scrollToBottom:gb,scrollTo:fb,scrollMore:vb};Object.defineProperty(Cr,"__esModule",{value:!0});var bb=Object.assign||function(s){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=r[n])}return s},jb=Dn,yb=sd(jb),wb=Ma,Nb=sd(wb),_b=zn,li=sd(_b);function sd(s){return s&&s.__esModule?s:{default:s}}var ci={},Ou=void 0;Cr.default={unmount:function(){ci={}},register:function(e,r){ci[e]=r},unregister:function(e){delete ci[e]},get:function(e){return ci[e]||document.getElementById(e)||document.getElementsByName(e)[0]||document.getElementsByClassName(e)[0]},setActiveLink:function(e){return Ou=e},getActiveLink:function(){return Ou},scrollTo:function(e,r){var n=this.get(e);if(!n){console.warn("target Element not found");return}r=bb({},r,{absolute:!1});var i=r.containerId,a=r.container,o=void 0;i?o=document.getElementById(i):a&&a.nodeType?o=a:o=document,r.absolute=!0;var l=r.horizontal,c=yb.default.scrollOffset(o,n,l)+(r.offset||0);if(!r.smooth){li.default.registered.begin&&li.default.registered.begin(e,n),o===document?r.horizontal?window.scrollTo(c,0):window.scrollTo(0,c):o.scrollTop=c,li.default.registered.end&&li.default.registered.end(e,n);return}Nb.default.animateTopScroll(c,r,e,n)}};var Vp={exports:{}},kb="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Sb=kb,Eb=Sb;function Hp(){}function Wp(){}Wp.resetWarningCache=Hp;var Cb=function(){function s(n,i,a,o,l,c){if(c!==Eb){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}s.isRequired=s;function e(){return s}var r={array:s,bigint:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:e,element:s,elementType:s,instanceOf:e,node:s,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:Wp,resetWarningCache:Hp};return r.PropTypes=r,r};Vp.exports=Cb();var Ua=Vp.exports,Fa={};Object.defineProperty(Fa,"__esModule",{value:!0});var Pb=Dn,Co=Tb(Pb);function Tb(s){return s&&s.__esModule?s:{default:s}}var Ab={mountFlag:!1,initialized:!1,scroller:null,containers:{},mount:function(e){this.scroller=e,this.handleHashChange=this.handleHashChange.bind(this),window.addEventListener("hashchange",this.handleHashChange),this.initStateFromHash(),this.mountFlag=!0},mapContainer:function(e,r){this.containers[e]=r},isMounted:function(){return this.mountFlag},isInitialized:function(){return this.initialized},initStateFromHash:function(){var e=this,r=this.getHash();r?window.setTimeout(function(){e.scrollTo(r,!0),e.initialized=!0},10):this.initialized=!0},scrollTo:function(e,r){var n=this.scroller,i=n.get(e);if(i&&(r||e!==n.getActiveLink())){var a=this.containers[e]||document;n.scrollTo(e,{container:a})}},getHash:function(){return Co.default.getHash()},changeHash:function(e,r){this.isInitialized()&&Co.default.getHash()!==e&&Co.default.updateHash(e,r)},handleHashChange:function(){this.scrollTo(this.getHash())},unmount:function(){this.scroller=null,this.containers=null,window.removeEventListener("hashchange",this.handleHashChange)}};Fa.default=Ab;Object.defineProperty(qn,"__esModule",{value:!0});var di=Object.assign||function(s){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=r[n])}return s},Ob=function(){function s(e,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,r,n){return r&&s(e.prototype,r),n&&s(e,n),e}}(),qb=k,qu=In(qb),Rb=Rn,ui=In(Rb),Lb=Cr,Db=In(Lb),zb=Ua,G=In(zb),Mb=Fa,Ht=In(Mb);function In(s){return s&&s.__esModule?s:{default:s}}function Ib(s,e){if(!(s instanceof e))throw new TypeError("Cannot call a class as a function")}function $b(s,e){if(!s)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:s}function Ub(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e)}var Ru={to:G.default.string.isRequired,containerId:G.default.string,container:G.default.object,activeClass:G.default.string,activeStyle:G.default.object,spy:G.default.bool,horizontal:G.default.bool,smooth:G.default.oneOfType([G.default.bool,G.default.string]),offset:G.default.number,delay:G.default.number,isDynamic:G.default.bool,onClick:G.default.func,duration:G.default.oneOfType([G.default.number,G.default.func]),absolute:G.default.bool,onSetActive:G.default.func,onSetInactive:G.default.func,ignoreCancelEvents:G.default.bool,hashSpy:G.default.bool,saveHashHistory:G.default.bool,spyThrottle:G.default.number};qn.default=function(s,e){var r=e||Db.default,n=function(a){Ub(o,a);function o(l){Ib(this,o);var c=$b(this,(o.__proto__||Object.getPrototypeOf(o)).call(this,l));return i.call(c),c.state={active:!1},c.beforeUnmountCallbacks=[],c}return Ob(o,[{key:"getScrollSpyContainer",value:function(){var c=this.props.containerId,d=this.props.container;return c&&!d?document.getElementById(c):d&&d.nodeType?d:document}},{key:"componentDidMount",value:function(){if(this.props.spy||this.props.hashSpy){var c=this.getScrollSpyContainer();if(!ui.default.isMounted(c)){var d=ui.default.mount(c,this.props.spyThrottle);this.beforeUnmountCallbacks.push(d)}this.props.hashSpy&&(Ht.default.isMounted()||Ht.default.mount(r),Ht.default.mapContainer(this.props.to,c)),ui.default.addSpyHandler(this.spyHandler,c),this.setState({container:c})}}},{key:"componentWillUnmount",value:function(){ui.default.unmount(this.stateHandler,this.spyHandler),this.beforeUnmountCallbacks.forEach(function(c){return c()})}},{key:"render",value:function(){var c="";this.state&&this.state.active?c=((this.props.className||"")+" "+(this.props.activeClass||"active")).trim():c=this.props.className;var d={};this.state&&this.state.active?d=di({},this.props.style,this.props.activeStyle):d=di({},this.props.style);var u=di({},this.props);for(var m in Ru)u.hasOwnProperty(m)&&delete u[m];return u.className=c,u.style=d,u.onClick=this.handleClick,qu.default.createElement(s,u)}}]),o}(qu.default.PureComponent),i=function(){var o=this;this.scrollTo=function(l,c){r.scrollTo(l,di({},o.state,c))},this.handleClick=function(l){o.props.onClick&&o.props.onClick(l),l.stopPropagation&&l.stopPropagation(),l.preventDefault&&l.preventDefault(),o.scrollTo(o.props.to,o.props)},this.spyHandler=function(l,c){var d=o.getScrollSpyContainer();if(!(Ht.default.isMounted()&&!Ht.default.isInitialized())){var u=o.props.horizontal,m=o.props.to,h=null,f=void 0,v=void 0;if(u){var j=0,w=0,p=0;if(d.getBoundingClientRect){var x=d.getBoundingClientRect();p=x.left}if(!h||o.props.isDynamic){if(h=r.get(m),!h)return;var g=h.getBoundingClientRect();j=g.left-p+l,w=j+g.width}var y=l-o.props.offset;f=y>=Math.floor(j)&&y<Math.floor(w),v=y<Math.floor(j)||y>=Math.floor(w)}else{var _=0,b=0,N=0;if(d.getBoundingClientRect){var E=d.getBoundingClientRect();N=E.top}if(!h||o.props.isDynamic){if(h=r.get(m),!h)return;var R=h.getBoundingClientRect();_=R.top-N+c,b=_+R.height}var O=c-o.props.offset;f=O>=Math.floor(_)&&O<Math.floor(b),v=O<Math.floor(_)||O>=Math.floor(b)}var ce=r.getActiveLink();if(v){if(m===ce&&r.setActiveLink(void 0),o.props.hashSpy&&Ht.default.getHash()===m){var We=o.props.saveHashHistory,Ge=We===void 0?!1:We;Ht.default.changeHash("",Ge)}o.props.spy&&o.state.active&&(o.setState({active:!1}),o.props.onSetInactive&&o.props.onSetInactive(m,h))}if(f&&(ce!==m||o.state.active===!1)){r.setActiveLink(m);var Qe=o.props.saveHashHistory,qe=Qe===void 0?!1:Qe;o.props.hashSpy&&Ht.default.changeHash(m,qe),o.props.spy&&(o.setState({active:!0}),o.props.onSetActive&&o.props.onSetActive(m,h))}}}};return n.propTypes=Ru,n.defaultProps={offset:0},n};Object.defineProperty(Zc,"__esModule",{value:!0});var Fb=k,Lu=Gp(Fb),Bb=qn,Vb=Gp(Bb);function Gp(s){return s&&s.__esModule?s:{default:s}}function Hb(s,e){if(!(s instanceof e))throw new TypeError("Cannot call a class as a function")}function Du(s,e){if(!s)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:s}function Wb(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e)}var Gb=function(s){Wb(e,s);function e(){var r,n,i,a;Hb(this,e);for(var o=arguments.length,l=Array(o),c=0;c<o;c++)l[c]=arguments[c];return a=(n=(i=Du(this,(r=e.__proto__||Object.getPrototypeOf(e)).call.apply(r,[this].concat(l))),i),i.render=function(){return Lu.default.createElement("a",i.props,i.props.children)},n),Du(i,a)}return e}(Lu.default.Component);Zc.default=(0,Vb.default)(Gb);var rd={};Object.defineProperty(rd,"__esModule",{value:!0});var Qb=function(){function s(e,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,r,n){return r&&s(e.prototype,r),n&&s(e,n),e}}(),Yb=k,zu=Qp(Yb),Kb=qn,Jb=Qp(Kb);function Qp(s){return s&&s.__esModule?s:{default:s}}function Zb(s,e){if(!(s instanceof e))throw new TypeError("Cannot call a class as a function")}function Xb(s,e){if(!s)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:s}function ej(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e)}var tj=function(s){ej(e,s);function e(){return Zb(this,e),Xb(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return Qb(e,[{key:"render",value:function(){return zu.default.createElement("button",this.props,this.props.children)}}]),e}(zu.default.Component);rd.default=(0,Jb.default)(tj);var nd={},Ba={};Object.defineProperty(Ba,"__esModule",{value:!0});var sj=Object.assign||function(s){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=r[n])}return s},rj=function(){function s(e,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,r,n){return r&&s(e.prototype,r),n&&s(e,n),e}}(),nj=k,Mu=Va(nj),ij=Op;Va(ij);var aj=Cr,Iu=Va(aj),oj=Ua,$u=Va(oj);function Va(s){return s&&s.__esModule?s:{default:s}}function lj(s,e){if(!(s instanceof e))throw new TypeError("Cannot call a class as a function")}function cj(s,e){if(!s)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:s}function dj(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e)}Ba.default=function(s){var e=function(r){dj(n,r);function n(i){lj(this,n);var a=cj(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,i));return a.childBindings={domNode:null},a}return rj(n,[{key:"componentDidMount",value:function(){if(typeof window>"u")return!1;this.registerElems(this.props.name)}},{key:"componentDidUpdate",value:function(a){this.props.name!==a.name&&this.registerElems(this.props.name)}},{key:"componentWillUnmount",value:function(){if(typeof window>"u")return!1;Iu.default.unregister(this.props.name)}},{key:"registerElems",value:function(a){Iu.default.register(a,this.childBindings.domNode)}},{key:"render",value:function(){return Mu.default.createElement(s,sj({},this.props,{parentBindings:this.childBindings}))}}]),n}(Mu.default.Component);return e.propTypes={name:$u.default.string,id:$u.default.string},e};Object.defineProperty(nd,"__esModule",{value:!0});var Uu=Object.assign||function(s){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=r[n])}return s},uj=function(){function s(e,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,r,n){return r&&s(e.prototype,r),n&&s(e,n),e}}(),mj=k,Fu=id(mj),hj=Ba,pj=id(hj),xj=Ua,Bu=id(xj);function id(s){return s&&s.__esModule?s:{default:s}}function fj(s,e){if(!(s instanceof e))throw new TypeError("Cannot call a class as a function")}function gj(s,e){if(!s)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:s}function vj(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e)}var Yp=function(s){vj(e,s);function e(){return fj(this,e),gj(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return uj(e,[{key:"render",value:function(){var n=this,i=Uu({},this.props);return delete i.name,i.parentBindings&&delete i.parentBindings,Fu.default.createElement("div",Uu({},i,{ref:function(o){n.props.parentBindings.domNode=o}}),this.props.children)}}]),e}(Fu.default.Component);Yp.propTypes={name:Bu.default.string,id:Bu.default.string};nd.default=(0,pj.default)(Yp);var Po=Object.assign||function(s){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s[n]=r[n])}return s},Vu=function(){function s(e,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,r,n){return r&&s(e.prototype,r),n&&s(e,n),e}}();function Hu(s,e){if(!(s instanceof e))throw new TypeError("Cannot call a class as a function")}function Wu(s,e){if(!s)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:s}function Gu(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(s,e):s.__proto__=e)}var mi=k,gs=Rn,To=Cr,J=Ua,Wt=Fa,Qu={to:J.string.isRequired,containerId:J.string,container:J.object,activeClass:J.string,spy:J.bool,smooth:J.oneOfType([J.bool,J.string]),offset:J.number,delay:J.number,isDynamic:J.bool,onClick:J.func,duration:J.oneOfType([J.number,J.func]),absolute:J.bool,onSetActive:J.func,onSetInactive:J.func,ignoreCancelEvents:J.bool,hashSpy:J.bool,spyThrottle:J.number},bj={Scroll:function(e,r){console.warn("Helpers.Scroll is deprecated since v1.7.0");var n=r||To,i=function(o){Gu(l,o);function l(c){Hu(this,l);var d=Wu(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,c));return a.call(d),d.state={active:!1},d}return Vu(l,[{key:"getScrollSpyContainer",value:function(){var d=this.props.containerId,u=this.props.container;return d?document.getElementById(d):u&&u.nodeType?u:document}},{key:"componentDidMount",value:function(){if(this.props.spy||this.props.hashSpy){var d=this.getScrollSpyContainer();gs.isMounted(d)||gs.mount(d,this.props.spyThrottle),this.props.hashSpy&&(Wt.isMounted()||Wt.mount(n),Wt.mapContainer(this.props.to,d)),this.props.spy&&gs.addStateHandler(this.stateHandler),gs.addSpyHandler(this.spyHandler,d),this.setState({container:d})}}},{key:"componentWillUnmount",value:function(){gs.unmount(this.stateHandler,this.spyHandler)}},{key:"render",value:function(){var d="";this.state&&this.state.active?d=((this.props.className||"")+" "+(this.props.activeClass||"active")).trim():d=this.props.className;var u=Po({},this.props);for(var m in Qu)u.hasOwnProperty(m)&&delete u[m];return u.className=d,u.onClick=this.handleClick,mi.createElement(e,u)}}]),l}(mi.Component),a=function(){var l=this;this.scrollTo=function(c,d){n.scrollTo(c,Po({},l.state,d))},this.handleClick=function(c){l.props.onClick&&l.props.onClick(c),c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault(),l.scrollTo(l.props.to,l.props)},this.stateHandler=function(){n.getActiveLink()!==l.props.to&&(l.state!==null&&l.state.active&&l.props.onSetInactive&&l.props.onSetInactive(),l.setState({active:!1}))},this.spyHandler=function(c){var d=l.getScrollSpyContainer();if(!(Wt.isMounted()&&!Wt.isInitialized())){var u=l.props.to,m=null,h=0,f=0,v=0;if(d.getBoundingClientRect){var j=d.getBoundingClientRect();v=j.top}if(!m||l.props.isDynamic){if(m=n.get(u),!m)return;var w=m.getBoundingClientRect();h=w.top-v+c,f=h+w.height}var p=c-l.props.offset,x=p>=Math.floor(h)&&p<Math.floor(f),g=p<Math.floor(h)||p>=Math.floor(f),y=n.getActiveLink();if(g)return u===y&&n.setActiveLink(void 0),l.props.hashSpy&&Wt.getHash()===u&&Wt.changeHash(),l.props.spy&&l.state.active&&(l.setState({active:!1}),l.props.onSetInactive&&l.props.onSetInactive()),gs.updateStates();if(x&&y!==u)return n.setActiveLink(u),l.props.hashSpy&&Wt.changeHash(u),l.props.spy&&(l.setState({active:!0}),l.props.onSetActive&&l.props.onSetActive(u)),gs.updateStates()}}};return i.propTypes=Qu,i.defaultProps={offset:0},i},Element:function(e){console.warn("Helpers.Element is deprecated since v1.7.0");var r=function(n){Gu(i,n);function i(a){Hu(this,i);var o=Wu(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,a));return o.childBindings={domNode:null},o}return Vu(i,[{key:"componentDidMount",value:function(){if(typeof window>"u")return!1;this.registerElems(this.props.name)}},{key:"componentDidUpdate",value:function(o){this.props.name!==o.name&&this.registerElems(this.props.name)}},{key:"componentWillUnmount",value:function(){if(typeof window>"u")return!1;To.unregister(this.props.name)}},{key:"registerElems",value:function(o){To.register(o,this.childBindings.domNode)}},{key:"render",value:function(){return mi.createElement(e,Po({},this.props,{parentBindings:this.childBindings}))}}]),i}(mi.Component);return r.propTypes={name:J.string,id:J.string},r}},jj=bj;Object.defineProperty(te,"__esModule",{value:!0});te.Helpers=te.ScrollElement=te.ScrollLink=te.animateScroll=te.scrollSpy=te.Events=te.scroller=te.Element=te.Button=tn=te.Link=void 0;var yj=Zc,Kp=Pt(yj),wj=rd,Jp=Pt(wj),Nj=nd,Zp=Pt(Nj),_j=Cr,Xp=Pt(_j),kj=zn,ex=Pt(kj),Sj=Rn,tx=Pt(Sj),Ej=Ma,sx=Pt(Ej),Cj=qn,rx=Pt(Cj),Pj=Ba,nx=Pt(Pj),Tj=jj,ix=Pt(Tj);function Pt(s){return s&&s.__esModule?s:{default:s}}var tn=te.Link=Kp.default;te.Button=Jp.default;te.Element=Zp.default;te.scroller=Xp.default;te.Events=ex.default;te.scrollSpy=tx.default;te.animateScroll=sx.default;te.ScrollLink=rx.default;te.ScrollElement=nx.default;te.Helpers=ix.default;te.default={Link:Kp.default,Button:Jp.default,Element:Zp.default,scroller:Xp.default,Events:ex.default,scrollSpy:tx.default,animateScroll:sx.default,ScrollLink:rx.default,ScrollElement:nx.default,Helpers:ix.default};const oe=()=>{const[s,e]=k.useState(!1),[r,n]=k.useState(!1),i=window.location.pathname==="/"||window.location.pathname==="/index.html",a=()=>{e(!s)},o=()=>{if(window.Tally){const l=window.innerWidth<768,c=window.innerWidth>=768&&window.innerWidth<1024;window.Tally.openPopup("wQpYYA",{width:l?window.innerWidth-32:c?600:700,hideTitle:!1,overlay:!0,autoClose:2e3,emoji:{text:"🚀",animation:"wave"}})}else window.open("https://tally.so/r/wQpYYA","_blank")};return k.useEffect(()=>{const l=document.createElement("script");l.src="https://tally.so/widgets/embed.js",l.async=!0,document.body.appendChild(l);const c=()=>{window.scrollY>50?n(!0):n(!1)};return window.addEventListener("scroll",c),()=>{window.removeEventListener("scroll",c),document.body.contains(l)&&document.body.removeChild(l)}},[]),t.jsx("header",{className:`sticky top-0 z-50 bg-white/95 backdrop-blur-md shadow-md transition-all duration-300 ${r?"py-2":"py-3"}`,children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsx("a",{href:"/",className:"flex items-center hover:opacity-80 transition-opacity",children:t.jsx("img",{src:"/logo-malodo-petit.png",alt:"Malodo - Solution bien-être pour le dos",className:"h-20 w-auto"})}),t.jsxs("nav",{className:"hidden lg:flex items-center space-x-1",children:[t.jsxs("div",{className:"relative group",children:[i?t.jsx(tn,{to:"home",spy:!0,smooth:!0,offset:-80,duration:500,className:"px-4 py-2 font-semibold text-white bg-primary hover:bg-primary-dark rounded-full cursor-pointer transition-all duration-300 inline-block",children:"Particuliers"}):t.jsx("a",{href:"/",className:"px-4 py-2 font-semibold text-white bg-primary hover:bg-primary-dark rounded-full cursor-pointer transition-all duration-300 inline-block",children:"Particuliers"}),t.jsx("div",{className:"absolute top-full left-0 mt-2 w-64 bg-white rounded-xl shadow-2xl opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 z-50",children:t.jsxs("div",{className:"p-4 space-y-3",children:[i?t.jsx(tn,{to:"programmes",spy:!0,smooth:!0,offset:-80,duration:500,className:"block px-4 py-3 text-neutral-700 hover:bg-primary/5 hover:text-primary rounded-lg cursor-pointer transition-all duration-200",children:"Nos programmes"}):t.jsx("a",{href:"/#programmes",className:"block px-4 py-3 text-neutral-700 hover:bg-primary/5 hover:text-primary rounded-lg cursor-pointer transition-all duration-200",children:"Nos programmes"}),t.jsx("button",{onClick:o,className:"block w-full text-left px-4 py-3 text-neutral-700 hover:bg-primary/5 hover:text-primary rounded-lg cursor-pointer transition-all duration-200",children:"Faire mon test gratuit"})]})})]}),t.jsxs("div",{className:"relative group",children:[t.jsx("a",{href:"/entreprises",className:"px-4 py-2 font-semibold text-white bg-slate-900 hover:bg-slate-800 rounded-full cursor-pointer transition-all duration-300 inline-block",children:"Entreprises"}),t.jsx("div",{className:"absolute top-full left-0 mt-2 w-64 bg-white rounded-xl shadow-2xl opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 z-50",children:t.jsxs("div",{className:"p-4 space-y-3",children:[t.jsx("a",{href:"/entreprises",className:"block px-4 py-3 text-neutral-700 hover:bg-slate-900/5 hover:text-slate-900 rounded-lg cursor-pointer transition-all duration-200",children:"Solution entreprise"}),t.jsx("a",{href:"mailto:pro@malodo.pro",className:"block px-4 py-3 text-neutral-700 hover:bg-slate-900/5 hover:text-slate-900 rounded-lg cursor-pointer transition-all duration-200",children:"Demander un audit"})]})})]}),t.jsx("a",{href:"/notre-methode",className:"px-4 py-2 font-semibold text-neutral-700 hover:text-primary hover:bg-primary/5 rounded-lg cursor-pointer transition-all duration-300",children:"Notre méthode"}),t.jsx("a",{href:"/tarifs",className:"px-4 py-2 font-semibold text-neutral-700 hover:text-primary hover:bg-primary/5 rounded-lg cursor-pointer transition-all duration-300",children:"Tarifs"}),t.jsx("a",{href:"/blog",className:"px-4 py-2 font-semibold text-neutral-700 hover:text-primary hover:bg-primary/5 rounded-lg cursor-pointer transition-all duration-300",children:"Blog"}),t.jsxs("div",{className:"relative group",children:[t.jsx("button",{className:"px-4 py-2 font-semibold text-neutral-700 hover:text-primary hover:bg-primary/5 rounded-lg cursor-pointer transition-all duration-300",children:"Devenir partenaire"}),t.jsx("div",{className:"absolute top-full left-0 mt-2 w-64 bg-white rounded-xl shadow-2xl opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 z-50",children:t.jsxs("div",{className:"p-4 space-y-3",children:[t.jsx("a",{href:"/partenariat-kine",className:"block px-4 py-3 text-neutral-700 hover:bg-primary/5 hover:text-primary rounded-lg cursor-pointer transition-all duration-200",children:"Je suis kiné"}),t.jsx("a",{href:"/partenariat-med",className:"block px-4 py-3 text-neutral-700 hover:bg-primary/5 hover:text-primary rounded-lg cursor-pointer transition-all duration-200",children:"Je suis médecin"})]})})]})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("a",{href:"https://wa.me/33780976172?text=Bonjour%20Jimmy%20!%20J'ai%20vu%20Malodo%20et%20j'aimerais%20comprendre%20comment%20votre%20m%C3%A9thode%20peut%20m'aider%20avec%20mon%20mal%20de%20dos.%20Avez-vous%202%20minutes%20%3F",target:"_blank",rel:"noopener noreferrer",className:"group relative flex items-center justify-center","aria-label":"Contactez-nous sur WhatsApp",children:[t.jsx("div",{className:"bg-[#25D366] hover:bg-[#20BA5A] text-white rounded-full p-2 transition-all duration-300 transform hover:scale-110 flex items-center justify-center",children:t.jsx("svg",{className:"w-5 h-5",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"})})}),t.jsxs("div",{className:"absolute -bottom-12 right-0 bg-white text-secondary px-3 py-1.5 rounded-lg shadow-lg opacity-0 group-hover:opacity-100 transition-all duration-300 pointer-events-none whitespace-nowrap text-xs font-medium",children:["Une question ?",t.jsx("div",{className:"absolute top-0 right-4 transform -translate-y-1/2 rotate-45 w-2 h-2 bg-white"})]})]}),t.jsx("button",{onClick:a,className:"lg:hidden text-neutral-700 p-2 hover:bg-neutral-100 rounded-lg transition-all","aria-label":"Toggle mobile menu",children:t.jsx(gv,{size:24})})]})]}),s&&t.jsx("div",{className:"md:hidden mt-4 pb-4",children:t.jsxs("div",{className:"flex flex-col space-y-4",children:[t.jsxs("div",{className:"border-l-4 border-primary pl-3",children:[t.jsx("a",{href:"/",className:"text-primary font-bold mb-2 block",onClick:()=>e(!1),children:"Particuliers"}),t.jsxs("div",{className:"flex flex-col space-y-2 ml-2",children:[i?t.jsx(tn,{to:"programmes",spy:!0,smooth:!0,offset:-80,duration:500,className:"text-neutral-700 text-sm hover:text-primary py-1 cursor-pointer",onClick:()=>e(!1),children:"Nos programmes"}):t.jsx("a",{href:"/#programmes",className:"text-neutral-700 text-sm hover:text-primary py-1 cursor-pointer",onClick:()=>e(!1),children:"Nos programmes"}),t.jsx("button",{onClick:()=>{e(!1),o()},className:"text-left text-neutral-700 text-sm hover:text-primary py-1 cursor-pointer",children:"Faire mon test gratuit"})]})]}),t.jsxs("div",{className:"border-l-4 border-slate-900 pl-3",children:[t.jsx("div",{className:"text-slate-900 font-bold mb-2",children:"Entreprises"}),t.jsxs("div",{className:"flex flex-col space-y-2 ml-2",children:[t.jsx("a",{href:"/entreprises",className:"text-neutral-700 text-sm hover:text-slate-900 py-1 cursor-pointer",onClick:()=>e(!1),children:"Solution entreprise"}),t.jsx("a",{href:"mailto:pro@malodo.pro",className:"text-neutral-700 text-sm hover:text-slate-900 py-1 cursor-pointer",onClick:()=>e(!1),children:"Demander un audit"})]})]}),t.jsx("a",{href:"/notre-methode",className:"text-neutral-700 font-medium hover:text-primary py-2 cursor-pointer",onClick:()=>e(!1),children:"Notre méthode"}),t.jsx("a",{href:"/tarifs",className:"text-neutral-700 font-medium hover:text-primary py-2 cursor-pointer",onClick:()=>e(!1),children:"Tarifs"}),t.jsx("a",{href:"/blog",className:"text-neutral-700 font-medium hover:text-primary py-2 cursor-pointer",onClick:()=>e(!1),children:"Blog"}),t.jsxs("div",{className:"border-l-4 border-primary pl-3",children:[t.jsx("div",{className:"text-primary font-bold mb-2",children:"Devenir partenaire"}),t.jsxs("div",{className:"flex flex-col space-y-2 ml-2",children:[t.jsx("a",{href:"/partenariat-kine",className:"text-neutral-700 text-sm hover:text-primary py-1 cursor-pointer",onClick:()=>e(!1),children:"Je suis kiné"}),t.jsx("a",{href:"/partenariat-med",className:"text-neutral-700 text-sm hover:text-primary py-1 cursor-pointer",onClick:()=>e(!1),children:"Je suis médecin"})]})]}),t.jsx("button",{onClick:()=>{e(!1),o()},className:"bg-gradient-to-r from-primary to-blue-500 text-white font-bold py-3 px-6 rounded-full hover:shadow-lg transition-all duration-300 text-center",children:"Faire mon test"}),t.jsxs("a",{href:"https://wa.me/33780976172?text=Bonjour%20Jimmy%20!%20J'ai%20vu%20Malodo%20et%20j'aimerais%20comprendre%20comment%20votre%20m%C3%A9thode%20peut%20m'aider%20avec%20mon%20mal%20de%20dos.%20Avez-vous%202%20minutes%20%3F",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 bg-[#25D366] text-white font-bold py-3 px-6 rounded-full hover:bg-[#20BA5A] transition-all duration-300",onClick:()=>e(!1),children:[t.jsx("svg",{className:"w-5 h-5",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"})}),"Une question ?"]})]})})]})})};function $n({className:s,children:e}){k.useEffect(()=>{if(!document.querySelector('script[src="https://tally.so/widgets/embed.js"]')){const n=document.createElement("script");n.src="https://tally.so/widgets/embed.js",n.async=!0,document.head.appendChild(n)}},[]);const r=()=>{if(window.Tally){const n=window.innerWidth<768,i=window.innerWidth>=768&&window.innerWidth<1024;window.Tally.openPopup("wQpYYA",{layout:"modal",width:n?window.innerWidth-32:i?600:700,hideTitle:!0,autoClose:2e3,onSubmit:a=>{console.log("Formulaire soumis:",a)}})}};return t.jsx("button",{onClick:r,className:s,children:e})}const Aj=()=>t.jsxs("section",{className:"relative bg-gradient-to-br from-primary via-secondary to-primary text-white py-12 md:py-20 lg:py-32 overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMyI+PHBhdGggZD0iTTM2IDE0YzAtMy4zMTQtMi42ODYtNi02LTZzLTYgMi42ODYtNiA2IDIuNjg2IDYgNiA2IDYtMi42ODYgNi02ek0yNCA0N2MwLTMuMzE0LTIuNjg2LTYtNi02cy02IDIuNjg2LTYgNiAyLjY4NiA2IDYgNiA2LTIuNjg2IDYtNnptMTgtMjNjMC0zLjMxNC0yLjY4Ni02LTYtNnMtNiAyLjY4Ni02IDYgMi42ODYgNiA2IDYgNi0yLjY4NiA2LTZ6Ii8+PC9nPjwvZz48L3N2Zz4=')] opacity-40"}),t.jsx("div",{className:"container mx-auto px-4 relative z-10",children:t.jsxs("div",{className:"flex flex-col lg:flex-row items-center gap-8 lg:gap-20",children:[t.jsxs("div",{className:"lg:w-1/2 text-center lg:text-left",children:[t.jsx("div",{className:"inline-block mb-3 md:mb-4 px-3 md:px-4 py-1.5 md:py-2 bg-white/20 backdrop-blur-sm rounded-full text-xs md:text-sm font-semibold",children:"Solution digitale de bien-être lombaire"}),t.jsxs("h1",{className:"text-3xl md:text-5xl lg:text-6xl xl:text-7xl font-black mb-4 md:mb-6 text-white leading-tight tracking-tight",children:["Reprenez le contrôle",t.jsx("br",{}),t.jsx("span",{className:"bg-clip-text text-transparent bg-gradient-to-r from-white to-white/80",children:"de votre dos"})]}),t.jsx("p",{className:"text-base md:text-xl lg:text-2xl opacity-95 mb-6 md:mb-10 leading-relaxed font-light max-w-2xl mx-auto lg:mx-0",children:"Quelques minutes par jour suffisent. Des exercices personnalisés qui fonctionnent vraiment."}),t.jsx("div",{className:"flex justify-center lg:justify-start",children:t.jsx($n,{className:"bg-[#ec4899] text-white hover:bg-[#db2777] text-center font-bold text-base md:text-xl lg:text-2xl px-10 md:px-12 lg:px-16 py-5 md:py-6 lg:py-7 rounded-2xl shadow-2xl transition-all duration-300 hover:scale-105 hover:shadow-pink-500/30",children:"Faire mon test gratuit"})}),t.jsx("p",{className:"text-xs md:text-sm opacity-80 mt-3 text-center lg:text-left",children:"Gratuit • Personnalisé • Sans engagement"})]}),t.jsx("div",{className:"lg:w-1/2 mt-6 lg:mt-0 w-full max-w-md lg:max-w-none mx-auto",children:t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute inset-0 bg-white/20 rounded-2xl blur-3xl"}),t.jsx("img",{src:"https://images.pexels.com/photos/4056723/pexels-photo-4056723.jpeg?auto=compress&cs=tinysrgb&w=800",alt:"Personne pratiquant des exercices de mobilité pour soulager les douleurs lombaires - Programme Malodo",className:"relative w-full h-auto rounded-2xl shadow-2xl transition-transform duration-500 hover:scale-[1.02]",loading:"lazy",width:"800",height:"600"})]})})]})})]}),Oj=()=>t.jsx("section",{id:"notre-methode",className:"py-20 bg-gradient-to-b from-white to-neutral-50",children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsx("div",{className:"inline-block mb-4 px-4 py-2 bg-primary/10 rounded-full text-primary font-bold text-sm",children:"POURQUOI MALODO"}),t.jsx("h2",{className:"text-4xl md:text-5xl font-black text-secondary mb-4",children:"Retrouvez le confort au quotidien"}),t.jsx("p",{className:"text-xl text-neutral-600 max-w-3xl mx-auto",children:"Un programme personnalisé qui s'adapte à votre rythme et à vos objectifs"})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8 mb-16 max-w-5xl mx-auto",children:[{icon:Lp,title:"Facile à suivre",description:"Des vidéos claires et des instructions simples pour pratiquer chez vous, à votre rythme"},{icon:za,title:"Adapté à vous",description:"Votre programme est personnalisé selon votre situation et vos besoins spécifiques"},{icon:Ct,title:"Créé par des pros",description:"Tous nos exercices sont conçus et validés par des kinésithérapeutes diplômés"}].map((s,e)=>t.jsxs("div",{className:"bg-white p-8 rounded-2xl border-2 border-neutral-200 hover:border-primary shadow-lg hover:shadow-xl hover:-translate-y-1 transition-all duration-300 text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-gradient-to-br from-primary to-secondary rounded-xl mb-4",children:t.jsx(s.icon,{className:"text-white",size:32})}),t.jsx("h3",{className:"text-xl font-bold text-secondary mb-3",children:s.title}),t.jsx("p",{className:"text-neutral-600 leading-relaxed",children:s.description})]},e))}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 rounded-2xl shadow-xl border-2 border-green-200 p-8 md:p-10 max-w-4xl mx-auto mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"w-12 h-12 bg-green-500 rounded-lg flex items-center justify-center flex-shrink-0",children:t.jsx(we,{className:"text-white",size:28})}),t.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-secondary",children:"Les bénéfices que vous allez ressentir"})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:["Améliorer votre confort au quotidien","Bouger plus facilement dans vos activités","Gagner en force et en stabilité","Mieux comprendre votre corps","Adopter de meilleures habitudes","Reprendre confiance en vos capacités"].map((s,e)=>t.jsxs("div",{className:"flex items-start group",children:[t.jsx(we,{className:"text-green-600 mr-3 flex-shrink-0 mt-1 group-hover:scale-110 transition-transform",size:20}),t.jsx("span",{className:"text-neutral-700 font-medium",children:s})]},e))})]}),t.jsxs("div",{className:"text-center space-y-6",children:[t.jsx($n,{className:"btn btn-primary text-lg px-8 py-4",children:"Découvrir mon programme personnalisé"}),t.jsx("div",{children:t.jsxs("a",{href:"/notre-methode",className:"inline-flex items-center gap-2 text-primary hover:text-primary-dark font-semibold transition-colors",children:["En savoir plus sur notre approche",t.jsx(yr,{size:20})]})})]})]})}),qj=({title:s,duration:e,price:r,description:n,features:i,type:a,whatsappAvailable:o})=>{const l={discovery:"border-2 border-neutral-200 hover:border-primary/30",standard:"border-2 border-neutral-200 hover:border-primary/30",consolidation:"border-2 border-neutral-200 hover:border-secondary/30"},c={discovery:"bg-gradient-to-br from-teal-500 to-teal-600",standard:"bg-gradient-to-br from-primary to-secondary",consolidation:"bg-gradient-to-br from-slate-700 to-slate-900"},d={discovery:t.jsx(za,{size:24}),standard:t.jsx(lv,{size:24}),consolidation:t.jsx(An,{size:24})};return t.jsxs("div",{className:`bg-white rounded-2xl overflow-hidden transition-all duration-300 hover:shadow-xl relative h-full ${l[a]}`,children:[t.jsxs("div",{className:`p-8 text-white ${c[a]} relative overflow-hidden`,children:[t.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 bg-white/10 rounded-full -mr-16 -mt-16"}),t.jsx("div",{className:"absolute bottom-0 left-0 w-24 h-24 bg-white/10 rounded-full -ml-12 -mb-12"}),t.jsxs("div",{className:"relative z-10",children:[t.jsx("div",{className:"flex items-center justify-center mb-3",children:d[a]}),t.jsx("h3",{className:"text-2xl font-black text-center mb-2 text-white",children:s}),t.jsx("p",{className:"text-center text-white/90 text-sm mb-4",children:e}),r&&t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"text-5xl font-black mb-1 text-white",children:r}),t.jsx("p",{className:"text-white/80 text-sm",children:"Paiement unique"})]})]})]}),t.jsxs("div",{className:"p-6",children:[t.jsx("p",{className:"text-neutral-600 text-center mb-6 leading-relaxed",children:n}),t.jsx("div",{className:"space-y-3 mb-6",children:i.map((u,m)=>t.jsxs("div",{className:"flex items-start",children:[t.jsx(we,{className:"text-primary mr-3 flex-shrink-0 mt-0.5",size:18}),t.jsx("span",{className:"text-sm text-neutral-700",children:u})]},m))}),o?t.jsx("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 border-2 border-green-200 rounded-xl p-5 mt-4",children:t.jsxs("div",{className:"text-center",children:[t.jsxs("div",{className:"font-bold text-green-900 mb-2 flex items-center justify-center gap-2",children:[t.jsx("span",{className:"text-xl",children:"📱"}),t.jsx("span",{children:"+ Accompagnement Personnalisé Direct"})]}),t.jsx("div",{className:"text-xs text-green-800 leading-relaxed",children:"Accès direct à un référent Malodo • Échanges illimités • Analyse mouvements • Réponse sous 24h"})]})}):t.jsx("div",{className:"bg-neutral-50 border-2 border-neutral-200 rounded-xl p-5 mt-4",children:t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"font-bold text-neutral-500 mb-2",children:"📱 Accompagnement Personnalisé"}),t.jsx("div",{className:"text-sm text-neutral-600",children:"Non disponible"}),t.jsx("div",{className:"text-xs text-neutral-500 mt-2",children:"Durée trop courte pour un suivi intensif"})]})})]})]})},Rj=()=>{const s=[{title:"Formule Découverte",duration:"4 semaines",price:"",description:"Parfait pour démarrer en douceur et tester l'efficacité de notre méthode sur vos premiers inconforts.",features:["Évaluation complète de votre profil de mobilité","Programme d'exercices de base progressifs","Vidéos d'exercices guidés HD personnalisés","Fiches explicatives sur les mécanismes lombaires","Accès à la base de connaissances fondamentales"],type:"discovery",whatsappAvailable:!1},{title:"Formule Standard",duration:"8 semaines",price:"",description:"Pour retrouver durablement votre confort et votre mobilité au quotidien avec un accompagnement progressif.",features:["Tout le contenu de la formule Découverte","Programme évolutif sur 8 semaines","Suivi hebdomadaire personnalisé selon vos progrès","Ajustements selon votre progression","Conseils ergonomiques pour votre environnement","Ebook gratuit sur les mécanismes lombaires"],type:"standard",whatsappAvailable:!0},{title:"Formule Consolidation",duration:"12 semaines",price:"",description:"Programme approfondi pour ancrer durablement vos progrès et développer une autonomie complète.",features:["Tout le contenu de la formule Standard","Programme approfondi sur 12 semaines","Progression renforcée pour résultats durables","Développement de l'autonomie complète","Prévention optimale des récidives","Accompagnement sur la durée pour ancrer les bonnes pratiques"],type:"consolidation",whatsappAvailable:!0}];return t.jsx("section",{id:"programmes",className:"py-16 md:py-20 bg-gradient-to-b from-neutral-50 to-white",children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-black text-slate-900 mb-4",children:"Votre programme sur mesure"}),t.jsx("p",{className:"text-lg md:text-xl text-neutral-600 max-w-3xl mx-auto",children:"Chaque parcours est calibré selon votre situation réelle"})]}),t.jsx("div",{className:"max-w-4xl mx-auto mb-12",children:t.jsx("div",{className:"bg-gradient-to-br from-primary-lightest via-white to-accent-light rounded-2xl p-6 md:p-8 border-2 border-primary/20 shadow-lg",children:t.jsxs("div",{className:"text-center",children:[t.jsx("h3",{className:"text-xl md:text-2xl font-bold text-slate-900 mb-3",children:"Une formule et un suivi personnalisé selon vos réponses"}),t.jsx("p",{className:"text-neutral-700 leading-relaxed mb-4",children:"Notre questionnaire analyse votre situation et vous propose une formule adaptée à vos besoins. Vous pourrez ensuite la personnaliser et choisir les options qui vous conviennent le mieux."}),t.jsxs("a",{href:"/tarifs",className:"inline-flex items-center gap-2 text-primary hover:text-primary-dark font-bold transition-colors",children:["Voir nos tarifs et formules",t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})]})})}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8 max-w-7xl mx-auto mb-12",children:s.map((e,r)=>t.jsx(qj,{...e},r))}),t.jsx("div",{className:"max-w-4xl mx-auto mb-12",children:t.jsxs("div",{className:"bg-gradient-to-br from-green-50 via-emerald-50 to-teal-50 rounded-2xl p-6 md:p-8 border-2 border-green-200 shadow-lg",children:[t.jsxs("div",{className:"text-center mb-4",children:[t.jsxs("h3",{className:"text-xl md:text-2xl font-bold text-slate-900 mb-3 flex items-center justify-center gap-2",children:[t.jsx("span",{className:"text-2xl",children:"📱"}),"Accompagnement Personnalisé Direct"]}),t.jsx("p",{className:"text-neutral-700 mb-2",children:t.jsx("strong",{children:"Option disponible sur les formules Standard et Consolidation"})}),t.jsx("p",{className:"text-sm text-green-700 font-semibold mb-4",children:"Places limitées afin de conserver une qualité de suivi irréprochable"})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4 text-left",children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-1",size:20}),t.jsxs("div",{children:[t.jsx("div",{className:"font-semibold text-slate-900",children:"Votre référent entre prescription et kiné"}),t.jsx("div",{className:"text-sm text-neutral-600",children:"Malodo vous accompagne dans cette période d'attente"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-1",size:20}),t.jsxs("div",{children:[t.jsx("div",{className:"font-semibold text-slate-900",children:"Accès direct à un référent Malodo"}),t.jsx("div",{className:"text-sm text-neutral-600",children:"Kinésithérapeute lombaire et éducateur sportif"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-1",size:20}),t.jsxs("div",{children:[t.jsx("div",{className:"font-semibold text-slate-900",children:"Échanges illimités en temps réel"}),t.jsx("div",{className:"text-sm text-neutral-600",children:"Questions, photos, vidéos de vos mouvements"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-1",size:20}),t.jsxs("div",{children:[t.jsx("div",{className:"font-semibold text-slate-900",children:"Réponse garantie sous 24h"}),t.jsx("div",{className:"text-sm text-neutral-600",children:"Un suivi de proximité, vous n'êtes plus seul(e)"})]})]})]})]})}),t.jsxs("div",{className:"text-center",children:[t.jsx($n,{className:"bg-primary hover:bg-primary-dark text-white font-bold py-5 px-12 rounded-xl text-lg shadow-2xl hover:shadow-primary/30 transition-all duration-300 hover:scale-105",children:"Découvrir mon programme"}),t.jsx("p",{className:"text-sm text-neutral-500 mt-4",children:"Test gratuit • 15 minutes • Sans engagement"})]})]})})},ke=({items:s})=>t.jsxs("nav",{className:"flex items-center space-x-2 text-sm text-neutral-600 mb-6",children:[t.jsx("a",{href:"/",className:"flex items-center hover:text-primary transition-colors","aria-label":"Accueil",children:t.jsx(Dp,{size:16})}),s.map((e,r)=>t.jsxs(Qf.Fragment,{children:[t.jsx(Al,{size:16,className:"text-neutral-400"}),e.href?t.jsx("a",{href:e.href,className:"hover:text-primary transition-colors",children:e.label}):t.jsx("span",{className:"text-neutral-900 font-medium",children:e.label})]},r))]}),Lj=()=>t.jsxs("section",{id:"audit-entreprise",className:"relative py-24 bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 text-white overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMiI+PHBhdGggZD0iTTM2IDE0YzAtMy4zMTQtMi42ODYtNi02LTZzLTYgMi42ODYtNiA2IDIuNjg2IDYgNiA2IDYtMi42ODYgNi02ek0yNCA0N2MwLTMuMzE0LTIuNjg2LTYtNi02cy02IDIuNjg2LTYgNiAyLjY4NiA2IDYgNiA2LTIuNjg2IDYtNnptMTgtMjNjMC0zLjMxNC0yLjY4Ni02LTYtNnMtNiAyLjY4Ni02IDYgMi42ODYgNiA2IDYgNi0yLjY4NiA2LTZ6Ii8+PC9nPjwvZz48L3N2Zz4=')] opacity-50"}),t.jsxs("div",{className:"container mx-auto px-4 relative z-10",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsxs("div",{className:"inline-flex items-center gap-3 mb-6 bg-blue-500/20 backdrop-blur-sm px-5 py-3 rounded-2xl border border-blue-400/30",children:[t.jsx(Tl,{className:"text-blue-300",size:40}),t.jsx("span",{className:"text-blue-300 font-bold text-sm tracking-wider",children:"SOLUTION ENTREPRISE"})]}),t.jsxs("h2",{className:"text-4xl md:text-6xl font-black text-white mb-6",children:["Prévenez les TMS lombaires de",t.jsx("br",{}),t.jsx("span",{className:"bg-clip-text text-transparent bg-gradient-to-r from-blue-400 to-cyan-300",children:"vos collaborateurs"})]}),t.jsx("div",{className:"flex justify-center mb-8",children:t.jsx("div",{className:"h-1 w-32 bg-gradient-to-r from-blue-400 to-cyan-300 rounded-full"})}),t.jsx("p",{className:"text-xl md:text-2xl text-slate-300 max-w-4xl mx-auto font-light leading-relaxed",children:"Identifiez les risques de TMS lombaires et protégez vos équipes avec un accompagnement data-driven adapté à votre structure"})]}),t.jsx("div",{className:"bg-gradient-to-r from-blue-500/20 to-cyan-500/20 backdrop-blur-sm rounded-2xl p-10 border border-blue-400/30 mb-16 max-w-5xl mx-auto",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-2xl md:text-3xl font-bold text-white mb-4",children:"87% des maladies professionnelles"}),t.jsxs("p",{className:"text-xl text-slate-300",children:["en France sont liées aux TMS. Notre audit identifie les risques lombaires",t.jsx("br",{className:"hidden md:block"}),"avant qu'ils ne deviennent des arrêts de travail."]})]})}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 mb-16 max-w-5xl mx-auto",children:[t.jsxs("div",{className:"bg-white/10 backdrop-blur-md rounded-2xl p-8 shadow-2xl hover:shadow-blue-500/20 hover:-translate-y-2 transition-all duration-300 border-2 border-white/20 hover:border-blue-400/50",children:[t.jsxs("div",{className:"text-center mb-6",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-blue-400 to-cyan-400 rounded-2xl flex items-center justify-center mx-auto mb-4 shadow-lg",children:t.jsx(ov,{className:"text-white",size:32})}),t.jsx("h4",{className:"text-2xl font-bold text-white mb-2",children:"Diagnostic Initial"}),t.jsx("p",{className:"text-slate-300 font-semibold",children:"PME 10-50 salariés"})]}),t.jsx("div",{className:"text-center mb-6",children:t.jsx("div",{className:"text-sm text-slate-400 font-medium",children:"Réalisation : 2 semaines"})}),t.jsx("div",{className:"space-y-3 mb-8",children:["Questionnaire anonyme en ligne","Rapport santé lombaire collectif","Dashboard visuel Direction/DRH","5 recommandations prioritaires","Présentation résultats (1h visio)"].map((s,e)=>t.jsxs("div",{className:"flex items-start",children:[t.jsx(we,{className:"text-cyan-400 mr-3 flex-shrink-0 mt-1",size:16}),t.jsx("span",{className:"text-sm text-slate-200",children:s})]},e))}),t.jsx("a",{href:"mailto:pro@malodo.pro?subject=Demande de devis - Diagnostic Initial",className:"block w-full text-center bg-white/10 hover:bg-white/20 border-2 border-white/30 hover:border-white/50 text-white font-bold py-3 px-6 rounded-xl transition-all duration-300",children:"Demander un devis"})]}),t.jsxs("div",{className:"bg-gradient-to-br from-blue-500/30 to-cyan-500/30 backdrop-blur-md rounded-2xl p-8 shadow-2xl hover:shadow-blue-500/40 hover:-translate-y-2 transition-all duration-300 border-2 border-blue-400/50 relative",children:[t.jsxs("div",{className:"text-center mb-6",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-blue-400 to-cyan-400 rounded-2xl flex items-center justify-center mx-auto mb-4 shadow-lg",children:t.jsx(Ct,{className:"text-white",size:32})}),t.jsx("h4",{className:"text-2xl font-bold text-white mb-2",children:"Programme Collectif"}),t.jsx("p",{className:"text-slate-200 font-semibold",children:"50-100 salariés"})]}),t.jsx("div",{className:"text-center mb-6",children:t.jsx("div",{className:"text-sm text-slate-300 font-medium",children:"Durée : 3 mois"})}),t.jsx("div",{className:"space-y-3 mb-8",children:["Tout du Diagnostic Initial","3 ateliers collectifs (1h30)","Accès plateforme Malodo 3 mois","Kit communication interne","Session Q&A mensuelle","Rapport d'adhésion trimestriel"].map((s,e)=>t.jsxs("div",{className:"flex items-start",children:[t.jsx(we,{className:"text-cyan-300 mr-3 flex-shrink-0 mt-1",size:16}),t.jsx("span",{className:"text-sm text-white font-medium",children:s})]},e))}),t.jsx("a",{href:"mailto:pro@malodo.pro?subject=Demande de devis - Programme Collectif",className:"block w-full text-center bg-white hover:bg-white/95 text-slate-900 font-bold py-3 px-6 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl",children:"Demander un devis"})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-600 to-cyan-600 rounded-2xl p-10 md:p-14 shadow-2xl text-center border border-blue-400/30",children:[t.jsx("h3",{className:"text-3xl md:text-4xl font-black text-white mb-6",children:"Identifiez les risques de TMS lombaires avant qu'ils ne coûtent cher"}),t.jsx("p",{className:"text-blue-100 mb-10 max-w-3xl mx-auto text-xl leading-relaxed",children:"Un audit personnalisé pour comprendre l'état de santé lombaire de vos équipes et agir de manière préventive. Investissez dans la prévention aujourd'hui, économisez demain."}),t.jsx("div",{className:"flex flex-col sm:flex-row justify-center gap-4",children:t.jsxs("a",{href:"mailto:pro@malodo.pro?subject=Demande de devis gratuit - Audit Entreprise",className:"group bg-white text-slate-900 hover:bg-slate-50 inline-flex items-center justify-center font-bold text-lg py-4 px-10 rounded-xl transition-all duration-300 shadow-lg hover:shadow-2xl hover:scale-105",children:[t.jsx("span",{children:"Demander un devis gratuit"}),t.jsx(yr,{size:20,className:"ml-2 group-hover:translate-x-1 transition-transform"})]})})]})]})]}),le=()=>{const[s,e]=k.useState(!1),[r,n]=k.useState(!1);return t.jsx("footer",{className:"bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 text-white pt-20 pb-8 border-t border-slate-700",children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 md:gap-12 mb-16",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"mb-6",children:[t.jsx("span",{className:"text-3xl font-black bg-clip-text text-transparent bg-gradient-to-r from-primary to-secondary",children:"Malodo"}),t.jsx("p",{className:"text-sm text-slate-400 mt-3 font-medium",children:"Solution digitale de bien-être lombaire"})]}),t.jsx("p",{className:"text-slate-300 mb-6 leading-relaxed",children:"Solution digitale de bien-être lombaire, combinant expertise en mouvement et bien-être postural pour vous accompagner au quotidien."}),t.jsxs("div",{className:"flex gap-4",children:[t.jsx("a",{href:"https://www.linkedin.com/in/jimmy-renaud-malodo/",target:"_blank",rel:"noopener noreferrer",className:"group","aria-label":"LinkedIn Jimmy Renaud",children:t.jsx("div",{className:"w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center group-hover:bg-primary transition-all duration-300 group-hover:scale-110",children:t.jsx(yn,{className:"w-5 h-5 text-slate-300 group-hover:text-white"})})}),t.jsx("a",{href:"https://www.linkedin.com/company/malodo-pro",target:"_blank",rel:"noopener noreferrer",className:"group","aria-label":"LinkedIn Malodo",children:t.jsx("div",{className:"w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center group-hover:bg-primary transition-all duration-300 group-hover:scale-110",children:t.jsx(yn,{className:"w-5 h-5 text-slate-300 group-hover:text-white"})})}),t.jsx("a",{href:"https://www.instagram.com/malodo_officiel/",target:"_blank",rel:"noopener noreferrer",className:"group","aria-label":"Instagram Malodo",children:t.jsx("div",{className:"w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center group-hover:bg-primary transition-all duration-300 group-hover:scale-110",children:t.jsx(Jc,{className:"w-5 h-5 text-slate-300 group-hover:text-white"})})})]})]}),t.jsxs("div",{className:"border-t border-slate-700 md:border-t-0 pt-4 md:pt-0",children:[t.jsxs("button",{onClick:()=>e(!s),className:"md:cursor-default w-full flex items-center justify-between md:block",children:[t.jsx("h3",{className:"text-lg md:text-xl font-bold md:mb-8 md:pb-3 md:border-b-2 md:border-primary/30",children:"Liens rapides"}),t.jsx("span",{className:"md:hidden",children:s?t.jsx(Ol,{size:20}):t.jsx(jn,{size:20})})]}),t.jsxs("ul",{className:`${s?"block":"hidden"} md:block space-y-3 mt-4 md:mt-0`,children:[[{name:"Notre méthode",to:"notre-methode",isScroll:!0},{name:"Programmes",to:"programmes",isScroll:!0}].map(i=>t.jsx("li",{children:t.jsxs(tn,{to:i.to,spy:!0,smooth:!0,offset:-80,duration:500,className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block cursor-pointer flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),i.name]})},i.to)),t.jsx("li",{children:t.jsxs("a",{href:"https://malodo.pro/#faq-page",className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block cursor-pointer flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),"FAQ"]})}),t.jsx("li",{children:t.jsxs("a",{href:"/contact",className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block cursor-pointer flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),"Contact"]})}),t.jsx("li",{children:t.jsxs("a",{href:"/a-propos",className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block cursor-pointer flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),"À propos"]})}),t.jsx("li",{children:t.jsxs("a",{href:"/blog",className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block cursor-pointer flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),"Blog"]})})]})]}),t.jsxs("div",{className:"border-t border-slate-700 md:border-t-0 pt-4 md:pt-0",children:[t.jsxs("button",{onClick:()=>n(!r),className:"md:cursor-default w-full flex items-center justify-between md:block",children:[t.jsx("h3",{className:"text-lg md:text-xl font-bold md:mb-8 md:pb-3 md:border-b-2 md:border-primary/30",children:"Informations légales"}),t.jsx("span",{className:"md:hidden",children:r?t.jsx(Ol,{size:20}):t.jsx(jn,{size:20})})]}),t.jsxs("ul",{className:`${r?"block":"hidden"} md:block space-y-3 mt-4 md:mt-0`,children:[["Mentions légales","Politique de confidentialité"].map((i,a)=>t.jsx("li",{children:i==="Mentions légales"?t.jsxs("button",{onClick:()=>window.open("#mentions-legales","_blank"),className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),i]}):i==="Politique de confidentialité"?t.jsxs("button",{onClick:()=>window.open("#politique-confidentialite","_blank"),className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),i]}):t.jsxs("a",{href:"#",className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),i]})},a)),t.jsx("li",{children:t.jsxs("a",{href:"/droit-retractation.html",target:"_blank",className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),"Droit de rétractation"]})}),t.jsx("li",{children:t.jsxs("a",{href:"/cgv-malodo-html.html",target:"_blank",className:"text-slate-300 hover:text-white transition-all duration-300 hover:translate-x-1 inline-block flex items-center group",children:[t.jsx("span",{className:"w-1 h-1 bg-primary rounded-full mr-3 group-hover:w-2 transition-all"}),"Conditions générales de vente"]})})]})]})]}),t.jsx("div",{className:"border-t border-slate-700 pt-8 text-center",children:t.jsx("p",{className:"text-slate-400 text-sm",children:"© 2026 Malodo. Tous droits réservés. Solution digitale de bien-être lombaire."})})]})})},Dj=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Malodo Entreprises | Solution bien-être lombaire pour vos collaborateurs",description:"Réduisez l'absentéisme et améliorez le bien-être de vos équipes avec Malodo Entreprises. Programme de prévention des TMS lombaires, accompagnement personnalisé et suivi d'impact. Solution digitale clé en main pour les entreprises.",keywords:"Malodo entreprises, QVT, prévention TMS, bien-être collaborateurs, absentéisme, santé au travail, lombalgie entreprise",canonicalUrl:"https://malodo.pro/entreprises"}),t.jsx(oe,{}),t.jsxs("main",{children:[t.jsx("div",{className:"container mx-auto px-4 pt-8",children:t.jsx("div",{className:"max-w-6xl mx-auto",children:t.jsx(ke,{items:[{label:"Entreprises"}]})})}),t.jsx(Lj,{})]}),t.jsx(le,{})]}),zj=({question:s,answer:e,isOpen:r,onToggle:n})=>t.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-neutral-200 overflow-hidden transition-all duration-300 hover:shadow-lg hover:border-primary/30",children:[t.jsxs("button",{onClick:n,className:"w-full px-6 py-5 text-left flex items-center justify-between hover:bg-gradient-to-r hover:from-primary-lightest hover:to-transparent transition-all duration-300 group",children:[t.jsx("h3",{className:"font-semibold text-secondary pr-4 group-hover:text-primary transition-colors duration-300",children:s}),t.jsx("div",{className:"flex-shrink-0",children:r?t.jsx(Ol,{className:"text-primary group-hover:scale-110 transition-transform duration-300",size:20}):t.jsx(jn,{className:"text-primary group-hover:scale-110 transition-transform duration-300",size:20})})]}),r&&t.jsx("div",{className:"px-6 pb-6",children:t.jsx("div",{className:"pt-4 border-t border-neutral-100",children:t.jsx("p",{className:"text-neutral-700 leading-relaxed whitespace-pre-line text-base",children:e})})})]}),Mj=()=>{const[s,e]=k.useState([]),r=i=>{e(a=>a.includes(i)?a.filter(o=>o!==i):[...a,i])},n=[{category:"Comprendre Malodo",questions:[{question:"Qu'est-ce que Malodo exactement ?",answer:"Malodo est une plateforme digitale de bien-être spécialisée dans l'amélioration du confort lombaire. Nous proposons des programmes d'exercices personnalisés, basés sur vos besoins spécifiques, pour vous aider à retrouver progressivement mobilité et confort au quotidien."},{question:"Malodo remplace-t-il une consultation médicale ?",answer:"Non, Malodo est une plateforme de bien-être qui complète mais ne remplace jamais un suivi médical. Pour des douleurs sévères, persistantes ou accompagnées de symptômes neurologiques (fourmillements, perte de force...), consultez impérativement un professionnel de santé avant de commencer."},{question:"Comment Malodo se différencie-t-il des autres solutions ?",answer:'Notre approche repose sur la personnalisation complète : chaque programme est unique, basé sur votre évaluation initiale. Nous ne proposons pas de "solution miracle" mais un accompagnement progressif où vous êtes acteur de votre amélioration, avec une méthode fondée sur la compréhension du mouvement.'},{question:"Pour qui Malodo est-il vraiment adapté ?",answer:"Malodo convient aux personnes avec des inconforts lombaires légers à modérés, sans pathologie grave diagnostiquée. Idéal pour ceux qui souhaitent être actifs dans leur bien-être, comprendre leur corps et améliorer durablement leur confort quotidien."}]},{category:"Avant de Commencer",questions:[{question:"J'ai mal au dos depuis longtemps, puis-je utiliser Malodo ?",answer:"Si votre inconfort est ancien mais stable et d'intensité légère à modérée, Malodo peut vous aider. Cependant, pour des douleurs chroniques importantes ou évolutives, nous recommandons d'abord un avis médical pour écarter toute pathologie nécessitant un traitement spécifique."},{question:"Dois-je consulter mon médecin avant de commencer ?",answer:"C'est recommandé si vous avez : des douleurs intenses (>6/10), des irradiations dans les jambes, des antécédents de chirurgie du dos, une perte de poids inexpliquée, de la fièvre associée, ou tout doute sur l'origine de vos douleurs."},{question:"Je ne suis pas sportif, est-ce adapté pour moi ?",answer:"Absolument ! Nos programmes s'adaptent à tous les niveaux. L'évaluation initiale permet de calibrer les exercices selon vos capacités actuelles. Nous commençons toujours en douceur et progressons à votre rythme."},{question:"J'ai une hernie discale/sciatique diagnostiquée, puis-je utiliser Malodo ?",answer:"Avec l'accord de votre médecin ou kinésithérapeute, Malodo peut compléter votre prise en charge. Nos exercices sont conçus pour être sécuritaires, mais chaque cas étant unique, l'avis d'un professionnel qui vous connaît reste indispensable."}]},{category:"Le Programme en Pratique",questions:[{question:"Comment fonctionne l'évaluation initiale ?",answer:"Un questionnaire détaillé explore : la localisation et l'intensité de vos inconforts, vos habitudes posturales, vos contraintes professionnelles et activités quotidiennes. Cette analyse permet de créer votre profil unique et d'identifier vos axes d'amélioration prioritaires."},{question:"Combien de temps durent les séances ?",answer:"Les séances durent généralement entre 15 et 30 minutes selon votre formule et votre progression. Nous privilégions la régularité à l'intensité : mieux vaut 15 minutes quotidiennes que 2 heures une fois par semaine."},{question:"À quelle fréquence dois-je faire les exercices ?",answer:"Idéalement 4 à 6 fois par semaine pour des résultats optimaux. Le programme s'adapte à vos disponibilités, mais la régularité reste la clé du succès. Même 10 minutes par jour peuvent faire la différence."},{question:"Que se passe-t-il si je rate plusieurs jours ?",answer:"Pas de panique ! La vie a ses imprévus. Reprenez simplement là où vous en étiez. Si l'interruption dépasse une semaine, nous conseillons de reprendre les derniers exercices maîtrisés avant de progresser."},{question:"Les exercices sont-ils difficiles ?",answer:"Non, ils sont progressifs et adaptés. Nous commençons toujours par des mouvements simples pour évaluer vos capacités. L'objectif est le confort, pas la performance."}]},{category:"Formules et Tarification",questions:[{question:"Quelle formule choisir pour commencer ?",answer:`Suite à votre évaluation initiale et l'analyse de votre profil, nous vous proposerons la formule la plus adaptée selon la complexité de votre situation et vos besoins spécifiques :
• Découverte (59€) : Pour tester l'approche sur 4 semaines
• Essentielle (89€) : Pour un travail en profondeur sur 8 semaines
• Premium (149€) : Pour un accompagnement privilégié direct sur 12 semaines`},{question:"Que comprend l'accompagnement privilégié direct de la formule Premium ?",answer:"Un accompagnement privilégié direct avec notre équipe pendant 12 semaines pour un suivi personnalisé intensif : posez vos questions en temps réel, envoyez des vidéos de vos mouvements pour validation, bénéficiez d'ajustements rapides selon vos ressentis, avec une réponse garantie sous 24h du lundi au vendredi."},{question:"L'abonnement Évolution est-il obligatoire ?",answer:"Non, il est totalement optionnel et sans engagement. À 19€/mois, il vous permet de continuer le même programme adapté dans une durée qui vous convient. Si le programme vous plaît et que vous souhaitez poursuivre, l'abonnement Évolution maintient votre accès. Vous pouvez l'arrêter à tout moment."},{question:"Y a-t-il des frais cachés ?",answer:"Aucun. Le prix affiché inclut l'accès complet au programme choisi."}]},{category:"Contenu et Exercices",questions:[{question:"Comment sont présentés les exercices ?",answer:"Les exercices sont disponibles sur votre espace client avec une démonstration complète incluant : exécution détaillée, explications vocales, points d'attention spécifiques et erreurs à éviter."},{question:"Ai-je besoin de matériel spécifique ?",answer:"Le programme de base ne nécessite qu'un tapis de sol. Selon votre progression, nous pourrons suggérer un élastique de résistance, un swiss ball ou un rouleau de massage, mais ce n'est jamais obligatoire. Nous fournissons un guide pratique de remplacement du matériel pour vous permettre de pratiquer avec ce que vous avez à disposition."},{question:"Puis-je refaire les exercices des semaines précédentes ?",answer:"Oui, tout votre historique reste accessible. C'est même recommandé de réviser certains exercices fondamentaux régulièrement pour maintenir les acquis."}]},{category:"Résultats et Progression",questions:[{question:"Quand vais-je ressentir les premiers bénéfices ?",answer:"Cela dépend fortement de votre niveau de départ et de votre situation initiale. Certains ressentent des améliorations dès la première semaine (meilleure conscience corporelle), d'autres après 3-4 semaines. La constance est essentielle : les bénéfices durables apparaissent généralement après 6-8 semaines de pratique régulière."},{question:"Que faire si les exercices augmentent mon inconfort ?",answer:"Arrêtez immédiatement l'exercice concerné ou diminuez son intensité : faites le mouvement moins vite, avec moins d'amplitude ou moins de force. Un léger inconfort musculaire post-effort est normal, mais une douleur pendant ou augmentée après l'exercice ne l'est pas. En cas de doute, contactez notre support."},{question:"Les résultats sont-ils durables ?",answer:"Oui, si vous maintenez une pratique régulière. Les bénéfices acquis (force, mobilité, conscience corporelle) persistent avec un entretien minimal. L'abonnement Évolution est conçu pour cette phase de maintien."}]},{category:"Sécurité et Contre-indications",questions:[{question:"Quels sont les signaux d'alerte à surveiller ?",answer:"Arrêtez et consultez si vous ressentez : perte de force dans les jambes, troubles de la sensibilité, incontinence nouvelle, douleur nocturne importante ou fièvre associée."},{question:"Puis-je faire Malodo enceinte ?",answer:"Nous préparons actuellement un module Malodo spécial grossesse. En attendant, nous recommandons d'éviter le programme classique pendant les 6 premiers mois de grossesse. Au-delà, consultez votre médecin ou sage-femme avant de commencer."},{question:"J'ai plus de 65 ans, est-ce adapté ?",answer:"Oui, l'âge n'est pas une contre-indication. Notre approche progressive convient parfaitement aux seniors actifs. Mentionnez votre âge dans l'évaluation pour une personnalisation optimale."}]}];return t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-neutral-50 to-primary-lightest py-8",children:[t.jsx(V,{title:"FAQ - Questions fréquentes sur Malodo | Programme bien-être lombaire",description:"Retrouvez les réponses aux questions les plus courantes sur Malodo, nos programmes personnalisés de bien-être lombaire, notre approche, tarifs et accompagnement. Tout ce que vous devez savoir avant de commencer.",keywords:"FAQ Malodo, questions lombalgie, programme dos, kinésithérapie digitale, bien-être lombaire, questions fréquentes mal de dos",canonicalUrl:"https://malodo.pro/faq"}),t.jsx(Dl,{data:Cv}),t.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12 border border-neutral-100",children:[t.jsx(ke,{items:[{label:"FAQ"}]}),t.jsxs("div",{className:"flex items-center gap-4 mb-8",children:[t.jsxs("button",{onClick:()=>window.history.back(),className:"flex items-center gap-2 bg-primary-lightest text-primary hover:bg-primary hover:text-white px-4 py-2 rounded-lg transition-all duration-300 font-medium",children:[t.jsx(De,{size:20}),"Retour"]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-12 h-12 bg-gradient-to-r from-primary to-secondary rounded-xl flex items-center justify-center",children:t.jsx(xv,{className:"text-white",size:28})}),t.jsxs("div",{children:[t.jsx("h1",{className:"text-3xl font-bold text-secondary",children:"Questions fréquentes"}),t.jsx("p",{className:"text-primary font-medium",children:"Tout ce que vous devez savoir sur Malodo"})]})]})]}),t.jsx("div",{className:"bg-gradient-to-r from-primary-lightest to-accent-light p-6 rounded-xl mb-12 border-l-4 border-primary",children:t.jsx("p",{className:"text-lg text-neutral-700 leading-relaxed",children:"Retrouvez les réponses aux questions les plus courantes sur Malodo, nos programmes et notre approche du bien-être lombaire."})}),t.jsx("div",{className:"space-y-8",children:n.map((i,a)=>t.jsxs("div",{className:"bg-gradient-to-r from-white to-neutral-50 p-6 rounded-xl shadow-sm border border-neutral-100",children:[t.jsx("h3",{className:"text-2xl font-bold text-secondary mb-6 pb-3 relative border-b border-neutral-200",children:t.jsx("span",{className:"bg-gradient-to-r from-primary to-secondary bg-clip-text text-transparent",children:i.category})}),t.jsx("div",{className:"space-y-4",children:i.questions.map((o,l)=>{const c=a*100+l;return t.jsx(zj,{question:o.question,answer:o.answer,isOpen:s.includes(c),onToggle:()=>r(c)},c)})})]},a))}),t.jsxs("div",{className:"text-center mt-16 bg-primary-lightest p-8 rounded-xl",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-r from-primary to-secondary rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-white text-2xl",children:"💬"})}),t.jsx("h3",{className:"text-2xl font-bold text-secondary mb-4",children:"Une question non traitée ?"}),t.jsxs("p",{className:"text-neutral-700 mb-6 text-lg",children:["Contactez-nous à ",t.jsx("a",{href:"mailto:contact@malodo.pro",className:"text-primary hover:text-primary-dark font-semibold",children:"contact@malodo.pro"})," - nous enrichissons régulièrement cette FAQ grâce à vos retours."]}),t.jsx("button",{onClick:()=>window.location.href="mailto:contact@malodo.pro",className:"btn btn-primary text-lg px-8 py-3",children:"Nous contacter"})]})]})})]})},Ij=()=>t.jsxs("div",{className:"min-h-screen bg-neutral-50 py-8",children:[t.jsx(V,{title:"Mentions Légales | Malodo - Informations juridiques et légales",description:"Consultez les mentions légales de Malodo : informations sur l'éditeur du site, hébergement, propriété intellectuelle et conditions d'utilisation de notre plateforme de bien-être lombaire.",keywords:"mentions légales Malodo, informations juridiques, CGU, conditions utilisation",canonicalUrl:"https://malodo.pro/mentions-legales"}),t.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[t.jsx(ke,{items:[{label:"Mentions légales"}]}),t.jsxs("div",{className:"bg-white rounded-xl shadow-lg overflow-hidden mt-6",children:[t.jsxs("div",{className:"bg-gradient-to-r from-secondary to-primary p-8 text-white",children:[t.jsx("div",{className:"flex items-center gap-4 mb-4",children:t.jsxs("button",{onClick:()=>window.history.back(),className:"flex items-center gap-2 text-white hover:text-neutral-200 transition-colors duration-300",children:[t.jsx(De,{size:20}),"Retour"]})}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(On,{size:32}),t.jsxs("div",{children:[t.jsx("h1",{className:"text-3xl font-bold text-white",children:"Mentions Légales"}),t.jsx("p",{className:"text-neutral-200",children:"En vigueur au 16 décembre 2025"})]})]})]}),t.jsx("div",{className:"p-8 md:p-12",children:t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-neutral-600 mb-8",children:"Conformément aux dispositions des articles 6-III et 19 de la Loi n° 2004-575 du 21 juin 2004 pour la Confiance dans l'économie numérique (LCEN), nous portons à la connaissance des utilisateurs et visiteurs du site www.malodo.pro les informations suivantes :"}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(Tl,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"1. Éditeur du site"})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl mb-6",children:[t.jsx("h3",{className:"text-xl font-bold text-secondary mb-4",children:"MALODO"}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 text-sm",children:[t.jsxs("div",{children:[t.jsxs("p",{children:[t.jsx("strong",{children:"Forme juridique :"})," Société par Actions Simplifiée Unipersonnelle (SASU)"]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Capital social :"})," 2 500 euros"]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Siège social :"})," 94 rue de Bretagne, 61000 Alençon, France"]})]}),t.jsxs("div",{children:[t.jsxs("p",{children:[t.jsx("strong",{children:"RCS Alençon :"})," 944 796 754"]}),t.jsxs("p",{children:[t.jsx("strong",{children:"SIRET :"})," 944 796 754 00017"]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Code APE :"})," 6201Z (Programmation informatique)"]}),t.jsxs("p",{children:[t.jsx("strong",{children:"N° TVA :"})," FR28944796754"]})]})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Président et Directeur de la publication"}),t.jsx("p",{children:"Monsieur Jimmy Pierre Marcel RENAUD"}),t.jsx("p",{children:"Né le 25 mai 1991 à Rennes (35)"}),t.jsx("p",{children:"Éducateur sportif diplômé"}),t.jsxs("div",{className:"mt-4",children:[t.jsx("p",{children:t.jsx("strong",{children:"Contact :"})}),t.jsx("p",{children:"Email : contact@malodo.pro"}),t.jsx("p",{children:"Adresse postale : 94 rue de Bretagne, 61000 Alençon"})]})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(Kc,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"2. Hébergement"})]}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl",children:[t.jsx("h3",{className:"font-bold text-secondary mb-3",children:"Hostinger International Ltd."}),t.jsx("p",{children:"61 Lordou Vironos Street"}),t.jsx("p",{children:"6023 Larnaca, Chypre"}),t.jsxs("p",{children:["Site web : ",t.jsx("a",{href:"https://www.hostinger.fr",className:"text-primary hover:text-primary-dark",children:"https://www.hostinger.fr"})]}),t.jsx("p",{children:"Support : Via interface client Hostinger"})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(Ll,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"3. Responsable de la publication"})]}),t.jsx("p",{children:"Le responsable de la publication est : Monsieur Jimmy RENAUD, en sa qualité de Président de MALODO SASU"}),t.jsx("p",{children:"Pour toute question relative au contenu éditorial du site : malodo.pro@gmail.com"})]}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(ql,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"4. Propriété intellectuelle"})]}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"4.1 Contenu du site"}),t.jsx("p",{children:"L'ensemble du contenu de ce site (structure, textes, logos, images, vidéos, sons, logiciels, bases de données, etc.) est la propriété exclusive de MALODO ou de ses partenaires, et est protégé par les lois françaises et internationales relatives à la propriété intellectuelle."})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"4.2 Marque"}),t.jsx("p",{children:"MALODO® est une marque déposée. Toute reproduction ou utilisation non autorisée est strictement interdite et constitue une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle."})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"4.3 Crédits"}),t.jsxs("ul",{className:"list-disc list-inside space-y-2",children:[t.jsx("li",{children:"Vidéos d'exercices : Production MALODO"}),t.jsx("li",{children:"Images générées par IA : Claude (Anthropic), ChatGPT (OpenAI), et autres générateurs d'images IA"}),t.jsx("li",{children:"Utilisation sous licence des conditions d'utilisation respectives de chaque service"})]})]})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(ql,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"5. Données personnelles"})]}),t.jsxs("div",{className:"bg-accent-light p-6 rounded-xl space-y-4",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"5.1 Responsable du traitement"}),t.jsx("p",{children:"MALODO, représentée par son Président Jimmy RENAUD, est responsable du traitement des données personnelles collectées sur le site www.malodo.pro."})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"5.2 Vos droits"}),t.jsx("p",{children:"Conformément au RGPD et à la loi Informatique et Libertés, vous disposez de droits sur vos données personnelles (accès, rectification, effacement, limitation, opposition, portabilité)."}),t.jsxs("p",{children:[t.jsx("strong",{children:"Pour exercer ces droits :"})," contact@malodo.pro"]})]})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(Ll,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"6. Informations professionnelles"})]}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"6.1 Qualifications professionnelles"}),t.jsx("p",{children:"Jimmy RENAUD, Président de MALODO, est titulaire des diplômes et qualifications suivants :"}),t.jsxs("ul",{className:"list-disc list-inside mt-3 space-y-1",children:[t.jsx("li",{children:"Diplôme d'État de Masseur-Kinésithérapeute"}),t.jsx("li",{children:"Inscrit au tableau de l'Ordre des Masseurs-Kinésithérapeutes"}),t.jsx("li",{children:"Éducateur sportif diplômé"}),t.jsx("li",{children:"Formation continue en thérapie manuelle et activité physique adaptée"})]})]}),t.jsxs("div",{className:"bg-yellow-50 border border-yellow-200 p-4 rounded-lg",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"6.2 Distinction importante"}),t.jsx("p",{children:"Les services proposés par MALODO relèvent exclusivement de l'activité d'éducation sportive et de bien-être. Ils sont distincts de l'activité de kinésithérapie exercée par ailleurs par Jimmy RENAUD à titre libéral. Les services MALODO ne constituent pas des actes médicaux ou paramédicaux."})]})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(jv,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"7. Médiation et litiges"})]}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"Médiation de la consommation"}),t.jsx("p",{children:"En cas de litige, vous pouvez recourir gratuitement au service de médiation :"}),t.jsxs("div",{className:"mt-4",children:[t.jsx("p",{children:t.jsx("strong",{children:"MEDICYS"})}),t.jsx("p",{children:"73 boulevard de Clichy, 75009 Paris"}),t.jsxs("p",{children:["Site : ",t.jsx("a",{href:"https://www.medicys.fr",className:"text-primary hover:text-primary-dark",children:"www.medicys.fr"})]}),t.jsx("p",{children:"Email : contact@medicys.fr"})]}),t.jsxs("p",{className:"mt-4",children:["Plateforme européenne : ",t.jsx("a",{href:"https://ec.europa.eu/consumers/odr",className:"text-primary hover:text-primary-dark",children:"https://ec.europa.eu/consumers/odr"})]})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(Tl,{className:"text-primary",size:24}),t.jsx("h2",{className:"text-2xl font-bold text-secondary",children:"8. Contact"})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("p",{children:"Pour toute question concernant ces mentions légales ou l'utilisation du site :"}),t.jsxs("div",{className:"mt-4",children:[t.jsx("p",{children:t.jsx("strong",{children:"MALODO"})}),t.jsx("p",{children:"94 rue de Bretagne"}),t.jsx("p",{children:"61000 Alençon"}),t.jsx("p",{children:"Email : contact@malodo.pro"})]})]})]}),t.jsxs("div",{className:"border-t border-neutral-200 pt-8 text-center text-sm text-neutral-600",children:[t.jsx("p",{children:"Dernière mise à jour : 16 décembre 2025 - Version 1.0"}),t.jsx("p",{className:"mt-2 italic",children:"Document établi conformément à la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique et au Règlement (UE) 2016/679 du 27 avril 2016 (RGPD)."})]})]})})]})]})]}),$j=()=>t.jsxs("div",{className:"min-h-screen bg-neutral-50 py-8",children:[t.jsx(V,{title:"Politique de Confidentialité | Malodo - Protection de vos données personnelles",description:"Découvrez comment Malodo protège vos données personnelles. Politique RGPD, traitement des données de santé, cookies et droits des utilisateurs. Transparence et sécurité garanties.",keywords:"politique confidentialité Malodo, RGPD, protection données, données santé, cookies, vie privée",canonicalUrl:"https://malodo.pro/politique-confidentialite"}),t.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[t.jsx(ke,{items:[{label:"Politique de confidentialité"}]}),t.jsxs("div",{className:"bg-white rounded-xl shadow-lg overflow-hidden mt-6",children:[t.jsxs("div",{className:"bg-gradient-to-r from-secondary to-primary p-8 text-white",children:[t.jsx("div",{className:"flex items-center gap-4 mb-4",children:t.jsxs("button",{onClick:()=>window.history.back(),className:"flex items-center gap-2 text-white hover:text-neutral-200 transition-colors duration-300",children:[t.jsx(De,{size:20}),"Retour"]})}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(ql,{size:32}),t.jsxs("div",{children:[t.jsx("h1",{className:"text-3xl font-bold text-white",children:"Politique de Confidentialité - Malodo"}),t.jsx("p",{className:"text-neutral-200",children:"Dernière mise à jour : 16 décembre 2025"})]})]})]}),t.jsx("div",{className:"p-8 md:p-12",children:t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"1. Introduction"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Bienvenue sur Malodo, plateforme digitale de bien-être dédiée à l'amélioration du confort lombaire et de la liberté de mouvement."}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"La présente Politique de Confidentialité a pour objectif de vous informer de manière claire et transparente sur la façon dont nous collectons, utilisons, protégeons et partageons vos données personnelles lorsque vous utilisez notre plateforme accessible via notre site internet www.malodo.pro."}),t.jsx("p",{className:"text-neutral-600 mb-8",children:"La protection de vos données personnelles est une priorité pour Malodo. Nous nous engageons à respecter le Règlement Général sur la Protection des Données (RGPD) et toute autre réglementation applicable en matière de protection des données."}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl mb-8",children:[t.jsxs("p",{children:[t.jsx("strong",{children:"Responsable du traitement :"}),t.jsx("br",{}),"MALODO SASU",t.jsx("br",{}),"94 Rue de Bretagne",t.jsx("br",{}),"61000 ALENÇON, France",t.jsx("br",{}),"SIRET : 944 796 754 00017",t.jsx("br",{}),"Email : contact@malodo.pro"]}),t.jsxs("p",{className:"mt-4",children:[t.jsx("strong",{children:"Délégué à la Protection des Données :"}),t.jsx("br",{}),"M. Jimmy RENAUD (Président)",t.jsx("br",{}),"Email : contact@malodo.pro"]})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"2. Données Personnelles Collectées"}),t.jsx("h3",{className:"text-xl font-bold text-secondary mb-4",children:"2.1 Données collectées directement"}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Lors de votre utilisation de Malodo, nous collectons les données suivantes :"}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Lors de la création de votre compte et du questionnaire initial (via Tally.so) :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Nom et prénom"}),t.jsx("li",{children:"Adresse email"}),t.jsx("li",{children:"Date de naissance"}),t.jsx("li",{children:"Localisation et intensité des inconforts lombaires"}),t.jsx("li",{children:"Habitudes posturales et de mouvement"}),t.jsx("li",{children:"Contraintes professionnelles (position de travail, nature de l'activité)"}),t.jsx("li",{children:"Historique des inconforts"}),t.jsx("li",{children:"Activités physiques pratiquées"}),t.jsx("li",{children:"Préférences de mouvement"})]})]}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Lors de l'utilisation de la plateforme (via HexFit) :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Progression dans les programmes d'exercices"}),t.jsx("li",{children:"Retours et commentaires sur les exercices effectués"}),t.jsx("li",{children:"Fréquence et durée des sessions"}),t.jsx("li",{children:"Paramètres de difficulté sélectionnés"}),t.jsx("li",{children:"Historique de votre parcours"})]})]}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Lors des téléexpertises (formule Premium) :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Échanges écrits avec nos experts via email (Gmail)"}),t.jsx("li",{children:"Informations complémentaires partagées volontairement"}),t.jsx("li",{children:"Vidéos ou photos envoyées pour analyse posturale (si applicable)"})]})]}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Données de paiement :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Informations nécessaires au traitement des paiements (traitées de manière sécurisée par Stripe)"}),t.jsx("li",{children:"Historique des transactions et abonnements"})]})]}),t.jsx("h3",{className:"text-xl font-bold text-secondary mb-4",children:"2.2 Données collectées automatiquement"}),t.jsxs("div",{className:"bg-accent-light p-6 rounded-xl mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Données techniques :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Adresse IP"}),t.jsx("li",{children:"Type et version du navigateur"}),t.jsx("li",{children:"Système d'exploitation"}),t.jsx("li",{children:"Pages consultées et durée de visite"}),t.jsx("li",{children:"Source de référencement"}),t.jsx("li",{children:"Données de connexion (date, heure)"})]})]}),t.jsxs("div",{className:"bg-accent-light p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Cookies et technologies similaires :"}),t.jsx("p",{className:"text-neutral-600",children:"Nous utilisons des cookies pour améliorer votre expérience utilisateur. Pour plus d'informations, consultez notre Politique de Cookies."})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"3. Finalités du Traitement des Données"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Vos données personnelles sont collectées et traitées pour les finalités suivantes :"}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"3.1 Fourniture et amélioration du service"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-4",children:[t.jsx("li",{children:"Créer et gérer votre compte utilisateur"}),t.jsx("li",{children:"Personnaliser votre programme d'exercices selon votre profil"}),t.jsx("li",{children:"Suivre votre progression et adapter les recommandations"}),t.jsx("li",{children:"Fournir les vidéos guidées et contenus éducatifs adaptés"}),t.jsx("li",{children:"Assurer le suivi hebdomadaire et les téléexpertises (selon formule)"})]}),t.jsxs("p",{className:"text-primary font-medium",children:[t.jsx("strong",{children:"Base légale :"})," Exécution du contrat"]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"3.2 Communication et support"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-4",children:[t.jsx("li",{children:"Répondre à vos demandes d'information et questions via Gmail"}),t.jsx("li",{children:"Vous informer des évolutions de votre programme"}),t.jsx("li",{children:"Envoyer des notifications liées à votre progression"}),t.jsx("li",{children:"Fournir un support technique"})]}),t.jsxs("p",{className:"text-primary font-medium",children:[t.jsx("strong",{children:"Base légale :"})," Exécution du contrat et intérêt légitime"]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"3.3 Gestion administrative et financière"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-4",children:[t.jsx("li",{children:"Traiter vos paiements via Stripe et gérer vos abonnements"}),t.jsx("li",{children:"Émettre les factures"}),t.jsx("li",{children:"Gérer les remboursements éventuels"}),t.jsx("li",{children:"Lutter contre la fraude"})]}),t.jsxs("p",{className:"text-primary font-medium",children:[t.jsx("strong",{children:"Base légale :"})," Exécution du contrat et obligation légale"]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"3.4 Amélioration de la plateforme"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-4",children:[t.jsx("li",{children:"Analyser l'utilisation de la plateforme"}),t.jsx("li",{children:"Améliorer nos services et développer de nouvelles fonctionnalités"}),t.jsx("li",{children:"Réaliser des statistiques anonymisées"})]}),t.jsxs("p",{className:"text-primary font-medium",children:[t.jsx("strong",{children:"Base légale :"})," Intérêt légitime"]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"3.5 Marketing (avec votre consentement)"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-4",children:[t.jsx("li",{children:"Vous envoyer notre newsletter et informations sur nos offres"}),t.jsx("li",{children:"Vous proposer des contenus personnalisés"}),t.jsx("li",{children:"Vous informer de nouveaux programmes ou fonctionnalités"})]}),t.jsxs("p",{className:"text-primary font-medium",children:[t.jsx("strong",{children:"Base légale :"})," Consentement (vous pouvez vous désabonner à tout moment)"]})]})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"4. Destinataires des Données"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Vos données personnelles peuvent être transmises aux catégories de destinataires suivantes :"}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl mb-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"4.1 En interne"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"M. Jimmy RENAUD, Président et unique collaborateur de MALODO"}),t.jsx("li",{children:`Accès strictement limité selon le principe du "besoin d'en connaître"`})]})]}),t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"4.2 Prestataires de services externes"}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Nous travaillons avec des prestataires externes soigneusement sélectionnés et conformes RGPD :"}),t.jsxs("div",{className:"space-y-4 mb-6",children:[t.jsxs("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Tally.so (collecte des questionnaires)"}),t.jsxs("ul",{className:"text-sm text-neutral-600 space-y-1",children:[t.jsx("li",{children:"• Type : SaaS - Formulaires"}),t.jsx("li",{children:"• Données traitées : Nom, email, données de santé du questionnaire initial"}),t.jsx("li",{children:"• Sécurité : HTTPS, RGPD compliant"}),t.jsx("li",{children:"• Localisation : Europe"}),t.jsx("li",{children:"• Rôle : Sous-traitant"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Google Workspace (traitement et communication)"}),t.jsxs("ul",{className:"text-sm text-neutral-600 space-y-1",children:[t.jsx("li",{children:"• Type : SaaS - Suite bureautique"}),t.jsx("li",{children:"• Services utilisés : Gmail, Google Sheets, Google Drive"}),t.jsx("li",{children:"• Données traitées : Tous types de données (temporaire pour analyse)"}),t.jsx("li",{children:"• Sécurité : 2FA, OAuth2, Chiffrement"}),t.jsx("li",{children:"• Localisation : Europe"}),t.jsx("li",{children:"• Rôle : Sous-traitant"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Stripe (paiements)"}),t.jsxs("ul",{className:"text-sm text-neutral-600 space-y-1",children:[t.jsx("li",{children:"• Type : SaaS - Paiement"}),t.jsx("li",{children:"• Données traitées : Données bancaires"}),t.jsx("li",{children:"• Sécurité : PCI-DSS Level 1, 2FA"}),t.jsx("li",{children:"• Localisation : Europe"}),t.jsx("li",{children:"• Rôle : Sous-traitant"}),t.jsx("li",{children:"• Note : Stripe est conforme aux plus hauts standards de sécurité bancaire"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"HexFit (gestion des programmes)"}),t.jsxs("ul",{className:"text-sm text-neutral-600 space-y-1",children:[t.jsx("li",{children:"• Type : SaaS - Gestion clients"}),t.jsx("li",{children:"• Données traitées : Nom, email, programmes d'exercices, progression"}),t.jsx("li",{children:"• Sécurité : HTTPS, 2FA disponible"}),t.jsx("li",{children:"• Localisation : Canada/Europe"}),t.jsx("li",{children:"• Rôle : Sous-traitant"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Hébergement web (malodo.pro)"}),t.jsxs("ul",{className:"text-sm text-neutral-600 space-y-1",children:[t.jsx("li",{children:"• Données traitées : Cookies analytics uniquement"}),t.jsx("li",{children:"• Sécurité : HTTPS/SSL"}),t.jsx("li",{children:"• Localisation : Europe"})]})]})]}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Ces prestataires agissent en qualité de sous-traitants et sont contractuellement tenus de garantir la sécurité et la confidentialité de vos données conformément au RGPD."}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl mb-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"4.3 Autorités légales"}),t.jsx("p",{className:"text-neutral-600",children:"En cas d'obligation légale, nous pouvons être amenés à communiquer vos données aux autorités compétentes (justice, forces de l'ordre, autorités fiscales)."})]}),t.jsxs("div",{className:"bg-yellow-50 border border-yellow-200 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"4.4 Aucune vente de données"}),t.jsxs("p",{className:"font-medium text-neutral-700",children:[t.jsx("strong",{children:"Nous ne vendons jamais vos données personnelles à des tiers."})," Nous ne partageons pas vos données à des fins commerciales avec des sociétés tierces sans votre consentement explicite."]})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"5. Transferts de Données hors UE"}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl mb-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"5.1 Principe général"}),t.jsx("p",{className:"text-neutral-600 mb-3",children:"La majorité de vos données sont hébergées et traitées au sein de l'Union Européenne :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Tally.so : Europe"}),t.jsx("li",{children:"Google Workspace : Europe"}),t.jsx("li",{children:"Stripe : Europe"}),t.jsx("li",{children:"Hébergement web : Europe"})]})]}),t.jsxs("div",{className:"bg-accent-light p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"5.2 HexFit (Canada)"}),t.jsx("p",{className:"text-neutral-600 mb-3",children:"Le service HexFit peut impliquer un hébergement au Canada. Dans ce cas, nous nous assurons que des garanties appropriées sont mises en place :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-3",children:[t.jsx("li",{children:"Clauses contractuelles types approuvées par la Commission Européenne"}),t.jsx("li",{children:"Le Canada bénéficie d'une décision d'adéquation partielle de la Commission Européenne"})]}),t.jsx("p",{className:"text-neutral-600",children:"Si d'autres prestataires situés en dehors de l'UE sont utilisés à l'avenir, nous mettrons en place les garanties appropriées (clauses contractuelles types, certification Privacy Shield si applicable)."})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"6. Durée de Conservation des Données"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Nous conservons vos données personnelles uniquement pendant la durée nécessaire aux finalités poursuivies :"}),t.jsx("div",{className:"overflow-x-auto mb-6",children:t.jsxs("table",{className:"w-full border-collapse border border-neutral-300 rounded-lg overflow-hidden",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"bg-primary text-white",children:[t.jsx("th",{className:"border border-neutral-300 p-3 text-left",children:"Type de données"}),t.jsx("th",{className:"border border-neutral-300 p-3 text-left",children:"Durée de conservation"}),t.jsx("th",{className:"border border-neutral-300 p-3 text-left",children:"Base légale"})]})}),t.jsxs("tbody",{children:[t.jsxs("tr",{className:"bg-yellow-50",children:[t.jsx("td",{className:"border border-neutral-300 p-3 font-bold",children:"Données de santé du questionnaire initial"}),t.jsx("td",{className:"border border-neutral-300 p-3 font-bold",children:"48 heures maximum"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Filtrage sécurité uniquement"})]}),t.jsxs("tr",{className:"bg-white",children:[t.jsx("td",{className:"border border-neutral-300 p-3",children:"Données de compte actif"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Durée de votre abonnement + 3 ans après la dernière activité"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Gestion contractuelle"})]}),t.jsxs("tr",{className:"bg-neutral-50",children:[t.jsx("td",{className:"border border-neutral-300 p-3",children:"Données clients dans HexFit"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Durée du programme + 1 an"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Suivi et amélioration"})]}),t.jsxs("tr",{className:"bg-white",children:[t.jsx("td",{className:"border border-neutral-300 p-3",children:"Données de paiement (Stripe)"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"10 ans (obligation légale comptable)"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Obligation légale"})]}),t.jsxs("tr",{className:"bg-neutral-50",children:[t.jsx("td",{className:"border border-neutral-300 p-3",children:"Données de prospection (newsletter)"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"3 ans à compter du dernier contact"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Intérêt légitime"})]}),t.jsxs("tr",{className:"bg-white",children:[t.jsx("td",{className:"border border-neutral-300 p-3",children:"Cookies"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"13 mois maximum"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Consentement"})]}),t.jsxs("tr",{className:"bg-neutral-50",children:[t.jsx("td",{className:"border border-neutral-300 p-3",children:"Logs de connexion"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"6 mois"}),t.jsx("td",{className:"border border-neutral-300 p-3",children:"Sécurité des systèmes"})]})]})]})}),t.jsxs("div",{className:"bg-red-50 border border-red-200 p-6 rounded-xl mb-6",children:[t.jsx("h4",{className:"font-bold text-red-800 mb-2",children:"IMPORTANT - Données de santé :"}),t.jsxs("p",{className:"text-red-700",children:["Les données de santé collectées via le questionnaire Tally sont analysées dans un délai maximum de 48 heures puis ",t.jsx("strong",{children:"supprimées immédiatement"})," après la décision d'acceptation ou de refus de votre demande. Elles ne sont jamais conservées au-delà du processus de filtrage de sécurité."]})]}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Après ces délais, vos données sont supprimées ou anonymisées de manière irréversible."}),t.jsx("p",{className:"text-neutral-600",children:"En cas de suppression de votre compte, vos données personnelles sont supprimées sous 30 jours, à l'exception des données devant être conservées pour des obligations légales (factures, données comptables)."})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"7. Sécurité des Données"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Nous mettons en œuvre des mesures techniques et organisationnelles appropriées pour protéger vos données contre l'accès non autorisé, la divulgation, la modification ou la destruction."}),t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"7.1 Nos mesures de sécurité incluent :"}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Architecture technique :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Architecture 100% Cloud SaaS sans infrastructure propriétaire"}),t.jsx("li",{children:"Tous les services utilisés sont certifiés RGPD"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Authentification et accès :"}),t.jsx("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-3",children:t.jsx("li",{children:"Authentification à deux facteurs (2FA) activée sur tous les services critiques :"})}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 ml-6 mb-3",children:[t.jsx("li",{children:"Google Workspace (Gmail, Drive, Sheets)"}),t.jsx("li",{children:"Stripe (paiements)"}),t.jsx("li",{children:"HexFit (données clients)"}),t.jsx("li",{children:"Hébergement web"})]}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Mots de passe complexes (12 caractères minimum) uniques par service"}),t.jsx("li",{children:"Renouvellement des mots de passe tous les 3 mois"}),t.jsx("li",{children:"Principe du moindre privilège (accès limité au strict nécessaire)"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Chiffrement et protection des échanges :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Toutes les connexions en HTTPS/SSL"}),t.jsx("li",{children:"Chiffrement des mots de passe"}),t.jsx("li",{children:"Connexions chiffrées sur tous les services (HTTPS, SSL)"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Sauvegarde et continuité :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Sauvegardes automatiques via Google Drive (synchronisation temps réel)"}),t.jsx("li",{children:"Exports mensuels locaux sur disque externe chiffré"}),t.jsx("li",{children:"Tests de restauration trimestriels"}),t.jsx("li",{children:"Plan de Continuité d'Activité (PCA) incluant les cyber-attaques"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Surveillance et contrôle :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Alertes de connexion suspectes activées sur tous les services"}),t.jsx("li",{children:"Monitoring quotidien des alertes de sécurité"}),t.jsx("li",{children:"Revue hebdomadaire des accès suspects"}),t.jsx("li",{children:"Mises à jour de sécurité régulières (mensuelles minimum)"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Protection spécifique des données sensibles :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Suppression des données de santé après filtrage initial (48h maximum)"}),t.jsx("li",{children:"Aucune copie sur supports personnels"}),t.jsx("li",{children:"Accès restreint aux seules données nécessaires"})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-secondary mb-3",children:"Politique de Sécurité des Systèmes d'Information (PSSI) :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"PSSI formalisée et signée (version 1.0 - décembre 2025)"}),t.jsx("li",{children:"Révision annuelle"}),t.jsx("li",{children:"Charte informatique en vigueur"})]})]})]}),t.jsx("p",{className:"text-neutral-600 mt-6",children:"Malgré nos efforts, aucune transmission de données sur Internet ne peut être garantie comme totalement sécurisée. Nous vous encourageons à protéger vos identifiants de connexion et à ne jamais les partager."})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"8. Vos Droits"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Conformément au RGPD, vous disposez des droits suivants concernant vos données personnelles :"}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"8.1 Droit d'accès (Art. 15 RGPD)"}),t.jsx("p",{className:"text-neutral-600",children:"Vous pouvez obtenir la confirmation que nous traitons vos données et accéder à ces données, ainsi qu'obtenir une copie de celles-ci."})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"8.2 Droit de rectification (Art. 16 RGPD)"}),t.jsx("p",{className:"text-neutral-600",children:"Vous pouvez demander la correction de données inexactes ou incomplètes vous concernant."})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:`8.3 Droit à l'effacement - "droit à l'oubli" (Art. 17 RGPD)`}),t.jsx("p",{className:"text-neutral-600 mb-3",children:"Vous pouvez demander la suppression de vos données dans certaines conditions :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Les données ne sont plus nécessaires"}),t.jsx("li",{children:"Vous retirez votre consentement"}),t.jsx("li",{children:"Vous vous opposez au traitement"}),t.jsx("li",{children:"Les données ont été traitées illicitement"})]})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"8.4 Droit à la limitation du traitement (Art. 18 RGPD)"}),t.jsx("p",{className:"text-neutral-600 mb-3",children:"Vous pouvez demander la limitation du traitement de vos données dans certaines situations :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Vous contestez l'exactitude des données"}),t.jsx("li",{children:"Le traitement est illicite"}),t.jsx("li",{children:"Vous avez besoin des données pour constater, exercer ou défendre vos droits"})]})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"8.5 Droit à la portabilité (Art. 20 RGPD)"}),t.jsx("p",{className:"text-neutral-600",children:"Vous pouvez recevoir vos données dans un format structuré, couramment utilisé et lisible par machine, et les transmettre à un autre responsable de traitement."})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"8.6 Droit d'opposition (Art. 21 RGPD)"}),t.jsx("p",{className:"text-neutral-600 mb-3",children:"Vous pouvez vous opposer au traitement de vos données pour des raisons tenant à votre situation particulière, notamment pour :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Le marketing direct (opposition absolue)"}),t.jsx("li",{children:"Les traitements basés sur l'intérêt légitime"})]})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"8.7 Droit de retirer votre consentement (Art. 7 RGPD)"}),t.jsx("p",{className:"text-neutral-600",children:"Pour les traitements basés sur le consentement (newsletter, cookies non essentiels), vous pouvez retirer votre consentement à tout moment sans que cela n'affecte la licéité du traitement effectué avant le retrait."})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"8.8 Droit de définir des directives post-mortem (Art. 85 Loi Informatique et Libertés)"}),t.jsx("p",{className:"text-neutral-600",children:"Vous pouvez définir des directives relatives au sort de vos données après votre décès."})]})]}),t.jsxs("div",{className:"bg-white border border-neutral-200 p-6 rounded-xl mt-8",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"8.9 Comment exercer vos droits ?"}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Pour exercer vos droits, vous pouvez :"}),t.jsxs("div",{className:"mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Par email :"}),t.jsx("p",{className:"text-neutral-600",children:"contact@malodo.pro"}),t.jsx("p",{className:"text-neutral-600",children:'Objet : "Exercice de mes droits RGPD"'})]}),t.jsxs("div",{className:"mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Par courrier :"}),t.jsx("p",{className:"text-neutral-600",children:"MALODO - Protection des données"}),t.jsx("p",{className:"text-neutral-600",children:"94 Rue de Bretagne"}),t.jsx("p",{className:"text-neutral-600",children:"61000 ALENÇON"})]}),t.jsxs("div",{className:"mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Informations à fournir :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Nom, prénom"}),t.jsx("li",{children:"Adresse email utilisée sur la plateforme"}),t.jsx("li",{children:"Nature de votre demande"}),t.jsx("li",{children:"Copie d'une pièce d'identité (pour vérifier votre identité)"})]})]}),t.jsxs("div",{className:"mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Délai de réponse :"}),t.jsxs("p",{className:"text-neutral-600",children:["Nous vous répondrons dans un délai maximum d'",t.jsx("strong",{children:"un mois"})," suivant la réception de votre demande. Ce délai peut être prolongé de deux mois si nécessaire, compte tenu de la complexité de la demande. Nous vous en informerions dans ce cas."]})]}),t.jsxs("div",{className:"mb-6",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Gratuité :"}),t.jsx("p",{className:"text-neutral-600",children:"L'exercice de vos droits est gratuit. Toutefois, en cas de demandes manifestement infondées ou excessives, nous pourrions exiger le paiement de frais raisonnables."})]})]}),t.jsxs("div",{className:"bg-accent-light p-6 rounded-xl mt-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"8.10 Droit de réclamation auprès de l'autorité de contrôle"}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Si vous estimez que vos droits ne sont pas respectés ou que le traitement de vos données n'est pas conforme au RGPD, vous pouvez introduire une réclamation auprès de la CNIL (Commission Nationale de l'Informatique et des Libertés) :"}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"En ligne :"}),t.jsx("p",{className:"text-neutral-600",children:"www.cnil.fr (formulaire de plainte en ligne)"})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Par courrier :"}),t.jsx("p",{className:"text-neutral-600",children:"CNIL"}),t.jsx("p",{className:"text-neutral-600",children:"3 Place de Fontenoy - TSA 80715"}),t.jsx("p",{className:"text-neutral-600",children:"75334 PARIS CEDEX 07"})]})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"9. Cookies et Technologies Similaires"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Notre site utilise des cookies pour améliorer votre expérience et analyser l'utilisation de la plateforme."}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl mb-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"9.1 Types de cookies utilisés"}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Cookies strictement nécessaires :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Gestion de session"}),t.jsx("li",{children:"Sécurité et authentification"}),t.jsx("li",{children:"Durée : Session"})]})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Cookies analytics :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsx("li",{children:"Analyse de la fréquentation"}),t.jsx("li",{children:"Statistiques d'utilisation anonymisées"}),t.jsx("li",{children:"Durée : Maximum 13 mois"})]})]})]}),t.jsxs("div",{className:"bg-accent-light p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"9.2 Gestion des cookies"}),t.jsx("p",{className:"text-neutral-600 mb-3",children:"Vous pouvez à tout moment :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-4",children:[t.jsx("li",{children:"Accepter ou refuser les cookies via notre bandeau de consentement"}),t.jsx("li",{children:"Paramétrer votre navigateur pour refuser les cookies"}),t.jsx("li",{children:"Supprimer les cookies déjà stockés"})]}),t.jsxs("p",{className:"text-neutral-600 mb-4",children:[t.jsx("strong",{children:"Note :"})," Le refus des cookies strictement nécessaires peut limiter certaines fonctionnalités de la plateforme."]}),t.jsxs("p",{className:"text-neutral-600",children:["Pour plus d'informations, consultez notre ",t.jsx("strong",{children:"Politique de Cookies"})," dédiée."]})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"10. Mineurs"}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Notre service s'adresse aux personnes majeures (18 ans et plus)."}),t.jsx("p",{className:"text-neutral-600",children:"Nous ne collectons pas sciemment de données concernant des mineurs. Si vous êtes parent ou tuteur et que vous pensez que votre enfant nous a fourni des données personnelles, merci de nous contacter immédiatement à contact@malodo.pro pour que nous puissions supprimer ces informations."})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"11. Liens vers des Sites Tiers"}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Notre plateforme peut contenir des liens vers des sites web tiers (réseaux sociaux, partenaires, ressources externes)."}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Nous ne sommes pas responsables des pratiques de confidentialité de ces sites. Nous vous encourageons à lire les politiques de confidentialité de chaque site que vous visitez."}),t.jsx("p",{className:"text-neutral-600",children:"Les sites tiers ne sont pas couverts par la présente Politique de Confidentialité."})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"12. Modifications de la Politique de Confidentialité"}),t.jsx("p",{className:"text-neutral-600 mb-4",children:"Nous pouvons être amenés à modifier cette Politique de Confidentialité pour refléter :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600 mb-6",children:[t.jsx("li",{children:"Les évolutions de nos services et pratiques"}),t.jsx("li",{children:"Les changements réglementaires"}),t.jsx("li",{children:"Les nouvelles fonctionnalités de la plateforme"}),t.jsx("li",{children:"Les meilleures pratiques en matière de protection des données"})]}),t.jsxs("div",{className:"bg-primary-lightest p-6 rounded-xl mb-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"12.1 Notification des modifications"}),t.jsx("p",{className:"text-neutral-600 mb-3",children:"En cas de modification substantielle :"}),t.jsxs("ul",{className:"list-disc list-inside space-y-1 text-neutral-600",children:[t.jsxs("li",{children:["Nous vous en informerons par email au moins ",t.jsx("strong",{children:"30 jours avant"})," l'entrée en vigueur des changements"]}),t.jsx("li",{children:"Une notification sera affichée sur la plateforme"}),t.jsx("li",{children:"La date de la dernière mise à jour sera actualisée en haut de ce document"})]})]}),t.jsxs("div",{className:"bg-accent-light p-6 rounded-xl mb-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"12.2 Modifications mineures"}),t.jsx("p",{className:"text-neutral-600",children:"Les modifications mineures (corrections typographiques, clarifications sans impact sur vos droits) peuvent être effectuées sans notification préalable. Nous vous encourageons à consulter régulièrement cette page."})]}),t.jsxs("div",{className:"bg-neutral-100 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-4",children:"12.3 Acceptation des modifications"}),t.jsx("p",{className:"text-neutral-600",children:"En continuant à utiliser nos services après l'entrée en vigueur des modifications, vous acceptez la Politique de Confidentialité mise à jour. Si vous n'acceptez pas les modifications, vous pouvez cesser d'utiliser nos services et demander la suppression de votre compte."})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"13. Contact et Questions"}),t.jsx("p",{className:"text-neutral-600 mb-6",children:"Pour toute question concernant cette Politique de Confidentialité ou le traitement de vos données personnelles :"}),t.jsxs("div",{className:"bg-primary-lightest p-8 rounded-xl",children:[t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[t.jsxs("div",{children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Responsable de la protection des données :"}),t.jsx("p",{className:"text-neutral-600",children:"M. Jimmy RENAUD"}),t.jsx("p",{className:"text-neutral-600",children:"Président - Délégué à la Protection des Données"}),t.jsx("p",{className:"text-neutral-600",children:"Email : contact@malodo.pro"})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"font-bold text-secondary mb-2",children:"Adresse postale :"}),t.jsx("p",{className:"text-neutral-600",children:"MALODO SASU"}),t.jsx("p",{className:"text-neutral-600",children:"94 Rue de Bretagne"}),t.jsx("p",{className:"text-neutral-600",children:"61000 ALENÇON"}),t.jsx("p",{className:"text-neutral-600",children:"France"})]})]}),t.jsx("div",{className:"p-4 bg-white rounded-lg",children:t.jsxs("p",{className:"font-medium text-secondary",children:[t.jsx("strong",{children:"Horaires de réponse :"})," Nous nous engageons à répondre à vos questions dans un délai de 48 heures ouvrées maximum."]})})]})]}),t.jsxs("section",{className:"mb-12",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6",children:"Annexe : Glossaire RGPD"}),t.jsxs("div",{className:"space-y-4",children:[t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Données personnelles :"})," Toute information se rapportant à une personne physique identifiée ou identifiable (nom, email, adresse IP, données de santé, etc.)."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Données sensibles :"})," Catégorie particulière de données personnelles révélant l'origine raciale ou ethnique, les opinions politiques, les convictions religieuses, l'appartenance syndicale, les données génétiques, biométriques, de santé, ou concernant la vie sexuelle."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Traitement :"})," Toute opération appliquée à des données personnelles (collecte, enregistrement, organisation, conservation, utilisation, transmission, effacement, etc.)."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Responsable du traitement :"})," L'entité qui détermine les finalités et les moyens du traitement (MALODO)."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Sous-traitant :"})," L'entité qui traite des données pour le compte du responsable du traitement (Tally, Google, Stripe, HexFit)."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"RGPD :"})," Règlement Général sur la Protection des Données - (UE) 2016/679."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Consentement :"})," Manifestation de volonté libre, spécifique, éclairée et univoque par laquelle la personne accepte le traitement de ses données."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Pseudonymisation :"})," Traitement de données personnelles de telle façon qu'elles ne peuvent plus être attribuées à une personne concernée précise sans information supplémentaire."]})}),t.jsx("div",{className:"bg-white border border-neutral-200 p-4 rounded-lg",children:t.jsxs("p",{children:[t.jsx("strong",{children:"Violation de données :"})," Violation de la sécurité entraînant la destruction, la perte, l'altération, la divulgation non autorisée de données personnelles."]})})]})]}),t.jsx("section",{className:"mb-12",children:t.jsxs("div",{className:"bg-gradient-to-r from-primary-lightest to-accent-light p-8 rounded-xl",children:[t.jsx("h2",{className:"text-2xl font-bold text-secondary mb-6 text-center",children:"Synthèse de nos engagements"}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:["Transparence totale sur l'utilisation de vos données","Sécurité maximale avec architecture 100% Cloud sécurisée et 2FA","Données de santé supprimées sous 48h maximum","Aucune vente de vos données à des tiers","Respect strict du RGPD et de vos droits","Réponse rapide à vos demandes (< 30 jours)","Prestataires certifiés RGPD uniquement","Hébergement européen en priorité"].map((s,e)=>t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-green-500 font-bold",children:"✅"}),t.jsx("span",{className:"text-sm font-medium",children:s})]},e))})]})}),t.jsxs("div",{className:"border-t border-neutral-200 pt-8 text-center text-sm text-neutral-600",children:[t.jsx("p",{className:"italic mb-4",children:"En utilisant la plateforme Malodo, vous reconnaissez avoir lu, compris et accepté cette Politique de Confidentialité."}),t.jsx("p",{className:"italic mb-4",children:"Document établi conformément au RGPD (UE) 2016/679 et à la Loi Informatique et Libertés."}),t.jsx("p",{className:"font-medium",children:t.jsx("strong",{children:"Version 1.0 - Dernière mise à jour : 16 décembre 2025"})})]})]})})]})]})]}),Uj=()=>t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-lightest via-white to-accent-light flex items-center justify-center px-4 py-12",children:[t.jsx(V,{title:"Merci pour votre confiance | Malodo - Évaluation reçue",description:"Votre évaluation a bien été reçue. Nous analysons votre profil pour vous proposer le programme le plus adapté à vos besoins. Consultez votre email pour découvrir vos résultats.",keywords:"merci évaluation, questionnaire reçu, profil lombalgie",canonicalUrl:"https://malodo.pro/merci-questionnaire"}),t.jsxs("div",{className:"max-w-2xl w-full",children:[t.jsxs("div",{className:"bg-white rounded-2xl shadow-2xl p-8 md:p-12 border border-neutral-100",children:[t.jsx("div",{className:"flex justify-center mb-6",children:t.jsx("div",{className:"w-20 h-20 bg-gradient-to-r from-primary to-secondary rounded-full flex items-center justify-center animate-bounce",children:t.jsx(we,{className:"text-white",size:48})})}),t.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-secondary text-center mb-4",children:"Merci pour votre confiance !"}),t.jsx("p",{className:"text-xl text-primary text-center font-semibold mb-8",children:"Votre évaluation a bien été reçue"}),t.jsxs("div",{className:"bg-gradient-to-r from-primary-lightest to-accent-light rounded-xl p-6 mb-8 border-l-4 border-primary",children:[t.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[t.jsx(wn,{className:"text-primary flex-shrink-0 mt-1",size:24}),t.jsxs("div",{children:[t.jsx("h2",{className:"font-bold text-secondary text-lg mb-2",children:"Consultez votre boîte mail"}),t.jsx("p",{className:"text-neutral-700 leading-relaxed",children:"Nous analysons actuellement votre profil pour vous proposer le programme le plus adapté à votre situation. Vous recevrez sous peu un email avec :"})]})]}),t.jsxs("ul",{className:"space-y-3 ml-9",children:[t.jsxs("li",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"text-primary mt-1",children:"✓"}),t.jsx("span",{className:"text-neutral-700",children:"Votre analyse de profil personnalisée"})]}),t.jsxs("li",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"text-primary mt-1",children:"✓"}),t.jsx("span",{className:"text-neutral-700",children:"Le programme recommandé pour vous"})]}),t.jsxs("li",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"text-primary mt-1",children:"✓"}),t.jsx("span",{className:"text-neutral-700",children:"Les prochaines étapes pour démarrer"})]})]})]}),t.jsx("div",{className:"bg-accent-light rounded-lg p-4 mb-8 border border-accent",children:t.jsxs("p",{className:"text-sm text-neutral-700 text-center",children:[t.jsx("span",{className:"font-semibold",children:"Pensez à vérifier vos spams"})," si vous ne recevez pas notre email dans les prochaines minutes."]})}),t.jsx("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:t.jsxs("button",{onClick:()=>window.location.href="/",className:"flex items-center justify-center gap-2 bg-gradient-to-r from-primary to-secondary text-white px-6 py-3 rounded-lg font-semibold hover:shadow-lg transition-all duration-300 hover:scale-105",children:[t.jsx(Dp,{size:20}),"Retour à l'accueil"]})}),t.jsx("div",{className:"mt-8 pt-6 border-t border-neutral-200 text-center",children:t.jsxs("p",{className:"text-neutral-600 text-sm",children:["Une question ? Notre équipe est disponible à"," ",t.jsx("a",{href:"mailto:contact@malodo.pro",className:"text-primary font-semibold hover:underline",children:"contact@malodo.pro"})]})})]}),t.jsx("div",{className:"mt-6 text-center",children:t.jsxs("p",{className:"text-neutral-600 text-sm",children:["En attendant, n'hésitez pas à découvrir"," ",t.jsx("a",{href:"/#notre-methode",className:"text-primary font-semibold hover:underline",children:"notre méthode"})," ","et"," ",t.jsx("a",{href:"/#programmes",className:"text-primary font-semibold hover:underline",children:"nos programmes"})]})})]})]}),Fj=()=>t.jsxs("div",{className:"min-h-screen bg-neutral-50",children:[t.jsx(V,{title:"Contact Malodo | Contactez notre équipe d'experts en bien-être lombaire",description:"Une question sur nos programmes ? Besoin d'aide pour démarrer ? Contactez l'équipe Malodo par email ou téléphone. Nous sommes là pour vous accompagner dans votre parcours de bien-être lombaire.",keywords:"contact Malodo, support client, aide lombalgie, question programme dos, assistance kinésithérapie",canonicalUrl:"https://malodo.pro/contact"}),t.jsx("header",{className:"bg-white shadow-sm py-6",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsx("a",{href:"/",className:"inline-block",children:t.jsx("img",{src:"/logo-malodo-petit.png",alt:"Malodo - Solution bien-être pour le dos",className:"h-20 w-auto"})})})}),t.jsx("section",{className:"py-20 bg-neutral-100",children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsx("div",{className:"max-w-4xl mx-auto mb-8",children:t.jsx(ke,{items:[{label:"Contact"}]})}),t.jsx("h2",{className:"section-title",children:"Contact"}),t.jsx("div",{className:"max-w-4xl mx-auto",children:t.jsxs("div",{className:"bg-white rounded-xl shadow-lg overflow-hidden p-8 md:p-12",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h3",{className:"text-3xl font-bold text-secondary mb-6",children:"Besoin d'information ou d'accompagnement ?"}),t.jsx("p",{className:"text-lg text-neutral-600 mb-4",children:"L'équipe Malodo reste à votre disposition pour répondre à vos questions concernant les programmes et leur mise en œuvre."})]}),t.jsx("div",{className:"bg-gradient-to-br from-primary/5 to-primary/10 rounded-xl p-8 mb-8 border border-primary/20",children:t.jsxs("div",{className:"flex flex-col items-center text-center space-y-6",children:[t.jsx("div",{className:"bg-white rounded-full p-4 shadow-md",children:t.jsx(wn,{className:"w-12 h-12 text-primary"})}),t.jsxs("div",{children:[t.jsx("h4",{className:"text-2xl font-bold text-secondary mb-3",children:"Contactez-nous par email"}),t.jsx("a",{href:"mailto:contact@malodo.pro",className:"text-3xl font-bold text-primary hover:text-primary-dark transition-colors duration-300 inline-block",children:"contact@malodo.pro"})]}),t.jsxs("div",{className:"flex items-center space-x-2 text-neutral-600 bg-white px-6 py-3 rounded-full shadow-sm",children:[t.jsx(ct,{className:"w-5 h-5 text-primary"}),t.jsx("span",{className:"font-medium",children:"Réponse sous 48h ouvrables"})]})]})}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 text-center",children:[t.jsxs("div",{className:"bg-neutral-50 rounded-lg p-6 border border-neutral-200",children:[t.jsx("div",{className:"bg-primary/10 rounded-full w-16 h-16 flex items-center justify-center mx-auto mb-4",children:t.jsx(wn,{className:"w-8 h-8 text-primary"})}),t.jsx("h5",{className:"font-bold text-secondary mb-2",children:"Questions générales"}),t.jsx("p",{className:"text-sm text-neutral-600",children:"Information sur les programmes, méthodes et formules"})]}),t.jsxs("div",{className:"bg-neutral-50 rounded-lg p-6 border border-neutral-200",children:[t.jsx("div",{className:"bg-primary/10 rounded-full w-16 h-16 flex items-center justify-center mx-auto mb-4",children:t.jsx(vv,{className:"w-8 h-8 text-primary"})}),t.jsx("h5",{className:"font-bold text-secondary mb-2",children:"Support technique"}),t.jsx("p",{className:"text-sm text-neutral-600",children:"Aide pour accéder à votre espace et utiliser les programmes"})]})]}),t.jsx("div",{className:"mt-8 p-4 bg-blue-50 border border-blue-200 rounded-lg",children:t.jsxs("p",{className:"text-sm text-blue-800 text-center",children:[t.jsx("strong",{children:"Astuce :"})," Pour une réponse plus rapide, merci de préciser votre situation et le type d'information recherchée."]})})]})})]})}),t.jsx("footer",{className:"bg-secondary text-white py-8",children:t.jsx("div",{className:"container mx-auto px-4 text-center",children:t.jsx("p",{children:"© 2025 Malodo. Tous droits réservés."})})})]}),Bj=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"À propos de Malodo | L'histoire d'un kinésithérapeute engagé pour votre dos",description:"Découvrez l'histoire de Malodo, créé par un kinésithérapeute spécialisé en lombalgie. Une solution digitale de bien-être lombaire basée sur l'expérience clinique et les données scientifiques pour vous accompagner au quotidien.",keywords:"Malodo histoire, kinésithérapeute, bien-être lombaire, solution digitale dos, kinésithérapie lombalgie, coaching dos en ligne",canonicalUrl:"https://malodo.pro/a-propos"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("section",{className:"py-20",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-6xl mx-auto",children:[t.jsx(ke,{items:[{label:"À propos"}]}),t.jsxs("div",{className:"text-center mb-16",children:[t.jsxs("h1",{className:"text-4xl md:text-6xl font-black text-slate-900 mb-6",children:["À propos de ",t.jsx("span",{className:"text-primary",children:"Malodo"})]}),t.jsx("div",{className:"h-1 w-32 bg-gradient-to-r from-primary to-blue-400 rounded-full mx-auto mb-8"}),t.jsx("p",{className:"text-xl text-slate-600 max-w-3xl mx-auto leading-relaxed",children:"Quand un kinésithérapeute transforme la salle d'attente de son cabinet en une solution digitale accessible à tous"})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-12 items-center mb-20",children:[t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary/20 to-blue-400/20 rounded-3xl transform rotate-3"}),t.jsx("img",{src:"/mm.jpg",alt:"Fondateur de Malodo",className:"relative rounded-3xl shadow-2xl w-full object-cover"})]}),t.jsxs("div",{className:"space-y-6",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-slate-900 mb-6",children:"L'histoire de Malodo"}),t.jsx("p",{className:"text-lg text-slate-700 leading-relaxed",children:"Kinésithérapeute spécialisé dans les pathologies lombaires, j'ai été confronté à une réalité frustrante : une centaine de patients en attente de soins dans mon cabinet, dont au moins cinquante souffraient de douleurs au dos, et l'impossibilité de les prendre en charge rapidement."}),t.jsx("p",{className:"text-lg text-slate-700 leading-relaxed",children:"Cette situation m'a poussé à réfléchir différemment. J'ai développé un questionnaire pour prioriser les patients selon l'urgence de leur situation, car tous les symptômes n'ont pas la même importance. En m'appuyant sur mon expérience de kinésithérapeute, un esprit critique et les données de la science, j'ai créé un système de scoring où chaque question génère un profil unique."}),t.jsxs("p",{className:"text-lg text-slate-700 leading-relaxed",children:["Sept mois plus tard, Malodo est né : une solution dématérialisée de coaching bien-être lombaire, totalement indépendante de mon activité de kinésithérapeute. Plus qu'une simple application, Malodo est une ",t.jsx("strong",{children:"salle d'attente active"}),", permettant à chacun de commencer son parcours de soin avant même de consulter un professionnel."]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-white to-slate-50 rounded-3xl p-12 shadow-xl mb-20",children:[t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mb-8 text-center",children:"Comment fonctionne Malodo ?"}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-shadow",children:[t.jsx("div",{className:"w-14 h-14 bg-gradient-to-br from-primary to-blue-400 rounded-xl flex items-center justify-center mb-4",children:t.jsx(za,{className:"text-white",size:28})}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Évaluation personnalisée"}),t.jsx("p",{className:"text-slate-600",children:"Un questionnaire basé sur des années d'expérience clinique génère votre profil unique et détermine le programme adapté à vos besoins"})]}),t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-shadow",children:[t.jsx("div",{className:"w-14 h-14 bg-gradient-to-br from-primary to-blue-400 rounded-xl flex items-center justify-center mb-4",children:t.jsx(Lp,{className:"text-white",size:28})}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Programme sur mesure"}),t.jsx("p",{className:"text-slate-600",children:"Des exercices ciblés avec un niveau de complexité et une durée adaptés à votre situation pour un bien-être retrouvé"})]}),t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-shadow",children:[t.jsx("div",{className:"w-14 h-14 bg-gradient-to-br from-primary to-blue-400 rounded-xl flex items-center justify-center mb-4",children:t.jsx(Ct,{className:"text-white",size:28})}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Salle d'attente active"}),t.jsx("p",{className:"text-slate-600",children:"Commencez votre parcours immédiatement, avant même de consulter un professionnel de santé"})]})]})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-20",children:[t.jsxs("div",{className:"bg-gradient-to-br from-primary to-blue-500 rounded-3xl p-10 text-white shadow-xl",children:[t.jsx("div",{className:"w-14 h-14 bg-white/20 rounded-xl flex items-center justify-center mb-6",children:t.jsx(Ct,{className:"text-white",size:28})}),t.jsx("h3",{className:"text-2xl font-bold mb-4",children:"Pour les particuliers"}),t.jsx("p",{className:"text-blue-50 leading-relaxed",children:"Accédez instantanément à un programme personnalisé de bien-être lombaire, conçu par un kinésithérapeute expert, pour retrouver un dos libre et sans douleur à votre rythme."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-slate-800 to-slate-900 rounded-3xl p-10 text-white shadow-xl",children:[t.jsx("div",{className:"w-14 h-14 bg-white/20 rounded-xl flex items-center justify-center mb-6",children:t.jsx(fv,{className:"text-white",size:28})}),t.jsx("h3",{className:"text-2xl font-bold mb-4",children:"Pour les entreprises"}),t.jsx("p",{className:"text-slate-300 leading-relaxed",children:"Un audit complet de vos salariés et des solutions sur mesure (programmes de 3, 6 mois, etc.) pour faire du mal de dos une problématique du passé, quelle que soit la taille de votre entreprise."})]})]}),t.jsxs("div",{className:"mb-20",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-slate-900 mb-4",children:"Offrez Malodo à vos patients"}),t.jsx("div",{className:"h-1 w-24 bg-gradient-to-r from-primary to-blue-400 rounded-full mx-auto mb-6"}),t.jsx("p",{className:"text-lg text-slate-600 max-w-3xl mx-auto",children:"Kinésithérapeutes et médecins, proposez une solution complète à vos patients souffrant de douleurs lombaires"})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-white to-slate-50 rounded-3xl p-8 shadow-xl border-2 border-slate-100",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary to-blue-400 rounded-2xl flex items-center justify-center mb-6",children:t.jsx(Ct,{className:"text-white",size:32})}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Pour vos patients"}),t.jsxs("ul",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-primary rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Accès immédiat à un programme personnalisé de bien-être lombaire"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-primary rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Exercices adaptés à leur profil unique, disponibles 24/7"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-primary rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Continuité des soins entre les séances en cabinet"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-primary rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Réduction du délai d'attente pour une prise en charge"})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-primary to-blue-500 rounded-3xl p-8 shadow-xl text-white",children:[t.jsx("div",{className:"w-16 h-16 bg-white/20 rounded-2xl flex items-center justify-center mb-6",children:t.jsx(wv,{className:"text-white",size:32})}),t.jsx("h3",{className:"text-2xl font-bold mb-4",children:"Pour vous, praticiens"}),t.jsxs("ul",{className:"space-y-3 text-blue-50",children:[t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-white rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Solution à proposer aux patients en liste d'attente"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-white rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Complément à votre prise en charge en cabinet"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-white rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Amélioration de l'observance thérapeutique de vos patients"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-white rounded-full mt-2 flex-shrink-0"}),t.jsx("span",{children:"Valorisation de votre pratique avec un outil innovant"})]})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-slate-50 to-white rounded-3xl p-10 shadow-xl border-2 border-slate-100",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-6 text-center",children:"Comment ça fonctionne ?"}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary to-blue-400 rounded-full flex items-center justify-center mx-auto mb-4 text-white font-bold text-2xl",children:"1"}),t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"Devenez partenaire"}),t.jsx("p",{className:"text-slate-600 text-sm",children:"Inscrivez-vous gratuitement comme praticien partenaire Malodo"})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary to-blue-400 rounded-full flex items-center justify-center mx-auto mb-4 text-white font-bold text-2xl",children:"2"}),t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"Recommandez Malodo"}),t.jsx("p",{className:"text-slate-600 text-sm",children:"Proposez la solution à vos patients souffrant de lombalgies"})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary to-blue-400 rounded-full flex items-center justify-center mx-auto mb-4 text-white font-bold text-2xl",children:"3"}),t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"Accompagnez ensemble"}),t.jsx("p",{className:"text-slate-600 text-sm",children:"Vos patients bénéficient d'un programme sur-mesure complémentaire à vos soins"})]})]}),t.jsx("div",{className:"mt-10 text-center",children:t.jsx("a",{href:"/partenariat-kine",className:"inline-block bg-gradient-to-r from-primary to-blue-500 text-white hover:from-blue-600 hover:to-blue-700 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Devenir praticien partenaire"})})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-3xl p-12 md:p-16 text-white text-center shadow-2xl",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:"Prêt à prendre soin de votre dos ?"}),t.jsx("p",{className:"text-xl mb-8 text-blue-50 max-w-2xl mx-auto",children:"Rejoignez les centaines de personnes qui ont déjà retrouvé un dos libre et sans douleur grâce à Malodo"}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsx("a",{href:"/#programmes",className:"bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Découvrir nos programmes"}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"bg-transparent border-2 border-white text-white hover:bg-white/10 font-bold py-4 px-8 rounded-xl transition-all duration-300",children:"Faire mon test gratuit"})]})]})]})})})}),t.jsx(le,{})]});var ad={},ua={},Il=function(s,e){return Il=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])},Il(s,e)};function ax(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Il(s,e);function r(){this.constructor=s}s.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var ma=function(){return ma=Object.assign||function(e){for(var r,n=1,i=arguments.length;n<i;n++){r=arguments[n];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},ma.apply(this,arguments)};function Pr(s,e){var r={};for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&e.indexOf(n)<0&&(r[n]=s[n]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(s);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(s,n[i])&&(r[n[i]]=s[n[i]]);return r}function ox(s,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(s,e,r,n);else for(var l=s.length-1;l>=0;l--)(o=s[l])&&(a=(i<3?o(a):i>3?o(e,r,a):o(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function lx(s,e){return function(r,n){e(r,n,s)}}function cx(s,e,r,n,i,a){function o(p){if(p!==void 0&&typeof p!="function")throw new TypeError("Function expected");return p}for(var l=n.kind,c=l==="getter"?"get":l==="setter"?"set":"value",d=!e&&s?n.static?s:s.prototype:null,u=e||(d?Object.getOwnPropertyDescriptor(d,n.name):{}),m,h=!1,f=r.length-1;f>=0;f--){var v={};for(var j in n)v[j]=j==="access"?{}:n[j];for(var j in n.access)v.access[j]=n.access[j];v.addInitializer=function(p){if(h)throw new TypeError("Cannot add initializers after decoration has completed");a.push(o(p||null))};var w=(0,r[f])(l==="accessor"?{get:u.get,set:u.set}:u[c],v);if(l==="accessor"){if(w===void 0)continue;if(w===null||typeof w!="object")throw new TypeError("Object expected");(m=o(w.get))&&(u.get=m),(m=o(w.set))&&(u.set=m),(m=o(w.init))&&i.unshift(m)}else(m=o(w))&&(l==="field"?i.unshift(m):u[c]=m)}d&&Object.defineProperty(d,n.name,u),h=!0}function dx(s,e,r){for(var n=arguments.length>2,i=0;i<e.length;i++)r=n?e[i].call(s,r):e[i].call(s);return n?r:void 0}function ux(s){return typeof s=="symbol"?s:"".concat(s)}function mx(s,e,r){return typeof e=="symbol"&&(e=e.description?"[".concat(e.description,"]"):""),Object.defineProperty(s,"name",{configurable:!0,value:r?"".concat(r," ",e):e})}function hx(s,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(s,e)}function T(s,e,r,n){function i(a){return a instanceof r?a:new r(function(o){o(a)})}return new(r||(r=Promise))(function(a,o){function l(u){try{d(n.next(u))}catch(m){o(m)}}function c(u){try{d(n.throw(u))}catch(m){o(m)}}function d(u){u.done?a(u.value):i(u.value).then(l,c)}d((n=n.apply(s,e||[])).next())})}function px(s,e){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(d){return function(u){return c([d,u])}}function c(d){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,d[0]&&(r=0)),r;)try{if(n=1,i&&(a=d[0]&2?i.return:d[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,d[1])).done)return a;switch(i=0,a&&(d=[d[0]&2,a.value]),d[0]){case 0:case 1:a=d;break;case 4:return r.label++,{value:d[1],done:!1};case 5:r.label++,i=d[1],d=[0];continue;case 7:d=r.ops.pop(),r.trys.pop();continue;default:if(a=r.trys,!(a=a.length>0&&a[a.length-1])&&(d[0]===6||d[0]===2)){r=0;continue}if(d[0]===3&&(!a||d[1]>a[0]&&d[1]<a[3])){r.label=d[1];break}if(d[0]===6&&r.label<a[1]){r.label=a[1],a=d;break}if(a&&r.label<a[2]){r.label=a[2],r.ops.push(d);break}a[2]&&r.ops.pop(),r.trys.pop();continue}d=e.call(s,r)}catch(u){d=[6,u],i=0}finally{n=a=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}var Ha=Object.create?function(s,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(s,n,i)}:function(s,e,r,n){n===void 0&&(n=r),s[n]=e[r]};function xx(s,e){for(var r in s)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ha(e,s,r)}function ha(s){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&s[e],n=0;if(r)return r.call(s);if(s&&typeof s.length=="number")return{next:function(){return s&&n>=s.length&&(s=void 0),{value:s&&s[n++],done:!s}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function od(s,e){var r=typeof Symbol=="function"&&s[Symbol.iterator];if(!r)return s;var n=r.call(s),i,a=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(l){o={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return a}function fx(){for(var s=[],e=0;e<arguments.length;e++)s=s.concat(od(arguments[e]));return s}function gx(){for(var s=0,e=0,r=arguments.length;e<r;e++)s+=arguments[e].length;for(var n=Array(s),i=0,e=0;e<r;e++)for(var a=arguments[e],o=0,l=a.length;o<l;o++,i++)n[i]=a[o];return n}function vx(s,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,a;n<i;n++)(a||!(n in e))&&(a||(a=Array.prototype.slice.call(e,0,n)),a[n]=e[n]);return s.concat(a||Array.prototype.slice.call(e))}function wr(s){return this instanceof wr?(this.v=s,this):new wr(s)}function bx(s,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r.apply(s,e||[]),i,a=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(f){return function(v){return Promise.resolve(v).then(f,m)}}function l(f,v){n[f]&&(i[f]=function(j){return new Promise(function(w,p){a.push([f,j,w,p])>1||c(f,j)})},v&&(i[f]=v(i[f])))}function c(f,v){try{d(n[f](v))}catch(j){h(a[0][3],j)}}function d(f){f.value instanceof wr?Promise.resolve(f.value.v).then(u,m):h(a[0][2],f)}function u(f){c("next",f)}function m(f){c("throw",f)}function h(f,v){f(v),a.shift(),a.length&&c(a[0][0],a[0][1])}}function jx(s){var e,r;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,a){e[i]=s[i]?function(o){return(r=!r)?{value:wr(s[i](o)),done:!1}:a?a(o):o}:a}}function yx(s){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=s[Symbol.asyncIterator],r;return e?e.call(s):(s=typeof ha=="function"?ha(s):s[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(a){r[a]=s[a]&&function(o){return new Promise(function(l,c){o=s[a](o),i(l,c,o.done,o.value)})}}function i(a,o,l,c){Promise.resolve(c).then(function(d){a({value:d,done:l})},o)}}function wx(s,e){return Object.defineProperty?Object.defineProperty(s,"raw",{value:e}):s.raw=e,s}var Vj=Object.create?function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}:function(s,e){s.default=e},$l=function(s){return $l=Object.getOwnPropertyNames||function(e){var r=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[r.length]=n);return r},$l(s)};function Nx(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var r=$l(s),n=0;n<r.length;n++)r[n]!=="default"&&Ha(e,s,r[n]);return Vj(e,s),e}function _x(s){return s&&s.__esModule?s:{default:s}}function kx(s,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?s!==e||!n:!e.has(s))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(s):n?n.value:e.get(s)}function Sx(s,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?s!==e||!i:!e.has(s))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(s,r):i?i.value=r:e.set(s,r),r}function Ex(s,e){if(e===null||typeof e!="object"&&typeof e!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof s=="function"?e===s:s.has(e)}function Cx(s,e,r){if(e!=null){if(typeof e!="object"&&typeof e!="function")throw new TypeError("Object expected.");var n,i;if(r){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=e[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=e[Symbol.dispose],r&&(i=n)}if(typeof n!="function")throw new TypeError("Object not disposable.");i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),s.stack.push({value:e,dispose:n,async:r})}else r&&s.stack.push({async:!0});return e}var Hj=typeof SuppressedError=="function"?SuppressedError:function(s,e,r){var n=new Error(r);return n.name="SuppressedError",n.error=s,n.suppressed=e,n};function Px(s){function e(a){s.error=s.hasError?new Hj(a,s.error,"An error was suppressed during disposal."):a,s.hasError=!0}var r,n=0;function i(){for(;r=s.stack.pop();)try{if(!r.async&&n===1)return n=0,s.stack.push(r),Promise.resolve().then(i);if(r.dispose){var a=r.dispose.call(r.value);if(r.async)return n|=2,Promise.resolve(a).then(i,function(o){return e(o),i()})}else n|=1}catch(o){e(o)}if(n===1)return s.hasError?Promise.reject(s.error):Promise.resolve();if(s.hasError)throw s.error}return i()}function Tx(s,e){return typeof s=="string"&&/^\.\.?\//.test(s)?s.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(r,n,i,a,o){return n?e?".jsx":".js":i&&(!a||!o)?r:i+a+"."+o.toLowerCase()+"js"}):s}const Wj={__extends:ax,__assign:ma,__rest:Pr,__decorate:ox,__param:lx,__esDecorate:cx,__runInitializers:dx,__propKey:ux,__setFunctionName:mx,__metadata:hx,__awaiter:T,__generator:px,__createBinding:Ha,__exportStar:xx,__values:ha,__read:od,__spread:fx,__spreadArrays:gx,__spreadArray:vx,__await:wr,__asyncGenerator:bx,__asyncDelegator:jx,__asyncValues:yx,__makeTemplateObject:wx,__importStar:Nx,__importDefault:_x,__classPrivateFieldGet:kx,__classPrivateFieldSet:Sx,__classPrivateFieldIn:Ex,__addDisposableResource:Cx,__disposeResources:Px,__rewriteRelativeImportExtension:Tx},Gj=Object.freeze(Object.defineProperty({__proto__:null,__addDisposableResource:Cx,get __assign(){return ma},__asyncDelegator:jx,__asyncGenerator:bx,__asyncValues:yx,__await:wr,__awaiter:T,__classPrivateFieldGet:kx,__classPrivateFieldIn:Ex,__classPrivateFieldSet:Sx,__createBinding:Ha,__decorate:ox,__disposeResources:Px,__esDecorate:cx,__exportStar:xx,__extends:ax,__generator:px,__importDefault:_x,__importStar:Nx,__makeTemplateObject:wx,__metadata:hx,__param:lx,__propKey:ux,__read:od,__rest:Pr,__rewriteRelativeImportExtension:Tx,__runInitializers:dx,__setFunctionName:mx,__spread:fx,__spreadArray:vx,__spreadArrays:gx,__values:ha,default:Wj},Symbol.toStringTag,{value:"Module"})),Qj=s=>s?(...e)=>s(...e):(...e)=>fetch(...e);let Wa=class extends Error{constructor(e,r="FunctionsError",n){super(e),this.name=r,this.context=n}},Ax=class extends Wa{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}},Ul=class extends Wa{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}},Fl=class extends Wa{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}};var pa;(function(s){s.Any="any",s.ApNortheast1="ap-northeast-1",s.ApNortheast2="ap-northeast-2",s.ApSouth1="ap-south-1",s.ApSoutheast1="ap-southeast-1",s.ApSoutheast2="ap-southeast-2",s.CaCentral1="ca-central-1",s.EuCentral1="eu-central-1",s.EuWest1="eu-west-1",s.EuWest2="eu-west-2",s.EuWest3="eu-west-3",s.SaEast1="sa-east-1",s.UsEast1="us-east-1",s.UsWest1="us-west-1",s.UsWest2="us-west-2"})(pa||(pa={}));class Yj{constructor(e,{headers:r={},customFetch:n,region:i=pa.Any}={}){this.url=e,this.headers=r,this.region=i,this.fetch=Qj(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return T(this,arguments,void 0,function*(r,n={}){var i;let a,o;try{const{headers:l,method:c,body:d,signal:u,timeout:m}=n;let h={},{region:f}=n;f||(f=this.region);const v=new URL(`${this.url}/${r}`);f&&f!=="any"&&(h["x-region"]=f,v.searchParams.set("forceFunctionRegion",f));let j;d&&(l&&!Object.prototype.hasOwnProperty.call(l,"Content-Type")||!l)?typeof Blob<"u"&&d instanceof Blob||d instanceof ArrayBuffer?(h["Content-Type"]="application/octet-stream",j=d):typeof d=="string"?(h["Content-Type"]="text/plain",j=d):typeof FormData<"u"&&d instanceof FormData?j=d:(h["Content-Type"]="application/json",j=JSON.stringify(d)):j=d;let w=u;m&&(o=new AbortController,a=setTimeout(()=>o.abort(),m),u?(w=o.signal,u.addEventListener("abort",()=>o.abort())):w=o.signal);const p=yield this.fetch(v.toString(),{method:c||"POST",headers:Object.assign(Object.assign(Object.assign({},h),this.headers),l),body:j,signal:w}).catch(_=>{throw new Ax(_)}),x=p.headers.get("x-relay-error");if(x&&x==="true")throw new Ul(p);if(!p.ok)throw new Fl(p);let g=((i=p.headers.get("Content-Type"))!==null&&i!==void 0?i:"text/plain").split(";")[0].trim(),y;return g==="application/json"?y=yield p.json():g==="application/octet-stream"||g==="application/pdf"?y=yield p.blob():g==="text/event-stream"?y=p:g==="multipart/form-data"?y=yield p.formData():y=yield p.text(),{data:y,error:null,response:p}}catch(l){return{data:null,error:l,response:l instanceof Fl||l instanceof Ul?l.context:void 0}}finally{a&&clearTimeout(a)}})}}const Kj=Object.freeze(Object.defineProperty({__proto__:null,get FunctionRegion(){return pa},FunctionsClient:Yj,FunctionsError:Wa,FunctionsFetchError:Ax,FunctionsHttpError:Fl,FunctionsRelayError:Ul},Symbol.toStringTag,{value:"Module"})),Ox=kn(Kj);var Pe={};const Tr=kn(Gj);var hi={},pi={},xi={},fi={},gi={},vi={},Yu;function qx(){if(Yu)return vi;Yu=1,Object.defineProperty(vi,"__esModule",{value:!0});class s extends Error{constructor(r){super(r.message),this.name="PostgrestError",this.details=r.details,this.hint=r.hint,this.code=r.code}}return vi.default=s,vi}var Ku;function Rx(){if(Ku)return gi;Ku=1,Object.defineProperty(gi,"__esModule",{value:!0});const e=Tr.__importDefault(qx());let r=class{constructor(i){var a,o;this.shouldThrowOnError=!1,this.method=i.method,this.url=i.url,this.headers=new Headers(i.headers),this.schema=i.schema,this.body=i.body,this.shouldThrowOnError=(a=i.shouldThrowOnError)!==null&&a!==void 0?a:!1,this.signal=i.signal,this.isMaybeSingle=(o=i.isMaybeSingle)!==null&&o!==void 0?o:!1,i.fetch?this.fetch=i.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(i,a){return this.headers=new Headers(this.headers),this.headers.set(i,a),this}then(i,a){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json");const o=this.fetch;let l=o(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async c=>{var d,u,m,h;let f=null,v=null,j=null,w=c.status,p=c.statusText;if(c.ok){if(this.method!=="HEAD"){const _=await c.text();_===""||(this.headers.get("Accept")==="text/csv"||this.headers.get("Accept")&&(!((d=this.headers.get("Accept"))===null||d===void 0)&&d.includes("application/vnd.pgrst.plan+text"))?v=_:v=JSON.parse(_))}const g=(u=this.headers.get("Prefer"))===null||u===void 0?void 0:u.match(/count=(exact|planned|estimated)/),y=(m=c.headers.get("content-range"))===null||m===void 0?void 0:m.split("/");g&&y&&y.length>1&&(j=parseInt(y[1])),this.isMaybeSingle&&this.method==="GET"&&Array.isArray(v)&&(v.length>1?(f={code:"PGRST116",details:`Results contain ${v.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},v=null,j=null,w=406,p="Not Acceptable"):v.length===1?v=v[0]:v=null)}else{const g=await c.text();try{f=JSON.parse(g),Array.isArray(f)&&c.status===404&&(v=[],f=null,w=200,p="OK")}catch{c.status===404&&g===""?(w=204,p="No Content"):f={message:g}}if(f&&this.isMaybeSingle&&(!((h=f==null?void 0:f.details)===null||h===void 0)&&h.includes("0 rows"))&&(f=null,w=200,p="OK"),f&&this.shouldThrowOnError)throw new e.default(f)}return{error:f,data:v,count:j,status:w,statusText:p}});return this.shouldThrowOnError||(l=l.catch(c=>{var d,u,m,h,f,v;let j="";const w=c==null?void 0:c.cause;if(w){const p=(d=w==null?void 0:w.message)!==null&&d!==void 0?d:"",x=(u=w==null?void 0:w.code)!==null&&u!==void 0?u:"";j=`${(m=c==null?void 0:c.name)!==null&&m!==void 0?m:"FetchError"}: ${c==null?void 0:c.message}`,j+=`
Caused by: ${(h=w==null?void 0:w.name)!==null&&h!==void 0?h:"Error"}: ${p}`,x&&(j+=` (${x})`),w!=null&&w.stack&&(j+=`
${w.stack}`)}else j=(f=c==null?void 0:c.stack)!==null&&f!==void 0?f:"";return{error:{message:`${(v=c==null?void 0:c.name)!==null&&v!==void 0?v:"FetchError"}: ${c==null?void 0:c.message}`,details:j,hint:"",code:""},data:null,count:null,status:0,statusText:""}})),l.then(i,a)}returns(){return this}overrideTypes(){return this}};return gi.default=r,gi}var Ju;function Lx(){if(Ju)return fi;Ju=1,Object.defineProperty(fi,"__esModule",{value:!0});const e=Tr.__importDefault(Rx());let r=class extends e.default{select(i){let a=!1;const o=(i??"*").split("").map(l=>/\s/.test(l)&&!a?"":(l==='"'&&(a=!a),l)).join("");return this.url.searchParams.set("select",o),this.headers.append("Prefer","return=representation"),this}order(i,{ascending:a=!0,nullsFirst:o,foreignTable:l,referencedTable:c=l}={}){const d=c?`${c}.order`:"order",u=this.url.searchParams.get(d);return this.url.searchParams.set(d,`${u?`${u},`:""}${i}.${a?"asc":"desc"}${o===void 0?"":o?".nullsfirst":".nullslast"}`),this}limit(i,{foreignTable:a,referencedTable:o=a}={}){const l=typeof o>"u"?"limit":`${o}.limit`;return this.url.searchParams.set(l,`${i}`),this}range(i,a,{foreignTable:o,referencedTable:l=o}={}){const c=typeof l>"u"?"offset":`${l}.offset`,d=typeof l>"u"?"limit":`${l}.limit`;return this.url.searchParams.set(c,`${i}`),this.url.searchParams.set(d,`${a-i+1}`),this}abortSignal(i){return this.signal=i,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.method==="GET"?this.headers.set("Accept","application/json"):this.headers.set("Accept","application/vnd.pgrst.object+json"),this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:i=!1,verbose:a=!1,settings:o=!1,buffers:l=!1,wal:c=!1,format:d="text"}={}){var u;const m=[i?"analyze":null,a?"verbose":null,o?"settings":null,l?"buffers":null,c?"wal":null].filter(Boolean).join("|"),h=(u=this.headers.get("Accept"))!==null&&u!==void 0?u:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${d}; for="${h}"; options=${m};`),d==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(i){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${i}`),this}};return fi.default=r,fi}var Zu;function ld(){if(Zu)return xi;Zu=1,Object.defineProperty(xi,"__esModule",{value:!0});const e=Tr.__importDefault(Lx()),r=new RegExp("[,()]");let n=class extends e.default{eq(a,o){return this.url.searchParams.append(a,`eq.${o}`),this}neq(a,o){return this.url.searchParams.append(a,`neq.${o}`),this}gt(a,o){return this.url.searchParams.append(a,`gt.${o}`),this}gte(a,o){return this.url.searchParams.append(a,`gte.${o}`),this}lt(a,o){return this.url.searchParams.append(a,`lt.${o}`),this}lte(a,o){return this.url.searchParams.append(a,`lte.${o}`),this}like(a,o){return this.url.searchParams.append(a,`like.${o}`),this}likeAllOf(a,o){return this.url.searchParams.append(a,`like(all).{${o.join(",")}}`),this}likeAnyOf(a,o){return this.url.searchParams.append(a,`like(any).{${o.join(",")}}`),this}ilike(a,o){return this.url.searchParams.append(a,`ilike.${o}`),this}ilikeAllOf(a,o){return this.url.searchParams.append(a,`ilike(all).{${o.join(",")}}`),this}ilikeAnyOf(a,o){return this.url.searchParams.append(a,`ilike(any).{${o.join(",")}}`),this}regexMatch(a,o){return this.url.searchParams.append(a,`match.${o}`),this}regexIMatch(a,o){return this.url.searchParams.append(a,`imatch.${o}`),this}is(a,o){return this.url.searchParams.append(a,`is.${o}`),this}isDistinct(a,o){return this.url.searchParams.append(a,`isdistinct.${o}`),this}in(a,o){const l=Array.from(new Set(o)).map(c=>typeof c=="string"&&r.test(c)?`"${c}"`:`${c}`).join(",");return this.url.searchParams.append(a,`in.(${l})`),this}contains(a,o){return typeof o=="string"?this.url.searchParams.append(a,`cs.${o}`):Array.isArray(o)?this.url.searchParams.append(a,`cs.{${o.join(",")}}`):this.url.searchParams.append(a,`cs.${JSON.stringify(o)}`),this}containedBy(a,o){return typeof o=="string"?this.url.searchParams.append(a,`cd.${o}`):Array.isArray(o)?this.url.searchParams.append(a,`cd.{${o.join(",")}}`):this.url.searchParams.append(a,`cd.${JSON.stringify(o)}`),this}rangeGt(a,o){return this.url.searchParams.append(a,`sr.${o}`),this}rangeGte(a,o){return this.url.searchParams.append(a,`nxl.${o}`),this}rangeLt(a,o){return this.url.searchParams.append(a,`sl.${o}`),this}rangeLte(a,o){return this.url.searchParams.append(a,`nxr.${o}`),this}rangeAdjacent(a,o){return this.url.searchParams.append(a,`adj.${o}`),this}overlaps(a,o){return typeof o=="string"?this.url.searchParams.append(a,`ov.${o}`):this.url.searchParams.append(a,`ov.{${o.join(",")}}`),this}textSearch(a,o,{config:l,type:c}={}){let d="";c==="plain"?d="pl":c==="phrase"?d="ph":c==="websearch"&&(d="w");const u=l===void 0?"":`(${l})`;return this.url.searchParams.append(a,`${d}fts${u}.${o}`),this}match(a){return Object.entries(a).forEach(([o,l])=>{this.url.searchParams.append(o,`eq.${l}`)}),this}not(a,o,l){return this.url.searchParams.append(a,`not.${o}.${l}`),this}or(a,{foreignTable:o,referencedTable:l=o}={}){const c=l?`${l}.or`:"or";return this.url.searchParams.append(c,`(${a})`),this}filter(a,o,l){return this.url.searchParams.append(a,`${o}.${l}`),this}};return xi.default=n,xi}var Xu;function Dx(){if(Xu)return pi;Xu=1,Object.defineProperty(pi,"__esModule",{value:!0});const e=Tr.__importDefault(ld());let r=class{constructor(i,{headers:a={},schema:o,fetch:l}){this.url=i,this.headers=new Headers(a),this.schema=o,this.fetch=l}select(i,a){const{head:o=!1,count:l}=a??{},c=o?"HEAD":"GET";let d=!1;const u=(i??"*").split("").map(m=>/\s/.test(m)&&!d?"":(m==='"'&&(d=!d),m)).join("");return this.url.searchParams.set("select",u),l&&this.headers.append("Prefer",`count=${l}`),new e.default({method:c,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(i,{count:a,defaultToNull:o=!0}={}){var l;const c="POST";if(a&&this.headers.append("Prefer",`count=${a}`),o||this.headers.append("Prefer","missing=default"),Array.isArray(i)){const d=i.reduce((u,m)=>u.concat(Object.keys(m)),[]);if(d.length>0){const u=[...new Set(d)].map(m=>`"${m}"`);this.url.searchParams.set("columns",u.join(","))}}return new e.default({method:c,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:(l=this.fetch)!==null&&l!==void 0?l:fetch})}upsert(i,{onConflict:a,ignoreDuplicates:o=!1,count:l,defaultToNull:c=!0}={}){var d;const u="POST";if(this.headers.append("Prefer",`resolution=${o?"ignore":"merge"}-duplicates`),a!==void 0&&this.url.searchParams.set("on_conflict",a),l&&this.headers.append("Prefer",`count=${l}`),c||this.headers.append("Prefer","missing=default"),Array.isArray(i)){const m=i.reduce((h,f)=>h.concat(Object.keys(f)),[]);if(m.length>0){const h=[...new Set(m)].map(f=>`"${f}"`);this.url.searchParams.set("columns",h.join(","))}}return new e.default({method:u,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:(d=this.fetch)!==null&&d!==void 0?d:fetch})}update(i,{count:a}={}){var o;const l="PATCH";return a&&this.headers.append("Prefer",`count=${a}`),new e.default({method:l,url:this.url,headers:this.headers,schema:this.schema,body:i,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch})}delete({count:i}={}){var a;const o="DELETE";return i&&this.headers.append("Prefer",`count=${i}`),new e.default({method:o,url:this.url,headers:this.headers,schema:this.schema,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch})}};return pi.default=r,pi}var em;function Jj(){if(em)return hi;em=1,Object.defineProperty(hi,"__esModule",{value:!0});const s=Tr,e=s.__importDefault(Dx()),r=s.__importDefault(ld());let n=class zx{constructor(a,{headers:o={},schema:l,fetch:c}={}){this.url=a,this.headers=new Headers(o),this.schemaName=l,this.fetch=c}from(a){if(!a||typeof a!="string"||a.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");const o=new URL(`${this.url}/${a}`);return new e.default(o,{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(a){return new zx(this.url,{headers:this.headers,schema:a,fetch:this.fetch})}rpc(a,o={},{head:l=!1,get:c=!1,count:d}={}){var u;let m;const h=new URL(`${this.url}/rpc/${a}`);let f;l||c?(m=l?"HEAD":"GET",Object.entries(o).filter(([j,w])=>w!==void 0).map(([j,w])=>[j,Array.isArray(w)?`{${w.join(",")}}`:`${w}`]).forEach(([j,w])=>{h.searchParams.append(j,w)})):(m="POST",f=o);const v=new Headers(this.headers);return d&&v.set("Prefer",`count=${d}`),new r.default({method:m,url:h,headers:v,schema:this.schemaName,body:f,fetch:(u=this.fetch)!==null&&u!==void 0?u:fetch})}};return hi.default=n,hi}Object.defineProperty(Pe,"__esModule",{value:!0});Pe.PostgrestError=Pe.PostgrestBuilder=Pe.PostgrestTransformBuilder=Pe.PostgrestFilterBuilder=Pe.PostgrestQueryBuilder=Pe.PostgrestClient=void 0;const Ar=Tr,Mx=Ar.__importDefault(Jj());Pe.PostgrestClient=Mx.default;const Ix=Ar.__importDefault(Dx());Pe.PostgrestQueryBuilder=Ix.default;const $x=Ar.__importDefault(ld());Pe.PostgrestFilterBuilder=$x.default;const Ux=Ar.__importDefault(Lx());Pe.PostgrestTransformBuilder=Ux.default;const Fx=Ar.__importDefault(Rx());Pe.PostgrestBuilder=Fx.default;const Bx=Ar.__importDefault(qx());Pe.PostgrestError=Bx.default;Pe.default={PostgrestClient:Mx.default,PostgrestQueryBuilder:Ix.default,PostgrestFilterBuilder:$x.default,PostgrestTransformBuilder:Ux.default,PostgrestBuilder:Fx.default,PostgrestError:Bx.default};class Vx{constructor(){}static detectEnvironment(){var e;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&(!((e=navigator.userAgent)===null||e===void 0)&&e.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};if(typeof process<"u"){const r=process.versions;if(r&&r.node){const n=r.node,i=parseInt(n.replace(/^v/,"").split(".")[0]);return i>=22?typeof globalThis.WebSocket<"u"?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${i} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${i} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
import ws from "ws"
new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const e=this.detectEnvironment();if(e.constructor)return e.constructor;let r=e.error||"WebSocket not supported in this environment.";throw e.workaround&&(r+=`
Suggested solution: ${e.workaround}`),new Error(r)}static createWebSocket(e,r){const n=this.getWebSocketConstructor();return new n(e,r)}static isWebSocketSupported(){try{const e=this.detectEnvironment();return e.type==="native"||e.type==="ws"}catch{return!1}}}const Zj="2.86.2",Xj=`realtime-js/${Zj}`,Hx="1.0.0",ey="2.0.0",tm=Hx,Bl=1e4,ty=1e3,sy=100;var ks;(function(s){s[s.connecting=0]="connecting",s[s.open=1]="open",s[s.closing=2]="closing",s[s.closed=3]="closed"})(ks||(ks={}));var de;(function(s){s.closed="closed",s.errored="errored",s.joined="joined",s.joining="joining",s.leaving="leaving"})(de||(de={}));var xt;(function(s){s.close="phx_close",s.error="phx_error",s.join="phx_join",s.reply="phx_reply",s.leave="phx_leave",s.access_token="access_token"})(xt||(xt={}));var Vl;(function(s){s.websocket="websocket"})(Vl||(Vl={}));var Ss;(function(s){s.Connecting="connecting",s.Open="open",s.Closing="closing",s.Closed="closed"})(Ss||(Ss={}));class ry{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,r){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event=="string")return r(this._binaryEncodeUserBroadcastPush(e));let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return r(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(e){var r;return this._isArrayBuffer((r=e.payload)===null||r===void 0?void 0:r.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){var r,n;const i=(n=(r=e.payload)===null||r===void 0?void 0:r.payload)!==null&&n!==void 0?n:new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,i)}_encodeJsonUserBroadcastPush(e){var r,n;const i=(n=(r=e.payload)===null||r===void 0?void 0:r.payload)!==null&&n!==void 0?n:{},o=new TextEncoder().encode(JSON.stringify(i)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,o)}_encodeUserBroadcastPush(e,r,n){var i,a;const o=e.topic,l=(i=e.ref)!==null&&i!==void 0?i:"",c=(a=e.join_ref)!==null&&a!==void 0?a:"",d=e.payload.event,u=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},m=Object.keys(u).length===0?"":JSON.stringify(u);if(c.length>255)throw new Error(`joinRef length ${c.length} exceeds maximum of 255`);if(l.length>255)throw new Error(`ref length ${l.length} exceeds maximum of 255`);if(o.length>255)throw new Error(`topic length ${o.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`userEvent length ${d.length} exceeds maximum of 255`);if(m.length>255)throw new Error(`metadata length ${m.length} exceeds maximum of 255`);const h=this.USER_BROADCAST_PUSH_META_LENGTH+c.length+l.length+o.length+d.length+m.length,f=new ArrayBuffer(this.HEADER_LENGTH+h);let v=new DataView(f),j=0;v.setUint8(j++,this.KINDS.userBroadcastPush),v.setUint8(j++,c.length),v.setUint8(j++,l.length),v.setUint8(j++,o.length),v.setUint8(j++,d.length),v.setUint8(j++,m.length),v.setUint8(j++,r),Array.from(c,p=>v.setUint8(j++,p.charCodeAt(0))),Array.from(l,p=>v.setUint8(j++,p.charCodeAt(0))),Array.from(o,p=>v.setUint8(j++,p.charCodeAt(0))),Array.from(d,p=>v.setUint8(j++,p.charCodeAt(0))),Array.from(m,p=>v.setUint8(j++,p.charCodeAt(0)));var w=new Uint8Array(f.byteLength+n.byteLength);return w.set(new Uint8Array(f),0),w.set(new Uint8Array(n),f.byteLength),w.buffer}decode(e,r){if(this._isArrayBuffer(e)){let n=this._binaryDecode(e);return r(n)}if(typeof e=="string"){const n=JSON.parse(e),[i,a,o,l,c]=n;return r({join_ref:i,ref:a,topic:o,event:l,payload:c})}return r({})}_binaryDecode(e){const r=new DataView(e),n=r.getUint8(0),i=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,r,i)}}_decodeUserBroadcast(e,r,n){const i=r.getUint8(1),a=r.getUint8(2),o=r.getUint8(3),l=r.getUint8(4);let c=this.HEADER_LENGTH+4;const d=n.decode(e.slice(c,c+i));c=c+i;const u=n.decode(e.slice(c,c+a));c=c+a;const m=n.decode(e.slice(c,c+o));c=c+o;const h=e.slice(c,e.byteLength),f=l===this.JSON_ENCODING?JSON.parse(n.decode(h)):h,v={type:this.BROADCAST_EVENT,event:u,payload:f};return o>0&&(v.meta=JSON.parse(m)),{join_ref:null,ref:null,topic:d,event:this.BROADCAST_EVENT,payload:v}}_isArrayBuffer(e){var r;return e instanceof ArrayBuffer||((r=e==null?void 0:e.constructor)===null||r===void 0?void 0:r.name)==="ArrayBuffer"}_pick(e,r){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).filter(([n])=>r.includes(n)))}}class Wx{constructor(e,r){this.callback=e,this.timerCalc=r,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=r}reset(){this.tries=0,clearTimeout(this.timer),this.timer=void 0}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}var F;(function(s){s.abstime="abstime",s.bool="bool",s.date="date",s.daterange="daterange",s.float4="float4",s.float8="float8",s.int2="int2",s.int4="int4",s.int4range="int4range",s.int8="int8",s.int8range="int8range",s.json="json",s.jsonb="jsonb",s.money="money",s.numeric="numeric",s.oid="oid",s.reltime="reltime",s.text="text",s.time="time",s.timestamp="timestamp",s.timestamptz="timestamptz",s.timetz="timetz",s.tsrange="tsrange",s.tstzrange="tstzrange"})(F||(F={}));const sm=(s,e,r={})=>{var n;const i=(n=r.skipTypes)!==null&&n!==void 0?n:[];return e?Object.keys(e).reduce((a,o)=>(a[o]=ny(o,s,e,i),a),{}):{}},ny=(s,e,r,n)=>{const i=e.find(l=>l.name===s),a=i==null?void 0:i.type,o=r[s];return a&&!n.includes(a)?Gx(a,o):Hl(o)},Gx=(s,e)=>{if(s.charAt(0)==="_"){const r=s.slice(1,s.length);return ly(e,r)}switch(s){case F.bool:return iy(e);case F.float4:case F.float8:case F.int2:case F.int4:case F.int8:case F.numeric:case F.oid:return ay(e);case F.json:case F.jsonb:return oy(e);case F.timestamp:return cy(e);case F.abstime:case F.date:case F.daterange:case F.int4range:case F.int8range:case F.money:case F.reltime:case F.text:case F.time:case F.timestamptz:case F.timetz:case F.tsrange:case F.tstzrange:return Hl(e);default:return Hl(e)}},Hl=s=>s,iy=s=>{switch(s){case"t":return!0;case"f":return!1;default:return s}},ay=s=>{if(typeof s=="string"){const e=parseFloat(s);if(!Number.isNaN(e))return e}return s},oy=s=>{if(typeof s=="string")try{return JSON.parse(s)}catch(e){return console.log(`JSON parse error: ${e}`),s}return s},ly=(s,e)=>{if(typeof s!="string")return s;const r=s.length-1,n=s[r];if(s[0]==="{"&&n==="}"){let a;const o=s.slice(1,r);try{a=JSON.parse("["+o+"]")}catch{a=o?o.split(","):[]}return a.map(l=>Gx(e,l))}return s},cy=s=>typeof s=="string"?s.replace(" ","T"):s,Qx=s=>{const e=new URL(s);return e.protocol=e.protocol.replace(/^ws/i,"http"),e.pathname=e.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),e.pathname===""||e.pathname==="/"?e.pathname="/api/broadcast":e.pathname=e.pathname+"/api/broadcast",e.href};class Ao{constructor(e,r,n={},i=Bl){this.channel=e,this.event=r,this.payload=n,this.timeout=i,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,r){var n;return this._hasReceived(e)&&r((n=this.receivedResp)===null||n===void 0?void 0:n.response),this.recHooks.push({status:e,callback:r}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=r=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=r,this._matchReceive(r)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,r){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:r})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:r}){this.recHooks.filter(n=>n.status===e).forEach(n=>n.callback(r))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var Wl;(function(s){s.SYNC="sync",s.JOIN="join",s.LEAVE="leave"})(Wl||(Wl={}));let Yx=class Li{constructor(e,r){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.enabled=!1,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const n=(r==null?void 0:r.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(n.state,{},i=>{const{onJoin:a,onLeave:o,onSync:l}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Li.syncState(this.state,i,a,o),this.pendingDiffs.forEach(c=>{this.state=Li.syncDiff(this.state,c,a,o)}),this.pendingDiffs=[],l()}),this.channel._on(n.diff,{},i=>{const{onJoin:a,onLeave:o,onSync:l}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(i):(this.state=Li.syncDiff(this.state,i,a,o),l())}),this.onJoin((i,a,o)=>{this.channel._trigger("presence",{event:"join",key:i,currentPresences:a,newPresences:o})}),this.onLeave((i,a,o)=>{this.channel._trigger("presence",{event:"leave",key:i,currentPresences:a,leftPresences:o})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,r,n,i){const a=this.cloneDeep(e),o=this.transformState(r),l={},c={};return this.map(a,(d,u)=>{o[d]||(c[d]=u)}),this.map(o,(d,u)=>{const m=a[d];if(m){const h=u.map(w=>w.presence_ref),f=m.map(w=>w.presence_ref),v=u.filter(w=>f.indexOf(w.presence_ref)<0),j=m.filter(w=>h.indexOf(w.presence_ref)<0);v.length>0&&(l[d]=v),j.length>0&&(c[d]=j)}else l[d]=u}),this.syncDiff(a,{joins:l,leaves:c},n,i)}static syncDiff(e,r,n,i){const{joins:a,leaves:o}={joins:this.transformState(r.joins),leaves:this.transformState(r.leaves)};return n||(n=()=>{}),i||(i=()=>{}),this.map(a,(l,c)=>{var d;const u=(d=e[l])!==null&&d!==void 0?d:[];if(e[l]=this.cloneDeep(c),u.length>0){const m=e[l].map(f=>f.presence_ref),h=u.filter(f=>m.indexOf(f.presence_ref)<0);e[l].unshift(...h)}n(l,u,c)}),this.map(o,(l,c)=>{let d=e[l];if(!d)return;const u=c.map(m=>m.presence_ref);d=d.filter(m=>u.indexOf(m.presence_ref)<0),e[l]=d,i(l,d,c),d.length===0&&delete e[l]}),e}static map(e,r){return Object.getOwnPropertyNames(e).map(n=>r(n,e[n]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((r,n)=>{const i=e[n];return"metas"in i?r[n]=i.metas.map(a=>(a.presence_ref=a.phx_ref,delete a.phx_ref,delete a.phx_ref_prev,a)):r[n]=i,r},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}};var Gl;(function(s){s.ALL="*",s.INSERT="INSERT",s.UPDATE="UPDATE",s.DELETE="DELETE"})(Gl||(Gl={}));var mr;(function(s){s.BROADCAST="broadcast",s.PRESENCE="presence",s.POSTGRES_CHANGES="postgres_changes",s.SYSTEM="system"})(mr||(mr={}));var wt;(function(s){s.SUBSCRIBED="SUBSCRIBED",s.TIMED_OUT="TIMED_OUT",s.CLOSED="CLOSED",s.CHANNEL_ERROR="CHANNEL_ERROR"})(wt||(wt={}));const dy=de;let Kx=class Jx{constructor(e,r={config:{}},n){var i,a;if(this.topic=e,this.params=r,this.socket=n,this.bindings={},this.state=de.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config),this.timeout=this.socket.timeout,this.joinPush=new Ao(this,xt.join,this.params,this.timeout),this.rejoinTimer=new Wx(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=de.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(o=>o.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=de.closed,this.socket._remove(this)}),this._onError(o=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,o),this.state=de.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=de.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("error",o=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,o),this.state=de.errored,this.rejoinTimer.scheduleTimeout())}),this._on(xt.reply,{},(o,l)=>{this._trigger(this._replyEventName(l),o)}),this.presence=new Yx(this),this.broadcastEndpointURL=Qx(this.socket.endPoint),this.private=this.params.config.private||!1,!this.private&&(!((a=(i=this.params.config)===null||i===void 0?void 0:i.broadcast)===null||a===void 0)&&a.replay))throw`tried to use replay on public channel '${this.topic}'. It must be a private channel.`}subscribe(e,r=this.timeout){var n,i,a;if(this.socket.isConnected()||this.socket.connect(),this.state==de.closed){const{config:{broadcast:o,presence:l,private:c}}=this.params,d=(i=(n=this.bindings.postgres_changes)===null||n===void 0?void 0:n.map(f=>f.filter))!==null&&i!==void 0?i:[],u=!!this.bindings[mr.PRESENCE]&&this.bindings[mr.PRESENCE].length>0||((a=this.params.config.presence)===null||a===void 0?void 0:a.enabled)===!0,m={},h={broadcast:o,presence:Object.assign(Object.assign({},l),{enabled:u}),postgres_changes:d,private:c};this.socket.accessTokenValue&&(m.access_token=this.socket.accessTokenValue),this._onError(f=>e==null?void 0:e(wt.CHANNEL_ERROR,f)),this._onClose(()=>e==null?void 0:e(wt.CLOSED)),this.updateJoinPayload(Object.assign({config:h},m)),this.joinedOnce=!0,this._rejoin(r),this.joinPush.receive("ok",async({postgres_changes:f})=>{var v;if(this.socket.setAuth(),f===void 0){e==null||e(wt.SUBSCRIBED);return}else{const j=this.bindings.postgres_changes,w=(v=j==null?void 0:j.length)!==null&&v!==void 0?v:0,p=[];for(let x=0;x<w;x++){const g=j[x],{filter:{event:y,schema:_,table:b,filter:N}}=g,E=f&&f[x];if(E&&E.event===y&&E.schema===_&&E.table===b&&E.filter===N)p.push(Object.assign(Object.assign({},g),{id:E.id}));else{this.unsubscribe(),this.state=de.errored,e==null||e(wt.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=p,e&&e(wt.SUBSCRIBED);return}}).receive("error",f=>{this.state=de.errored,e==null||e(wt.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(f).join(", ")||"error")))}).receive("timeout",()=>{e==null||e(wt.TIMED_OUT)})}return this}presenceState(){return this.presence.state}async track(e,r={}){return await this.send({type:"presence",event:"track",payload:e},r.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,r,n){return this.state===de.joined&&e===mr.PRESENCE&&(this.socket.log("channel",`resubscribe to ${this.topic} due to change in presence callbacks on joined channel`),this.unsubscribe().then(()=>this.subscribe())),this._on(e,r,n)}async httpSend(e,r,n={}){var i;const a=this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"";if(r==null)return Promise.reject("Payload is required for httpSend()");const o={method:"POST",headers:{Authorization:a,apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:e,payload:r,private:this.private}]})},l=await this._fetchWithTimeout(this.broadcastEndpointURL,o,(i=n.timeout)!==null&&i!==void 0?i:this.timeout);if(l.status===202)return{success:!0};let c=l.statusText;try{const d=await l.json();c=d.error||d.message||c}catch{}return Promise.reject(new Error(c))}async send(e,r={}){var n,i;if(!this._canPush()&&e.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.");const{event:a,payload:o}=e,c={method:"POST",headers:{Authorization:this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"",apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:a,payload:o,private:this.private}]})};try{const d=await this._fetchWithTimeout(this.broadcastEndpointURL,c,(n=r.timeout)!==null&&n!==void 0?n:this.timeout);return await((i=d.body)===null||i===void 0?void 0:i.cancel()),d.ok?"ok":"error"}catch(d){return d.name==="AbortError"?"timed out":"error"}}else return new Promise(a=>{var o,l,c;const d=this._push(e.type,e,r.timeout||this.timeout);e.type==="broadcast"&&!(!((c=(l=(o=this.params)===null||o===void 0?void 0:o.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.ack)&&a("ok"),d.receive("ok",()=>a("ok")),d.receive("error",()=>a("error")),d.receive("timeout",()=>a("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=de.leaving;const r=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(xt.close,"leave",this._joinRef())};this.joinPush.destroy();let n=null;return new Promise(i=>{n=new Ao(this,xt.leave,{},e),n.receive("ok",()=>{r(),i("ok")}).receive("timeout",()=>{r(),i("timed out")}).receive("error",()=>{i("error")}),n.send(),this._canPush()||n.trigger("ok",{})}).finally(()=>{n==null||n.destroy()})}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=de.closed,this.bindings={}}async _fetchWithTimeout(e,r,n){const i=new AbortController,a=setTimeout(()=>i.abort(),n),o=await this.socket.fetch(e,Object.assign(Object.assign({},r),{signal:i.signal}));return clearTimeout(a),o}_push(e,r,n=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let i=new Ao(this,e,r,n);return this._canPush()?i.send():this._addToPushBuffer(i),i}_addToPushBuffer(e){if(e.startTimeout(),this.pushBuffer.push(e),this.pushBuffer.length>sy){const r=this.pushBuffer.shift();r&&(r.destroy(),this.socket.log("channel",`discarded push due to buffer overflow: ${r.event}`,r.payload))}}_onMessage(e,r,n){return r}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,r,n){var i,a;const o=e.toLocaleLowerCase(),{close:l,error:c,leave:d,join:u}=xt;if(n&&[l,c,d,u].indexOf(o)>=0&&n!==this._joinRef())return;let h=this._onMessage(o,r,n);if(r&&!h)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(o)?(i=this.bindings.postgres_changes)===null||i===void 0||i.filter(f=>{var v,j,w;return((v=f.filter)===null||v===void 0?void 0:v.event)==="*"||((w=(j=f.filter)===null||j===void 0?void 0:j.event)===null||w===void 0?void 0:w.toLocaleLowerCase())===o}).map(f=>f.callback(h,n)):(a=this.bindings[o])===null||a===void 0||a.filter(f=>{var v,j,w,p,x,g;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in f){const y=f.id,_=(v=f.filter)===null||v===void 0?void 0:v.event;return y&&((j=r.ids)===null||j===void 0?void 0:j.includes(y))&&(_==="*"||(_==null?void 0:_.toLocaleLowerCase())===((w=r.data)===null||w===void 0?void 0:w.type.toLocaleLowerCase()))}else{const y=(x=(p=f==null?void 0:f.filter)===null||p===void 0?void 0:p.event)===null||x===void 0?void 0:x.toLocaleLowerCase();return y==="*"||y===((g=r==null?void 0:r.event)===null||g===void 0?void 0:g.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===o}).map(f=>{if(typeof h=="object"&&"ids"in h){const v=h.data,{schema:j,table:w,commit_timestamp:p,type:x,errors:g}=v;h=Object.assign(Object.assign({},{schema:j,table:w,commit_timestamp:p,eventType:x,new:{},old:{},errors:g}),this._getPayloadRecords(v))}f.callback(h,n)})}_isClosed(){return this.state===de.closed}_isJoined(){return this.state===de.joined}_isJoining(){return this.state===de.joining}_isLeaving(){return this.state===de.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,r,n){const i=e.toLocaleLowerCase(),a={type:i,filter:r,callback:n};return this.bindings[i]?this.bindings[i].push(a):this.bindings[i]=[a],this}_off(e,r){const n=e.toLocaleLowerCase();return this.bindings[n]&&(this.bindings[n]=this.bindings[n].filter(i=>{var a;return!(((a=i.type)===null||a===void 0?void 0:a.toLocaleLowerCase())===n&&Jx.isEqual(i.filter,r))})),this}static isEqual(e,r){if(Object.keys(e).length!==Object.keys(r).length)return!1;for(const n in e)if(e[n]!==r[n])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(xt.close,{},e)}_onError(e){this._on(xt.error,{},r=>e(r))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=de.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const r={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(r.new=sm(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(r.old=sm(e.columns,e.old_record)),r}};const Oo=()=>{},bi={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},uy=[1e3,2e3,5e3,1e4],my=1e4,hy=`
addEventListener("message", (e) => {
if (e.data.event === "start") {
setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
}
});`;let py=class{constructor(e,r){var n;if(this.accessTokenValue=null,this.apiKey=null,this.channels=new Array,this.endPoint="",this.httpEndpoint="",this.headers={},this.params={},this.timeout=Bl,this.transport=null,this.heartbeatIntervalMs=bi.HEARTBEAT_INTERVAL,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.heartbeatCallback=Oo,this.ref=0,this.reconnectTimer=null,this.vsn=tm,this.logger=Oo,this.conn=null,this.sendBuffer=[],this.serializer=new ry,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.accessToken=null,this._connectionState="disconnected",this._wasManualDisconnect=!1,this._authPromise=null,this._resolveFetch=i=>i?(...a)=>i(...a):(...a)=>fetch(...a),!(!((n=r==null?void 0:r.params)===null||n===void 0)&&n.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=r.params.apikey,this.endPoint=`${e}/${Vl.websocket}`,this.httpEndpoint=Qx(e),this._initializeOptions(r),this._setupReconnectionTimer(),this.fetch=this._resolveFetch(r==null?void 0:r.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.conn!==null&&this.isConnected())){if(this._setConnectionState("connecting"),this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this.transport)this.conn=new this.transport(this.endpointURL());else try{this.conn=Vx.createWebSocket(this.endpointURL())}catch(e){this._setConnectionState("disconnected");const r=e.message;throw r.includes("Node.js")?new Error(`${r}
To use Realtime in Node.js, you need to provide a WebSocket implementation:
Option 1: Use Node.js 22+ which has native WebSocket support
Option 2: Install and provide the "ws" package:
npm install ws
import ws from "ws"
const client = new RealtimeClient(url, {
...options,
transport: ws
})`):new Error(`WebSocket not available: ${r}`)}this._setupConnectionHandlers()}}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:this.vsn}))}disconnect(e,r){if(!this.isDisconnecting())if(this._setConnectionState("disconnecting",!0),this.conn){const n=setTimeout(()=>{this._setConnectionState("disconnected")},100);this.conn.onclose=()=>{clearTimeout(n),this._setConnectionState("disconnected")},typeof this.conn.close=="function"&&(e?this.conn.close(e,r??""):this.conn.close()),this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(e){const r=await e.unsubscribe();return this.channels.length===0&&this.disconnect(),r}async removeAllChannels(){const e=await Promise.all(this.channels.map(r=>r.unsubscribe()));return this.channels=[],this.disconnect(),e}log(e,r,n){this.logger(e,r,n)}connectionState(){switch(this.conn&&this.conn.readyState){case ks.connecting:return Ss.Connecting;case ks.open:return Ss.Open;case ks.closing:return Ss.Closing;default:return Ss.Closed}}isConnected(){return this.connectionState()===Ss.Open}isConnecting(){return this._connectionState==="connecting"}isDisconnecting(){return this._connectionState==="disconnecting"}channel(e,r={config:{}}){const n=`realtime:${e}`,i=this.getChannels().find(a=>a.topic===n);if(i)return i;{const a=new Kx(`realtime:${e}`,r,this);return this.channels.push(a),a}}push(e){const{topic:r,event:n,payload:i,ref:a}=e,o=()=>{this.encode(e,l=>{var c;(c=this.conn)===null||c===void 0||c.send(l)})};this.log("push",`${r} ${n} (${a})`,i),this.isConnected()?o():this.sendBuffer.push(o)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}async sendHeartbeat(){var e;if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(r){this.log("error","error in heartbeat callback",r)}return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(r){this.log("error","error in heartbeat callback",r)}this._wasManualDisconnect=!1,(e=this.conn)===null||e===void 0||e.close(ty,"heartbeat timeout"),setTimeout(()=>{var r;this.isConnected()||(r=this.reconnectTimer)===null||r===void 0||r.scheduleTimeout()},bi.HEARTBEAT_TIMEOUT_FALLBACK);return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(r){this.log("error","error in heartbeat callback",r)}this._setAuthSafely("heartbeat")}onHeartbeat(e){this.heartbeatCallback=e}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let r=this.channels.find(n=>n.topic===e&&(n._isJoined()||n._isJoining()));r&&(this.log("transport",`leaving duplicate topic "${e}"`),r.unsubscribe())}_remove(e){this.channels=this.channels.filter(r=>r.topic!==e.topic)}_onConnMessage(e){this.decode(e.data,r=>{if(r.topic==="phoenix"&&r.event==="phx_reply")try{this.heartbeatCallback(r.payload.status==="ok"?"ok":"error")}catch(d){this.log("error","error in heartbeat callback",d)}r.ref&&r.ref===this.pendingHeartbeatRef&&(this.pendingHeartbeatRef=null);const{topic:n,event:i,payload:a,ref:o}=r,l=o?`(${o})`:"",c=a.status||"";this.log("receive",`${c} ${n} ${i} ${l}`.trim(),a),this.channels.filter(d=>d._isMember(n)).forEach(d=>d._trigger(i,a,o)),this._triggerStateCallbacks("message",r)})}_clearTimer(e){var r;e==="heartbeat"&&this.heartbeatTimer?(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0):e==="reconnect"&&((r=this.reconnectTimer)===null||r===void 0||r.reset())}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){this.conn&&("binaryType"in this.conn&&(this.conn.binaryType="arraybuffer"),this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e))}_teardownConnection(){if(this.conn){if(this.conn.readyState===ks.open||this.conn.readyState===ks.connecting)try{this.conn.close()}catch(e){this.log("error","Error closing connection",e)}this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null}this._clearAllTimers(),this.channels.forEach(e=>e.teardown())}_onConnOpen(){this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).then(()=>{this.flushSendBuffer()}).catch(r=>{this.log("error","error waiting for auth on connect",r),this.flushSendBuffer()}),this._clearTimer("reconnect"),this.worker?this.workerRef||this._startWorkerHeartbeat():this._startHeartbeat(),this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=r=>{this.log("worker","worker error",r.message),this.workerRef.terminate()},this.workerRef.onmessage=r=>{r.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_onConnClose(e){var r;this._setConnectionState("disconnected"),this.log("transport","close",e),this._triggerChanError(),this._clearTimer("heartbeat"),this._wasManualDisconnect||(r=this.reconnectTimer)===null||r===void 0||r.scheduleTimeout(),this._triggerStateCallbacks("close",e)}_onConnError(e){this._setConnectionState("disconnected"),this.log("transport",`${e}`),this._triggerChanError(),this._triggerStateCallbacks("error",e)}_triggerChanError(){this.channels.forEach(e=>e._trigger(xt.error))}_appendParams(e,r){if(Object.keys(r).length===0)return e;const n=e.match(/\?/)?"&":"?",i=new URLSearchParams(r);return`${e}${n}${i}`}_workerObjectUrl(e){let r;if(e)r=e;else{const n=new Blob([hy],{type:"application/javascript"});r=URL.createObjectURL(n)}return r}_setConnectionState(e,r=!1){this._connectionState=e,e==="connecting"?this._wasManualDisconnect=!1:e==="disconnecting"&&(this._wasManualDisconnect=r)}async _performAuth(e=null){let r;e?r=e:this.accessToken?r=await this.accessToken():r=this.accessTokenValue,this.accessTokenValue!=r&&(this.accessTokenValue=r,this.channels.forEach(n=>{const i={access_token:r,version:Xj};r&&n.updateJoinPayload(i),n.joinedOnce&&n._isJoined()&&n._push(xt.access_token,{access_token:r})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this.setAuth().catch(r=>{this.log("error",`error setting auth in ${e}`,r)})}_triggerStateCallbacks(e,r){try{this.stateChangeCallbacks[e].forEach(n=>{try{n(r)}catch(i){this.log("error",`error in ${e} callback`,i)}})}catch(n){this.log("error",`error triggering ${e} callbacks`,n)}}_setupReconnectionTimer(){this.reconnectTimer=new Wx(async()=>{setTimeout(async()=>{await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()},bi.RECONNECT_DELAY)},this.reconnectAfterMs)}_initializeOptions(e){var r,n,i,a,o,l,c,d,u,m,h,f;switch(this.transport=(r=e==null?void 0:e.transport)!==null&&r!==void 0?r:null,this.timeout=(n=e==null?void 0:e.timeout)!==null&&n!==void 0?n:Bl,this.heartbeatIntervalMs=(i=e==null?void 0:e.heartbeatIntervalMs)!==null&&i!==void 0?i:bi.HEARTBEAT_INTERVAL,this.worker=(a=e==null?void 0:e.worker)!==null&&a!==void 0?a:!1,this.accessToken=(o=e==null?void 0:e.accessToken)!==null&&o!==void 0?o:null,this.heartbeatCallback=(l=e==null?void 0:e.heartbeatCallback)!==null&&l!==void 0?l:Oo,this.vsn=(c=e==null?void 0:e.vsn)!==null&&c!==void 0?c:tm,e!=null&&e.params&&(this.params=e.params),e!=null&&e.logger&&(this.logger=e.logger),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel})),this.reconnectAfterMs=(d=e==null?void 0:e.reconnectAfterMs)!==null&&d!==void 0?d:v=>uy[v-1]||my,this.vsn){case Hx:this.encode=(u=e==null?void 0:e.encode)!==null&&u!==void 0?u:(v,j)=>j(JSON.stringify(v)),this.decode=(m=e==null?void 0:e.decode)!==null&&m!==void 0?m:(v,j)=>j(JSON.parse(v));break;case ey:this.encode=(h=e==null?void 0:e.encode)!==null&&h!==void 0?h:this.serializer.encode.bind(this.serializer),this.decode=(f=e==null?void 0:e.decode)!==null&&f!==void 0?f:this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${this.vsn}`)}if(this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=e==null?void 0:e.workerUrl}}};const xy=Object.freeze(Object.defineProperty({__proto__:null,REALTIME_CHANNEL_STATES:dy,get REALTIME_LISTEN_TYPES(){return mr},get REALTIME_POSTGRES_CHANGES_LISTEN_EVENT(){return Gl},get REALTIME_PRESENCE_LISTEN_EVENTS(){return Wl},get REALTIME_SUBSCRIBE_STATES(){return wt},RealtimeChannel:Kx,RealtimeClient:py,RealtimePresence:Yx,WebSocketFactory:Vx},Symbol.toStringTag,{value:"Module"})),Zx=kn(xy);class Un extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function Q(s){return typeof s=="object"&&s!==null&&"__isStorageError"in s}class Xx extends Un{constructor(e,r,n){super(e),this.name="StorageApiError",this.status=r,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class xa extends Un{constructor(e,r){super(e),this.name="StorageUnknownError",this.originalError=r}}const cd=s=>s?(...e)=>s(...e):(...e)=>fetch(...e),fy=()=>Response,Ql=s=>{if(Array.isArray(s))return s.map(r=>Ql(r));if(typeof s=="function"||s!==Object(s))return s;const e={};return Object.entries(s).forEach(([r,n])=>{const i=r.replace(/([-_][a-z])/gi,a=>a.toUpperCase().replace(/[-_]/g,""));e[i]=Ql(n)}),e},gy=s=>{if(typeof s!="object"||s===null)return!1;const e=Object.getPrototypeOf(s);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in s)&&!(Symbol.iterator in s)},vy=s=>!s||typeof s!="string"||s.length===0||s.length>100||s.trim()!==s||s.includes("/")||s.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(s),qo=s=>{var e;return s.msg||s.message||s.error_description||(typeof s.error=="string"?s.error:(e=s.error)===null||e===void 0?void 0:e.message)||JSON.stringify(s)},by=(s,e,r)=>T(void 0,void 0,void 0,function*(){const n=yield fy();s instanceof n&&!(r!=null&&r.noResolveJson)?s.json().then(i=>{const a=s.status||500,o=(i==null?void 0:i.statusCode)||a+"";e(new Xx(qo(i),a,o))}).catch(i=>{e(new xa(qo(i),i))}):e(new xa(qo(s),s))}),jy=(s,e,r,n)=>{const i={method:s,headers:(e==null?void 0:e.headers)||{}};return s==="GET"||!n?i:(gy(n)?(i.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),i.body=JSON.stringify(n)):i.body=n,e!=null&&e.duplex&&(i.duplex=e.duplex),Object.assign(Object.assign({},i),r))};function Fn(s,e,r,n,i,a){return T(this,void 0,void 0,function*(){return new Promise((o,l)=>{s(r,jy(e,n,i,a)).then(c=>{if(!c.ok)throw c;return n!=null&&n.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>by(c,l,n))})})}function Nn(s,e,r,n){return T(this,void 0,void 0,function*(){return Fn(s,"GET",e,r,n)})}function ht(s,e,r,n,i){return T(this,void 0,void 0,function*(){return Fn(s,"POST",e,n,i,r)})}function Yl(s,e,r,n,i){return T(this,void 0,void 0,function*(){return Fn(s,"PUT",e,n,i,r)})}function yy(s,e,r,n){return T(this,void 0,void 0,function*(){return Fn(s,"HEAD",e,Object.assign(Object.assign({},r),{noResolveJson:!0}),n)})}function dd(s,e,r,n,i){return T(this,void 0,void 0,function*(){return Fn(s,"DELETE",e,n,i,r)})}class wy{constructor(e,r){this.downloadFn=e,this.shouldThrowOnError=r}then(e,r){return this.execute().then(e,r)}execute(){return T(this,void 0,void 0,function*(){try{return{data:(yield this.downloadFn()).body,error:null}}catch(e){if(this.shouldThrowOnError)throw e;if(Q(e))return{data:null,error:e};throw e}})}}var ef;class Ny{constructor(e,r){this.downloadFn=e,this.shouldThrowOnError=r,this[ef]="BlobDownloadBuilder",this.promise=null}asStream(){return new wy(this.downloadFn,this.shouldThrowOnError)}then(e,r){return this.getPromise().then(e,r)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}execute(){return T(this,void 0,void 0,function*(){try{return{data:yield(yield this.downloadFn()).blob(),error:null}}catch(e){if(this.shouldThrowOnError)throw e;if(Q(e))return{data:null,error:e};throw e}})}}ef=Symbol.toStringTag;const _y={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},rm={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class ky{constructor(e,r={},n,i){this.shouldThrowOnError=!1,this.url=e,this.headers=r,this.bucketId=n,this.fetch=cd(i)}throwOnError(){return this.shouldThrowOnError=!0,this}uploadOrUpdate(e,r,n,i){return T(this,void 0,void 0,function*(){try{let a;const o=Object.assign(Object.assign({},rm),i);let l=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(o.upsert)});const c=o.metadata;typeof Blob<"u"&&n instanceof Blob?(a=new FormData,a.append("cacheControl",o.cacheControl),c&&a.append("metadata",this.encodeMetadata(c)),a.append("",n)):typeof FormData<"u"&&n instanceof FormData?(a=n,a.has("cacheControl")||a.append("cacheControl",o.cacheControl),c&&!a.has("metadata")&&a.append("metadata",this.encodeMetadata(c))):(a=n,l["cache-control"]=`max-age=${o.cacheControl}`,l["content-type"]=o.contentType,c&&(l["x-metadata"]=this.toBase64(this.encodeMetadata(c))),(typeof ReadableStream<"u"&&a instanceof ReadableStream||a&&typeof a=="object"&&"pipe"in a&&typeof a.pipe=="function")&&!o.duplex&&(o.duplex="half")),i!=null&&i.headers&&(l=Object.assign(Object.assign({},l),i.headers));const d=this._removeEmptyFolders(r),u=this._getFinalPath(d),m=yield(e=="PUT"?Yl:ht)(this.fetch,`${this.url}/object/${u}`,a,Object.assign({headers:l},o!=null&&o.duplex?{duplex:o.duplex}:{}));return{data:{path:d,id:m.Id,fullPath:m.Key},error:null}}catch(a){if(this.shouldThrowOnError)throw a;if(Q(a))return{data:null,error:a};throw a}})}upload(e,r,n){return T(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,r,n)})}uploadToSignedUrl(e,r,n,i){return T(this,void 0,void 0,function*(){const a=this._removeEmptyFolders(e),o=this._getFinalPath(a),l=new URL(this.url+`/object/upload/sign/${o}`);l.searchParams.set("token",r);try{let c;const d=Object.assign({upsert:rm.upsert},i),u=Object.assign(Object.assign({},this.headers),{"x-upsert":String(d.upsert)});typeof Blob<"u"&&n instanceof Blob?(c=new FormData,c.append("cacheControl",d.cacheControl),c.append("",n)):typeof FormData<"u"&&n instanceof FormData?(c=n,c.append("cacheControl",d.cacheControl)):(c=n,u["cache-control"]=`max-age=${d.cacheControl}`,u["content-type"]=d.contentType);const m=yield Yl(this.fetch,l.toString(),c,{headers:u});return{data:{path:a,fullPath:m.Key},error:null}}catch(c){if(this.shouldThrowOnError)throw c;if(Q(c))return{data:null,error:c};throw c}})}createSignedUploadUrl(e,r){return T(this,void 0,void 0,function*(){try{let n=this._getFinalPath(e);const i=Object.assign({},this.headers);r!=null&&r.upsert&&(i["x-upsert"]="true");const a=yield ht(this.fetch,`${this.url}/object/upload/sign/${n}`,{},{headers:i}),o=new URL(this.url+a.url),l=o.searchParams.get("token");if(!l)throw new Un("No token returned by API");return{data:{signedUrl:o.toString(),path:e,token:l},error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(Q(n))return{data:null,error:n};throw n}})}update(e,r,n){return T(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,r,n)})}move(e,r,n){return T(this,void 0,void 0,function*(){try{return{data:yield ht(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:r,destinationBucket:n==null?void 0:n.destinationBucket},{headers:this.headers}),error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(Q(i))return{data:null,error:i};throw i}})}copy(e,r,n){return T(this,void 0,void 0,function*(){try{return{data:{path:(yield ht(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:r,destinationBucket:n==null?void 0:n.destinationBucket},{headers:this.headers})).Key},error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(Q(i))return{data:null,error:i};throw i}})}createSignedUrl(e,r,n){return T(this,void 0,void 0,function*(){try{let i=this._getFinalPath(e),a=yield ht(this.fetch,`${this.url}/object/sign/${i}`,Object.assign({expiresIn:r},n!=null&&n.transform?{transform:n.transform}:{}),{headers:this.headers});const o=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return a={signedUrl:encodeURI(`${this.url}${a.signedURL}${o}`)},{data:a,error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(Q(i))return{data:null,error:i};throw i}})}createSignedUrls(e,r,n){return T(this,void 0,void 0,function*(){try{const i=yield ht(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:r,paths:e},{headers:this.headers}),a=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return{data:i.map(o=>Object.assign(Object.assign({},o),{signedUrl:o.signedURL?encodeURI(`${this.url}${o.signedURL}${a}`):null})),error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(Q(i))return{data:null,error:i};throw i}})}download(e,r){const i=typeof(r==null?void 0:r.transform)<"u"?"render/image/authenticated":"object",a=this.transformOptsToQueryString((r==null?void 0:r.transform)||{}),o=a?`?${a}`:"",l=this._getFinalPath(e),c=()=>Nn(this.fetch,`${this.url}/${i}/${l}${o}`,{headers:this.headers,noResolveJson:!0});return new Ny(c,this.shouldThrowOnError)}info(e){return T(this,void 0,void 0,function*(){const r=this._getFinalPath(e);try{const n=yield Nn(this.fetch,`${this.url}/object/info/${r}`,{headers:this.headers});return{data:Ql(n),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(Q(n))return{data:null,error:n};throw n}})}exists(e){return T(this,void 0,void 0,function*(){const r=this._getFinalPath(e);try{return yield yy(this.fetch,`${this.url}/object/${r}`,{headers:this.headers}),{data:!0,error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(Q(n)&&n instanceof xa){const i=n.originalError;if([400,404].includes(i==null?void 0:i.status))return{data:!1,error:n}}throw n}})}getPublicUrl(e,r){const n=this._getFinalPath(e),i=[],a=r!=null&&r.download?`download=${r.download===!0?"":r.download}`:"";a!==""&&i.push(a);const l=typeof(r==null?void 0:r.transform)<"u"?"render/image":"object",c=this.transformOptsToQueryString((r==null?void 0:r.transform)||{});c!==""&&i.push(c);let d=i.join("&");return d!==""&&(d=`?${d}`),{data:{publicUrl:encodeURI(`${this.url}/${l}/public/${n}${d}`)}}}remove(e){return T(this,void 0,void 0,function*(){try{return{data:yield dd(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}list(e,r,n){return T(this,void 0,void 0,function*(){try{const i=Object.assign(Object.assign(Object.assign({},_y),r),{prefix:e||""});return{data:yield ht(this.fetch,`${this.url}/object/list/${this.bucketId}`,i,{headers:this.headers},n),error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(Q(i))return{data:null,error:i};throw i}})}listV2(e,r){return T(this,void 0,void 0,function*(){try{const n=Object.assign({},e);return{data:yield ht(this.fetch,`${this.url}/object/list-v2/${this.bucketId}`,n,{headers:this.headers},r),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(Q(n))return{data:null,error:n};throw n}})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<"u"?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const r=[];return e.width&&r.push(`width=${e.width}`),e.height&&r.push(`height=${e.height}`),e.resize&&r.push(`resize=${e.resize}`),e.format&&r.push(`format=${e.format}`),e.quality&&r.push(`quality=${e.quality}`),r.join("&")}}const tf="2.86.2",sf={"X-Client-Info":`storage-js/${tf}`};class Sy{constructor(e,r={},n,i){this.shouldThrowOnError=!1;const a=new URL(e);i!=null&&i.useNewHostname&&/supabase\.(co|in|red)$/.test(a.hostname)&&!a.hostname.includes("storage.supabase.")&&(a.hostname=a.hostname.replace("supabase.","storage.supabase.")),this.url=a.href.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},sf),r),this.fetch=cd(n)}throwOnError(){return this.shouldThrowOnError=!0,this}listBuckets(e){return T(this,void 0,void 0,function*(){try{const r=this.listBucketOptionsToQueryString(e);return{data:yield Nn(this.fetch,`${this.url}/bucket${r}`,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}getBucket(e){return T(this,void 0,void 0,function*(){try{return{data:yield Nn(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}createBucket(e){return T(this,arguments,void 0,function*(r,n={public:!1}){try{return{data:yield ht(this.fetch,`${this.url}/bucket`,{id:r,name:r,type:n.type,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:this.headers}),error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(Q(i))return{data:null,error:i};throw i}})}updateBucket(e,r){return T(this,void 0,void 0,function*(){try{return{data:yield Yl(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:r.public,file_size_limit:r.fileSizeLimit,allowed_mime_types:r.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(Q(n))return{data:null,error:n};throw n}})}emptyBucket(e){return T(this,void 0,void 0,function*(){try{return{data:yield ht(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}deleteBucket(e){return T(this,void 0,void 0,function*(){try{return{data:yield dd(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}listBucketOptionsToQueryString(e){const r={};return e&&("limit"in e&&(r.limit=String(e.limit)),"offset"in e&&(r.offset=String(e.offset)),e.search&&(r.search=e.search),e.sortColumn&&(r.sortColumn=e.sortColumn),e.sortOrder&&(r.sortOrder=e.sortOrder)),Object.keys(r).length>0?"?"+new URLSearchParams(r).toString():""}}var _n=class extends Error{constructor(s,e){var r;super(s),this.name="IcebergError",this.status=e.status,this.icebergType=e.icebergType,this.icebergCode=e.icebergCode,this.details=e.details,this.isCommitStateUnknown=e.icebergType==="CommitStateUnknownException"||[500,502,504].includes(e.status)&&((r=e.icebergType)==null?void 0:r.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Ey(s,e,r){const n=new URL(e,s);if(r)for(const[i,a]of Object.entries(r))a!==void 0&&n.searchParams.set(i,a);return n.toString()}async function Cy(s){return!s||s.type==="none"?{}:s.type==="bearer"?{Authorization:`Bearer ${s.token}`}:s.type==="header"?{[s.name]:s.value}:s.type==="custom"?await s.getHeaders():{}}function Py(s){const e=s.fetchImpl??globalThis.fetch;return{async request({method:r,path:n,query:i,body:a,headers:o}){const l=Ey(s.baseUrl,n,i),c=await Cy(s.auth),d=await e(l,{method:r,headers:{...a?{"Content-Type":"application/json"}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await d.text(),m=(d.headers.get("content-type")||"").includes("application/json"),h=m&&u?JSON.parse(u):u;if(!d.ok){const f=m?h:void 0,v=f==null?void 0:f.error;throw new _n((v==null?void 0:v.message)??`Request failed with status ${d.status}`,{status:d.status,icebergType:v==null?void 0:v.type,icebergCode:v==null?void 0:v.code,details:f})}return{status:d.status,headers:d.headers,data:h}}}}function ji(s){return s.join("")}var Ty=class{constructor(s,e=""){this.client=s,this.prefix=e}async listNamespaces(s){const e=s?{parent:ji(s.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:e})).data.namespaces.map(n=>({namespace:n}))}async createNamespace(s,e){const r={namespace:s.namespace,properties:e==null?void 0:e.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:r})).data}async dropNamespace(s){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${ji(s.namespace)}`})}async loadNamespaceMetadata(s){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${ji(s.namespace)}`})).data.properties}}async namespaceExists(s){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${ji(s.namespace)}`}),!0}catch(e){if(e instanceof _n&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(s,e){try{return await this.createNamespace(s,e)}catch(r){if(r instanceof _n&&r.status===409)return;throw r}}};function Fs(s){return s.join("")}var Ay=class{constructor(s,e="",r){this.client=s,this.prefix=e,this.accessDelegation=r}async listTables(s){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Fs(s.namespace)}/tables`})).data.identifiers}async createTable(s,e){const r={};return this.accessDelegation&&(r["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Fs(s.namespace)}/tables`,body:e,headers:r})).data.metadata}async updateTable(s,e){const r=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Fs(s.namespace)}/tables/${s.name}`,body:e});return{"metadata-location":r.data["metadata-location"],metadata:r.data.metadata}}async dropTable(s,e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Fs(s.namespace)}/tables/${s.name}`,query:{purgeRequested:String((e==null?void 0:e.purge)??!1)}})}async loadTable(s){const e={};return this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Fs(s.namespace)}/tables/${s.name}`,headers:e})).data.metadata}async tableExists(s){const e={};this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Fs(s.namespace)}/tables/${s.name}`,headers:e}),!0}catch(r){if(r instanceof _n&&r.status===404)return!1;throw r}}async createTableIfNotExists(s,e){try{return await this.createTable(s,e)}catch(r){if(r instanceof _n&&r.status===409)return await this.loadTable({namespace:s.namespace,name:e.name});throw r}}},Oy=class{constructor(s){var n;let e="v1";s.catalogName&&(e+=`/${s.catalogName}`);const r=s.baseUrl.endsWith("/")?s.baseUrl:`${s.baseUrl}/`;this.client=Py({baseUrl:r,auth:s.auth,fetchImpl:s.fetch}),this.accessDelegation=(n=s.accessDelegation)==null?void 0:n.join(","),this.namespaceOps=new Ty(this.client,e),this.tableOps=new Ay(this.client,e,this.accessDelegation)}async listNamespaces(s){return this.namespaceOps.listNamespaces(s)}async createNamespace(s,e){return this.namespaceOps.createNamespace(s,e)}async dropNamespace(s){await this.namespaceOps.dropNamespace(s)}async loadNamespaceMetadata(s){return this.namespaceOps.loadNamespaceMetadata(s)}async listTables(s){return this.tableOps.listTables(s)}async createTable(s,e){return this.tableOps.createTable(s,e)}async updateTable(s,e){return this.tableOps.updateTable(s,e)}async dropTable(s,e){await this.tableOps.dropTable(s,e)}async loadTable(s){return this.tableOps.loadTable(s)}async namespaceExists(s){return this.namespaceOps.namespaceExists(s)}async tableExists(s){return this.tableOps.tableExists(s)}async createNamespaceIfNotExists(s,e){return this.namespaceOps.createNamespaceIfNotExists(s,e)}async createTableIfNotExists(s,e){return this.tableOps.createTableIfNotExists(s,e)}};class rf{constructor(e,r={},n){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},sf),r),this.fetch=cd(n)}throwOnError(){return this.shouldThrowOnError=!0,this}createBucket(e){return T(this,void 0,void 0,function*(){try{return{data:yield ht(this.fetch,`${this.url}/bucket`,{name:e},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}listBuckets(e){return T(this,void 0,void 0,function*(){try{const r=new URLSearchParams;(e==null?void 0:e.limit)!==void 0&&r.set("limit",e.limit.toString()),(e==null?void 0:e.offset)!==void 0&&r.set("offset",e.offset.toString()),e!=null&&e.sortColumn&&r.set("sortColumn",e.sortColumn),e!=null&&e.sortOrder&&r.set("sortOrder",e.sortOrder),e!=null&&e.search&&r.set("search",e.search);const n=r.toString(),i=n?`${this.url}/bucket?${n}`:`${this.url}/bucket`;return{data:yield Nn(this.fetch,i,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}deleteBucket(e){return T(this,void 0,void 0,function*(){try{return{data:yield dd(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Q(r))return{data:null,error:r};throw r}})}from(e){if(!vy(e))throw new Un("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");return new Oy({baseUrl:this.url,catalogName:e,auth:{type:"custom",getHeaders:()=>T(this,void 0,void 0,function*(){return this.headers})},fetch:this.fetch})}}const ud={"X-Client-Info":`storage-js/${tf}`,"Content-Type":"application/json"};class md extends Error{constructor(e){super(e),this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}}function Ue(s){return typeof s=="object"&&s!==null&&"__isStorageVectorsError"in s}class Di extends md{constructor(e,r,n){super(e),this.name="StorageVectorsApiError",this.status=r,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class nf extends md{constructor(e,r){super(e),this.name="StorageVectorsUnknownError",this.originalError=r}}var Kl;(function(s){s.InternalError="InternalError",s.S3VectorConflictException="S3VectorConflictException",s.S3VectorNotFoundException="S3VectorNotFoundException",s.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",s.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",s.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded"})(Kl||(Kl={}));const Ga=s=>s?(...e)=>s(...e):(...e)=>fetch(...e),qy=()=>Response,af=s=>{if(typeof s!="object"||s===null)return!1;const e=Object.getPrototypeOf(s);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in s)&&!(Symbol.iterator in s)},Ry=s=>Array.from(new Float32Array(s)),Ly=(s,e)=>{if(e!==void 0&&s.float32.length!==e)throw new Error(`Vector dimension mismatch: expected ${e}, got ${s.float32.length}`)},nm=s=>s.msg||s.message||s.error_description||s.error||JSON.stringify(s),Dy=(s,e,r)=>T(void 0,void 0,void 0,function*(){if(s&&typeof s=="object"&&"status"in s&&"ok"in s&&typeof s.status=="number"&&!(r!=null&&r.noResolveJson)){const i=s.status||500,a=s;if(typeof a.json=="function")a.json().then(o=>{const l=(o==null?void 0:o.statusCode)||(o==null?void 0:o.code)||i+"";e(new Di(nm(o),i,l))}).catch(()=>{const o=i+"",l=a.statusText||`HTTP ${i} error`;e(new Di(l,i,o))});else{const o=i+"",l=a.statusText||`HTTP ${i} error`;e(new Di(l,i,o))}}else e(new nf(nm(s),s))}),zy=(s,e,r,n)=>{const i={method:s,headers:(e==null?void 0:e.headers)||{}};return n?(af(n)?(i.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),i.body=JSON.stringify(n)):i.body=n,Object.assign(Object.assign({},i),r)):i};function My(s,e,r,n,i,a){return T(this,void 0,void 0,function*(){return new Promise((o,l)=>{s(r,zy(e,n,i,a)).then(c=>{if(!c.ok)throw c;if(n!=null&&n.noResolveJson)return c;const d=c.headers.get("content-type");return!d||!d.includes("application/json")?{}:c.json()}).then(c=>o(c)).catch(c=>Dy(c,l,n))})})}function Ke(s,e,r,n,i){return T(this,void 0,void 0,function*(){return My(s,"POST",e,n,i,r)})}class of{constructor(e,r={},n){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},ud),r),this.fetch=Ga(n)}throwOnError(){return this.shouldThrowOnError=!0,this}createIndex(e){return T(this,void 0,void 0,function*(){try{return{data:(yield Ke(this.fetch,`${this.url}/CreateIndex`,e,{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}getIndex(e,r){return T(this,void 0,void 0,function*(){try{return{data:yield Ke(this.fetch,`${this.url}/GetIndex`,{vectorBucketName:e,indexName:r},{headers:this.headers}),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(Ue(n))return{data:null,error:n};throw n}})}listIndexes(e){return T(this,void 0,void 0,function*(){try{return{data:yield Ke(this.fetch,`${this.url}/ListIndexes`,e,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}deleteIndex(e,r){return T(this,void 0,void 0,function*(){try{return{data:(yield Ke(this.fetch,`${this.url}/DeleteIndex`,{vectorBucketName:e,indexName:r},{headers:this.headers}))||{},error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(Ue(n))return{data:null,error:n};throw n}})}}class lf{constructor(e,r={},n){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},ud),r),this.fetch=Ga(n)}throwOnError(){return this.shouldThrowOnError=!0,this}putVectors(e){return T(this,void 0,void 0,function*(){try{if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return{data:(yield Ke(this.fetch,`${this.url}/PutVectors`,e,{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}getVectors(e){return T(this,void 0,void 0,function*(){try{return{data:yield Ke(this.fetch,`${this.url}/GetVectors`,e,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}listVectors(e){return T(this,void 0,void 0,function*(){try{if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return{data:yield Ke(this.fetch,`${this.url}/ListVectors`,e,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}queryVectors(e){return T(this,void 0,void 0,function*(){try{return{data:yield Ke(this.fetch,`${this.url}/QueryVectors`,e,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}deleteVectors(e){return T(this,void 0,void 0,function*(){try{if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return{data:(yield Ke(this.fetch,`${this.url}/DeleteVectors`,e,{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}}class cf{constructor(e,r={},n){this.shouldThrowOnError=!1,this.url=e.replace(/\/$/,""),this.headers=Object.assign(Object.assign({},ud),r),this.fetch=Ga(n)}throwOnError(){return this.shouldThrowOnError=!0,this}createBucket(e){return T(this,void 0,void 0,function*(){try{return{data:(yield Ke(this.fetch,`${this.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}getBucket(e){return T(this,void 0,void 0,function*(){try{return{data:yield Ke(this.fetch,`${this.url}/GetVectorBucket`,{vectorBucketName:e},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}listBuckets(){return T(this,arguments,void 0,function*(e={}){try{return{data:yield Ke(this.fetch,`${this.url}/ListVectorBuckets`,e,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}deleteBucket(e){return T(this,void 0,void 0,function*(){try{return{data:(yield Ke(this.fetch,`${this.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:this.headers}))||{},error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(Ue(r))return{data:null,error:r};throw r}})}}class df extends cf{constructor(e,r={}){super(e,r.headers||{},r.fetch)}from(e){return new uf(this.url,this.headers,e,this.fetch)}createBucket(e){const r=Object.create(null,{createBucket:{get:()=>super.createBucket}});return T(this,void 0,void 0,function*(){return r.createBucket.call(this,e)})}getBucket(e){const r=Object.create(null,{getBucket:{get:()=>super.getBucket}});return T(this,void 0,void 0,function*(){return r.getBucket.call(this,e)})}listBuckets(){const e=Object.create(null,{listBuckets:{get:()=>super.listBuckets}});return T(this,arguments,void 0,function*(r={}){return e.listBuckets.call(this,r)})}deleteBucket(e){const r=Object.create(null,{deleteBucket:{get:()=>super.deleteBucket}});return T(this,void 0,void 0,function*(){return r.deleteBucket.call(this,e)})}}class uf extends of{constructor(e,r,n,i){super(e,r,i),this.vectorBucketName=n}createIndex(e){const r=Object.create(null,{createIndex:{get:()=>super.createIndex}});return T(this,void 0,void 0,function*(){return r.createIndex.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName}))})}listIndexes(){const e=Object.create(null,{listIndexes:{get:()=>super.listIndexes}});return T(this,arguments,void 0,function*(r={}){return e.listIndexes.call(this,Object.assign(Object.assign({},r),{vectorBucketName:this.vectorBucketName}))})}getIndex(e){const r=Object.create(null,{getIndex:{get:()=>super.getIndex}});return T(this,void 0,void 0,function*(){return r.getIndex.call(this,this.vectorBucketName,e)})}deleteIndex(e){const r=Object.create(null,{deleteIndex:{get:()=>super.deleteIndex}});return T(this,void 0,void 0,function*(){return r.deleteIndex.call(this,this.vectorBucketName,e)})}index(e){return new mf(this.url,this.headers,this.vectorBucketName,e,this.fetch)}}class mf extends lf{constructor(e,r,n,i,a){super(e,r,a),this.vectorBucketName=n,this.indexName=i}putVectors(e){const r=Object.create(null,{putVectors:{get:()=>super.putVectors}});return T(this,void 0,void 0,function*(){return r.putVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}getVectors(e){const r=Object.create(null,{getVectors:{get:()=>super.getVectors}});return T(this,void 0,void 0,function*(){return r.getVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}listVectors(){const e=Object.create(null,{listVectors:{get:()=>super.listVectors}});return T(this,arguments,void 0,function*(r={}){return e.listVectors.call(this,Object.assign(Object.assign({},r),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}queryVectors(e){const r=Object.create(null,{queryVectors:{get:()=>super.queryVectors}});return T(this,void 0,void 0,function*(){return r.queryVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}deleteVectors(e){const r=Object.create(null,{deleteVectors:{get:()=>super.deleteVectors}});return T(this,void 0,void 0,function*(){return r.deleteVectors.call(this,Object.assign(Object.assign({},e),{vectorBucketName:this.vectorBucketName,indexName:this.indexName}))})}}class Iy extends Sy{constructor(e,r={},n,i){super(e,r,n,i)}from(e){return new ky(this.url,this.headers,e,this.fetch)}get vectors(){return new df(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new rf(this.url+"/iceberg",this.headers,this.fetch)}}const $y=Object.freeze(Object.defineProperty({__proto__:null,StorageAnalyticsClient:rf,StorageApiError:Xx,StorageClient:Iy,StorageError:Un,StorageUnknownError:xa,StorageVectorsApiError:Di,StorageVectorsClient:df,StorageVectorsError:md,get StorageVectorsErrorCode(){return Kl},StorageVectorsUnknownError:nf,VectorBucketApi:cf,VectorBucketScope:uf,VectorDataApi:lf,VectorIndexApi:of,VectorIndexScope:mf,isPlainObject:af,isStorageError:Q,isStorageVectorsError:Ue,normalizeToFloat32:Ry,resolveFetch:Ga,resolveResponse:qy,validateVectorDimension:Ly},Symbol.toStringTag,{value:"Module"})),Uy=kn($y);var hf={},Qa={};Object.defineProperty(Qa,"__esModule",{value:!0});Qa.version=void 0;Qa.version="2.86.2";(function(s){Object.defineProperty(s,"__esModule",{value:!0}),s.DEFAULT_REALTIME_OPTIONS=s.DEFAULT_AUTH_OPTIONS=s.DEFAULT_DB_OPTIONS=s.DEFAULT_GLOBAL_OPTIONS=s.DEFAULT_HEADERS=void 0;const e=Qa;let r="";typeof Deno<"u"?r="deno":typeof document<"u"?r="web":typeof navigator<"u"&&navigator.product==="ReactNative"?r="react-native":r="node",s.DEFAULT_HEADERS={"X-Client-Info":`supabase-js-${r}/${e.version}`},s.DEFAULT_GLOBAL_OPTIONS={headers:s.DEFAULT_HEADERS},s.DEFAULT_DB_OPTIONS={schema:"public"},s.DEFAULT_AUTH_OPTIONS={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},s.DEFAULT_REALTIME_OPTIONS={}})(hf);var pf={};(function(s){Object.defineProperty(s,"__esModule",{value:!0}),s.fetchWithAuth=s.resolveHeadersConstructor=s.resolveFetch=void 0;const e=i=>i?(...a)=>i(...a):(...a)=>fetch(...a);s.resolveFetch=e;const r=()=>Headers;s.resolveHeadersConstructor=r;const n=(i,a,o)=>{const l=(0,s.resolveFetch)(o),c=(0,s.resolveHeadersConstructor)();return async(d,u)=>{var m;const h=(m=await a())!==null&&m!==void 0?m:i;let f=new c(u==null?void 0:u.headers);return f.has("apikey")||f.set("apikey",i),f.has("Authorization")||f.set("Authorization",`Bearer ${h}`),l(d,Object.assign(Object.assign({},u),{headers:f}))}};s.fetchWithAuth=n})(pf);var ps={};Object.defineProperty(ps,"__esModule",{value:!0});ps.isBrowser=void 0;ps.uuid=Fy;ps.ensureTrailingSlash=xf;ps.applySettingDefaults=Vy;ps.validateSupabaseUrl=Hy;function Fy(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(s){var e=Math.random()*16|0,r=s=="x"?e:e&3|8;return r.toString(16)})}function xf(s){return s.endsWith("/")?s:s+"/"}const By=()=>typeof window<"u";ps.isBrowser=By;function Vy(s,e){var r,n;const{db:i,auth:a,realtime:o,global:l}=s,{db:c,auth:d,realtime:u,global:m}=e,h={db:Object.assign(Object.assign({},c),i),auth:Object.assign(Object.assign({},d),a),realtime:Object.assign(Object.assign({},u),o),storage:{},global:Object.assign(Object.assign(Object.assign({},m),l),{headers:Object.assign(Object.assign({},(r=m==null?void 0:m.headers)!==null&&r!==void 0?r:{}),(n=l==null?void 0:l.headers)!==null&&n!==void 0?n:{})}),accessToken:async()=>""};return s.accessToken?h.accessToken=s.accessToken:delete h.accessToken,h}function Hy(s){const e=s==null?void 0:s.trim();if(!e)throw new Error("supabaseUrl is required.");if(!e.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(xf(e))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var Ya={};const ff="2.86.2",Ws=30*1e3,Jl=3,Ro=Jl*Ws,Wy="http://localhost:9999",Gy="supabase.auth.token",Qy={"X-Client-Info":`gotrue-js/${ff}`},Zl="X-Supabase-Api-Version",gf={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},Yy=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Ky=10*60*1e3;let Nr=class extends Error{constructor(e,r,n){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=r,this.code=n}};function A(s){return typeof s=="object"&&s!==null&&"__isAuthError"in s}let vf=class extends Nr{constructor(e,r,n){super(e,r,n),this.name="AuthApiError",this.status=r,this.code=n}};function bf(s){return A(s)&&s.name==="AuthApiError"}let Jt=class extends Nr{constructor(e,r){super(e),this.name="AuthUnknownError",this.originalError=r}},Ft=class extends Nr{constructor(e,r,n,i){super(e,n,i),this.name=r,this.status=n}},Ie=class extends Ft{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}};function jf(s){return A(s)&&s.name==="AuthSessionMissingError"}let ws=class extends Ft{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}},Vr=class extends Ft{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}},Hr=class extends Ft{constructor(e,r=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=r}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}};function yf(s){return A(s)&&s.name==="AuthImplicitGrantRedirectError"}let Xl=class extends Ft{constructor(e,r=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=r}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}},fa=class extends Ft{constructor(e,r){super(e,"AuthRetryableFetchError",r,void 0)}};function zi(s){return A(s)&&s.name==="AuthRetryableFetchError"}let ec=class extends Ft{constructor(e,r,n){super(e,"AuthWeakPasswordError",r,"weak_password"),this.reasons=n}};function Jy(s){return A(s)&&s.name==="AuthWeakPasswordError"}let ga=class extends Ft{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}};const va="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),im=`
\r=`.split(""),Zy=(()=>{const s=new Array(128);for(let e=0;e<s.length;e+=1)s[e]=-1;for(let e=0;e<im.length;e+=1)s[im[e].charCodeAt(0)]=-2;for(let e=0;e<va.length;e+=1)s[va[e].charCodeAt(0)]=e;return s})();function am(s,e,r){if(s!==null)for(e.queue=e.queue<<8|s,e.queuedBits+=8;e.queuedBits>=6;){const n=e.queue>>e.queuedBits-6&63;r(va[n]),e.queuedBits-=6}else if(e.queuedBits>0)for(e.queue=e.queue<<6-e.queuedBits,e.queuedBits=6;e.queuedBits>=6;){const n=e.queue>>e.queuedBits-6&63;r(va[n]),e.queuedBits-=6}}function wf(s,e,r){const n=Zy[s];if(n>-1)for(e.queue=e.queue<<6|n,e.queuedBits+=6;e.queuedBits>=8;)r(e.queue>>e.queuedBits-8&255),e.queuedBits-=8;else{if(n===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(s)}"`)}}function om(s){const e=[],r=o=>{e.push(String.fromCodePoint(o))},n={utf8seq:0,codepoint:0},i={queue:0,queuedBits:0},a=o=>{tw(o,n,r)};for(let o=0;o<s.length;o+=1)wf(s.charCodeAt(o),i,a);return e.join("")}function Xy(s,e){if(s<=127){e(s);return}else if(s<=2047){e(192|s>>6),e(128|s&63);return}else if(s<=65535){e(224|s>>12),e(128|s>>6&63),e(128|s&63);return}else if(s<=1114111){e(240|s>>18),e(128|s>>12&63),e(128|s>>6&63),e(128|s&63);return}throw new Error(`Unrecognized Unicode codepoint: ${s.toString(16)}`)}function ew(s,e){for(let r=0;r<s.length;r+=1){let n=s.charCodeAt(r);if(n>55295&&n<=56319){const i=(n-55296)*1024&65535;n=(s.charCodeAt(r+1)-56320&65535|i)+65536,r+=1}Xy(n,e)}}function tw(s,e,r){if(e.utf8seq===0){if(s<=127){r(s);return}for(let n=1;n<6;n+=1)if(!(s>>7-n&1)){e.utf8seq=n;break}if(e.utf8seq===2)e.codepoint=s&31;else if(e.utf8seq===3)e.codepoint=s&15;else if(e.utf8seq===4)e.codepoint=s&7;else throw new Error("Invalid UTF-8 sequence");e.utf8seq-=1}else if(e.utf8seq>0){if(s<=127)throw new Error("Invalid UTF-8 sequence");e.codepoint=e.codepoint<<6|s&63,e.utf8seq-=1,e.utf8seq===0&&r(e.codepoint)}}function hr(s){const e=[],r={queue:0,queuedBits:0},n=i=>{e.push(i)};for(let i=0;i<s.length;i+=1)wf(s.charCodeAt(i),r,n);return new Uint8Array(e)}function sw(s){const e=[];return ew(s,r=>e.push(r)),new Uint8Array(e)}function Ts(s){const e=[],r={queue:0,queuedBits:0},n=i=>{e.push(i)};return s.forEach(i=>am(i,r,n)),am(null,r,n),e.join("")}function rw(s){return Math.round(Date.now()/1e3)+s}function nw(){return Symbol("auth-callback")}const je=()=>typeof window<"u"&&typeof document<"u",vs={tested:!1,writable:!1},Nf=()=>{if(!je())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(vs.tested)return vs.writable;const s=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(s,s),globalThis.localStorage.removeItem(s),vs.tested=!0,vs.writable=!0}catch{vs.tested=!0,vs.writable=!1}return vs.writable};function iw(s){const e={},r=new URL(s);if(r.hash&&r.hash[0]==="#")try{new URLSearchParams(r.hash.substring(1)).forEach((i,a)=>{e[a]=i})}catch{}return r.searchParams.forEach((n,i)=>{e[i]=n}),e}const _f=s=>s?(...e)=>s(...e):(...e)=>fetch(...e),aw=s=>typeof s=="object"&&s!==null&&"status"in s&&"ok"in s&&"json"in s&&typeof s.json=="function",Gs=async(s,e,r)=>{await s.setItem(e,JSON.stringify(r))},bs=async(s,e)=>{const r=await s.getItem(e);if(!r)return null;try{return JSON.parse(r)}catch{return r}},be=async(s,e)=>{await s.removeItem(e)};class Ka{constructor(){this.promise=new Ka.promiseConstructor((e,r)=>{this.resolve=e,this.reject=r})}}Ka.promiseConstructor=Promise;function Lo(s){const e=s.split(".");if(e.length!==3)throw new ga("Invalid JWT structure");for(let n=0;n<e.length;n++)if(!Yy.test(e[n]))throw new ga("JWT not in base64url format");return{header:JSON.parse(om(e[0])),payload:JSON.parse(om(e[1])),signature:hr(e[2]),raw:{header:e[0],payload:e[1]}}}async function ow(s){return await new Promise(e=>{setTimeout(()=>e(null),s)})}function lw(s,e){return new Promise((n,i)=>{(async()=>{for(let a=0;a<1/0;a++)try{const o=await s(a);if(!e(a,null,o)){n(o);return}}catch(o){if(!e(a,o)){i(o);return}}})()})}function cw(s){return("0"+s.toString(16)).substr(-2)}function dw(){const e=new Uint32Array(56);if(typeof crypto>"u"){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",n=r.length;let i="";for(let a=0;a<56;a++)i+=r.charAt(Math.floor(Math.random()*n));return i}return crypto.getRandomValues(e),Array.from(e,cw).join("")}async function uw(s){const r=new TextEncoder().encode(s),n=await crypto.subtle.digest("SHA-256",r),i=new Uint8Array(n);return Array.from(i).map(a=>String.fromCharCode(a)).join("")}async function mw(s){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),s;const r=await uw(s);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Bs(s,e,r=!1){const n=dw();let i=n;r&&(i+="/PASSWORD_RECOVERY"),await Gs(s,`${e}-code-verifier`,i);const a=await mw(n);return[a,n===a?"plain":"s256"]}const hw=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function pw(s){const e=s.headers.get(Zl);if(!e||!e.match(hw))return null;try{return new Date(`${e}T00:00:00.0Z`)}catch{return null}}function xw(s){if(!s)throw new Error("Missing exp claim");const e=Math.floor(Date.now()/1e3);if(s<=e)throw new Error("JWT has expired")}function fw(s){switch(s){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const gw=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Vs(s){if(!gw.test(s))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Do(){const s={};return new Proxy(s,{get:(e,r)=>{if(r==="__isUserNotAvailableProxy")return!0;if(typeof r=="symbol"){const n=r.toString();if(n==="Symbol(Symbol.toPrimitive)"||n==="Symbol(Symbol.toStringTag)"||n==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${r}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function vw(s,e){return new Proxy(s,{get:(r,n,i)=>{if(n==="__isInsecureUserWarningProxy")return!0;if(typeof n=="symbol"){const a=n.toString();if(a==="Symbol(Symbol.toPrimitive)"||a==="Symbol(Symbol.toStringTag)"||a==="Symbol(util.inspect.custom)"||a==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(r,n,i)}return!e.value&&typeof n=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),e.value=!0),Reflect.get(r,n,i)}})}function lm(s){return JSON.parse(JSON.stringify(s))}const Ns=s=>s.msg||s.message||s.error_description||s.error||JSON.stringify(s),bw=[502,503,504];async function cm(s){var e;if(!aw(s))throw new fa(Ns(s),0);if(bw.includes(s.status))throw new fa(Ns(s),s.status);let r;try{r=await s.json()}catch(a){throw new Jt(Ns(a),a)}let n;const i=pw(s);if(i&&i.getTime()>=gf["2024-01-01"].timestamp&&typeof r=="object"&&r&&typeof r.code=="string"?n=r.code:typeof r=="object"&&r&&typeof r.error_code=="string"&&(n=r.error_code),n){if(n==="weak_password")throw new ec(Ns(r),s.status,((e=r.weak_password)===null||e===void 0?void 0:e.reasons)||[]);if(n==="session_not_found")throw new Ie}else if(typeof r=="object"&&r&&typeof r.weak_password=="object"&&r.weak_password&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.reasons.reduce((a,o)=>a&&typeof o=="string",!0))throw new ec(Ns(r),s.status,r.weak_password.reasons);throw new vf(Ns(r),s.status||500,n)}const jw=(s,e,r,n)=>{const i={method:s,headers:(e==null?void 0:e.headers)||{}};return s==="GET"?i:(i.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),i.body=JSON.stringify(n),Object.assign(Object.assign({},i),r))};async function L(s,e,r,n){var i;const a=Object.assign({},n==null?void 0:n.headers);a[Zl]||(a[Zl]=gf["2024-01-01"].name),n!=null&&n.jwt&&(a.Authorization=`Bearer ${n.jwt}`);const o=(i=n==null?void 0:n.query)!==null&&i!==void 0?i:{};n!=null&&n.redirectTo&&(o.redirect_to=n.redirectTo);const l=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=await yw(s,e,r+l,{headers:a,noResolveJson:n==null?void 0:n.noResolveJson},{},n==null?void 0:n.body);return n!=null&&n.xform?n==null?void 0:n.xform(c):{data:Object.assign({},c),error:null}}async function yw(s,e,r,n,i,a){const o=jw(e,n,i,a);let l;try{l=await s(r,Object.assign({},o))}catch(c){throw console.error(c),new fa(Ns(c),0)}if(l.ok||await cm(l),n!=null&&n.noResolveJson)return l;try{return await l.json()}catch(c){await cm(c)}}function ut(s){var e;let r=null;_w(s)&&(r=Object.assign({},s),s.expires_at||(r.expires_at=rw(s.expires_in)));const n=(e=s.user)!==null&&e!==void 0?e:s;return{data:{session:r,user:n},error:null}}function dm(s){const e=ut(s);return!e.error&&s.weak_password&&typeof s.weak_password=="object"&&Array.isArray(s.weak_password.reasons)&&s.weak_password.reasons.length&&s.weak_password.message&&typeof s.weak_password.message=="string"&&s.weak_password.reasons.reduce((r,n)=>r&&typeof n=="string",!0)&&(e.data.weak_password=s.weak_password),e}function Zt(s){var e;return{data:{user:(e=s.user)!==null&&e!==void 0?e:s},error:null}}function ww(s){return{data:s,error:null}}function Nw(s){const{action_link:e,email_otp:r,hashed_token:n,redirect_to:i,verification_type:a}=s,o=Pr(s,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),l={action_link:e,email_otp:r,hashed_token:n,redirect_to:i,verification_type:a},c=Object.assign({},o);return{data:{properties:l,user:c},error:null}}function um(s){return s}function _w(s){return s.access_token&&s.refresh_token&&s.expires_in}const Mi=["global","local","others"];let hd=class{constructor({url:e="",headers:r={},fetch:n}){this.url=e,this.headers=r,this.fetch=_f(n),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)}}async signOut(e,r=Mi[0]){if(Mi.indexOf(r)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${Mi.join(", ")}`);try{return await L(this.fetch,"POST",`${this.url}/logout?scope=${r}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(n){if(A(n))return{data:null,error:n};throw n}}async inviteUserByEmail(e,r={}){try{return await L(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:r.data},headers:this.headers,redirectTo:r.redirectTo,xform:Zt})}catch(n){if(A(n))return{data:{user:null},error:n};throw n}}async generateLink(e){try{const{options:r}=e,n=Pr(e,["options"]),i=Object.assign(Object.assign({},n),r);return"newEmail"in n&&(i.new_email=n==null?void 0:n.newEmail,delete i.newEmail),await L(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:i,headers:this.headers,xform:Nw,redirectTo:r==null?void 0:r.redirectTo})}catch(r){if(A(r))return{data:{properties:null,user:null},error:r};throw r}}async createUser(e){try{return await L(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:Zt})}catch(r){if(A(r))return{data:{user:null},error:r};throw r}}async listUsers(e){var r,n,i,a,o,l,c;try{const d={nextPage:null,lastPage:0,total:0},u=await L(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(n=(r=e==null?void 0:e.page)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:"",per_page:(a=(i=e==null?void 0:e.perPage)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:""},xform:um});if(u.error)throw u.error;const m=await u.json(),h=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(c=(l=u.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return f.length>0&&(f.forEach(v=>{const j=parseInt(v.split(";")[0].split("=")[1].substring(0,1)),w=JSON.parse(v.split(";")[1].split("=")[1]);d[`${w}Page`]=j}),d.total=parseInt(h)),{data:Object.assign(Object.assign({},m),d),error:null}}catch(d){if(A(d))return{data:{users:[]},error:d};throw d}}async getUserById(e){Vs(e);try{return await L(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:Zt})}catch(r){if(A(r))return{data:{user:null},error:r};throw r}}async updateUserById(e,r){Vs(e);try{return await L(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:r,headers:this.headers,xform:Zt})}catch(n){if(A(n))return{data:{user:null},error:n};throw n}}async deleteUser(e,r=!1){Vs(e);try{return await L(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:r},xform:Zt})}catch(n){if(A(n))return{data:{user:null},error:n};throw n}}async _listFactors(e){Vs(e.userId);try{const{data:r,error:n}=await L(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:i=>({data:{factors:i},error:null})});return{data:r,error:n}}catch(r){if(A(r))return{data:null,error:r};throw r}}async _deleteFactor(e){Vs(e.userId),Vs(e.id);try{return{data:await L(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(r){if(A(r))return{data:null,error:r};throw r}}async _listOAuthClients(e){var r,n,i,a,o,l,c;try{const d={nextPage:null,lastPage:0,total:0},u=await L(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(n=(r=e==null?void 0:e.page)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:"",per_page:(a=(i=e==null?void 0:e.perPage)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:""},xform:um});if(u.error)throw u.error;const m=await u.json(),h=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,f=(c=(l=u.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return f.length>0&&(f.forEach(v=>{const j=parseInt(v.split(";")[0].split("=")[1].substring(0,1)),w=JSON.parse(v.split(";")[1].split("=")[1]);d[`${w}Page`]=j}),d.total=parseInt(h)),{data:Object.assign(Object.assign({},m),d),error:null}}catch(d){if(A(d))return{data:{clients:[]},error:d};throw d}}async _createOAuthClient(e){try{return await L(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(A(r))return{data:null,error:r};throw r}}async _getOAuthClient(e){try{return await L(this.fetch,"GET",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(A(r))return{data:null,error:r};throw r}}async _updateOAuthClient(e,r){try{return await L(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${e}`,{body:r,headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(A(n))return{data:null,error:n};throw n}}async _deleteOAuthClient(e){try{return await L(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(A(r))return{data:null,error:r};throw r}}async _regenerateOAuthClientSecret(e){try{return await L(this.fetch,"POST",`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(A(r))return{data:null,error:r};throw r}}};function mm(s={}){return{getItem:e=>s[e]||null,setItem:(e,r)=>{s[e]=r},removeItem:e=>{delete s[e]}}}const _s={debug:!!(globalThis&&Nf()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class pd extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}let kf=class extends pd{};class kw extends pd{}async function Sf(s,e,r){_s.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",s,e);const n=new globalThis.AbortController;return e>0&&setTimeout(()=>{n.abort(),_s.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",s)},e),await Promise.resolve().then(()=>globalThis.navigator.locks.request(s,e===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:n.signal},async i=>{if(i){_s.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",s,i.name);try{return await r()}finally{_s.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",s,i.name)}}else{if(e===0)throw _s.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",s),new kf(`Acquiring an exclusive Navigator LockManager lock "${s}" immediately failed`);if(_s.debug)try{const a=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(a,null," "))}catch(a){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",a)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await r()}}))}const hm={};async function Sw(s,e,r){var n;const i=(n=hm[s])!==null&&n!==void 0?n:Promise.resolve(),a=Promise.race([i.catch(()=>null),e>=0?new Promise((o,l)=>{setTimeout(()=>{l(new kw(`Acquring process lock with name "${s}" timed out`))},e)}):null].filter(o=>o)).catch(o=>{if(o&&o.isAcquireTimeout)throw o;return null}).then(async()=>await r());return hm[s]=a.catch(async o=>{if(o&&o.isAcquireTimeout)return await i,null;throw o}),await a}function Ew(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function Ef(s){if(!/^0x[a-fA-F0-9]{40}$/.test(s))throw new Error(`@supabase/auth-js: Address "${s}" is invalid.`);return s.toLowerCase()}function Cw(s){return parseInt(s,16)}function Pw(s){const e=new TextEncoder().encode(s);return"0x"+Array.from(e,n=>n.toString(16).padStart(2,"0")).join("")}function Tw(s){var e;const{chainId:r,domain:n,expirationTime:i,issuedAt:a=new Date,nonce:o,notBefore:l,requestId:c,resources:d,scheme:u,uri:m,version:h}=s;{if(!Number.isInteger(r))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${r}`);if(!n)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(o&&o.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${o}`);if(!m)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(h!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${h}`);if(!((e=s.statement)===null||e===void 0)&&e.includes(`
`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${s.statement}`)}const f=Ef(s.address),v=u?`${u}://${n}`:n,j=s.statement?`${s.statement}
`:"",w=`${v} wants you to sign in with your Ethereum account:
${f}
${j}`;let p=`URI: ${m}
Version: ${h}
Chain ID: ${r}${o?`
Nonce: ${o}`:""}
Issued At: ${a.toISOString()}`;if(i&&(p+=`
Expiration Time: ${i.toISOString()}`),l&&(p+=`
Not Before: ${l.toISOString()}`),c&&(p+=`
Request ID: ${c}`),d){let x=`
Resources:`;for(const g of d){if(!g||typeof g!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${g}`);x+=`
- ${g}`}p+=x}return`${w}
${p}`}class ue extends Error{constructor({message:e,code:r,cause:n,name:i}){var a;super(e,{cause:n}),this.__isWebAuthnError=!0,this.name=(a=i??(n instanceof Error?n.name:void 0))!==null&&a!==void 0?a:"Unknown Error",this.code=r}}class ba extends ue{constructor(e,r){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r,message:e}),this.name="WebAuthnUnknownError",this.originalError=r}}function Aw({error:s,options:e}){var r,n,i;const{publicKey:a}=e;if(!a)throw Error("options was missing required publicKey property");if(s.name==="AbortError"){if(e.signal instanceof AbortSignal)return new ue({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:s})}else if(s.name==="ConstraintError"){if(((r=a.authenticatorSelection)===null||r===void 0?void 0:r.requireResidentKey)===!0)return new ue({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:s});if(e.mediation==="conditional"&&((n=a.authenticatorSelection)===null||n===void 0?void 0:n.userVerification)==="required")return new ue({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:s});if(((i=a.authenticatorSelection)===null||i===void 0?void 0:i.userVerification)==="required")return new ue({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:s})}else{if(s.name==="InvalidStateError")return new ue({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:s});if(s.name==="NotAllowedError")return new ue({message:s.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:s});if(s.name==="NotSupportedError")return a.pubKeyCredParams.filter(l=>l.type==="public-key").length===0?new ue({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:s}):new ue({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:s});if(s.name==="SecurityError"){const o=window.location.hostname;if(Cf(o)){if(a.rp.id!==o)return new ue({message:`The RP ID "${a.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:s})}else return new ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:s})}else if(s.name==="TypeError"){if(a.user.id.byteLength<1||a.user.id.byteLength>64)return new ue({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:s})}else if(s.name==="UnknownError")return new ue({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:s})}return new ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:s})}function Ow({error:s,options:e}){const{publicKey:r}=e;if(!r)throw Error("options was missing required publicKey property");if(s.name==="AbortError"){if(e.signal instanceof AbortSignal)return new ue({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:s})}else{if(s.name==="NotAllowedError")return new ue({message:s.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:s});if(s.name==="SecurityError"){const n=window.location.hostname;if(Cf(n)){if(r.rpId!==n)return new ue({message:`The RP ID "${r.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:s})}else return new ue({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:s})}else if(s.name==="UnknownError")return new ue({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:s})}return new ue({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:s})}class qw{createNewAbortSignal(){if(this.controller){const r=new Error("Cancelling existing WebAuthn API call for new one");r.name="AbortError",this.controller.abort(r)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}}const Rw=new qw;function Lw(s){if(!s)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(s);const{challenge:e,user:r,excludeCredentials:n}=s,i=Pr(s,["challenge","user","excludeCredentials"]),a=hr(e).buffer,o=Object.assign(Object.assign({},r),{id:hr(r.id).buffer}),l=Object.assign(Object.assign({},i),{challenge:a,user:o});if(n&&n.length>0){l.excludeCredentials=new Array(n.length);for(let c=0;c<n.length;c++){const d=n[c];l.excludeCredentials[c]=Object.assign(Object.assign({},d),{id:hr(d.id).buffer,type:d.type||"public-key",transports:d.transports})}}return l}function Dw(s){if(!s)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(s);const{challenge:e,allowCredentials:r}=s,n=Pr(s,["challenge","allowCredentials"]),i=hr(e).buffer,a=Object.assign(Object.assign({},n),{challenge:i});if(r&&r.length>0){a.allowCredentials=new Array(r.length);for(let o=0;o<r.length;o++){const l=r[o];a.allowCredentials[o]=Object.assign(Object.assign({},l),{id:hr(l.id).buffer,type:l.type||"public-key",transports:l.transports})}}return a}function zw(s){var e;if("toJSON"in s&&typeof s.toJSON=="function")return s.toJSON();const r=s;return{id:s.id,rawId:s.id,response:{attestationObject:Ts(new Uint8Array(s.response.attestationObject)),clientDataJSON:Ts(new Uint8Array(s.response.clientDataJSON))},type:"public-key",clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:(e=r.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function Mw(s){var e;if("toJSON"in s&&typeof s.toJSON=="function")return s.toJSON();const r=s,n=s.getClientExtensionResults(),i=s.response;return{id:s.id,rawId:s.id,response:{authenticatorData:Ts(new Uint8Array(i.authenticatorData)),clientDataJSON:Ts(new Uint8Array(i.clientDataJSON)),signature:Ts(new Uint8Array(i.signature)),userHandle:i.userHandle?Ts(new Uint8Array(i.userHandle)):void 0},type:"public-key",clientExtensionResults:n,authenticatorAttachment:(e=r.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function Cf(s){return s==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(s)}function pm(){var s,e;return!!(je()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((s=navigator==null?void 0:navigator.credentials)===null||s===void 0?void 0:s.create)=="function"&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.get)=="function")}async function Iw(s){try{const e=await navigator.credentials.create(s);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new ba("Browser returned unexpected credential type",e)}:{data:null,error:new ba("Empty credential response",e)}}catch(e){return{data:null,error:Aw({error:e,options:s})}}}async function $w(s){try{const e=await navigator.credentials.get(s);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new ba("Browser returned unexpected credential type",e)}:{data:null,error:new ba("Empty credential response",e)}}catch(e){return{data:null,error:Ow({error:e,options:s})}}}const Uw={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},Fw={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function ja(...s){const e=i=>i!==null&&typeof i=="object"&&!Array.isArray(i),r=i=>i instanceof ArrayBuffer||ArrayBuffer.isView(i),n={};for(const i of s)if(i)for(const a in i){const o=i[a];if(o!==void 0)if(Array.isArray(o))n[a]=o;else if(r(o))n[a]=o;else if(e(o)){const l=n[a];e(l)?n[a]=ja(l,o):n[a]=ja(o)}else n[a]=o}return n}function Bw(s,e){return ja(Uw,s,e||{})}function Vw(s,e){return ja(Fw,s,e||{})}class Hw{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:"webauthn"}))}async _challenge({factorId:e,webauthn:r,friendlyName:n,signal:i},a){try{const{data:o,error:l}=await this.client.mfa.challenge({factorId:e,webauthn:r});if(!o)return{data:null,error:l};const c=i??Rw.createNewAbortSignal();if(o.webauthn.type==="create"){const{user:d}=o.webauthn.credential_options.publicKey;d.name||(d.name=`${d.id}:${n}`),d.displayName||(d.displayName=d.name)}switch(o.webauthn.type){case"create":{const d=Bw(o.webauthn.credential_options.publicKey,a==null?void 0:a.create),{data:u,error:m}=await Iw({publicKey:d,signal:c});return u?{data:{factorId:e,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:u}},error:null}:{data:null,error:m}}case"request":{const d=Vw(o.webauthn.credential_options.publicKey,a==null?void 0:a.request),{data:u,error:m}=await $w(Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:d,signal:c}));return u?{data:{factorId:e,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:u}},error:null}:{data:null,error:m}}}}catch(o){return A(o)?{data:null,error:o}:{data:null,error:new Jt("Unexpected error in challenge",o)}}}async _verify({challengeId:e,factorId:r,webauthn:n}){return this.client.mfa.verify({factorId:r,challengeId:e,webauthn:n})}async _authenticate({factorId:e,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:n=typeof window<"u"?[window.location.origin]:void 0,signal:i}={}},a){if(!r)return{data:null,error:new Nr("rpId is required for WebAuthn authentication")};try{if(!pm())return{data:null,error:new Jt("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this.challenge({factorId:e,webauthn:{rpId:r,rpOrigins:n},signal:i},{request:a});if(!o)return{data:null,error:l};const{webauthn:c}=o;return this._verify({factorId:e,challengeId:o.challengeId,webauthn:{type:c.type,rpId:r,rpOrigins:n,credential_response:c.credential_response}})}catch(o){return A(o)?{data:null,error:o}:{data:null,error:new Jt("Unexpected error in authenticate",o)}}}async _register({friendlyName:e,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:n=typeof window<"u"?[window.location.origin]:void 0,signal:i}={}},a){if(!r)return{data:null,error:new Nr("rpId is required for WebAuthn registration")};try{if(!pm())return{data:null,error:new Jt("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this._enroll({friendlyName:e});if(!o)return await this.client.mfa.listFactors().then(u=>{var m;return(m=u.data)===null||m===void 0?void 0:m.all.find(h=>h.factor_type==="webauthn"&&h.friendly_name===e&&h.status!=="unverified")}).then(u=>u?this.client.mfa.unenroll({factorId:u==null?void 0:u.id}):void 0),{data:null,error:l};const{data:c,error:d}=await this._challenge({factorId:o.id,friendlyName:o.friendly_name,webauthn:{rpId:r,rpOrigins:n},signal:i},{create:a});return c?this._verify({factorId:o.id,challengeId:c.challengeId,webauthn:{rpId:r,rpOrigins:n,type:c.webauthn.type,credential_response:c.webauthn.credential_response}}):{data:null,error:d}}catch(o){return A(o)?{data:null,error:o}:{data:null,error:new Jt("Unexpected error in register",o)}}}}Ew();const Ww={url:Wy,storageKey:Gy,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Qy,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1};async function xm(s,e,r){return await r()}const Hs={};let xd=class tc{get jwks(){var e,r;return(r=(e=Hs[this.storageKey])===null||e===void 0?void 0:e.jwks)!==null&&r!==void 0?r:{keys:[]}}set jwks(e){Hs[this.storageKey]=Object.assign(Object.assign({},Hs[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,r;return(r=(e=Hs[this.storageKey])===null||e===void 0?void 0:e.cachedAt)!==null&&r!==void 0?r:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){Hs[this.storageKey]=Object.assign(Object.assign({},Hs[this.storageKey]),{cachedAt:e})}constructor(e){var r,n,i;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const a=Object.assign(Object.assign({},Ww),e);if(this.storageKey=a.storageKey,this.instanceID=(r=tc.nextInstanceID[this.storageKey])!==null&&r!==void 0?r:0,tc.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!a.debug,typeof a.debug=="function"&&(this.logger=a.debug),this.instanceID>0&&je()){const o=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(o),this.logDebugMessages&&console.trace(o)}if(this.persistSession=a.persistSession,this.autoRefreshToken=a.autoRefreshToken,this.admin=new hd({url:a.url,headers:a.headers,fetch:a.fetch}),this.url=a.url,this.headers=a.headers,this.fetch=_f(a.fetch),this.lock=a.lock||xm,this.detectSessionInUrl=a.detectSessionInUrl,this.flowType=a.flowType,this.hasCustomAuthorizationHeader=a.hasCustomAuthorizationHeader,this.throwOnError=a.throwOnError,a.lock?this.lock=a.lock:je()&&(!((n=globalThis==null?void 0:globalThis.navigator)===null||n===void 0)&&n.locks)?this.lock=Sf:this.lock=xm,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new Hw(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.persistSession?(a.storage?this.storage=a.storage:Nf()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=mm(this.memoryStorage)),a.userStorage&&(this.userStorage=a.userStorage)):(this.memoryStorage={},this.storage=mm(this.memoryStorage)),je()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(o){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",o)}(i=this.broadcastChannel)===null||i===void 0||i.addEventListener("message",async o=>{this._debug("received broadcast notification from other tab or client",o),await this._notifyAllSubscribers(o.data.event,o.data.session,!1)})}this.initialize()}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${ff}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var e;try{let r={},n="none";if(je()&&(r=iw(window.location.href),this._isImplicitGrantCallback(r)?n="implicit":await this._isPKCECallback(r)&&(n="pkce")),je()&&this.detectSessionInUrl&&n!=="none"){const{data:i,error:a}=await this._getSessionFromURL(r,n);if(a){if(this._debug("#_initialize()","error detecting session from URL",a),yf(a)){const c=(e=a.details)===null||e===void 0?void 0:e.code;if(c==="identity_already_exists"||c==="identity_not_found"||c==="single_identity_not_deletable")return{error:a}}return await this._removeSession(),{error:a}}const{session:o,redirectType:l}=i;return this._debug("#_initialize()","detected session in URL",o,"redirect type",l),await this._saveSession(o),setTimeout(async()=>{l==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",o):await this._notifyAllSubscribers("SIGNED_IN",o)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(r){return A(r)?this._returnResult({error:r}):this._returnResult({error:new Jt("Unexpected error during initialization",r)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var r,n,i;try{const a=await L(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(n=(r=e==null?void 0:e.options)===null||r===void 0?void 0:r.data)!==null&&n!==void 0?n:{},gotrue_meta_security:{captcha_token:(i=e==null?void 0:e.options)===null||i===void 0?void 0:i.captchaToken}},xform:ut}),{data:o,error:l}=a;if(l||!o)return this._returnResult({data:{user:null,session:null},error:l});const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(a){if(A(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signUp(e){var r,n,i;try{let a;if("email"in e){const{email:u,password:m,options:h}=e;let f=null,v=null;this.flowType==="pkce"&&([f,v]=await Bs(this.storage,this.storageKey)),a=await L(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:u,password:m,data:(r=h==null?void 0:h.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken},code_challenge:f,code_challenge_method:v},xform:ut})}else if("phone"in e){const{phone:u,password:m,options:h}=e;a=await L(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:m,data:(n=h==null?void 0:h.data)!==null&&n!==void 0?n:{},channel:(i=h==null?void 0:h.channel)!==null&&i!==void 0?i:"sms",gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:ut})}else throw new Vr("You must provide either an email or phone number and a password");const{data:o,error:l}=a;if(l||!o)return await be(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l});const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(a){if(await be(this.storage,`${this.storageKey}-code-verifier`),A(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signInWithPassword(e){try{let r;if("email"in e){const{email:a,password:o,options:l}=e;r=await L(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:a,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:dm})}else if("phone"in e){const{phone:a,password:o,options:l}=e;r=await L(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:a,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:dm})}else throw new Vr("You must provide either an email or phone number and a password");const{data:n,error:i}=r;if(i)return this._returnResult({data:{user:null,session:null},error:i});if(!n||!n.session||!n.user){const a=new ws;return this._returnResult({data:{user:null,session:null},error:a})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:i})}catch(r){if(A(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOAuth(e){var r,n,i,a;return await this._handleProviderSignIn(e.provider,{redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,scopes:(n=e.options)===null||n===void 0?void 0:n.scopes,queryParams:(i=e.options)===null||i===void 0?void 0:i.queryParams,skipBrowserRedirect:(a=e.options)===null||a===void 0?void 0:a.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(e))}async signInWithWeb3(e){const{chain:r}=e;switch(r){case"ethereum":return await this.signInWithEthereum(e);case"solana":return await this.signInWithSolana(e);default:throw new Error(`@supabase/auth-js: Unsupported chain "${r}"`)}}async signInWithEthereum(e){var r,n,i,a,o,l,c,d,u,m,h;let f,v;if("message"in e)f=e.message,v=e.signature;else{const{chain:j,wallet:w,statement:p,options:x}=e;let g;if(je())if(typeof w=="object")g=w;else{const R=window;if("ethereum"in R&&typeof R.ethereum=="object"&&"request"in R.ethereum&&typeof R.ethereum.request=="function")g=R.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof w!="object"||!(x!=null&&x.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");g=w}const y=new URL((r=x==null?void 0:x.url)!==null&&r!==void 0?r:window.location.href),_=await g.request({method:"eth_requestAccounts"}).then(R=>R).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!_||_.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const b=Ef(_[0]);let N=(n=x==null?void 0:x.signInWithEthereum)===null||n===void 0?void 0:n.chainId;if(!N){const R=await g.request({method:"eth_chainId"});N=Cw(R)}const E={domain:y.host,address:b,statement:p,uri:y.href,version:"1",chainId:N,nonce:(i=x==null?void 0:x.signInWithEthereum)===null||i===void 0?void 0:i.nonce,issuedAt:(o=(a=x==null?void 0:x.signInWithEthereum)===null||a===void 0?void 0:a.issuedAt)!==null&&o!==void 0?o:new Date,expirationTime:(l=x==null?void 0:x.signInWithEthereum)===null||l===void 0?void 0:l.expirationTime,notBefore:(c=x==null?void 0:x.signInWithEthereum)===null||c===void 0?void 0:c.notBefore,requestId:(d=x==null?void 0:x.signInWithEthereum)===null||d===void 0?void 0:d.requestId,resources:(u=x==null?void 0:x.signInWithEthereum)===null||u===void 0?void 0:u.resources};f=Tw(E),v=await g.request({method:"personal_sign",params:[Pw(f),b]})}try{const{data:j,error:w}=await L(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:f,signature:v},!((m=e.options)===null||m===void 0)&&m.captchaToken?{gotrue_meta_security:{captcha_token:(h=e.options)===null||h===void 0?void 0:h.captchaToken}}:null),xform:ut});if(w)throw w;if(!j||!j.session||!j.user){const p=new ws;return this._returnResult({data:{user:null,session:null},error:p})}return j.session&&(await this._saveSession(j.session),await this._notifyAllSubscribers("SIGNED_IN",j.session)),this._returnResult({data:Object.assign({},j),error:w})}catch(j){if(A(j))return this._returnResult({data:{user:null,session:null},error:j});throw j}}async signInWithSolana(e){var r,n,i,a,o,l,c,d,u,m,h,f;let v,j;if("message"in e)v=e.message,j=e.signature;else{const{chain:w,wallet:p,statement:x,options:g}=e;let y;if(je())if(typeof p=="object")y=p;else{const b=window;if("solana"in b&&typeof b.solana=="object"&&("signIn"in b.solana&&typeof b.solana.signIn=="function"||"signMessage"in b.solana&&typeof b.solana.signMessage=="function"))y=b.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof p!="object"||!(g!=null&&g.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");y=p}const _=new URL((r=g==null?void 0:g.url)!==null&&r!==void 0?r:window.location.href);if("signIn"in y&&y.signIn){const b=await y.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},g==null?void 0:g.signInWithSolana),{version:"1",domain:_.host,uri:_.href}),x?{statement:x}:null));let N;if(Array.isArray(b)&&b[0]&&typeof b[0]=="object")N=b[0];else if(b&&typeof b=="object"&&"signedMessage"in b&&"signature"in b)N=b;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in N&&"signature"in N&&(typeof N.signedMessage=="string"||N.signedMessage instanceof Uint8Array)&&N.signature instanceof Uint8Array)v=typeof N.signedMessage=="string"?N.signedMessage:new TextDecoder().decode(N.signedMessage),j=N.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in y)||typeof y.signMessage!="function"||!("publicKey"in y)||typeof y!="object"||!y.publicKey||!("toBase58"in y.publicKey)||typeof y.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");v=[`${_.host} wants you to sign in with your Solana account:`,y.publicKey.toBase58(),...x?["",x,""]:[""],"Version: 1",`URI: ${_.href}`,`Issued At: ${(i=(n=g==null?void 0:g.signInWithSolana)===null||n===void 0?void 0:n.issuedAt)!==null&&i!==void 0?i:new Date().toISOString()}`,...!((a=g==null?void 0:g.signInWithSolana)===null||a===void 0)&&a.notBefore?[`Not Before: ${g.signInWithSolana.notBefore}`]:[],...!((o=g==null?void 0:g.signInWithSolana)===null||o===void 0)&&o.expirationTime?[`Expiration Time: ${g.signInWithSolana.expirationTime}`]:[],...!((l=g==null?void 0:g.signInWithSolana)===null||l===void 0)&&l.chainId?[`Chain ID: ${g.signInWithSolana.chainId}`]:[],...!((c=g==null?void 0:g.signInWithSolana)===null||c===void 0)&&c.nonce?[`Nonce: ${g.signInWithSolana.nonce}`]:[],...!((d=g==null?void 0:g.signInWithSolana)===null||d===void 0)&&d.requestId?[`Request ID: ${g.signInWithSolana.requestId}`]:[],...!((m=(u=g==null?void 0:g.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||m===void 0)&&m.length?["Resources",...g.signInWithSolana.resources.map(N=>`- ${N}`)]:[]].join(`
`);const b=await y.signMessage(new TextEncoder().encode(v),"utf8");if(!b||!(b instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");j=b}}try{const{data:w,error:p}=await L(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:v,signature:Ts(j)},!((h=e.options)===null||h===void 0)&&h.captchaToken?{gotrue_meta_security:{captcha_token:(f=e.options)===null||f===void 0?void 0:f.captchaToken}}:null),xform:ut});if(p)throw p;if(!w||!w.session||!w.user){const x=new ws;return this._returnResult({data:{user:null,session:null},error:x})}return w.session&&(await this._saveSession(w.session),await this._notifyAllSubscribers("SIGNED_IN",w.session)),this._returnResult({data:Object.assign({},w),error:p})}catch(w){if(A(w))return this._returnResult({data:{user:null,session:null},error:w});throw w}}async _exchangeCodeForSession(e){const r=await bs(this.storage,`${this.storageKey}-code-verifier`),[n,i]=(r??"").split("/");try{const{data:a,error:o}=await L(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:n},xform:ut});if(await be(this.storage,`${this.storageKey}-code-verifier`),o)throw o;if(!a||!a.session||!a.user){const l=new ws;return this._returnResult({data:{user:null,session:null,redirectType:null},error:l})}return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",a.session)),this._returnResult({data:Object.assign(Object.assign({},a),{redirectType:i??null}),error:o})}catch(a){if(await be(this.storage,`${this.storageKey}-code-verifier`),A(a))return this._returnResult({data:{user:null,session:null,redirectType:null},error:a});throw a}}async signInWithIdToken(e){try{const{options:r,provider:n,token:i,access_token:a,nonce:o}=e,l=await L(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:i,access_token:a,nonce:o,gotrue_meta_security:{captcha_token:r==null?void 0:r.captchaToken}},xform:ut}),{data:c,error:d}=l;if(d)return this._returnResult({data:{user:null,session:null},error:d});if(!c||!c.session||!c.user){const u=new ws;return this._returnResult({data:{user:null,session:null},error:u})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers("SIGNED_IN",c.session)),this._returnResult({data:c,error:d})}catch(r){if(A(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOtp(e){var r,n,i,a,o;try{if("email"in e){const{email:l,options:c}=e;let d=null,u=null;this.flowType==="pkce"&&([d,u]=await Bs(this.storage,this.storageKey));const{error:m}=await L(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:l,data:(r=c==null?void 0:c.data)!==null&&r!==void 0?r:{},create_user:(n=c==null?void 0:c.shouldCreateUser)!==null&&n!==void 0?n:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:d,code_challenge_method:u},redirectTo:c==null?void 0:c.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:m})}if("phone"in e){const{phone:l,options:c}=e,{data:d,error:u}=await L(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:l,data:(i=c==null?void 0:c.data)!==null&&i!==void 0?i:{},create_user:(a=c==null?void 0:c.shouldCreateUser)!==null&&a!==void 0?a:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:d==null?void 0:d.message_id},error:u})}throw new Vr("You must provide either an email or phone number.")}catch(l){if(await be(this.storage,`${this.storageKey}-code-verifier`),A(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async verifyOtp(e){var r,n;try{let i,a;"options"in e&&(i=(r=e.options)===null||r===void 0?void 0:r.redirectTo,a=(n=e.options)===null||n===void 0?void 0:n.captchaToken);const{data:o,error:l}=await L(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:a}}),redirectTo:i,xform:ut});if(l)throw l;if(!o)throw new Error("An error occurred on token verification.");const c=o.session,d=o.user;return c!=null&&c.access_token&&(await this._saveSession(c),await this._notifyAllSubscribers(e.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(i){if(A(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithSSO(e){var r,n,i,a,o;try{let l=null,c=null;this.flowType==="pkce"&&([l,c]=await Bs(this.storage,this.storageKey));const d=await L(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(n=(r=e.options)===null||r===void 0?void 0:r.redirectTo)!==null&&n!==void 0?n:void 0}),!((i=e==null?void 0:e.options)===null||i===void 0)&&i.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:l,code_challenge_method:c}),headers:this.headers,xform:ww});return!((a=d.data)===null||a===void 0)&&a.url&&je()&&!(!((o=e.options)===null||o===void 0)&&o.skipBrowserRedirect)&&window.location.assign(d.data.url),this._returnResult(d)}catch(l){if(await be(this.storage,`${this.storageKey}-code-verifier`),A(l))return this._returnResult({data:null,error:l});throw l}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:r},error:n}=e;if(n)throw n;if(!r)throw new Ie;const{error:i}=await L(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:r.access_token});return this._returnResult({data:{user:null,session:null},error:i})})}catch(e){if(A(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){try{const r=`${this.url}/resend`;if("email"in e){const{email:n,type:i,options:a}=e,{error:o}=await L(this.fetch,"POST",r,{headers:this.headers,body:{email:n,type:i,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},redirectTo:a==null?void 0:a.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:o})}else if("phone"in e){const{phone:n,type:i,options:a}=e,{data:o,error:l}=await L(this.fetch,"POST",r,{headers:this.headers,body:{phone:n,type:i,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:o==null?void 0:o.message_id},error:l})}throw new Vr("You must provide either an email or phone number and a type")}catch(r){if(A(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async getSession(){return await this.initializePromise,await this._acquireLock(-1,async()=>this._useSession(async r=>r))}async _acquireLock(e,r){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const n=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),i=(async()=>(await n,await r()))();return this.pendingInLock.push((async()=>{try{await i}catch{}})()),i}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const n=r();for(this.pendingInLock.push((async()=>{try{await n}catch{}})()),await n;this.pendingInLock.length;){const i=[...this.pendingInLock];await Promise.all(i),this.pendingInLock.splice(0,i.length)}return await n}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const r=await this.__loadSession();return await e(r)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const r=await bs(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",r),r!==null&&(this._isValidSession(r)?e=r:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const n=e.expires_at?e.expires_at*1e3-Date.now()<Ro:!1;if(this._debug("#__loadSession()",`session has${n?"":" not"} expired`,"expires_at",e.expires_at),!n){if(this.userStorage){const o=await bs(this.userStorage,this.storageKey+"-user");o!=null&&o.user?e.user=o.user:e.user=Do()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){const o={value:this.suppressGetSessionWarning};e.user=vw(e.user,o),o.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:e},error:null}}const{data:i,error:a}=await this._callRefreshToken(e.refresh_token);return a?this._returnResult({data:{session:null},error:a}):this._returnResult({data:{session:i},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;const r=await this._acquireLock(-1,async()=>await this._getUser());return r.data.user&&(this.suppressGetSessionWarning=!0),r}async _getUser(e){try{return e?await L(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:Zt}):await this._useSession(async r=>{var n,i,a;const{data:o,error:l}=r;if(l)throw l;return!(!((n=o.session)===null||n===void 0)&&n.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Ie}:await L(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(a=(i=o.session)===null||i===void 0?void 0:i.access_token)!==null&&a!==void 0?a:void 0,xform:Zt})})}catch(r){if(A(r))return jf(r)&&(await this._removeSession(),await be(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:r});throw r}}async updateUser(e,r={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(e,r))}async _updateUser(e,r={}){try{return await this._useSession(async n=>{const{data:i,error:a}=n;if(a)throw a;if(!i.session)throw new Ie;const o=i.session;let l=null,c=null;this.flowType==="pkce"&&e.email!=null&&([l,c]=await Bs(this.storage,this.storageKey));const{data:d,error:u}=await L(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:r==null?void 0:r.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:l,code_challenge_method:c}),jwt:o.access_token,xform:Zt});if(u)throw u;return o.user=d.user,await this._saveSession(o),await this._notifyAllSubscribers("USER_UPDATED",o),this._returnResult({data:{user:o.user},error:null})})}catch(n){if(await be(this.storage,`${this.storageKey}-code-verifier`),A(n))return this._returnResult({data:{user:null},error:n});throw n}}async setSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new Ie;const r=Date.now()/1e3;let n=r,i=!0,a=null;const{payload:o}=Lo(e.access_token);if(o.exp&&(n=o.exp,i=n<=r),i){const{data:l,error:c}=await this._callRefreshToken(e.refresh_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l)return{data:{user:null,session:null},error:null};a=l}else{const{data:l,error:c}=await this._getUser(e.access_token);if(c)throw c;a={access_token:e.access_token,refresh_token:e.refresh_token,user:l.user,token_type:"bearer",expires_in:n-r,expires_at:n},await this._saveSession(a),await this._notifyAllSubscribers("SIGNED_IN",a)}return this._returnResult({data:{user:a.user,session:a},error:null})}catch(r){if(A(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}}async refreshSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async r=>{var n;if(!e){const{data:o,error:l}=r;if(l)throw l;e=(n=o.session)!==null&&n!==void 0?n:void 0}if(!(e!=null&&e.refresh_token))throw new Ie;const{data:i,error:a}=await this._callRefreshToken(e.refresh_token);return a?this._returnResult({data:{user:null,session:null},error:a}):i?this._returnResult({data:{user:i.user,session:i},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(r){if(A(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async _getSessionFromURL(e,r){try{if(!je())throw new Hr("No browser detected.");if(e.error||e.error_description||e.error_code)throw new Hr(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(r){case"implicit":if(this.flowType==="pkce")throw new Xl("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new Hr("Not a valid implicit grant flow url.");break;default:}if(r==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new Xl("No code detected.");const{data:x,error:g}=await this._exchangeCodeForSession(e.code);if(g)throw g;const y=new URL(window.location.href);return y.searchParams.delete("code"),window.history.replaceState(window.history.state,"",y.toString()),{data:{session:x.session,redirectType:null},error:null}}const{provider_token:n,provider_refresh_token:i,access_token:a,refresh_token:o,expires_in:l,expires_at:c,token_type:d}=e;if(!a||!l||!o||!d)throw new Hr("No session defined in URL");const u=Math.round(Date.now()/1e3),m=parseInt(l);let h=u+m;c&&(h=parseInt(c));const f=h-u;f*1e3<=Ws&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${m}s`);const v=h-m;u-v>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",v,h,u):u-v<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",v,h,u);const{data:j,error:w}=await this._getUser(a);if(w)throw w;const p={provider_token:n,provider_refresh_token:i,access_token:a,expires_in:m,expires_at:h,refresh_token:o,token_type:d,user:j.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:p,redirectType:e.type},error:null})}catch(n){if(A(n))return this._returnResult({data:{session:null,redirectType:null},error:n});throw n}}_isImplicitGrantCallback(e){return!!(e.access_token||e.error_description)}async _isPKCECallback(e){const r=await bs(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&r)}async signOut(e={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async r=>{var n;const{data:i,error:a}=r;if(a)return this._returnResult({error:a});const o=(n=i.session)===null||n===void 0?void 0:n.access_token;if(o){const{error:l}=await this.admin.signOut(o,e);if(l&&!(bf(l)&&(l.status===404||l.status===401||l.status===403)))return this._returnResult({error:l})}return e!=="others"&&(await this._removeSession(),await be(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(e){const r=nw(),n={id:r,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",r),this.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,n),(async()=>(await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(r)})))(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async r=>{var n,i;try{const{data:{session:a},error:o}=r;if(o)throw o;await((n=this.stateChangeEmitters.get(e))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",a)),this._debug("INITIAL_SESSION","callback id",e,"session",a)}catch(a){await((i=this.stateChangeEmitters.get(e))===null||i===void 0?void 0:i.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",a),console.error(a)}})}async resetPasswordForEmail(e,r={}){let n=null,i=null;this.flowType==="pkce"&&([n,i]=await Bs(this.storage,this.storageKey,!0));try{return await L(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:i,gotrue_meta_security:{captcha_token:r.captchaToken}},headers:this.headers,redirectTo:r.redirectTo})}catch(a){if(await be(this.storage,`${this.storageKey}-code-verifier`),A(a))return this._returnResult({data:null,error:a});throw a}}async getUserIdentities(){var e;try{const{data:r,error:n}=await this.getUser();if(n)throw n;return this._returnResult({data:{identities:(e=r.user.identities)!==null&&e!==void 0?e:[]},error:null})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}}async linkIdentity(e){return"token"in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){var r;try{const{data:n,error:i}=await this._useSession(async a=>{var o,l,c,d,u;const{data:m,error:h}=a;if(h)throw h;const f=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(o=e.options)===null||o===void 0?void 0:o.redirectTo,scopes:(l=e.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=e.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:!0});return await L(this.fetch,"GET",f,{headers:this.headers,jwt:(u=(d=m.session)===null||d===void 0?void 0:d.access_token)!==null&&u!==void 0?u:void 0})});if(i)throw i;return je()&&!(!((r=e.options)===null||r===void 0)&&r.skipBrowserRedirect)&&window.location.assign(n==null?void 0:n.url),this._returnResult({data:{provider:e.provider,url:n==null?void 0:n.url},error:null})}catch(n){if(A(n))return this._returnResult({data:{provider:e.provider,url:null},error:n});throw n}}async linkIdentityIdToken(e){return await this._useSession(async r=>{var n;try{const{error:i,data:{session:a}}=r;if(i)throw i;const{options:o,provider:l,token:c,access_token:d,nonce:u}=e,m=await L(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(n=a==null?void 0:a.access_token)!==null&&n!==void 0?n:void 0,body:{provider:l,id_token:c,access_token:d,nonce:u,link_identity:!0,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:ut}),{data:h,error:f}=m;return f?this._returnResult({data:{user:null,session:null},error:f}):!h||!h.session||!h.user?this._returnResult({data:{user:null,session:null},error:new ws}):(h.session&&(await this._saveSession(h.session),await this._notifyAllSubscribers("USER_UPDATED",h.session)),this._returnResult({data:h,error:f}))}catch(i){if(await be(this.storage,`${this.storageKey}-code-verifier`),A(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}})}async unlinkIdentity(e){try{return await this._useSession(async r=>{var n,i;const{data:a,error:o}=r;if(o)throw o;return await L(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(i=(n=a.session)===null||n===void 0?void 0:n.access_token)!==null&&i!==void 0?i:void 0})})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}}async _refreshAccessToken(e){const r=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(r,"begin");try{const n=Date.now();return await lw(async i=>(i>0&&await ow(200*Math.pow(2,i-1)),this._debug(r,"refreshing attempt",i),await L(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:ut})),(i,a)=>{const o=200*Math.pow(2,i);return a&&zi(a)&&Date.now()+o-n<Ws})}catch(n){if(this._debug(r,"error",n),A(n))return this._returnResult({data:{session:null,user:null},error:n});throw n}finally{this._debug(r,"end")}}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}async _handleProviderSignIn(e,r){const n=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:r.redirectTo,scopes:r.scopes,queryParams:r.queryParams});return this._debug("#_handleProviderSignIn()","provider",e,"options",r,"url",n),je()&&!r.skipBrowserRedirect&&window.location.assign(n),{data:{provider:e,url:n},error:null}}async _recoverAndRefresh(){var e,r;const n="#_recoverAndRefresh()";this._debug(n,"begin");try{const i=await bs(this.storage,this.storageKey);if(i&&this.userStorage){let o=await bs(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!o&&(o={user:i.user},await Gs(this.userStorage,this.storageKey+"-user",o)),i.user=(e=o==null?void 0:o.user)!==null&&e!==void 0?e:Do()}else if(i&&!i.user&&!i.user){const o=await bs(this.storage,this.storageKey+"-user");o&&(o!=null&&o.user)?(i.user=o.user,await be(this.storage,this.storageKey+"-user"),await Gs(this.storage,this.storageKey,i)):i.user=Do()}if(this._debug(n,"session from storage",i),!this._isValidSession(i)){this._debug(n,"session is not valid"),i!==null&&await this._removeSession();return}const a=((r=i.expires_at)!==null&&r!==void 0?r:1/0)*1e3-Date.now()<Ro;if(this._debug(n,`session has${a?"":" not"} expired with margin of ${Ro}s`),a){if(this.autoRefreshToken&&i.refresh_token){const{error:o}=await this._callRefreshToken(i.refresh_token);o&&(console.error(o),zi(o)||(this._debug(n,"refresh failed with a non-retryable error, removing the session",o),await this._removeSession()))}}else if(i.user&&i.user.__isUserNotAvailableProxy===!0)try{const{data:o,error:l}=await this._getUser(i.access_token);!l&&(o!=null&&o.user)?(i.user=o.user,await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)):this._debug(n,"could not get user data, skipping SIGNED_IN notification")}catch(o){console.error("Error getting user data:",o),this._debug(n,"error getting user data, skipping SIGNED_IN notification",o)}else await this._notifyAllSubscribers("SIGNED_IN",i)}catch(i){this._debug(n,"error",i),console.error(i);return}finally{this._debug(n,"end")}}async _callRefreshToken(e){var r,n;if(!e)throw new Ie;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const i=`#_callRefreshToken(${e.substring(0,5)}...)`;this._debug(i,"begin");try{this.refreshingDeferred=new Ka;const{data:a,error:o}=await this._refreshAccessToken(e);if(o)throw o;if(!a.session)throw new Ie;await this._saveSession(a.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",a.session);const l={data:a.session,error:null};return this.refreshingDeferred.resolve(l),l}catch(a){if(this._debug(i,"error",a),A(a)){const o={data:null,error:a};return zi(a)||await this._removeSession(),(r=this.refreshingDeferred)===null||r===void 0||r.resolve(o),o}throw(n=this.refreshingDeferred)===null||n===void 0||n.reject(a),a}finally{this.refreshingDeferred=null,this._debug(i,"end")}}async _notifyAllSubscribers(e,r,n=!0){const i=`#_notifyAllSubscribers(${e})`;this._debug(i,"begin",r,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:e,session:r});const a=[],o=Array.from(this.stateChangeEmitters.values()).map(async l=>{try{await l.callback(e,r)}catch(c){a.push(c)}});if(await Promise.all(o),a.length>0){for(let l=0;l<a.length;l+=1)console.error(a[l]);throw a[0]}}finally{this._debug(i,"end")}}async _saveSession(e){this._debug("#_saveSession()",e),this.suppressGetSessionWarning=!0,await be(this.storage,`${this.storageKey}-code-verifier`);const r=Object.assign({},e),n=r.user&&r.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!n&&r.user&&await Gs(this.userStorage,this.storageKey+"-user",{user:r.user});const i=Object.assign({},r);delete i.user;const a=lm(i);await Gs(this.storage,this.storageKey,a)}else{const i=lm(r);await Gs(this.storage,this.storageKey,i)}}async _removeSession(){this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await be(this.storage,this.storageKey),await be(this.storage,this.storageKey+"-code-verifier"),await be(this.storage,this.storageKey+"-user"),this.userStorage&&await be(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&je()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(r){console.error("removing visibilitychange callback failed",r)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const e=setInterval(()=>this._autoRefreshTokenTick(),Ws);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async r=>{const{data:{session:n}}=r;if(!n||!n.refresh_token||!n.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const i=Math.floor((n.expires_at*1e3-e)/Ws);this._debug("#_autoRefreshTokenTick()",`access token expires in ${i} ticks, a tick lasts ${Ws}ms, refresh threshold is ${Jl} ticks`),i<=Jl&&await this._callRefreshToken(n.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e.isAcquireTimeout||e instanceof pd)this._debug("auto refresh token tick lock not available");else throw e}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!je()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const r=`#_onVisibilityChanged(${e})`;this._debug(r,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),e||(await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(r,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,r,n){const i=[`provider=${encodeURIComponent(r)}`];if(n!=null&&n.redirectTo&&i.push(`redirect_to=${encodeURIComponent(n.redirectTo)}`),n!=null&&n.scopes&&i.push(`scopes=${encodeURIComponent(n.scopes)}`),this.flowType==="pkce"){const[a,o]=await Bs(this.storage,this.storageKey),l=new URLSearchParams({code_challenge:`${encodeURIComponent(a)}`,code_challenge_method:`${encodeURIComponent(o)}`});i.push(l.toString())}if(n!=null&&n.queryParams){const a=new URLSearchParams(n.queryParams);i.push(a.toString())}return n!=null&&n.skipBrowserRedirect&&i.push(`skip_http_redirect=${n.skipBrowserRedirect}`),`${e}?${i.join("&")}`}async _unenroll(e){try{return await this._useSession(async r=>{var n;const{data:i,error:a}=r;return a?this._returnResult({data:null,error:a}):await L(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(n=i==null?void 0:i.session)===null||n===void 0?void 0:n.access_token})})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}}async _enroll(e){try{return await this._useSession(async r=>{var n,i;const{data:a,error:o}=r;if(o)return this._returnResult({data:null,error:o});const l=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType==="phone"?{phone:e.phone}:e.factorType==="totp"?{issuer:e.issuer}:{}),{data:c,error:d}=await L(this.fetch,"POST",`${this.url}/factors`,{body:l,headers:this.headers,jwt:(n=a==null?void 0:a.session)===null||n===void 0?void 0:n.access_token});return d?this._returnResult({data:null,error:d}):(e.factorType==="totp"&&c.type==="totp"&&(!((i=c==null?void 0:c.totp)===null||i===void 0)&&i.qr_code)&&(c.totp.qr_code=`data:image/svg+xml;utf-8,${c.totp.qr_code}`),this._returnResult({data:c,error:null}))})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}}async _verify(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async r=>{var n;const{data:i,error:a}=r;if(a)return this._returnResult({data:null,error:a});const o=Object.assign({challenge_id:e.challengeId},"webauthn"in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type==="create"?zw(e.webauthn.credential_response):Mw(e.webauthn.credential_response)})}:{code:e.code}),{data:l,error:c}=await L(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:o,headers:this.headers,jwt:(n=i==null?void 0:i.session)===null||n===void 0?void 0:n.access_token});return c?this._returnResult({data:null,error:c}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+l.expires_in},l)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",l),this._returnResult({data:l,error:c}))})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}})}async _challenge(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async r=>{var n;const{data:i,error:a}=r;if(a)return this._returnResult({data:null,error:a});const o=await L(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:(n=i==null?void 0:i.session)===null||n===void 0?void 0:n.access_token});if(o.error)return o;const{data:l}=o;if(l.type!=="webauthn")return{data:l,error:null};switch(l.webauthn.type){case"create":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:Lw(l.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:Dw(l.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}})}async _challengeAndVerify(e){const{data:r,error:n}=await this._challenge({factorId:e.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:e.factorId,challengeId:r.id,code:e.code})}async _listFactors(){var e;const{data:{user:r},error:n}=await this.getUser();if(n)return{data:null,error:n};const i={all:[],phone:[],totp:[],webauthn:[]};for(const a of(e=r==null?void 0:r.factors)!==null&&e!==void 0?e:[])i.all.push(a),a.status==="verified"&&i[a.factor_type].push(a);return{data:i,error:null}}async _getAuthenticatorAssuranceLevel(){var e,r;const{data:{session:n},error:i}=await this.getSession();if(i)return this._returnResult({data:null,error:i});if(!n)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:a}=Lo(n.access_token);let o=null;a.aal&&(o=a.aal);let l=o;((r=(e=n.user.factors)===null||e===void 0?void 0:e.filter(u=>u.status==="verified"))!==null&&r!==void 0?r:[]).length>0&&(l="aal2");const d=a.amr||[];return{data:{currentLevel:o,nextLevel:l,currentAuthenticationMethods:d},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async r=>{const{data:{session:n},error:i}=r;return i?this._returnResult({data:null,error:i}):n?await L(this.fetch,"GET",`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:n.access_token,xform:a=>({data:a,error:null})}):this._returnResult({data:null,error:new Ie})})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}}async _approveAuthorization(e,r){try{return await this._useSession(async n=>{const{data:{session:i},error:a}=n;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new Ie});const o=await L(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:i.access_token,body:{action:"approve"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&je()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(n){if(A(n))return this._returnResult({data:null,error:n});throw n}}async _denyAuthorization(e,r){try{return await this._useSession(async n=>{const{data:{session:i},error:a}=n;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new Ie});const o=await L(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:i.access_token,body:{action:"deny"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&je()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(n){if(A(n))return this._returnResult({data:null,error:n});throw n}}async _listOAuthGrants(){try{return await this._useSession(async e=>{const{data:{session:r},error:n}=e;return n?this._returnResult({data:null,error:n}):r?await L(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,xform:i=>({data:i,error:null})}):this._returnResult({data:null,error:new Ie})})}catch(e){if(A(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async r=>{const{data:{session:n},error:i}=r;return i?this._returnResult({data:null,error:i}):n?(await L(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Ie})})}catch(r){if(A(r))return this._returnResult({data:null,error:r});throw r}}async fetchJwk(e,r={keys:[]}){let n=r.keys.find(l=>l.kid===e);if(n)return n;const i=Date.now();if(n=this.jwks.keys.find(l=>l.kid===e),n&&this.jwks_cached_at+Ky>i)return n;const{data:a,error:o}=await L(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(o)throw o;return!a.keys||a.keys.length===0||(this.jwks=a,this.jwks_cached_at=i,n=a.keys.find(l=>l.kid===e),!n)?null:n}async getClaims(e,r={}){try{let n=e;if(!n){const{data:f,error:v}=await this.getSession();if(v||!f.session)return this._returnResult({data:null,error:v});n=f.session.access_token}const{header:i,payload:a,signature:o,raw:{header:l,payload:c}}=Lo(n);r!=null&&r.allowExpired||xw(a.exp);const d=!i.alg||i.alg.startsWith("HS")||!i.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(i.kid,r!=null&&r.keys?{keys:r.keys}:r==null?void 0:r.jwks);if(!d){const{error:f}=await this.getUser(n);if(f)throw f;return{data:{claims:a,header:i,signature:o},error:null}}const u=fw(i.alg),m=await crypto.subtle.importKey("jwk",d,u,!0,["verify"]);if(!await crypto.subtle.verify(u,m,o,sw(`${l}.${c}`)))throw new ga("Invalid JWT signature");return{data:{claims:a,header:i,signature:o},error:null}}catch(n){if(A(n))return this._returnResult({data:null,error:n});throw n}}};xd.nextInstanceID={};const Gw=hd,Qw=xd,Yw=Object.freeze(Object.defineProperty({__proto__:null,AuthAdminApi:Gw,AuthApiError:vf,AuthClient:Qw,AuthError:Nr,AuthImplicitGrantRedirectError:Hr,AuthInvalidCredentialsError:Vr,AuthInvalidJwtError:ga,AuthInvalidTokenResponseError:ws,AuthPKCEGrantCodeExchangeError:Xl,AuthRetryableFetchError:fa,AuthSessionMissingError:Ie,AuthUnknownError:Jt,AuthWeakPasswordError:ec,CustomAuthError:Ft,GoTrueAdminApi:hd,GoTrueClient:xd,NavigatorLockAcquireTimeoutError:kf,SIGN_OUT_SCOPES:Mi,isAuthApiError:bf,isAuthError:A,isAuthImplicitGrantRedirectError:yf,isAuthRetryableFetchError:zi,isAuthSessionMissingError:jf,isAuthWeakPasswordError:Jy,lockInternals:_s,navigatorLock:Sf,processLock:Sw},Symbol.toStringTag,{value:"Module"})),Pf=kn(Yw);Object.defineProperty(Ya,"__esModule",{value:!0});Ya.SupabaseAuthClient=void 0;const Kw=Pf;class Jw extends Kw.AuthClient{constructor(e){super(e)}}Ya.SupabaseAuthClient=Jw;Object.defineProperty(ua,"__esModule",{value:!0});const Zw=Ox,Xw=Pe,eN=Zx,tN=Uy,yi=hf,sN=pf,fm=ps,rN=Ya;let nN=class{constructor(e,r,n){var i,a,o;this.supabaseUrl=e,this.supabaseKey=r;const l=(0,fm.validateSupabaseUrl)(e);if(!r)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",l),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",l),this.storageUrl=new URL("storage/v1",l),this.functionsUrl=new URL("functions/v1",l);const c=`sb-${l.hostname.split(".")[0]}-auth-token`,d={db:yi.DEFAULT_DB_OPTIONS,realtime:yi.DEFAULT_REALTIME_OPTIONS,auth:Object.assign(Object.assign({},yi.DEFAULT_AUTH_OPTIONS),{storageKey:c}),global:yi.DEFAULT_GLOBAL_OPTIONS},u=(0,fm.applySettingDefaults)(n??{},d);this.storageKey=(i=u.auth.storageKey)!==null&&i!==void 0?i:"",this.headers=(a=u.global.headers)!==null&&a!==void 0?a:{},u.accessToken?(this.accessToken=u.accessToken,this.auth=new Proxy({},{get:(m,h)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(h)} is not possible`)}})):this.auth=this._initSupabaseAuthClient((o=u.auth)!==null&&o!==void 0?o:{},this.headers,u.global.fetch),this.fetch=(0,sN.fetchWithAuth)(r,this._getAccessToken.bind(this),u.global.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers,accessToken:this._getAccessToken.bind(this)},u.realtime)),this.accessToken&&this.accessToken().then(m=>this.realtime.setAuth(m)).catch(m=>console.warn("Failed to set initial Realtime auth token:",m)),this.rest=new Xw.PostgrestClient(new URL("rest/v1",l).href,{headers:this.headers,schema:u.db.schema,fetch:this.fetch}),this.storage=new tN.StorageClient(this.storageUrl.href,this.headers,this.fetch,n==null?void 0:n.storage),u.accessToken||this._listenForAuthEvents()}get functions(){return new Zw.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,r={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,r,n)}channel(e,r={config:{}}){return this.realtime.channel(e,r)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var e,r;if(this.accessToken)return await this.accessToken();const{data:n}=await this.auth.getSession();return(r=(e=n.session)===null||e===void 0?void 0:e.access_token)!==null&&r!==void 0?r:this.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:r,detectSessionInUrl:n,storage:i,userStorage:a,storageKey:o,flowType:l,lock:c,debug:d,throwOnError:u},m,h){const f={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new rN.SupabaseAuthClient({url:this.authUrl.href,headers:Object.assign(Object.assign({},f),m),storageKey:o,autoRefreshToken:e,persistSession:r,detectSessionInUrl:n,storage:i,userStorage:a,flowType:l,lock:c,debug:d,throwOnError:u,fetch:h,hasCustomAuthorizationHeader:Object.keys(this.headers).some(v=>v.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new eN.RealtimeClient(this.realtimeUrl.href,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((r,n)=>{this._handleTokenChanged(r,"CLIENT",n==null?void 0:n.access_token)})}_handleTokenChanged(e,r,n){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e==="SIGNED_OUT"&&(this.realtime.setAuth(),r=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};ua.default=nN;(function(s){var e=Nt&&Nt.__createBinding||(Object.create?function(u,m,h,f){f===void 0&&(f=h);var v=Object.getOwnPropertyDescriptor(m,h);(!v||("get"in v?!m.__esModule:v.writable||v.configurable))&&(v={enumerable:!0,get:function(){return m[h]}}),Object.defineProperty(u,f,v)}:function(u,m,h,f){f===void 0&&(f=h),u[f]=m[h]}),r=Nt&&Nt.__exportStar||function(u,m){for(var h in u)h!=="default"&&!Object.prototype.hasOwnProperty.call(m,h)&&e(m,u,h)},n=Nt&&Nt.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(s,"__esModule",{value:!0}),s.createClient=s.SupabaseClient=s.FunctionRegion=s.FunctionsError=s.FunctionsRelayError=s.FunctionsFetchError=s.FunctionsHttpError=s.PostgrestError=void 0;const i=n(ua);r(Pf,s);var a=Pe;Object.defineProperty(s,"PostgrestError",{enumerable:!0,get:function(){return a.PostgrestError}});var o=Ox;Object.defineProperty(s,"FunctionsHttpError",{enumerable:!0,get:function(){return o.FunctionsHttpError}}),Object.defineProperty(s,"FunctionsFetchError",{enumerable:!0,get:function(){return o.FunctionsFetchError}}),Object.defineProperty(s,"FunctionsRelayError",{enumerable:!0,get:function(){return o.FunctionsRelayError}}),Object.defineProperty(s,"FunctionsError",{enumerable:!0,get:function(){return o.FunctionsError}}),Object.defineProperty(s,"FunctionRegion",{enumerable:!0,get:function(){return o.FunctionRegion}}),r(Zx,s);var l=ua;Object.defineProperty(s,"SupabaseClient",{enumerable:!0,get:function(){return n(l).default}});const c=(u,m,h)=>new i.default(u,m,h);s.createClient=c;function d(){if(typeof window<"u"||typeof process>"u")return!1;const u=process.version;if(u==null)return!1;const m=u.match(/^v(\d+)\./);return m?parseInt(m[1],10)<=18:!1}d()&&console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217")})(ad);const Tf=bm(ad),iN=Of({__proto__:null,default:Tf},[ad]),{PostgrestError:x2,FunctionsHttpError:f2,FunctionsFetchError:g2,FunctionsRelayError:v2,FunctionsError:b2,FunctionRegion:j2,SupabaseClient:y2,createClient:aN,GoTrueAdminApi:w2,GoTrueClient:N2,AuthAdminApi:_2,AuthClient:k2,navigatorLock:S2,NavigatorLockAcquireTimeoutError:E2,lockInternals:C2,processLock:P2,SIGN_OUT_SCOPES:T2,AuthError:A2,AuthApiError:O2,AuthUnknownError:q2,CustomAuthError:R2,AuthSessionMissingError:L2,AuthInvalidTokenResponseError:D2,AuthInvalidCredentialsError:z2,AuthImplicitGrantRedirectError:M2,AuthPKCEGrantCodeExchangeError:I2,AuthRetryableFetchError:$2,AuthWeakPasswordError:U2,AuthInvalidJwtError:F2,isAuthError:B2,isAuthApiError:V2,isAuthSessionMissingError:H2,isAuthImplicitGrantRedirectError:W2,isAuthRetryableFetchError:G2,isAuthWeakPasswordError:Q2,RealtimePresence:Y2,RealtimeChannel:K2,RealtimeClient:J2,REALTIME_LISTEN_TYPES:Z2,REALTIME_POSTGRES_CHANGES_LISTEN_EVENT:X2,REALTIME_PRESENCE_LISTEN_EVENTS:e1,REALTIME_SUBSCRIBE_STATES:t1,REALTIME_CHANNEL_STATES:s1}=Tf||iN,oN="https://xhsgpxszukgfgtkjsrys.supabase.co",lN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inhoc2dweHN6dWtnZmd0a2pzcnlzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjQ4MzgxOTQsImV4cCI6MjA4MDQxNDE5NH0.vmMJ2HR9s6Awf55JfMC9t6-hyBsVFM4Ay-vN0DbUYf8",_r=aN(oN,lN),cN=()=>{const[s,e]=k.useState(!1),[r,n]=k.useState({kine_prenom_nom:"",nom_cabinet:"",email:"",telephone:"",ville_departement:"",structure_cabinet:"",volume_mensuel:"",delai_moyen_rdv:"",questions_attentes:"",comment_entendu_parler:""}),[i,a]=k.useState(!1),[o,l]=k.useState("idle"),c=async u=>{u.preventDefault(),a(!0),l("idle");try{const{error:m}=await _r.from("kine_demo_leads").insert([r]);if(m){console.error("Error saving demo lead:",m),l("error");return}l("success"),n({kine_prenom_nom:"",nom_cabinet:"",email:"",telephone:"",ville_departement:"",structure_cabinet:"",volume_mensuel:"",delai_moyen_rdv:"",questions_attentes:"",comment_entendu_parler:""}),setTimeout(()=>{e(!1),l("idle")},2e3)}catch(m){console.error("Error submitting form:",m),l("error")}finally{a(!1)}},d=[{icon:t.jsx(On,{className:"w-6 h-6"}),title:"Libérez-vous de vos douleurs lombaires",subtitle:"Programme personnalisé et spécifique à vos problématiques",url:"https://tally.so/r/wQpYYA",color:"rose"}];return t.jsxs("div",{className:"min-h-screen relative overflow-hidden py-12 px-4 bg-gradient-to-br from-primary-lightest via-white to-primary-lightest",children:[t.jsx(V,{title:"Liens Malodo | Tous nos réseaux et ressources en un seul endroit",description:"Retrouvez tous les liens importants de Malodo : test gratuit, réseaux sociaux, partenariats et ressources pour votre bien-être lombaire. Suivez-nous sur Instagram et LinkedIn.",keywords:"liens Malodo, réseaux sociaux, Instagram Malodo, LinkedIn, ressources lombalgie",canonicalUrl:"https://malodo.pro/links"}),t.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[t.jsx("div",{className:"absolute top-20 -left-20 w-96 h-96 bg-primary/30 rounded-full blur-3xl"}),t.jsx("div",{className:"absolute bottom-20 -right-20 w-96 h-96 bg-primary-light/20 rounded-full blur-3xl"}),t.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[500px] h-[500px] bg-primary/10 rounded-full blur-3xl"})]}),t.jsxs("div",{className:"max-w-2xl mx-auto relative z-10",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("div",{className:"w-32 h-32 mx-auto mb-4 bg-primary rounded-3xl shadow-2xl p-4 backdrop-blur-sm",children:t.jsx("img",{src:"/logo_blanc_sans_ecritures_fond_vide.png",alt:"Malodo Logo",className:"w-full h-full object-contain drop-shadow-lg"})}),t.jsx("h1",{className:"text-3xl font-bold text-slate-900 mb-3",children:"malodo"}),t.jsxs("div",{className:"flex items-center justify-center gap-4 mb-2",children:[t.jsx("a",{href:"https://malodo.pro",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:text-primary-dark transition-colors","aria-label":"Site web Malodo",children:t.jsx(Kc,{className:"w-6 h-6"})}),t.jsx("a",{href:"https://www.instagram.com/malodo_officiel/",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:text-primary-dark transition-colors","aria-label":"Instagram",children:t.jsx(Jc,{className:"w-6 h-6"})}),t.jsx("a",{href:"https://www.linkedin.com/company/malodo-pro",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:text-primary-dark transition-colors","aria-label":"LinkedIn",children:t.jsx(yn,{className:"w-6 h-6"})})]})]}),t.jsx("div",{className:"space-y-4 mb-6",children:d.map((u,m)=>u.color==="rose"?t.jsx("a",{href:u.url,target:u.url.startsWith("http")?"_blank":"_self",rel:u.url.startsWith("http")?"noopener noreferrer":void 0,className:"block w-full rounded-full px-6 py-4 transition-all duration-300 hover:shadow-2xl hover:scale-[1.02] group",style:{backgroundColor:"#ec4899",":hover":{backgroundColor:"#db2777"}},onMouseEnter:f=>{f.currentTarget.style.backgroundColor="#db2777"},onMouseLeave:f=>{f.currentTarget.style.backgroundColor="#ec4899"},children:t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"text-white group-hover:scale-110 transition-transform",children:u.icon}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("div",{className:"font-semibold text-white mb-0.5",children:u.title}),t.jsx("div",{className:"text-sm text-rose-50",children:u.subtitle})]})]})},m):t.jsx("a",{href:u.url,target:u.url.startsWith("http")?"_blank":"_self",rel:u.url.startsWith("http")?"noopener noreferrer":void 0,className:"block w-full bg-white/80 backdrop-blur-md border-2 border-primary/40 hover:border-primary rounded-full px-6 py-4 hover:bg-white/90 transition-all duration-300 hover:shadow-2xl hover:scale-[1.02] group",children:t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"text-primary group-hover:scale-110 transition-transform",children:u.icon}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("div",{className:"font-semibold text-primary-dark mb-0.5",children:u.title}),t.jsx("div",{className:"text-sm text-slate-600",children:u.subtitle})]})]})},m))}),t.jsxs("div",{className:"bg-white/60 backdrop-blur-sm rounded-2xl shadow-lg overflow-hidden border border-primary/30",children:[t.jsx("button",{onClick:()=>e(!s),className:"w-full px-6 py-4 bg-primary hover:bg-primary-dark rounded-full text-white font-semibold text-base flex items-center justify-center transition-all hover:shadow-xl hover:scale-[1.02]",children:t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(Ct,{className:"w-5 h-5"}),t.jsx("span",{children:"Vous êtes kiné et souhaitez aider vos patients avec Malodo ?"})]})}),s&&t.jsxs("div",{className:"px-6 pb-6 pt-6 bg-white/80 backdrop-blur-sm",children:[t.jsx("h3",{className:"text-lg font-semibold text-slate-800 mb-2",children:"Demander une démo"}),t.jsx("p",{className:"text-slate-600 text-sm mb-4 leading-relaxed",children:"Découvrez comment Malodo peut transformer la salle d'attente de votre cabinet en un espace actif de soulagement pour vos patients lombalgiques"}),t.jsxs("form",{onSubmit:c,className:"space-y-3",children:[t.jsx("input",{type:"text",placeholder:"Prénom et nom *",value:r.kine_prenom_nom,onChange:u=>n({...r,kine_prenom_nom:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 placeholder-slate-500 focus:outline-none focus:border-primary focus:bg-white transition-all"}),t.jsx("input",{type:"text",placeholder:"Nom du cabinet *",value:r.nom_cabinet,onChange:u=>n({...r,nom_cabinet:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 placeholder-slate-500 focus:outline-none focus:border-primary focus:bg-white transition-all"}),t.jsx("input",{type:"email",placeholder:"Email professionnel *",value:r.email,onChange:u=>n({...r,email:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 placeholder-slate-500 focus:outline-none focus:border-primary focus:bg-white transition-all"}),t.jsx("input",{type:"tel",placeholder:"Téléphone *",value:r.telephone,onChange:u=>n({...r,telephone:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 placeholder-slate-500 focus:outline-none focus:border-primary focus:bg-white transition-all"}),t.jsx("input",{type:"text",placeholder:"Ville / Département *",value:r.ville_departement,onChange:u=>n({...r,ville_departement:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 placeholder-slate-500 focus:outline-none focus:border-primary focus:bg-white transition-all"}),t.jsxs("select",{value:r.structure_cabinet,onChange:u=>n({...r,structure_cabinet:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 focus:outline-none focus:border-primary focus:bg-white transition-all",children:[t.jsx("option",{value:"",children:"Type de structure *"}),t.jsx("option",{value:"cabinet_liberal",children:"Cabinet libéral"}),t.jsx("option",{value:"centre_sante",children:"Centre de santé"}),t.jsx("option",{value:"hopital",children:"Hôpital"}),t.jsx("option",{value:"maison_sante",children:"Maison de santé"}),t.jsx("option",{value:"autre",children:"Autre"})]}),t.jsxs("select",{value:r.volume_mensuel,onChange:u=>n({...r,volume_mensuel:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 focus:outline-none focus:border-primary focus:bg-white transition-all",children:[t.jsx("option",{value:"",children:"Volume de patients lombalgiques/mois *"}),t.jsx("option",{value:"moins_10",children:"Moins de 10"}),t.jsx("option",{value:"10_30",children:"10 à 30"}),t.jsx("option",{value:"30_50",children:"30 à 50"}),t.jsx("option",{value:"plus_50",children:"Plus de 50"})]}),t.jsxs("select",{value:r.delai_moyen_rdv,onChange:u=>n({...r,delai_moyen_rdv:u.target.value}),required:!0,className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 focus:outline-none focus:border-primary focus:bg-white transition-all",children:[t.jsx("option",{value:"",children:"Délai moyen entre prescription et RDV *"}),t.jsx("option",{value:"moins_1_semaine",children:"Moins d'1 semaine"}),t.jsx("option",{value:"1_2_semaines",children:"1 à 2 semaines"}),t.jsx("option",{value:"2_4_semaines",children:"2 à 4 semaines"}),t.jsx("option",{value:"plus_1_mois",children:"Plus d'1 mois"})]}),t.jsx("textarea",{placeholder:"Questions spécifiques ou attentes (optionnel)",value:r.questions_attentes,onChange:u=>n({...r,questions_attentes:u.target.value}),rows:3,className:"w-full px-5 py-3 rounded-2xl border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 placeholder-slate-500 focus:outline-none focus:border-primary focus:bg-white transition-all resize-none"}),t.jsx("input",{type:"text",placeholder:"Comment avez-vous entendu parler de Malodo ? (optionnel)",value:r.comment_entendu_parler,onChange:u=>n({...r,comment_entendu_parler:u.target.value}),className:"w-full px-5 py-3 rounded-full border-2 border-primary/40 bg-white/80 backdrop-blur-sm text-slate-800 placeholder-slate-500 focus:outline-none focus:border-primary focus:bg-white transition-all"}),t.jsx("button",{type:"submit",disabled:i,className:"w-full bg-primary text-white font-semibold py-3 rounded-full hover:bg-primary-dark hover:shadow-lg transition-all disabled:opacity-50 disabled:cursor-not-allowed",children:i?"Envoi en cours...":"Demander une démo"}),o==="success"&&t.jsx("div",{className:"text-primary-dark text-center text-sm bg-primary-lightest py-2 rounded-full",children:"Demande envoyée avec succès ! Nous vous recontactons rapidement."}),o==="error"&&t.jsx("div",{className:"text-red-700 text-center text-sm bg-red-100 py-2 rounded-full",children:"Une erreur est survenue. Réessayez."})]}),t.jsx("div",{className:"mt-4 pt-4 border-t border-primary/40",children:t.jsxs("a",{href:"https://www.linkedin.com/in/jimmy-renaud-malodo/",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 text-sm text-primary hover:text-primary-dark transition-colors",children:[t.jsx(yn,{className:"w-4 h-4"}),t.jsx("span",{children:"Suivez-moi, Jimmy, kiné et fondateur de Malodo, j'explique les avancées de Malodo et les insights"})]})})]})]}),t.jsx("div",{className:"text-center mt-8 text-sm text-slate-500",children:t.jsx("p",{children:"© 2025 Malodo - Votre dos mérite mieux"})})]})]})},dN=()=>{const s=[{icon:t.jsx(On,{className:"w-6 h-6"}),title:"Démarrer mon programme personnalisé",subtitle:"Test gratuit • 15 minutes • Recommandation immédiate",url:"https://tally.so/r/wQpYYA",color:"primary",highlight:!0},{icon:t.jsx(ku,{className:"w-6 h-6"}),title:"Partenariat Kinésithérapeutes",subtitle:"Accompagnez vos patients entre prescription et séances",url:"/partenariat-kine",color:"teal"},{icon:t.jsx(Rl,{className:"w-6 h-6"}),title:"Partenariat Médecins",subtitle:"Offrez une solution immédiate à vos patients lombalgiques",url:"/partenariat-medecins",color:"blue"},{icon:t.jsx(mv,{className:"w-6 h-6"}),title:"Nos formules et tarifs",subtitle:"Découvrez nos programmes adaptés à chaque situation",url:"/tarifs",color:"purple"},{icon:t.jsx(Rp,{className:"w-6 h-6"}),title:"Blog & Ressources",subtitle:"Conseils experts pour comprendre et soulager votre dos",url:"/blog",color:"orange"},{icon:t.jsx(zp,{className:"w-6 h-6"}),title:"À propos de Malodo",subtitle:"Notre mission : vous accompagner dès le début de vos inconforts",url:"/a-propos",color:"slate"},{icon:t.jsx(wn,{className:"w-6 h-6"}),title:"Nous contacter",subtitle:"Une question ? Notre équipe est à votre écoute",url:"/contact",color:"green"}],e=[{icon:t.jsx(Jc,{className:"w-7 h-7"}),label:"Instagram",url:"https://www.instagram.com/malodo_officiel/",color:"from-purple-500 to-pink-500"},{icon:t.jsx(yn,{className:"w-7 h-7"}),label:"LinkedIn",url:"https://www.linkedin.com/in/jimmy-renaud-malodo/",color:"from-blue-600 to-blue-700"},{icon:t.jsx(Kc,{className:"w-7 h-7"}),label:"Site web",url:"https://malodo.pro",color:"from-teal-500 to-teal-600"}],r=(n,i=!1)=>{if(i)return{bg:"bg-gradient-to-r from-primary to-primary-dark",hover:"hover:from-primary-dark hover:to-primary",text:"text-white",subtitleText:"text-white/90"};const a={primary:{bg:"bg-white/90 border-2 border-primary/40",hover:"hover:border-primary hover:bg-white",text:"text-primary-dark",subtitleText:"text-slate-600"},teal:{bg:"bg-white/90 border-2 border-teal-400/40",hover:"hover:border-teal-500 hover:bg-white",text:"text-teal-700",subtitleText:"text-slate-600"},blue:{bg:"bg-white/90 border-2 border-blue-400/40",hover:"hover:border-blue-500 hover:bg-white",text:"text-blue-700",subtitleText:"text-slate-600"},purple:{bg:"bg-white/90 border-2 border-purple-400/40",hover:"hover:border-purple-500 hover:bg-white",text:"text-purple-700",subtitleText:"text-slate-600"},orange:{bg:"bg-white/90 border-2 border-orange-400/40",hover:"hover:border-orange-500 hover:bg-white",text:"text-orange-700",subtitleText:"text-slate-600"},slate:{bg:"bg-white/90 border-2 border-slate-400/40",hover:"hover:border-slate-500 hover:bg-white",text:"text-slate-700",subtitleText:"text-slate-600"},green:{bg:"bg-white/90 border-2 border-green-400/40",hover:"hover:border-green-500 hover:bg-white",text:"text-green-700",subtitleText:"text-slate-600"}};return a[n]||a.primary};return t.jsxs("div",{className:"min-h-screen relative overflow-hidden py-12 px-4 bg-gradient-to-br from-primary-lightest via-white to-accent-light",children:[t.jsx(V,{title:"Mes liens Malodo | Ressources et partenariats en un clic",description:"Accédez à toutes les ressources Malodo : test gratuit, partenariats professionnels, blog, tarifs et plus encore. Votre hub central pour tout savoir sur notre accompagnement lombaire.",keywords:"liens Malodo, ressources lombalgie, partenariat kiné, partenariat médecin, blog dos",canonicalUrl:"https://malodo.pro/mes-liens"}),t.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[t.jsx("div",{className:"absolute top-20 -left-20 w-96 h-96 bg-primary/20 rounded-full blur-3xl"}),t.jsx("div",{className:"absolute bottom-20 -right-20 w-96 h-96 bg-accent/20 rounded-full blur-3xl"}),t.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[500px] h-[500px] bg-primary/10 rounded-full blur-3xl"})]}),t.jsxs("div",{className:"max-w-2xl mx-auto relative z-10",children:[t.jsxs("div",{className:"text-center mb-10",children:[t.jsx("div",{className:"w-32 h-32 mx-auto mb-6 bg-gradient-to-br from-primary to-primary-dark rounded-3xl shadow-2xl p-6 backdrop-blur-sm transform hover:scale-105 transition-transform duration-300",children:t.jsx("img",{src:"/logo_blanc_sans_ecritures_fond_vide.png",alt:"Malodo Logo",className:"w-full h-full object-contain drop-shadow-lg"})}),t.jsx("h1",{className:"text-4xl font-black text-slate-900 mb-3 tracking-tight",children:"malodo"}),t.jsx("p",{className:"text-lg text-slate-600 mb-6 max-w-md mx-auto leading-relaxed",children:"Votre allié pour retrouver un dos confortable et mobile"}),t.jsx("div",{className:"flex items-center justify-center gap-4",children:e.map((n,i)=>t.jsx("a",{href:n.url,target:"_blank",rel:"noopener noreferrer",className:`bg-gradient-to-r ${n.color} text-white p-3 rounded-full hover:shadow-lg transform hover:scale-110 transition-all duration-300`,"aria-label":n.label,children:n.icon},i))})]}),t.jsx("div",{className:"space-y-4 mb-8",children:s.map((n,i)=>{const a=r(n.color,n.highlight);return t.jsx("a",{href:n.url,target:n.url.startsWith("http")?"_blank":"_self",rel:n.url.startsWith("http")?"noopener noreferrer":void 0,className:`block w-full ${a.bg} backdrop-blur-md rounded-2xl px-6 py-5 ${a.hover} transition-all duration-300 hover:shadow-xl hover:scale-[1.02] group`,children:t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:`${a.text} group-hover:scale-110 transition-transform flex-shrink-0`,children:n.icon}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("div",{className:`font-bold ${a.text} mb-1 text-base`,children:n.title}),t.jsx("div",{className:`text-sm ${a.subtitleText} leading-snug`,children:n.subtitle})]})]})},i)})}),t.jsxs("div",{className:"bg-gradient-to-br from-primary-lightest to-white/80 backdrop-blur-sm rounded-2xl p-6 shadow-lg border-2 border-primary/20 text-center",children:[t.jsx("h2",{className:"text-xl font-bold text-slate-900 mb-2",children:"Professionnel de santé ?"}),t.jsx("p",{className:"text-slate-600 text-sm mb-4 leading-relaxed",children:"Découvrez comment Malodo peut devenir votre allié pour accompagner vos patients lombalgiques entre la prescription et les séances de kinésithérapie."}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[t.jsxs("a",{href:"/partenariat-kine",className:"inline-flex items-center justify-center gap-2 bg-teal-500 hover:bg-teal-600 text-white font-semibold py-3 px-6 rounded-xl transition-all duration-300 shadow-md hover:shadow-lg",children:[t.jsx(ku,{className:"w-5 h-5"}),"Kinés"]}),t.jsxs("a",{href:"/partenariat-medecins",className:"inline-flex items-center justify-center gap-2 bg-blue-500 hover:bg-blue-600 text-white font-semibold py-3 px-6 rounded-xl transition-all duration-300 shadow-md hover:shadow-lg",children:[t.jsx(Rl,{className:"w-5 h-5"}),"Médecins"]})]})]}),t.jsxs("div",{className:"text-center mt-10 space-y-2",children:[t.jsx("p",{className:"text-sm text-slate-500",children:"© 2025 Malodo - Votre dos mérite mieux"}),t.jsxs("div",{className:"flex items-center justify-center gap-4 text-xs text-slate-400",children:[t.jsx("a",{href:"/mentions-legales",className:"hover:text-primary transition-colors",children:"Mentions légales"}),t.jsx("span",{children:"•"}),t.jsx("a",{href:"/politique-confidentialite",className:"hover:text-primary transition-colors",children:"Confidentialité"})]})]})]})]})},Af=({count:s,label:e,variant:r="light"})=>{const n=["https://images.pexels.com/photos/5215024/pexels-photo-5215024.jpeg?auto=compress&cs=tinysrgb&w=100","https://images.pexels.com/photos/8376177/pexels-photo-8376177.jpeg?auto=compress&cs=tinysrgb&w=100","https://images.pexels.com/photos/5327580/pexels-photo-5327580.jpeg?auto=compress&cs=tinysrgb&w=100"],i=r==="light"?"bg-white border-slate-200":"bg-slate-900/80 border-slate-700",a=r==="light"?"text-slate-900":"text-white";return t.jsxs("div",{className:`inline-flex items-center gap-3 px-4 py-2.5 rounded-full border backdrop-blur-sm shadow-lg ${i}`,children:[t.jsxs("div",{className:"flex -space-x-2",children:[n.map((o,l)=>t.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-white overflow-hidden bg-slate-200",children:t.jsx("img",{src:o,alt:"",className:"w-full h-full object-cover",loading:"lazy"})},l)),t.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-white bg-primary flex items-center justify-center",children:t.jsx("span",{className:"text-xs font-bold text-white",children:"+"})})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(Ct,{className:`w-4 h-4 ${a}`}),t.jsxs("div",{className:"flex items-baseline gap-1",children:[t.jsx("span",{className:`font-bold text-lg ${a}`,children:s}),t.jsx("span",{className:`text-sm ${r==="light"?"text-slate-600":"text-slate-300"}`,children:e})]})]})]})},uN=()=>{const[s,e]=k.useState(!1),[r,n]=k.useState(!1),[i,a]=k.useState(null),[o,l]=k.useState({kine_prenom_nom:"",nom_cabinet:"",email:"",telephone:"",ville_departement:"",structure_cabinet:"",volume_mensuel:"",delai_moyen_rdv:"",questions_attentes:"",comment_entendu_parler:""}),[c,d]=k.useState({kine_prenom_nom:"",nom_cabinet:"",adresse_postale:"",email_cabinet:"",telephone:"",site_web:"",nombre_kines:"",volume_mensuel:""}),[u,m]=k.useState(!1),[h,f]=k.useState(!1),[v,j]=k.useState("idle"),[w,p]=k.useState("idle"),x=async b=>{b.preventDefault(),m(!0),j("idle");try{const{error:N}=await _r.from("kine_demo_leads").insert([o]);if(N){console.error("Error saving demo lead:",N),j("error");return}j("success"),l({kine_prenom_nom:"",nom_cabinet:"",email:"",telephone:"",ville_departement:"",structure_cabinet:"",volume_mensuel:"",delai_moyen_rdv:"",questions_attentes:"",comment_entendu_parler:""})}catch(N){console.error("Error submitting demo form:",N),j("error")}finally{m(!1)}},g=async b=>{b.preventDefault(),f(!0),p("idle");try{const{error:N}=await _r.from("partner_leads").insert([c]);if(N){console.error("Error saving partner lead:",N),p("error");return}p("success"),d({kine_prenom_nom:"",nom_cabinet:"",adresse_postale:"",email_cabinet:"",telephone:"",site_web:"",nombre_kines:"",volume_mensuel:""})}catch(N){console.error("Error submitting partner form:",N),p("error")}finally{f(!1)}},y=b=>{b==="demo"?(e(!0),n(!1),setTimeout(()=>{var N;(N=document.getElementById("demo-form"))==null||N.scrollIntoView({behavior:"smooth",block:"start"})},100)):(n(!0),e(!1),setTimeout(()=>{var N;(N=document.getElementById("partner-form"))==null||N.scrollIntoView({behavior:"smooth",block:"start"})},100))},_=[{question:"Le partenariat est-il payant ?",answer:"Non, le partenariat MALODO est 100% gratuit. Aucun coût d'inscription, aucun abonnement, aucune commission sur les patients orientés. Notre modèle économique repose sur les paiements directs des utilisateurs."},{question:"Est-ce conforme à la déontologie des kinésithérapeutes ?",answer:"Oui, totalement. Nous avons consulté l'Ordre des Masseurs-Kinésithérapeutes qui a validé notre approche. Il n'y a aucune rétrocommission, vous orientez simplement vos patients vers une solution de bien-être complémentaire. MALODO est positionné comme une plateforme de bien-être, non comme un service médical."},{question:"Les patients doivent-ils payer pour accéder à MALODO ?",answer:"Oui, MALODO propose des formules payantes (59€ à 149€ selon la durée). En tant que partenaire, vous informez simplement vos patients de l'existence de cette solution pendant leur temps d'attente. Ils décident ensuite librement de souscrire ou non."},{question:"Combien de temps faut-il pour activer le partenariat ?",answer:"Le partenariat est activé sous 48h ouvrées après réception de votre formulaire. Vous recevez votre kit de communication (affiches, flyers, QR code)."},{question:"Puis-je arrêter le partenariat ?",answer:"Oui, à tout moment, sans préavis ni justification. Il suffit de nous envoyer un email. Le partenariat est libre et sans engagement."},{question:"Que se passe-t-il si un patient a un problème avec MALODO ?",answer:"MALODO dispose d'un support client dédié et d'une responsabilité civile professionnelle. Vous n'êtes en aucun cas responsable du contenu ou du suivi des programmes. Vous êtes simplement prescripteur d'une solution complémentaire."},{question:"MALODO remplace-t-il les séances de kinésithérapie ?",answer:"Non, absolument pas. MALODO est conçu comme un complément, pas un substitut. L'objectif est de préparer les patients PENDANT leur temps d'attente, pour qu'ils arrivent en meilleure condition lors de leur premier RDV avec vous."}];return t.jsxs("div",{className:"min-h-screen flex flex-col bg-white",children:[t.jsx(V,{title:"Partenariat Kinésithérapeute | Malodo - Transformez l'attente en préparation active",description:"Devenez cabinet partenaire Malodo et proposez une salle d'attente active à vos patients lombalgiques. 4 à 8 semaines entre prescription et RDV : faites-en un atout pour vos patients.",keywords:"partenariat kinésithérapeute, cabinet kiné Malodo, réseau professionnel lombalgie, kinésithérapie digitale, salle d'attente active",canonicalUrl:"https://malodo.pro/partenariat-kine"}),t.jsx(oe,{}),t.jsxs("main",{className:"flex-grow",children:[t.jsx("section",{className:"py-16 md:py-24 px-4 bg-gradient-to-br from-primary-lightest via-white to-accent-light",children:t.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[t.jsx("div",{className:"flex justify-center mb-6",children:t.jsx(Af,{count:"20+",label:"cabinets partenaires",variant:"light"})}),t.jsx("div",{className:"inline-flex items-center justify-center w-24 h-24 bg-gradient-to-br from-primary to-primary-light rounded-full mb-8 shadow-lg",children:t.jsx(Ct,{className:"w-12 h-12 text-white"})}),t.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-gray-900 mb-6",children:"Transformez l'attente en préparation active"}),t.jsx("p",{className:"text-xl md:text-2xl text-gray-700 mb-4 max-w-3xl mx-auto",children:"4 à 8 semaines entre prescription et RDV : faites-en un atout pour vos patients lombalgiques"}),t.jsx("p",{className:"text-lg text-primary font-semibold",children:"MALODO devient la salle d'attente active de votre cabinet"})]})}),t.jsx("section",{className:"py-16 md:py-20 px-4 bg-white",children:t.jsxs("div",{className:"max-w-6xl mx-auto",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-12 text-center",children:"Pourquoi proposer MALODO à vos patients ?"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card border border-neutral-200",children:[t.jsxs("h3",{className:"text-2xl font-bold text-gray-900 mb-6 flex items-center gap-3",children:[t.jsx(Te,{className:"w-8 h-8 text-primary"}),"Pourquoi Malodo ?"]}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Lt,{className:"w-6 h-6 text-green-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Programme personnalisé basé sur 122 points d'évaluation"}),t.jsx("p",{className:"text-sm text-gray-600",children:"Établissement d'un profil personnalisé en fonction des réponses de l'utilisateur"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Lt,{className:"w-6 h-6 text-green-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Salle d'attente active qui prépare vos patients"}),t.jsx("p",{className:"text-sm text-gray-600",children:"Réduction de la kinésiophobie et amélioration de l'adhérence"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Lt,{className:"w-6 h-6 text-green-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Partenariat 100% gratuit et déontologique"}),t.jsx("p",{className:"text-sm text-gray-600",children:"Aucune commission, respect du code professionnel"})]})]})]})]}),t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card border border-neutral-200",children:[t.jsxs("h3",{className:"text-2xl font-bold text-gray-900 mb-6 flex items-center gap-3",children:[t.jsx(On,{className:"w-8 h-8 text-primary"}),"Ce que vous recevez (gratuitement)"]}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(An,{className:"w-6 h-6 text-primary flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Kit de communication complet"}),t.jsxs("ul",{className:"text-sm text-gray-600 space-y-1",children:[t.jsx("li",{children:"• Affiches A4/A3 pour salle d'attente"}),t.jsx("li",{children:"• Flyers explicatifs patients"}),t.jsx("li",{children:"• QR code personnalisé à votre cabinet"})]})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Te,{className:"w-6 h-6 text-primary flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Retours patients"}),t.jsxs("ul",{className:"text-sm text-gray-600 space-y-1",children:[t.jsx("li",{children:"• Progression des patients avant leur RDV"}),t.jsx("li",{children:"• Évaluations d'adhérence"}),t.jsx("li",{children:"• Feedback pour optimiser vos prises en charge"})]})]})]})]})]})]})]})}),t.jsx("section",{className:"py-16 md:py-20 px-4 bg-gradient-to-b from-white to-neutral-50",children:t.jsxs("div",{className:"max-w-5xl mx-auto",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Comment souhaitez-vous procéder ?"}),t.jsx("p",{className:"text-xl text-gray-600",children:"Choisissez le parcours qui vous correspond"})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8 max-w-4xl mx-auto",children:[t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card-hover border-2 border-neutral-200 hover:border-primary hover:shadow-xl transition-all duration-300 hover:-translate-y-1",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 bg-primary/10 rounded-2xl mb-4",children:t.jsx(Mp,{className:"w-10 h-10 text-primary"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-3",children:"Je veux voir une démo"}),t.jsx("p",{className:"text-gray-600 mb-8",children:"Accédez à la vidéo de présentation complète de MALODO"})]}),t.jsx("button",{onClick:()=>y("demo"),className:"w-full bg-primary hover:bg-primary-dark text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl",children:"Accéder à la vidéo démo"})]}),t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card-hover border-2 border-neutral-200 hover:border-secondary hover:shadow-xl transition-all duration-300 hover:-translate-y-1",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 bg-secondary/10 rounded-2xl mb-4",children:t.jsx(ca,{className:"w-10 h-10 text-secondary"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-3",children:"Je deviens partenaire"}),t.jsx("p",{className:"text-gray-600 mb-8",children:"Vous connaissez déjà MALODO et souhaitez rejoindre le réseau immédiatement"})]}),t.jsx("button",{onClick:()=>y("partner"),className:"w-full bg-secondary hover:bg-secondary-dark text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl",children:"Devenir partenaire maintenant"})]})]})]})}),s&&t.jsx("section",{id:"demo-form",className:"py-16 md:py-20 px-4 bg-white scroll-mt-20",children:t.jsxs("div",{className:"max-w-3xl mx-auto",children:[t.jsxs("div",{className:"flex justify-between items-start mb-8",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Accéder à la vidéo de présentation"}),t.jsx("p",{className:"text-lg text-gray-600",children:"Remplissez ce formulaire pour découvrir MALODO en vidéo"})]}),t.jsx("button",{onClick:()=>e(!1),className:"p-2 hover:bg-gray-100 rounded-lg transition-colors","aria-label":"Fermer le formulaire",children:t.jsx(Dt,{className:"w-6 h-6 text-gray-500"})})]}),v==="success"?t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{className:"bg-green-50 border-2 border-green-200 rounded-2xl p-8 text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-green-100 rounded-full mb-4",children:t.jsx(Te,{className:"w-8 h-8 text-green-600"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-2",children:"Merci pour votre intérêt !"}),t.jsx("p",{className:"text-gray-700 mb-4",children:"Découvrez maintenant la présentation complète de MALODO"})]}),t.jsx("div",{className:"relative rounded-2xl overflow-hidden shadow-2xl border-4 border-primary/20",children:t.jsx("div",{className:"relative pb-[56.25%] h-0",children:t.jsx("iframe",{className:"absolute top-0 left-0 w-full h-full",src:"https://www.youtube.com/embed/gF0ahtU-ipQ?autoplay=1",title:"Présentation MALODO - Partenariat Kinésithérapeute",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}),t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-gray-600 mb-4",children:"Vous avez des questions après avoir vu la vidéo ?"}),t.jsxs("button",{onClick:()=>y("partner"),className:"inline-flex items-center gap-2 bg-secondary hover:bg-secondary-dark text-white font-bold px-8 py-4 rounded-xl transition-all hover:shadow-xl",children:[t.jsx(ca,{className:"w-5 h-5"}),"Devenir partenaire maintenant"]})]})]}):t.jsxs("form",{onSubmit:x,className:"bg-neutral-50 rounded-2xl p-8 shadow-lg space-y-6",children:[t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"text",placeholder:"Prénom et nom du kiné *",value:o.kine_prenom_nom,onChange:b=>l({...o,kine_prenom_nom:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors"}),t.jsx("input",{type:"text",placeholder:"Nom du cabinet *",value:o.nom_cabinet,onChange:b=>l({...o,nom_cabinet:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors"})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"email",placeholder:"Email professionnel *",value:o.email,onChange:b=>l({...o,email:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors"}),t.jsx("input",{type:"tel",placeholder:"Téléphone *",value:o.telephone,onChange:b=>l({...o,telephone:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors"})]}),t.jsx("input",{type:"text",placeholder:"Ville / Département *",value:o.ville_departement,onChange:b=>l({...o,ville_departement:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("select",{value:o.structure_cabinet,onChange:b=>l({...o,structure_cabinet:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Structure de votre cabinet *"}),t.jsx("option",{value:"Cabinet individuel",children:"Cabinet individuel"}),t.jsx("option",{value:"Cabinet de groupe (2-5 kinés)",children:"Cabinet de groupe (2-5 kinés)"}),t.jsx("option",{value:"Cabinet de groupe (6+ kinés)",children:"Cabinet de groupe (6+ kinés)"}),t.jsx("option",{value:"Centre de rééducation",children:"Centre de rééducation"})]}),t.jsxs("select",{value:o.volume_mensuel,onChange:b=>l({...o,volume_mensuel:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Volume mensuel de patients lombalgiques *"}),t.jsx("option",{value:"Moins de 10",children:"Moins de 10"}),t.jsx("option",{value:"10-20",children:"10-20"}),t.jsx("option",{value:"20-50",children:"20-50"}),t.jsx("option",{value:"Plus de 50",children:"Plus de 50"})]})]}),t.jsxs("select",{value:o.delai_moyen_rdv,onChange:b=>l({...o,delai_moyen_rdv:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Délai moyen entre prescription et 1er RDV *"}),t.jsx("option",{value:"Moins de 2 semaines",children:"Moins de 2 semaines"}),t.jsx("option",{value:"2-4 semaines",children:"2-4 semaines"}),t.jsx("option",{value:"4-8 semaines",children:"4-8 semaines"}),t.jsx("option",{value:"Plus de 8 semaines",children:"Plus de 8 semaines"})]}),t.jsx("textarea",{placeholder:"Questions ou attentes spécifiques (optionnel)",value:o.questions_attentes,onChange:b=>l({...o,questions_attentes:b.target.value}),rows:4,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors resize-none"}),t.jsxs("select",{value:o.comment_entendu_parler,onChange:b=>l({...o,comment_entendu_parler:b.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-primary focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Comment avez-vous entendu parler de MALODO ?"}),t.jsx("option",{value:"Collègue kinésithérapeute",children:"Collègue kinésithérapeute"}),t.jsx("option",{value:"LinkedIn",children:"LinkedIn"}),t.jsx("option",{value:"Recherche web",children:"Recherche web"}),t.jsx("option",{value:"Autre",children:"Autre"})]}),t.jsx("button",{type:"submit",disabled:u,className:"w-full bg-primary hover:bg-primary-dark text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed",children:u?"Envoi en cours...":"Voir la vidéo de présentation"}),v==="error"&&t.jsx("div",{className:"text-red-600 text-center text-sm bg-red-50 py-3 rounded-xl border border-red-200",children:"Une erreur est survenue. Veuillez réessayer."})]})]})}),r&&t.jsx("section",{id:"partner-form",className:"py-16 md:py-20 px-4 bg-white scroll-mt-20",children:t.jsxs("div",{className:"max-w-3xl mx-auto",children:[t.jsxs("div",{className:"flex justify-between items-start mb-8",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Rejoignez le réseau MALODO"}),t.jsx("p",{className:"text-lg text-gray-600",children:"Remplissez ce formulaire pour recevoir votre kit de partenariat"})]}),t.jsx("button",{onClick:()=>n(!1),className:"p-2 hover:bg-gray-100 rounded-lg transition-colors","aria-label":"Fermer le formulaire",children:t.jsx(Dt,{className:"w-6 h-6 text-gray-500"})})]}),w==="success"?t.jsxs("div",{className:"bg-green-50 border-2 border-green-200 rounded-2xl p-8 text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-green-100 rounded-full mb-4",children:t.jsx(Te,{className:"w-8 h-8 text-green-600"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-2",children:"✅ Bienvenue dans le réseau MALODO !"}),t.jsx("p",{className:"text-gray-700",children:"Vous recevrez votre kit de partenariat et les instructions d'activation sous 48h."})]}):t.jsxs("form",{onSubmit:g,className:"bg-neutral-50 rounded-2xl p-8 shadow-lg space-y-6",children:[t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"text",placeholder:"Prénom et nom du kiné *",value:c.kine_prenom_nom,onChange:b=>d({...c,kine_prenom_nom:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors"}),t.jsx("input",{type:"text",placeholder:"Nom du cabinet *",value:c.nom_cabinet,onChange:b=>d({...c,nom_cabinet:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors"})]}),t.jsx("input",{type:"text",placeholder:"Adresse postale du cabinet *",value:c.adresse_postale,onChange:b=>d({...c,adresse_postale:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"email",placeholder:"Email professionnel *",value:c.email_cabinet,onChange:b=>d({...c,email_cabinet:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors"}),t.jsx("input",{type:"tel",placeholder:"Numéro de téléphone *",value:c.telephone,onChange:b=>d({...c,telephone:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors"})]}),t.jsx("input",{type:"url",placeholder:"Site internet ou Instagram du cabinet (optionnel)",value:c.site_web,onChange:b=>d({...c,site_web:b.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("select",{value:c.nombre_kines,onChange:b=>d({...c,nombre_kines:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Nombre de kinés dans le cabinet *"}),t.jsx("option",{value:"1 (cabinet individuel)",children:"1 (cabinet individuel)"}),t.jsx("option",{value:"2-3",children:"2-3"}),t.jsx("option",{value:"4-5",children:"4-5"}),t.jsx("option",{value:"6-10",children:"6-10"}),t.jsx("option",{value:"Plus de 10",children:"Plus de 10"})]}),t.jsxs("select",{value:c.volume_mensuel,onChange:b=>d({...c,volume_mensuel:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-secondary focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Volume mensuel de patients lombalgiques *"}),t.jsx("option",{value:"Moins de 10",children:"Moins de 10"}),t.jsx("option",{value:"10-20",children:"10-20"}),t.jsx("option",{value:"20-50",children:"20-50"}),t.jsx("option",{value:"Plus de 50",children:"Plus de 50"})]})]}),t.jsxs("label",{className:"flex items-start gap-3 p-4 bg-white rounded-xl border-2 border-neutral-200 cursor-pointer",children:[t.jsx("input",{type:"checkbox",required:!0,className:"w-5 h-5 text-secondary rounded mt-0.5"}),t.jsx("span",{className:"text-gray-700 text-sm",children:"J'accepte de recevoir le kit de communication et d'être contacté par MALODO pour la formation initiale *"})]}),t.jsx("button",{type:"submit",disabled:h,className:"w-full bg-secondary hover:bg-secondary-dark text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed",children:h?"Envoi en cours...":"Devenir partenaire MALODO"}),w==="error"&&t.jsx("div",{className:"text-red-600 text-center text-sm bg-red-50 py-3 rounded-xl border border-red-200",children:"Une erreur est survenue. Veuillez réessayer."})]})]})}),t.jsx("section",{className:"py-16 md:py-20 px-4 bg-neutral-50",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-12 text-center",children:"Questions fréquentes"}),t.jsx("div",{className:"space-y-4",children:_.map((b,N)=>t.jsxs("div",{className:"bg-white rounded-xl border-2 border-neutral-200 overflow-hidden transition-all hover:border-primary",children:[t.jsxs("button",{onClick:()=>a(i===N?null:N),className:"w-full px-6 py-5 flex items-center justify-between text-left hover:bg-neutral-50 transition-colors",children:[t.jsx("span",{className:"font-semibold text-gray-900 pr-4",children:b.question}),t.jsx(jn,{className:`w-5 h-5 text-primary flex-shrink-0 transition-transform ${i===N?"rotate-180":""}`})]}),i===N&&t.jsx("div",{className:"px-6 py-4 border-t border-neutral-200 bg-neutral-50",children:t.jsx("p",{className:"text-gray-700 leading-relaxed",children:b.answer})})]},N))})]})})]}),t.jsx(le,{})]})},mN=()=>{const[s,e]=k.useState(!1),[r,n]=k.useState(!1),[i,a]=k.useState(null),[o,l]=k.useState({medecin_prenom_nom:"",nom_cabinet:"",email:"",telephone:"",ville_departement:"",type_pratique:"",volume_mensuel:"",questions_attentes:"",comment_entendu_parler:""}),[c,d]=k.useState({medecin_prenom_nom:"",nom_cabinet:"",adresse_postale:"",email_cabinet:"",site_web:"",telephone:""}),[u,m]=k.useState(!1),[h,f]=k.useState(!1),[v,j]=k.useState("idle"),[w,p]=k.useState("idle"),x=async b=>{b.preventDefault(),m(!0),j("idle");try{const{error:N}=await _r.from("medical_demo_leads").insert([o]);if(N){console.error("Error saving medical demo lead:",N),j("error");return}j("success"),l({medecin_prenom_nom:"",nom_cabinet:"",email:"",telephone:"",ville_departement:"",type_pratique:"",volume_mensuel:"",questions_attentes:"",comment_entendu_parler:""})}catch(N){console.error("Error submitting demo form:",N),j("error")}finally{m(!1)}},g=async b=>{b.preventDefault(),f(!0),p("idle");try{const{error:N}=await _r.from("medical_partner_leads").insert([{medecin_prenom_nom:c.medecin_prenom_nom,nom_cabinet:c.nom_cabinet,adresse_postale:c.adresse_postale,email_cabinet:c.email_cabinet,site_web:c.site_web||null,telephone:c.telephone||null}]);if(N){console.error("Error saving medical partner lead:",N),p("error");return}p("success"),d({medecin_prenom_nom:"",nom_cabinet:"",adresse_postale:"",email_cabinet:"",site_web:"",telephone:""})}catch(N){console.error("Error submitting partner form:",N),p("error")}finally{f(!1)}},y=b=>{b==="demo"?(e(!0),n(!1),setTimeout(()=>{var N;(N=document.getElementById("demo-form"))==null||N.scrollIntoView({behavior:"smooth",block:"start"})},100)):(n(!0),e(!1),setTimeout(()=>{var N;(N=document.getElementById("partner-form"))==null||N.scrollIntoView({behavior:"smooth",block:"start"})},100))},_=[{question:"Le partenariat est-il payant ?",answer:"Non, le partenariat MALODO est 100% gratuit. Aucun coût d'inscription, aucun abonnement, aucune commission sur les patients orientés. Notre modèle économique repose sur les paiements directs des utilisateurs."},{question:"Est-ce conforme à la déontologie médicale ?",answer:"Oui, totalement. MALODO est une solution de bien-être complémentaire, pas un service médical. Vous orientez simplement vos patients vers un programme d'exercices pendant leur temps d'attente avant la kinésithérapie. Il n'y a aucune rétrocommission ni conflit d'intérêt."},{question:"Les patients doivent-ils payer pour accéder à MALODO ?",answer:"Oui, MALODO propose des formules payantes (59€ à 149€ selon la durée). En tant que partenaire, vous informez simplement vos patients de l'existence de cette solution pendant leur temps d'attente. Ils décident ensuite librement de souscrire ou non."},{question:"Combien de temps faut-il pour activer le partenariat ?",answer:"Le partenariat est activé sous 48h ouvrées après réception de votre formulaire. Vous recevez votre kit de communication (affiches, flyers, QR code)."},{question:"Puis-je arrêter le partenariat ?",answer:"Oui, à tout moment, sans préavis ni justification. Il suffit de nous envoyer un email. Le partenariat est libre et sans engagement."},{question:"Que se passe-t-il si un patient a un problème avec MALODO ?",answer:"MALODO dispose d'un support client dédié et d'une responsabilité civile professionnelle. Vous n'êtes en aucun cas responsable du contenu ou du suivi des programmes. Vous êtes simplement prescripteur d'une solution complémentaire."},{question:"MALODO remplace-t-il la kinésithérapie ?",answer:"Non, absolument pas. MALODO est conçu comme un complément qui prépare les patients PENDANT leur temps d'attente, pour qu'ils arrivent en meilleure condition chez le kinésithérapeute. C'est une solution d'attente active, pas un substitut."}];return t.jsxs("div",{className:"min-h-screen flex flex-col bg-white",children:[t.jsx(V,{title:"Partenariat Médecin | Malodo - Solution d'attente active pour vos patients lombalgiques",description:"Devenez cabinet médical partenaire Malodo et proposez une solution d'attente active à vos patients lombalgiques. Réduisez le risque de chronicisation pendant les 4 à 8 semaines d'attente avant la kinésithérapie.",keywords:"partenariat médecin, cabinet médical Malodo, prescription lombalgie, solution attente kiné, médecine digitale",canonicalUrl:"https://malodo.pro/partenariat-med"}),t.jsx(oe,{}),t.jsxs("main",{className:"flex-grow",children:[t.jsx("section",{className:"py-16 md:py-24 px-4 bg-gradient-to-br from-blue-50 via-white to-cyan-50",children:t.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[t.jsx("div",{className:"flex justify-center mb-6",children:t.jsx(Af,{count:"20+",label:"cabinets partenaires",variant:"light"})}),t.jsx("div",{className:"inline-flex items-center justify-center w-24 h-24 bg-gradient-to-br from-blue-500 to-blue-600 rounded-full mb-8 shadow-lg",children:t.jsx(Rl,{className:"w-12 h-12 text-white"})}),t.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-gray-900 mb-6",children:"Prescrivez une attente active à vos patients lombalgiques"}),t.jsx("p",{className:"text-xl md:text-2xl text-gray-700 mb-4 max-w-3xl mx-auto",children:"4 à 8 semaines avant le premier RDV kiné : évitez la chronicisation avec MALODO"}),t.jsx("p",{className:"text-lg text-blue-600 font-semibold",children:"Une prescription médicale nouvelle génération"})]})}),t.jsx("section",{className:"py-16 md:py-20 px-4 bg-white",children:t.jsxs("div",{className:"max-w-6xl mx-auto",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-12 text-center",children:"Pourquoi proposer MALODO à vos patients ?"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card border border-neutral-200",children:[t.jsxs("h3",{className:"text-2xl font-bold text-gray-900 mb-6 flex items-center gap-3",children:[t.jsx(Te,{className:"w-8 h-8 text-blue-500"}),"Pourquoi Malodo ?"]}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Lt,{className:"w-6 h-6 text-green-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Évite la chronicisation pendant l'attente"}),t.jsx("p",{className:"text-sm text-gray-600",children:"Programme actif personnalisé pour maintenir la mobilité et réduire l'anxiété"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Lt,{className:"w-6 h-6 text-green-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Prépare vos patients avant la kinésithérapie"}),t.jsx("p",{className:"text-sm text-gray-600",children:"Ils arrivent chez le kiné avec une meilleure compréhension et moins de kinésiophobie"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Lt,{className:"w-6 h-6 text-green-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Partenariat 100% gratuit et déontologique"}),t.jsx("p",{className:"text-sm text-gray-600",children:"Aucune commission, respect du code de déontologie médicale"})]})]})]})]}),t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card border border-neutral-200",children:[t.jsxs("h3",{className:"text-2xl font-bold text-gray-900 mb-6 flex items-center gap-3",children:[t.jsx(On,{className:"w-8 h-8 text-blue-500"}),"Ce que vous recevez (gratuitement)"]}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(An,{className:"w-6 h-6 text-blue-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Kit de communication complet"}),t.jsxs("ul",{className:"text-sm text-gray-600 space-y-1",children:[t.jsx("li",{children:"• Affiches A4/A3 pour salle d'attente"}),t.jsx("li",{children:"• Flyers explicatifs patients"}),t.jsx("li",{children:"• QR code personnalisé à votre cabinet"})]})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx(Te,{className:"w-6 h-6 text-blue-500 flex-shrink-0 mt-1"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-gray-900 font-semibold mb-1",children:"Support dédié partenaires"}),t.jsx("ul",{className:"text-sm text-gray-600 space-y-1",children:t.jsx("li",{children:"• Contact prioritaire"})})]})]})]})]})]})]})}),t.jsx("section",{className:"py-16 md:py-20 px-4 bg-gradient-to-b from-white to-neutral-50",children:t.jsxs("div",{className:"max-w-5xl mx-auto",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Comment souhaitez-vous procéder ?"}),t.jsx("p",{className:"text-xl text-gray-600",children:"Choisissez le parcours qui vous correspond"})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8 max-w-4xl mx-auto",children:[t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card-hover border-2 border-neutral-200 hover:border-blue-500 hover:shadow-xl transition-all duration-300 hover:-translate-y-1",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 bg-blue-50 rounded-2xl mb-4",children:t.jsx(Mp,{className:"w-10 h-10 text-blue-500"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-3",children:"Je veux voir une démo"}),t.jsx("p",{className:"text-gray-600 mb-8",children:"Découvrez MALODO en détail lors d'une visioconférence personnalisée"})]}),t.jsx("button",{onClick:()=>y("demo"),className:"w-full bg-blue-500 hover:bg-blue-600 text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl",children:"Demander une démo gratuite"})]}),t.jsxs("div",{className:"bg-white rounded-2xl p-8 shadow-card-hover border-2 border-neutral-200 hover:border-cyan-500 hover:shadow-xl transition-all duration-300 hover:-translate-y-1",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 bg-cyan-50 rounded-2xl mb-4",children:t.jsx(ca,{className:"w-10 h-10 text-cyan-600"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-3",children:"Je deviens partenaire"}),t.jsx("p",{className:"text-gray-600 mb-8",children:"Vous connaissez déjà MALODO et souhaitez rejoindre le réseau immédiatement"})]}),t.jsx("button",{onClick:()=>y("partner"),className:"w-full bg-cyan-600 hover:bg-cyan-700 text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl",children:"Devenir partenaire maintenant"})]})]})]})}),s&&t.jsx("section",{id:"demo-form",className:"py-16 md:py-20 px-4 bg-white scroll-mt-20",children:t.jsxs("div",{className:"max-w-3xl mx-auto",children:[t.jsxs("div",{className:"flex justify-between items-start mb-8",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Demander une démo personnalisée"}),t.jsx("p",{className:"text-lg text-gray-600",children:"Remplissez ce formulaire, nous vous contacterons sous 48h"})]}),t.jsx("button",{onClick:()=>e(!1),className:"p-2 hover:bg-gray-100 rounded-lg transition-colors","aria-label":"Fermer le formulaire",children:t.jsx(Dt,{className:"w-6 h-6 text-gray-500"})})]}),v==="success"?t.jsxs("div",{className:"bg-green-50 border-2 border-green-200 rounded-2xl p-8 text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-green-100 rounded-full mb-4",children:t.jsx(Te,{className:"w-8 h-8 text-green-600"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-2",children:"Demande enregistrée !"}),t.jsx("p",{className:"text-gray-700",children:"Jimmy vous contactera sous 48h pour organiser votre démo personnalisée. Vérifiez vos emails."})]}):t.jsxs("form",{onSubmit:x,className:"bg-neutral-50 rounded-2xl p-8 shadow-lg space-y-6",children:[t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"text",placeholder:"Prénom et nom *",value:o.medecin_prenom_nom,onChange:b=>l({...o,medecin_prenom_nom:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors"}),t.jsx("input",{type:"text",placeholder:"Nom du cabinet *",value:o.nom_cabinet,onChange:b=>l({...o,nom_cabinet:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors"})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"email",placeholder:"Email professionnel *",value:o.email,onChange:b=>l({...o,email:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors"}),t.jsx("input",{type:"tel",placeholder:"Téléphone *",value:o.telephone,onChange:b=>l({...o,telephone:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors"})]}),t.jsx("input",{type:"text",placeholder:"Ville / Département *",value:o.ville_departement,onChange:b=>l({...o,ville_departement:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("select",{value:o.type_pratique,onChange:b=>l({...o,type_pratique:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Type de pratique *"}),t.jsx("option",{value:"Médecin généraliste",children:"Médecin généraliste"}),t.jsx("option",{value:"Médecin du sport",children:"Médecin du sport"}),t.jsx("option",{value:"Rhumatologue",children:"Rhumatologue"}),t.jsx("option",{value:"Médecin du travail",children:"Médecin du travail"}),t.jsx("option",{value:"Autre spécialité",children:"Autre spécialité"})]}),t.jsxs("select",{value:o.volume_mensuel,onChange:b=>l({...o,volume_mensuel:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Patients lombalgiques/mois *"}),t.jsx("option",{value:"Moins de 10",children:"Moins de 10"}),t.jsx("option",{value:"10-20",children:"10-20"}),t.jsx("option",{value:"20-50",children:"20-50"}),t.jsx("option",{value:"Plus de 50",children:"Plus de 50"})]})]}),t.jsx("textarea",{placeholder:"Questions ou attentes spécifiques (optionnel)",value:o.questions_attentes,onChange:b=>l({...o,questions_attentes:b.target.value}),rows:4,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors resize-none"}),t.jsxs("select",{value:o.comment_entendu_parler,onChange:b=>l({...o,comment_entendu_parler:b.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-blue-500 focus:outline-none transition-colors bg-white",children:[t.jsx("option",{value:"",children:"Comment avez-vous entendu parler de MALODO ?"}),t.jsx("option",{value:"Collègue médecin",children:"Collègue médecin"}),t.jsx("option",{value:"Kinésithérapeute",children:"Kinésithérapeute"}),t.jsx("option",{value:"LinkedIn",children:"LinkedIn"}),t.jsx("option",{value:"Recherche web",children:"Recherche web"}),t.jsx("option",{value:"Autre",children:"Autre"})]}),t.jsx("button",{type:"submit",disabled:u,className:"w-full bg-blue-500 hover:bg-blue-600 text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed",children:u?"Envoi en cours...":"Demander ma démo gratuite"}),v==="error"&&t.jsx("div",{className:"text-red-600 text-center text-sm bg-red-50 py-3 rounded-xl border border-red-200",children:"Une erreur est survenue. Veuillez réessayer."})]})]})}),r&&t.jsx("section",{id:"partner-form",className:"py-16 md:py-20 px-4 bg-white scroll-mt-20",children:t.jsxs("div",{className:"max-w-3xl mx-auto",children:[t.jsxs("div",{className:"flex justify-between items-start mb-8",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Rejoignez le réseau MALODO"}),t.jsx("p",{className:"text-lg text-gray-600",children:"Remplissez ce formulaire pour recevoir votre kit de partenariat"})]}),t.jsx("button",{onClick:()=>n(!1),className:"p-2 hover:bg-gray-100 rounded-lg transition-colors","aria-label":"Fermer le formulaire",children:t.jsx(Dt,{className:"w-6 h-6 text-gray-500"})})]}),w==="success"?t.jsxs("div",{className:"bg-green-50 border-2 border-green-200 rounded-2xl p-8 text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-green-100 rounded-full mb-4",children:t.jsx(Te,{className:"w-8 h-8 text-green-600"})}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-2",children:"Bienvenue dans le réseau MALODO !"}),t.jsx("p",{className:"text-gray-700",children:"Vous recevrez votre kit de partenariat et les instructions d'activation sous 48h."})]}):t.jsxs("form",{onSubmit:g,className:"bg-neutral-50 rounded-2xl p-8 shadow-lg space-y-6",children:[t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"text",placeholder:"Prénom et nom du médecin *",value:c.medecin_prenom_nom,onChange:b=>d({...c,medecin_prenom_nom:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-cyan-500 focus:outline-none transition-colors"}),t.jsx("input",{type:"text",placeholder:"Nom du cabinet *",value:c.nom_cabinet,onChange:b=>d({...c,nom_cabinet:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-cyan-500 focus:outline-none transition-colors"})]}),t.jsx("input",{type:"text",placeholder:"Adresse postale du cabinet *",value:c.adresse_postale,onChange:b=>d({...c,adresse_postale:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-cyan-500 focus:outline-none transition-colors"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsx("input",{type:"email",placeholder:"Adresse mail du cabinet *",value:c.email_cabinet,onChange:b=>d({...c,email_cabinet:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-cyan-500 focus:outline-none transition-colors"}),t.jsx("input",{type:"tel",placeholder:"Numéro de téléphone *",value:c.telephone,onChange:b=>d({...c,telephone:b.target.value}),required:!0,className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-cyan-500 focus:outline-none transition-colors"})]}),t.jsx("input",{type:"text",placeholder:"Site internet du cabinet (optionnel)",value:c.site_web,onChange:b=>d({...c,site_web:b.target.value}),className:"w-full px-4 py-3 rounded-xl border-2 border-neutral-200 focus:border-cyan-500 focus:outline-none transition-colors"}),t.jsxs("label",{className:"flex items-start gap-3 p-4 bg-white rounded-xl border-2 border-neutral-200 cursor-pointer",children:[t.jsx("input",{type:"checkbox",required:!0,className:"w-5 h-5 text-cyan-600 rounded mt-0.5"}),t.jsx("span",{className:"text-gray-700 text-sm",children:"J'accepte de recevoir le kit de communication et d'être contacté par MALODO pour la formation initiale *"})]}),t.jsx("button",{type:"submit",disabled:h,className:"w-full bg-cyan-600 hover:bg-cyan-700 text-white font-bold py-4 rounded-xl transition-all hover:shadow-xl disabled:opacity-50 disabled:cursor-not-allowed",children:h?"Envoi en cours...":"Devenir partenaire MALODO"}),w==="error"&&t.jsx("div",{className:"text-red-600 text-center text-sm bg-red-50 py-3 rounded-xl border border-red-200",children:"Une erreur est survenue. Veuillez réessayer."})]})]})}),t.jsx("section",{className:"py-16 md:py-20 px-4 bg-neutral-50",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-12 text-center",children:"Questions fréquentes"}),t.jsx("div",{className:"space-y-4",children:_.map((b,N)=>t.jsxs("div",{className:"bg-white rounded-xl border-2 border-neutral-200 overflow-hidden transition-all hover:border-blue-500",children:[t.jsxs("button",{onClick:()=>a(i===N?null:N),className:"w-full px-6 py-5 flex items-center justify-between text-left hover:bg-neutral-50 transition-colors",children:[t.jsx("span",{className:"font-semibold text-gray-900 pr-4",children:b.question}),t.jsx(jn,{className:`w-5 h-5 text-blue-500 flex-shrink-0 transition-transform ${i===N?"rotate-180":""}`})]}),i===N&&t.jsx("div",{className:"px-6 py-4 border-t border-neutral-200 bg-neutral-50",children:t.jsx("p",{className:"text-gray-700 leading-relaxed",children:b.answer})})]},N))})]})})]}),t.jsx(le,{})]})},hN={LNS:"Lombalgie non spécifique",RAD:"Radiculopathie",STE:"Sténose",DIS:"Discale",FAC:"Facettaire",INF:"Inflammatoire"},pN={S:"Sédentaire",L:"Léger",M:"Modéré",A:"Actif",T:"Très actif",TA:"Très actif",TL:"Très limité",F:"Faible"},xN={"4W":"4 semaines","8W":"8 semaines","12W":"12 semaines"};class fN{constructor(){if(this.spreadsheetId="1-ATgvFJPIhvoxF-TPMUjUH8hxM6juxfnrHqsLpKaQVk",this.apiKey="AIzaSyA6RXkWkcxMNjrKe6-NC2Xud00lbWNRFqA",this.sheetName="Resultats_public",!this.spreadsheetId||!this.apiKey)throw new Error("Missing Google Sheets configuration")}async fetchResultatsByToken(e){const r=`https://sheets.googleapis.com/v4/spreadsheets/${this.spreadsheetId}/values/${this.sheetName}?key=${this.apiKey}`;try{const n=await fetch(r);if(!n.ok)throw new Error(`Erreur API Google Sheets: ${n.statusText}`);const a=(await n.json()).values;if(!a||a.length<2)throw new Error("Aucune donnée trouvée dans la feuille");const o=a[0],l=o.indexOf("Token");if(l===-1)throw new Error("Colonne Token introuvable");const c=a.slice(1).find(v=>v[l]===e);if(!c)throw new Error("Token invalide ou résultats introuvables");const d=this.parseRowData(o,c),u=new Date(d.Expire_At);if(u<new Date)throw new Error("Ces résultats ont expiré");const m=[d.Conseils_1,d.Conseils_2,d.Conseils_3,d.Conseils_4].filter(v=>v&&v.trim()!==""),h=[d.Style_Exercice_1,d.Style_Exercice_2,d.Style_Exercice_3,d.Style_Exercice_4].filter(v=>v&&v.trim()!==""),f=[d.Drapeau_Rouge_1,d.Drapeau_Rouge_2,d.Drapeau_Rouge_3].filter(v=>v&&v.trim()!=="");return{status:d.Status||"PROCESSING",prenom:d.Prenom,email:d.Email,codeDiagnostic:d.Code_Diagnostic,pathologiePrimaire:this.getPathologieLabel(d.Pathologie_Primaire),pathologieSecondaire:this.getPathologieLabel(d.Pathologie_Secondaire),niveauActivite:this.getActiviteLabel(d.Niveau_Activite),dureeRecommandee:this.getDureeLabel(d.Duree_Recommandee),formuleRecommandee:d.Formule_Recommandee,prix:d.Prix,lienStripe:d.Lien_Stripe,conseils:m,expireAt:u,scoreComplexite:d.Score_Complexite||"Non défini",descriptionProfil:d.Description_Profil||"",stylesExercices:h,drapeauxRouges:f}}catch(n){throw n instanceof Error?n:new Error("Erreur lors de la récupération des résultats")}}parseRowData(e,r){const n={};return e.forEach((i,a)=>{n[i]=r[a]||""}),n}getPathologieLabel(e){return hN[e]||e}getActiviteLabel(e){return pN[e]||e}getDureeLabel(e){return xN[e]||e}async waitForResults(e,r){let i=0;const a=Date.now();for(;i<200;){i++;const o=Math.floor((Date.now()-a)/1e3),l=Math.min(o/180*90,90);let c="🔍 Analyse de vos réponses...";o>20&&(c="🧠 Identification de votre profil..."),o>40&&(c="🎯 Sélection des exercices adaptés..."),o>60&&(c="📋 Génération des recommandations..."),o>80&&(c="✨ Finalisation de votre programme..."),r(l,c,o);try{const d=await this.fetchResultatsByToken(e);console.log(`[Polling] Tentative ${i}: status="${d.status}"`);const u=d.status.toUpperCase().trim();if(u==="READY")return console.log("[Polling] Status READY - Affichage des résultats"),r(100,"✅ Votre programme est prêt !",o),await new Promise(m=>setTimeout(m,500)),d;if(u==="ERROR")throw console.error("[Polling] Status ERROR"),new Error("Une erreur est survenue lors du calcul");if(u==="PROCESSING"||u===""){console.log("[Polling] Status PROCESSING - Attente 1 seconde..."),await new Promise(m=>setTimeout(m,1e3));continue}console.warn(`[Polling] Status inconnu: "${d.status}" - On continue à attendre`),await new Promise(m=>setTimeout(m,1e3));continue}catch(d){if(console.error("[Polling] Erreur:",d),d instanceof Error&&d.message.includes("Token invalide")&&i<5){console.log("[Polling] Token non trouvé, réessai..."),await new Promise(u=>setTimeout(u,1e3));continue}if(d instanceof Error&&!d.message.includes("Ces résultats ont expiré")&&i<200){console.log("[Polling] Erreur temporaire, réessai..."),await new Promise(u=>setTimeout(u,1e3));continue}throw d}}throw console.error("[Polling] Timeout dépassé"),new Error("Le délai d'attente a été dépassé (3 minutes)")}}const gN=({progress:s,message:e,elapsedTime:r})=>{const i=s<20?{icon:"🔍",title:"Analyse de vos réponses",description:"Traitement de vos données personnelles..."}:s<40?{icon:"🧠",title:"Identification de votre profil",description:"Analyse des patterns de mobilité..."}:s<60?{icon:"🎯",title:"Sélection des exercices adaptés",description:"Création d'un programme sur-mesure..."}:s<80?{icon:"📋",title:"Génération des recommandations",description:"Préparation de vos conseils personnalisés..."}:{icon:"✨",title:"Finalisation de votre programme",description:"Derniers ajustements..."};return e||i.description,t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary via-secondary to-primary relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMyI+PHBhdGggZD0iTTM2IDE0YzAtMy4zMTQtMi42ODYtNi02LTZzLTYgMi42ODYtNiA2IDIuNjg2IDYgNiA2IDYtMi42ODYgNi02ek0yNCA0N2MwLTMuMzE0LTIuNjg2LTYtNi02cy02IDIuNjg2LTYgNiAyLjY4NiA2IDYgNiA2LTIuNjg2IDYtNnptMTgtMjNjMC0zLjMxNC0yLjY4Ni02LTYtNnMtNiAyLjY4Ni02IDYgMi42ODYgNiA2IDYgNi0yLjY4NiA2LTZ6Ii8+PC9nPjwvZz48L3N2Zz4=')] opacity-40"}),t.jsxs("div",{className:"relative z-10 min-h-screen flex flex-col items-center justify-center px-4 py-8",children:[t.jsx("div",{className:"mb-8 text-center",children:t.jsx("img",{src:"/logo_blanc_sans_ecritures_fond_vide.png",alt:"Malodo",className:"h-28 w-auto mx-auto animate-pulse"})}),t.jsxs("div",{className:"max-w-2xl w-full",children:[t.jsxs("div",{className:"bg-white/95 backdrop-blur-md rounded-3xl shadow-2xl p-8 sm:p-12 border border-white/20",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("div",{className:"mb-6 relative inline-block",children:t.jsxs("div",{className:"w-32 h-32 relative",children:[t.jsx("div",{className:"absolute inset-0 rounded-full border-4 border-primary/20 animate-ping"}),t.jsx("div",{className:"absolute inset-2 rounded-full border-4 border-primary/40 animate-spin",style:{animationDuration:"3s"}}),t.jsx("div",{className:"absolute inset-4 rounded-full border-4 border-primary/60 animate-pulse"}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx("div",{className:"text-5xl animate-bounce",children:i.icon})})]})}),t.jsx("h1",{className:"text-3xl sm:text-4xl font-bold text-secondary mb-3",children:i.title}),t.jsx("p",{className:"text-lg text-neutral-600 mb-2",children:"Nous créons votre programme personnalisé"})]}),t.jsxs("div",{className:"mb-8",children:[t.jsxs("div",{className:"flex justify-between items-center mb-3",children:[t.jsx("span",{className:"text-sm font-medium text-secondary",children:"Progression"}),t.jsxs("span",{className:"text-2xl font-bold text-primary",children:[Math.round(s),"%"]})]}),t.jsx("div",{className:"relative w-full h-4 bg-neutral-200 rounded-full overflow-hidden shadow-inner",children:t.jsx("div",{className:"absolute top-0 left-0 h-full bg-gradient-to-r from-primary to-primary-light rounded-full transition-all duration-500 ease-out shadow-lg",style:{width:`${s}%`},children:t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-transparent via-white to-transparent opacity-40 animate-shimmer"})})})]}),t.jsx("div",{className:"grid grid-cols-5 gap-3 mb-8",children:[{threshold:20,label:"Analyse",icon:"🔍"},{threshold:40,label:"Profil",icon:"🧠"},{threshold:60,label:"Exercices",icon:"🎯"},{threshold:80,label:"Conseils",icon:"📋"},{threshold:100,label:"Finition",icon:"✨"}].map((a,o)=>t.jsxs("div",{className:`text-center transition-all duration-500 ${s>=a.threshold?"opacity-100 scale-100":"opacity-40 scale-95"}`,children:[t.jsx("div",{className:`text-2xl mb-1 ${s>=a.threshold?"animate-bounce":""}`,children:a.icon}),t.jsx("div",{className:`h-1.5 rounded-full transition-all duration-500 ${s>=a.threshold?"bg-gradient-to-r from-primary to-primary-light shadow-md":"bg-neutral-200"}`}),t.jsx("p",{className:`text-xs mt-1 font-medium ${s>=a.threshold?"text-primary":"text-neutral-400"}`,children:a.label})]},o))}),t.jsxs("div",{className:"mt-8 space-y-4",children:[t.jsx("h3",{className:"text-lg font-semibold text-secondary text-center mb-6",children:"Que se passe-t-il après l'analyse ?"}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-start gap-4 p-4 bg-gradient-to-r from-primary-lightest/50 to-white rounded-xl border border-primary/10",children:[t.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-gradient-to-br from-primary to-primary-light flex items-center justify-center text-white font-bold text-lg shadow-md",children:"1"}),t.jsxs("div",{className:"flex-1",children:[t.jsxs("h4",{className:"font-semibold text-secondary mb-1 flex items-center gap-2",children:[t.jsx("span",{children:"📊"}),"Vos résultats personnalisés"]}),t.jsxs("p",{className:"text-sm text-neutral-600 leading-relaxed",children:["Découvrez l'analyse de votre questionnaire et ",t.jsx("span",{className:"font-semibold text-primary",children:"la formule la plus adaptée"})," à votre situation actuelle et vos objectifs de confort lombaire."]})]})]}),t.jsxs("div",{className:"flex items-start gap-4 p-4 bg-gradient-to-r from-primary-lightest/50 to-white rounded-xl border border-primary/10",children:[t.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-gradient-to-br from-primary to-primary-light flex items-center justify-center text-white font-bold text-lg shadow-md",children:"2"}),t.jsxs("div",{className:"flex-1",children:[t.jsxs("h4",{className:"font-semibold text-secondary mb-1 flex items-center gap-2",children:[t.jsx("span",{children:"💳"}),"Sécurisation de votre accès"]}),t.jsxs("p",{className:"text-sm text-neutral-600 leading-relaxed",children:["Après validation de votre formule, accédez à ",t.jsx("span",{className:"font-semibold text-primary",children:"notre processus de paiement sécurisé"}),". Vous recevrez un email de bienvenue avec tous les détails."]})]})]}),t.jsxs("div",{className:"flex items-start gap-4 p-4 bg-gradient-to-r from-primary-lightest/50 to-white rounded-xl border border-primary/10",children:[t.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-gradient-to-br from-primary to-primary-light flex items-center justify-center text-white font-bold text-lg shadow-md",children:"3"}),t.jsxs("div",{className:"flex-1",children:[t.jsxs("h4",{className:"font-semibold text-secondary mb-1 flex items-center gap-2",children:[t.jsx("span",{children:"📱"}),"Accès à votre espace personnel"]}),t.jsxs("p",{className:"text-sm text-neutral-600 leading-relaxed",children:["Par email, vous recevrez vos identifiants pour accéder à ",t.jsx("span",{className:"font-semibold text-primary",children:"HexFit, votre plateforme d'entraînement"}),". Exercices personnalisés avec vidéos guidées et instructions détaillées."]})]})]})]}),t.jsxs("div",{className:"mt-6 bg-white border-l-4 border-primary rounded-lg p-4 shadow-sm",children:[t.jsx("p",{className:"text-sm text-neutral-700 mb-2",children:t.jsx("span",{className:"font-semibold text-secondary",children:"💡 Bon à savoir :"})}),t.jsxs("p",{className:"text-xs text-neutral-600 leading-relaxed",children:["Vos programmes sont conçus pour démarrer un lundi, afin de vous permettre une organisation optimale de votre semaine. Vous pourrez choisir de commencer ",t.jsx("strong",{children:"dès maintenant"})," ou ",t.jsx("strong",{children:"le lundi prochain"})," selon votre disponibilité."]})]})]})]}),t.jsx("div",{className:"mt-6 text-center",children:t.jsx("p",{className:"text-sm text-white/90 font-medium",children:"Votre programme est unique et créé spécialement pour vous"})})]})]}),t.jsx("style",{children:`
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
.animate-shimmer {
animation: shimmer 2s infinite;
}
`})]})},gm=({message:s})=>t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary via-secondary to-primary relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wMyI+PHBhdGggZD0iTTM2IDE0YzAtMy4zMTQtMi42ODYtNi02LTZzLTYgMi42ODYtNiA2IDIuNjg2IDYgNiA2IDYtMi42ODYgNi02ek0yNCA0N2MwLTMuMzE0LTIuNjg2LTYtNi02cy02IDIuNjg2LTYgNiAyLjY4NiA2IDYgNiA2LTIuNjg2IDYtNnptMTgtMjNjMC0zLjMxNC0yLjY4Ni02LTYtNnMtNiAyLjY4Ni02IDYgMi42ODYgNiA2IDYgNi0yLjY4NiA2LTZ6Ii8+PC9nPjwvZz48L3N2Zz4=')] opacity-40"}),t.jsxs("div",{className:"relative z-10 min-h-screen flex flex-col items-center justify-center px-4",children:[t.jsx("div",{className:"mb-8",children:t.jsx("a",{href:"/",className:"inline-block hover:opacity-80 transition-opacity",children:t.jsx("img",{src:"/logo_blanc_sans_ecritures_fond_vide.png",alt:"Malodo",className:"h-28 w-auto mx-auto"})})}),t.jsx("div",{className:"max-w-md w-full",children:t.jsxs("div",{className:"bg-white/95 backdrop-blur-md rounded-3xl shadow-2xl p-8 sm:p-12 text-center border border-white/20",children:[t.jsx("div",{className:"mb-8 inline-flex items-center justify-center w-24 h-24 rounded-full bg-red-100 shadow-lg",children:t.jsx(Pl,{className:"w-12 h-12 text-red-600"})}),t.jsx("h1",{className:"text-3xl sm:text-4xl font-bold text-secondary mb-4",children:"Oups !"}),t.jsx("p",{className:"text-lg text-neutral-700 mb-8 leading-relaxed",children:s}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsx("a",{href:"/",className:"inline-flex items-center justify-center px-6 py-3 bg-gradient-to-r from-primary to-primary-light hover:shadow-xl text-white font-semibold rounded-xl transition-all duration-300 shadow-lg hover:scale-105",children:"Retour à l'accueil"}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center px-6 py-3 bg-white border-2 border-primary hover:bg-primary-lightest text-secondary font-semibold rounded-xl transition-all duration-300",children:"Refaire l'évaluation"})]}),t.jsxs("p",{className:"mt-8 text-sm text-neutral-600",children:["Besoin d'aide ?"," ",t.jsx("a",{href:"mailto:contact@malodo.pro",className:"text-primary hover:text-primary-dark underline font-semibold",children:"Contactez-nous"})]})]})})]})]}),vN=({data:s})=>{const[e,r]=k.useState(null),[n,i]=k.useState(0),[a]=k.useState(()=>Math.floor(Math.random()*3));k.useState(()=>Math.floor(Math.random()*3)),k.useState(()=>Math.floor(Math.random()*3)),k.useState(()=>Math.floor(Math.random()*4)),k.useEffect(()=>{const p=setTimeout(()=>i(75),100);return()=>clearTimeout(p)},[]);const o=p=>{r(e===p?null:p)},c=[{text:"Les exercices proposés étaient vraiment adaptés à ma situation. Le programme m'a aidé à mieux comprendre mon corps et à adopter de meilleures habitudes au quotidien.",author:"Margaux C.",role:"Utilisatrice du programme MALODO"},{text:"J'ai retrouvé une mobilité que je pensais perdue. Les vidéos sont claires et le suivi m'a vraiment motivé à persévérer dans mes exercices quotidiens.",author:"Camille F.",role:"Utilisatrice du programme MALODO"},{text:"Après quelques semaines, j'ai constaté une nette amélioration. Je peux enfin reprendre mes activités sans cette gêne constante qui me limitait.",author:"Gaëtan T.",role:"Utilisateur du programme MALODO"}][a],[d,u]=k.useState(!1),[m,h]=k.useState(!1),v=(()=>{const p=s.dureeRecommandee.toLowerCase(),x=s.codeDiagnostic.toLowerCase();return p.includes("12 semaines")||p.includes("12w")||p.includes("consolidation")||x.includes("12w")?12:p.includes("8 semaines")||p.includes("8w")||p.includes("standard")||x.includes("8w")?8:4})(),j=[{nom:"Découverte",emoji:"🌱",duree:"4 semaines",prix:49,lienStripe:"https://buy.stripe.com/3cI3cub7m7ZTe7Vgwl5kk03",features:["Programme personnalisé selon votre évaluation","Vidéos guidées et exercices adaptés","Support par email"],badge:v>4?"Durée plus courte que recommandée":null,whatsappDisponible:!1},{nom:"Standard",emoji:"💪",duree:"8 semaines",prix:119,lienStripe:"https://buy.stripe.com/aFa5kC1wM4NH1l92Fv5kk04",lienStripeWhatsApp:"https://buy.stripe.com/eVq28qdfu7ZT4xl3Jz5kk05",prixWhatsApp:617,detailWhatsApp:"(119€ + 498€)",mensualiteWhatsApp:"249€/mois × 2 mois",features:["Tout de Découverte +","Progression optimale pour résultats durables","Durée recommandée par 8 kinés sur 10"],whatsappDisponible:!0},{nom:"Consolidation",emoji:"🎯",duree:"12 semaines",prix:179,lienStripe:"https://buy.stripe.com/aFa00iejy7ZTfbZ6VL5kk06",lienStripeWhatsApp:"https://buy.stripe.com/dRm00i6R6gwpbZN3Jz5kk07",prixWhatsApp:926,detailWhatsApp:"(179€ + 747€)",mensualiteWhatsApp:"249€/mois × 3 mois",features:["Tout de Standard +","Renforcement approfondi long terme","Prévention optimale et résultats durables"],whatsappDisponible:!0}],w=(p,x)=>{const y=`${x&&p.lienStripeWhatsApp?p.lienStripeWhatsApp:p.lienStripe}?prefilled_email=${encodeURIComponent(s.email)}`;window.open(y,"_blank")};return t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-[#2c7873] via-[#1a4f4a] to-[#2c7873] px-4 py-8 lg:px-8",children:[t.jsxs("div",{className:"max-w-6xl mx-auto",children:[t.jsx("div",{className:"text-center mb-6 animate-fade-in-down",children:t.jsx("div",{className:"w-16 h-16 bg-white rounded-xl flex items-center justify-center mx-auto mb-4 shadow-lg",children:t.jsx("img",{src:"/logo-malodo.png",alt:"MALODO",className:"w-12 h-12 object-contain"})})}),t.jsx("div",{className:"bg-white/20 h-2 rounded-full mb-6 overflow-hidden animate-fade-in max-w-lg mx-auto",children:t.jsx("div",{className:"h-full bg-gradient-to-r from-[#4fd1c5] to-[#38b2ac] rounded-full transition-all duration-1000 ease-out",style:{width:`${n}%`}})}),t.jsxs("div",{className:"text-center text-white mb-10 animate-fade-in-down",children:[t.jsxs("h1",{className:"text-3xl lg:text-4xl font-bold mb-2 text-white",children:["Bonjour ",s.prenom," !"]}),t.jsx("p",{className:"text-base lg:text-lg text-white/90",children:"Nous avons analysé votre situation. Voici ce que nous recommandons."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-white to-gray-50 rounded-3xl shadow-2xl p-6 lg:p-10 mb-6 animate-fade-in-up border border-gray-100",children:[t.jsx("h2",{className:"text-2xl lg:text-3xl font-bold bg-gradient-to-r from-[#2c7873] to-[#1a4f4a] bg-clip-text text-transparent mb-6",children:"Votre profil"}),t.jsxs("div",{className:"space-y-5",children:[t.jsxs("div",{className:"bg-gradient-to-r from-teal-50 to-white rounded-xl p-4 border-l-4 border-[#2c7873]",children:[t.jsx("div",{className:"text-sm text-teal-700 mb-1 font-semibold",children:"Niveau d'activité"}),t.jsx("div",{className:"font-bold text-gray-900",children:s.niveauActivite})]}),t.jsxs("div",{className:"bg-gradient-to-r from-teal-50 to-white rounded-xl p-4 border-l-4 border-[#2c7873]",children:[t.jsx("div",{className:"text-sm text-teal-700 mb-1 font-semibold",children:"Priorité"}),t.jsx("div",{className:"font-bold text-gray-900",children:"Retrouver le confort et réduire les inconforts au quotidien"})]}),s.descriptionProfil&&t.jsxs("div",{className:"bg-gradient-to-r from-teal-50 to-white rounded-xl p-4 border-l-4 border-[#2c7873]",children:[t.jsx("div",{className:"text-sm text-teal-700 mb-1 font-semibold",children:"Profil de mouvement"}),t.jsx("div",{className:"font-bold text-gray-900",children:s.descriptionProfil})]}),t.jsx("div",{className:"bg-gradient-to-r from-red-100 via-red-50 to-orange-50 rounded-xl p-5 mt-6 border-l-4 border-red-500",children:t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-2xl",children:"⚠️"}),t.jsxs("div",{children:[t.jsx("div",{className:"font-bold text-red-900 mb-2",children:"Sans action immédiate"}),t.jsx("p",{className:"text-red-800 text-sm leading-relaxed",children:"Votre gêne risque d'augmenter pendant les semaines d'attente avant votre première consultation. Le déconditionnement peut aggraver la situation."})]})]})})]})]}),t.jsxs("div",{className:"bg-white rounded-3xl shadow-2xl p-6 lg:p-10 mb-6 animate-fade-in-up border border-gray-100",style:{animationDelay:"0.1s"},children:[t.jsx("h2",{className:"text-2xl lg:text-3xl font-bold bg-gradient-to-r from-[#2c7873] to-[#1a4f4a] bg-clip-text text-transparent mb-8",children:"Ce qui vous attend"}),t.jsxs("div",{className:"relative pl-8",children:[t.jsx("div",{className:"absolute left-2 top-0 bottom-0 w-0.5 bg-gradient-to-b from-[#2c7873] via-[#4fd1c5] to-[#2c7873]"}),t.jsxs("div",{className:"relative mb-8",children:[t.jsx("div",{className:"absolute -left-7 top-1 w-3 h-3 rounded-full bg-[#2c7873] border-4 border-white shadow-md"}),t.jsx("div",{className:"font-bold text-[#2c7873] mb-2 text-lg",children:"Cette semaine"}),t.jsxs("div",{className:"text-gray-700 text-sm leading-relaxed",children:[t.jsx("strong",{className:"text-[#2c7873]",children:"Comprendre votre corps :"})," Découvrir pourquoi votre dos réagit ainsi et identifier vos schémas de mouvement",t.jsx("br",{}),t.jsx("strong",{className:"text-[#2c7873]",children:"Premier soulagement :"})," 3 exercices doux spécifiques (10 min/jour) pour réduire la tension"]})]}),t.jsxs("div",{className:"relative mb-8",children:[t.jsx("div",{className:"absolute -left-7 top-1 w-3 h-3 rounded-full bg-[#2c7873] border-4 border-white shadow-md"}),t.jsx("div",{className:"font-bold text-[#2c7873] mb-2 text-lg",children:"Dans 4 semaines"}),t.jsxs("div",{className:"text-gray-700 text-sm leading-relaxed",children:[t.jsx("strong",{className:"text-[#2c7873]",children:"Confort au quotidien :"})," Réduction notable de la gêne dans vos activités",t.jsx("br",{}),t.jsx("strong",{className:"text-[#2c7873]",children:"Moins de raideurs :"})," Réveil plus confortable, mobilité améliorée"]})]}),v>=8&&t.jsxs("div",{className:"relative mb-8",children:[t.jsx("div",{className:"absolute -left-7 top-1 w-3 h-3 rounded-full bg-[#2c7873] border-4 border-white shadow-md"}),t.jsx("div",{className:"font-bold text-[#2c7873] mb-2 text-lg",children:"Dans 8 semaines"}),t.jsxs("div",{className:"text-gray-700 text-sm leading-relaxed",children:[t.jsx("strong",{className:"text-[#2c7873]",children:"Autonomie retrouvée :"})," Comprendre et gérer vos inconforts de manière autonome",t.jsx("br",{}),t.jsx("strong",{className:"text-[#2c7873]",children:"Habitudes durables :"})," Nouvelles postures et mouvements intégrés naturellement",t.jsx("br",{}),t.jsx("strong",{className:"text-[#2c7873]",children:"Confiance renforcée :"})," Reprendre vos activités sans appréhension"]})]}),v===12&&t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute -left-7 top-1 w-3 h-3 rounded-full bg-[#2c7873] border-4 border-white shadow-md"}),t.jsx("div",{className:"font-bold text-[#2c7873] mb-2 text-lg",children:"Dans 12 semaines"}),t.jsxs("div",{className:"text-gray-700 text-sm leading-relaxed",children:[t.jsx("strong",{className:"text-[#2c7873]",children:"Transformation complète :"})," Résultats durables et bien ancrés",t.jsx("br",{}),t.jsx("strong",{className:"text-[#2c7873]",children:"Prévention active :"})," Outils pour éviter les récidives à long terme",t.jsx("br",{}),t.jsx("strong",{className:"text-[#2c7873]",children:"Meilleurs résultats long terme :"})," Base solide pour maintenir votre confort"]})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-white to-pink-50/30 rounded-3xl shadow-2xl p-6 lg:p-10 mb-6 animate-fade-in-up border border-gray-100",style:{animationDelay:"0.2s"},children:[t.jsx("h2",{className:"text-2xl lg:text-3xl font-bold bg-gradient-to-r from-[#2c7873] to-[#1a4f4a] bg-clip-text text-transparent mb-6",children:"Ils ont testé"}),t.jsxs("div",{className:"bg-gradient-to-br from-pink-100 via-pink-50 to-rose-50 rounded-2xl p-6 lg:p-8 border-l-4 border-pink-400 shadow-lg",children:[t.jsxs("p",{className:"italic text-gray-800 mb-4 text-sm lg:text-base leading-relaxed",children:['"',c.text,'"']}),t.jsxs("div",{className:"font-semibold text-gray-900 text-sm",children:["— ",c.author]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-white to-purple-50/20 rounded-3xl shadow-2xl p-6 lg:p-10 mb-6 animate-fade-in-up border border-gray-100",style:{animationDelay:"0.3s"},children:[t.jsx("h2",{className:"text-2xl lg:text-3xl font-bold bg-gradient-to-r from-[#2c7873] to-[#1a4f4a] bg-clip-text text-transparent mb-4",children:"Les formules"}),t.jsx("div",{className:"mb-8 p-5 bg-gradient-to-br from-blue-50 via-teal-50 to-cyan-50 rounded-xl border-l-4 border-teal-400 shadow-sm",children:t.jsxs("p",{className:"text-gray-700 text-sm lg:text-base leading-relaxed",children:["D'après votre évaluation, nous recommandons ",t.jsxs("strong",{className:"text-[#2c7873]",children:[v," semaines"]})," d'accompagnement. Vous pouvez choisir une autre durée selon vos besoins."]})}),t.jsx("div",{className:"grid lg:grid-cols-3 gap-6 lg:gap-8 mb-6",children:j.map((p,x)=>{const g=p.duree==="4 semaines"&&v===4||p.duree==="8 semaines"&&v===8||p.duree==="12 semaines"&&v===12,y=p.nom==="Standard"?d:m,_=y&&p.whatsappDisponible?p.prixWhatsApp:p.prix;return t.jsxs("div",{className:`relative rounded-2xl p-6 lg:p-7 transition-all duration-300 hover:shadow-2xl ${g?"bg-gradient-to-b from-green-50 via-emerald-50 to-teal-50 ring-4 ring-green-500 shadow-xl":"bg-gradient-to-b from-white to-gray-50 border-2 border-gray-200"}`,children:[g&&t.jsx("div",{className:"absolute -top-3 left-1/2 -translate-x-1/2 bg-gradient-to-r from-green-500 to-emerald-600 text-white px-5 py-1.5 rounded-full text-xs font-bold shadow-lg",children:"⭐ RECOMMANDÉ POUR VOUS"}),t.jsxs("div",{className:"text-center mb-5 mt-2",children:[t.jsx("div",{className:"text-5xl mb-3",children:p.emoji}),t.jsx("h3",{className:"text-2xl font-bold text-[#2c7873] mb-1",children:p.nom}),t.jsx("p",{className:"text-gray-600 text-sm",children:p.duree})]}),t.jsxs("div",{className:"text-center mb-6 pb-6 border-b-2 border-gray-100",children:[t.jsxs("div",{className:"text-4xl lg:text-5xl font-bold text-[#2c7873] mb-1",children:[_,"€"]}),y&&p.whatsappDisponible&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"text-xs text-gray-500",children:p.detailWhatsApp}),t.jsx("div",{className:"text-xs text-gray-500 mt-1",children:p.mensualiteWhatsApp})]})]}),t.jsx("div",{className:"mb-6 space-y-3",children:p.features.map((b,N)=>t.jsxs("div",{className:"flex items-start gap-3 text-sm text-gray-700",children:[t.jsx("span",{className:"text-[#2c7873] font-bold text-lg",children:"✓"}),t.jsx("span",{className:"leading-relaxed",children:b})]},N))}),p.whatsappDisponible&&t.jsx("div",{className:"mb-4 bg-green-50 border-2 border-green-200 rounded-xl p-4",children:t.jsxs("label",{className:"flex items-start gap-3 cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:y,onChange:b=>{p.nom==="Standard"?u(b.target.checked):h(b.target.checked)},className:"mt-1 w-5 h-5 text-green-600 rounded focus:ring-2 focus:ring-green-500"}),t.jsxs("div",{className:"flex-1",children:[t.jsx("div",{className:"font-bold text-green-900 text-sm mb-2",children:"📱 + Accompagnement Personnalisé Direct"}),t.jsxs("div",{className:"text-xs text-green-800 leading-relaxed mb-2",children:[t.jsx("strong",{children:"249€/mois"})," - Votre référent expert entre la prescription médicale et le kinésithérapeute"]}),t.jsxs("div",{className:"text-xs text-green-800 leading-relaxed",children:["• Accès direct à Jimmy, kinésithérapeute et éducateur sportif",t.jsx("br",{}),"• Échanges illimités et analyse personnalisée de vos mouvements",t.jsx("br",{}),"• Réponses adaptées à votre situation sous 24h",t.jsx("br",{}),"• Un accompagnement de proximité pour ne plus vous sentir seul(e)"]})]})]})}),!p.whatsappDisponible&&t.jsx("div",{className:"mb-4 py-3"}),t.jsxs("button",{onClick:()=>w(p,y),className:`w-full font-bold py-4 px-6 rounded-xl text-sm transition-all duration-300 hover:shadow-xl hover:scale-105 ${y&&p.whatsappDisponible?"bg-[#25D366] text-white hover:bg-[#20ba5a]":"bg-[#ec4899] text-white hover:bg-[#db2777] shadow-lg shadow-pink-500/30"}`,children:["Choisir ",p.nom," - ",_,"€"]}),p.whatsappDisponible&&y&&t.jsxs("div",{className:"mt-3 text-center text-xs text-gray-600",children:["Équivalent à ",p.duree==="8 semaines"?"4":"6"," séances d'ostéo"]})]},x)})}),t.jsxs("div",{className:"grid lg:grid-cols-2 gap-4 mt-8",children:[t.jsxs("div",{className:"text-center text-gray-600 text-xs bg-gradient-to-br from-teal-50 to-cyan-50 rounded-xl p-4 border border-teal-100",children:[t.jsx("div",{className:"text-gray-700 font-semibold mb-1",children:"Programme"}),t.jsx("div",{className:"font-mono font-bold text-sm text-[#2c7873]",children:s.codeDiagnostic})]}),t.jsxs("div",{className:"text-center text-gray-600 text-xs bg-gradient-to-br from-blue-50 to-teal-50 rounded-xl p-4 border border-blue-100",children:[t.jsx("div",{className:"text-gray-700 font-semibold mb-1",children:"Score complexité"}),t.jsxs("div",{className:"font-bold text-sm text-[#2c7873]",children:[s.scoreComplexite,"/10"]})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-white to-amber-50/20 rounded-3xl shadow-2xl p-6 lg:p-10 mb-6 animate-fade-in-up border border-gray-100",style:{animationDelay:"0.5s"},children:[t.jsxs("button",{onClick:()=>o("faq"),className:"w-full bg-gradient-to-r from-amber-50 to-yellow-50 hover:from-amber-100 hover:to-yellow-100 px-5 py-4 rounded-xl flex justify-between items-center font-bold text-[#2c7873] transition-all border border-amber-200 mb-1",children:[t.jsx("span",{className:"text-lg",children:"Questions fréquentes"}),t.jsx("span",{className:`transform transition-transform text-xl ${e==="faq"?"rotate-180":""}`,children:"▼"})]}),e==="faq"&&t.jsxs("div",{className:"px-5 py-5 bg-gradient-to-br from-amber-50 to-yellow-50 rounded-b-xl space-y-5 text-sm mt-1 border-x border-b border-amber-200",children:[t.jsxs("div",{children:[t.jsx("div",{className:"font-bold text-[#2c7873] mb-1.5",children:"Combien de temps par jour ?"}),t.jsx("p",{className:"text-gray-700",children:"10-15 minutes suffisent. Vous pouvez fractionner selon votre emploi du temps."})]}),t.jsxs("div",{children:[t.jsx("div",{className:"font-bold text-[#2c7873] mb-1.5",children:"Ai-je besoin de matériel ?"}),t.jsx("p",{className:"text-gray-700",children:"Non, adaptable sans équipement. Des alternatives avec accessoires simples sont proposées."})]}),t.jsxs("div",{children:[t.jsx("div",{className:"font-bold text-[#2c7873] mb-1.5",children:"Puis-je continuer mon travail normalement ?"}),t.jsx("p",{className:"text-gray-700",children:"Le programme s'intègre à votre quotidien avec des conseils pour votre poste de travail."})]}),t.jsxs("div",{children:[t.jsx("div",{className:"font-bold text-[#2c7873] mb-1.5",children:"Puis-je changer de formule après ?"}),t.jsx("p",{className:"text-gray-700",children:"Oui, vous pouvez faire un upgrade vers une formule supérieure à tout moment."})]}),t.jsxs("div",{children:[t.jsx("div",{className:"font-bold text-[#2c7873] mb-1.5",children:"Le WhatsApp Premium est-il un abonnement ?"}),t.jsx("p",{className:"text-gray-700",children:"Non, c'est un forfait unique pour la durée choisie. Aucun renouvellement automatique."})]})]})]}),t.jsx("div",{className:"bg-gradient-to-br from-white to-blue-50/20 rounded-3xl shadow-2xl p-6 lg:p-10 mb-6 animate-fade-in-up border border-gray-100",style:{animationDelay:"0.6s"},children:t.jsxs("div",{className:"grid lg:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 rounded-xl p-5 border-l-4 border-blue-400",children:[t.jsx("div",{className:"font-bold text-[#2c7873] text-lg mb-3",children:"Paiement"}),t.jsx("p",{className:"text-sm text-gray-700 mb-2",children:"100% sécurisé par Stripe"}),t.jsx("p",{className:"text-xs text-gray-600",children:"CB • Visa • Mastercard • Amex • Apple Pay • Google Pay"})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-teal-50 rounded-xl p-5 border-l-4 border-green-400",children:[t.jsx("div",{className:"font-bold text-[#2c7873] text-lg mb-3",children:"Après paiement"}),t.jsxs("div",{className:"space-y-2 text-sm text-gray-700",children:[t.jsx("p",{children:"• Confirmation par email"}),t.jsx("p",{children:"• Création de votre compte HexFit"}),t.jsx("p",{children:"• Réception de vos accès sous 24h"})]})]})]})}),t.jsx("div",{className:"bg-gradient-to-br from-white to-yellow-50/20 rounded-3xl shadow-2xl p-6 lg:p-10 mb-6 animate-fade-in-up border border-gray-100",style:{animationDelay:"0.7s"},children:t.jsxs("div",{className:"bg-gradient-to-r from-yellow-100 via-amber-50 to-orange-50 rounded-xl p-5 border-l-4 border-yellow-500 shadow-sm",children:[t.jsx("div",{className:"font-bold text-yellow-900 mb-2",children:"Avertissement"}),t.jsx("p",{className:"text-sm text-yellow-900 leading-relaxed",children:"MALODO est une plateforme de bien-être, pas un service médical. Ce programme est destiné aux inconforts lombaires légers à modérés. En cas de douleur intense, de perte de force ou de troubles sensitifs, consultez un médecin."})]})}),t.jsxs("footer",{className:"text-center text-white/80 mt-10 text-sm space-y-3 animate-fade-in",children:[t.jsxs("div",{className:"flex items-center justify-center gap-2 mb-2",children:[t.jsx("img",{src:"/logo_blanc_sans_ecritures_fond_vide.png",alt:"MALODO",className:"w-8 h-8"}),t.jsx("span",{className:"font-semibold text-white",children:"MALODO"})]}),t.jsxs("p",{children:[t.jsx("a",{href:"https://malodo.pro",className:"underline hover:text-white",target:"_blank",rel:"noopener noreferrer",children:"malodo.pro"})," • ",t.jsx("a",{href:"mailto:contact@malodo.pro",className:"underline hover:text-white",children:"contact@malodo.pro"})]}),t.jsx("p",{className:"text-xs",children:"Développé par Jimmy, kiné et éducateur sportif, pour ne plus vous poser de questions sur vos inconforts lombaires"}),t.jsxs("p",{className:"text-xs",children:["Vos informations sont conservées 48h puis automatiquement supprimées • ",t.jsx("a",{href:"/politique-de-confidentialite",className:"underline hover:text-white",children:"RGPD"})]})]})]}),t.jsx("style",{children:`
@keyframes fade-in-down {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fade-in-up {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes bounce-slow {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
@keyframes pulse-slow {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.02); }
}
.animate-fade-in-down {
animation: fade-in-down 0.6s ease-out;
}
.animate-fade-in-up {
animation: fade-in-up 0.6s ease-out backwards;
}
.animate-fade-in {
animation: fade-in 0.8s ease-out;
}
.animate-bounce-slow {
animation: bounce-slow 2s infinite;
}
.animate-pulse-slow {
animation: pulse-slow 2s ease-in-out infinite;
}
`})]})},bN=({data:s})=>{const e=r=>new Intl.DateTimeFormat("fr-FR",{day:"numeric",month:"long",year:"numeric"}).format(r);return t.jsx("div",{className:"min-h-screen bg-gradient-to-br from-primary via-secondary to-primary py-8 px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx("div",{className:"mb-8 text-center",children:t.jsx("a",{href:"/",className:"inline-block hover:opacity-80 transition-opacity",children:t.jsx("img",{src:"/logo_blanc_sans_ecritures_fond_vide.png",alt:"Malodo",className:"h-20 w-auto mx-auto"})})}),t.jsxs("div",{className:"bg-white rounded-3xl shadow-2xl p-8 md:p-12 text-center relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 bg-blue-50 rounded-full -mr-32 -mt-32 opacity-50"}),t.jsx("div",{className:"absolute bottom-0 left-0 w-48 h-48 bg-blue-50 rounded-full -ml-24 -mb-24 opacity-50"}),t.jsxs("div",{className:"relative z-10",children:[t.jsx("div",{className:"w-24 h-24 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-6",children:t.jsx("span",{className:"text-5xl",children:"🩺"})}),t.jsxs("h1",{className:"text-3xl md:text-4xl font-bold text-secondary mb-4",children:["Bonjour ",s.prenom]}),t.jsx("p",{className:"text-xl text-neutral-700 mb-8 leading-relaxed",children:"Merci d'avoir pris le temps de remplir notre questionnaire d'évaluation"}),t.jsx("div",{className:"bg-blue-50 border-l-4 border-blue-500 rounded-xl p-6 md:p-8 text-left mb-8",children:t.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[t.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center",children:t.jsx("span",{className:"text-2xl",children:"ℹ️"})}),t.jsxs("div",{children:[t.jsx("h2",{className:"text-xl font-bold text-secondary mb-3",children:"Votre situation nécessite un avis médical"}),t.jsx("p",{className:"text-neutral-700 leading-relaxed mb-4",children:"Suite à l'analyse de vos réponses, nous avons identifié certains éléments qui nécessitent l'attention d'un professionnel de santé."}),t.jsxs("p",{className:"text-neutral-700 leading-relaxed",children:[t.jsx("strong",{children:"Cela ne signifie pas forcément qu'il y a quelque chose de grave"}),", mais simplement qu'un examen clinique approprié est recommandé avant de débuter un programme d'exercices."]})]})]})}),s.drapeauxRouges&&s.drapeauxRouges.length>0&&t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 rounded-xl p-6 md:p-8 text-left mb-8",children:[t.jsxs("h3",{className:"text-lg font-bold text-secondary mb-4 flex items-center gap-3",children:[t.jsx("span",{className:"text-2xl",children:"⚠️"}),"Éléments identifiés nécessitant une attention"]}),t.jsx("div",{className:"space-y-3",children:s.drapeauxRouges.map((r,n)=>t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-2 h-2 bg-amber-500 rounded-full mt-2 flex-shrink-0"}),t.jsx("p",{className:"text-neutral-800 text-sm leading-relaxed",children:r})]},n))})]}),t.jsxs("div",{className:"bg-green-50 border-l-4 border-green-500 rounded-xl p-6 md:p-8 text-left mb-8",children:[t.jsxs("h3",{className:"text-lg font-bold text-secondary mb-4 flex items-center gap-3",children:[t.jsx("span",{className:"text-2xl",children:"👨⚕️"}),"Prochaines étapes recommandées"]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx("div",{className:"w-8 h-8 bg-green-500 text-white rounded-full flex items-center justify-center font-bold text-sm flex-shrink-0",children:"1"}),t.jsxs("div",{children:[t.jsx("p",{className:"font-semibold text-secondary mb-1",children:"Consultez votre médecin traitant"}),t.jsx("p",{className:"text-sm text-neutral-700",children:"Prenez rendez-vous pour un bilan et expliquez-lui vos symptômes. Il pourra vous orienter si nécessaire."})]})]}),t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx("div",{className:"w-8 h-8 bg-green-500 text-white rounded-full flex items-center justify-center font-bold text-sm flex-shrink-0",children:"2"}),t.jsxs("div",{children:[t.jsx("p",{className:"font-semibold text-secondary mb-1",children:"Consultez un kinésithérapeute"}),t.jsx("p",{className:"text-sm text-neutral-700",children:"Un bilan kinésithérapique permettra d'évaluer votre situation de manière approfondie."})]})]}),t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx("div",{className:"w-8 h-8 bg-green-500 text-white rounded-full flex items-center justify-center font-bold text-sm flex-shrink-0",children:"3"}),t.jsxs("div",{children:[t.jsx("p",{className:"font-semibold text-secondary mb-1",children:"Revenez vers nous après votre consultation"}),t.jsx("p",{className:"text-sm text-neutral-700",children:"Une fois que vous aurez reçu un avis médical, vous pourrez réévaluer votre éligibilité à notre programme avec votre professionnel de santé."})]})]})]})]}),t.jsxs("div",{className:"bg-blue-50 border-l-4 border-blue-500 rounded-xl p-6 md:p-8 text-center mb-8",children:[t.jsxs("h3",{className:"text-lg font-bold text-secondary mb-3 flex items-center justify-center gap-3",children:[t.jsx("span",{className:"text-2xl",children:"📚"}),"Ressource gratuite pour vous"]}),t.jsx("p",{className:"text-neutral-700 mb-4 text-sm",children:"En attendant votre consultation, téléchargez notre ebook complet pour mieux comprendre votre dos"}),t.jsxs("p",{className:"text-neutral-600 mb-4 text-xs leading-relaxed",children:[t.jsx("strong",{children:"Ce guide complet contient :"}),t.jsx("br",{}),"Anatomie détaillée • Signaux d'alerte • Quand consulter • Soins quotidiens"]}),t.jsx("a",{href:"/ebooks/comprendre-mon-dos",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-gradient-to-r from-primary to-primary-light text-white font-bold px-8 py-4 rounded-full hover:shadow-xl transition-all duration-300 hover:scale-105",children:`📖 Télécharger l'ebook "Comprendre son Dos"`})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary-lightest to-secondary-light rounded-xl p-6 md:p-8 text-left mb-8",children:[t.jsxs("h3",{className:"text-lg font-bold text-secondary mb-3 flex items-center gap-3",children:[t.jsx("span",{className:"text-2xl",children:"💡"}),"Pourquoi cette précaution ?"]}),t.jsx("p",{className:"text-neutral-700 leading-relaxed text-sm",children:"Chez MALODO, votre sécurité est notre priorité absolue. Notre programme d'exercices est conçu pour les personnes dont la situation ne présente pas de signes nécessitant une prise en charge médicale immédiate. Cette approche responsable nous permet de vous garantir un accompagnement adapté et sans risque."})]})]})]}),t.jsxs("div",{className:"mt-8 bg-white/95 backdrop-blur-sm rounded-2xl shadow-xl p-6 text-center",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary mb-3",children:"Besoin d'aide ou de plus d'informations ?"}),t.jsx("p",{className:"text-sm text-neutral-700 mb-6",children:"Notre équipe reste disponible pour répondre à vos questions"}),t.jsx("a",{href:"/contact",className:"inline-block bg-gradient-to-r from-primary to-primary-light text-white font-bold px-8 py-4 rounded-full hover:shadow-xl transition-all duration-300 hover:scale-105",children:"Contactez-nous"})]}),t.jsx("div",{className:"mt-6 text-center",children:t.jsxs("p",{className:"text-xs text-white/80",children:["💾 Cette page restera accessible jusqu'au ",t.jsx("strong",{className:"text-white",children:e(s.expireAt)})]})})]})})},jN=()=>{const[s,e]=k.useState(!0),[r,n]=k.useState(0),[i,a]=k.useState("🔍 Analyse de vos réponses..."),[o,l]=k.useState(0),[c,d]=k.useState(null),[u,m]=k.useState(null);k.useEffect(()=>{const v=h();if(!v){m("Token manquant dans l'URL"),e(!1);return}(async()=>{try{const p=await new fN().waitForResults(v,(x,g,y)=>{n(x),a(g),l(y)});d(p),e(!1)}catch(w){const p=w instanceof Error?w.message:"Une erreur est survenue";m(p),e(!1)}})()},[]);const h=()=>{const j=window.location.pathname.match(/\/resultats\/([^/]+)/);return j?j[1]:null};if(s)return t.jsx(gN,{progress:Math.min(r,100),message:i,elapsedTime:o});if(u)return t.jsx(gm,{message:u});if(!c)return t.jsx(gm,{message:"Aucun résultat disponible"});const f=!c.codeDiagnostic||c.codeDiagnostic.trim()==="";return t.jsxs(t.Fragment,{children:[t.jsx(V,{title:`Vos Résultats | ${c.prenom} - MALODO`,description:"Découvrez votre programme personnalisé MALODO adapté à votre profil lombaire",canonicalUrl:window.location.href}),f?t.jsx(bN,{data:c}):t.jsx(vN,{data:c})]})},yN=()=>{const[s,e]=k.useState(null),[r,n]=k.useState(!1),[i,a]=k.useState(!1),[o,l]=k.useState(""),[c,d]=k.useState("consolidation"),[u,m]=k.useState(!0),h={decouverte:{name:"Découverte",description:"4 semaines de programme personnalisé avec vidéos guidées",duration:4},standard:{name:"Standard",description:"8 semaines de programme évolutif avec suivi hebdomadaire + ebook",duration:8},consolidation:{name:"Consolidation",description:"12 semaines d'accompagnement privilégié direct personnalisé",duration:12}};k.useEffect(()=>{const w=new URLSearchParams(window.location.search);w.get("session_id");const p=w.get("formule");p&&h[p]&&d(p);const x=f();l(x),setTimeout(()=>m(!1),3e3)},[]);const f=()=>{const w=new Date,p=w.getDay(),x=p===0?1:8-p,g=new Date(w);return g.setDate(w.getDate()+x),g.toLocaleDateString("fr-FR",{weekday:"long",year:"numeric",month:"long",day:"numeric"})},v=async()=>{if(!s)return;n(!0);let w;if(s==="now")w=new Date;else{const b=new Date,N=b.getDay(),E=N===0?1:8-N;w=new Date(b),w.setDate(b.getDate()+E)}const p=new URLSearchParams(window.location.search),x=p.get("session_id"),g=p.get("email"),y=p.get("nom"),_="https://hooks.zapier.com/hooks/catch/23106105/ugmtxom";{const b={formule:c,formule_nom:j.name,choix_demarrage:s,date_demarrage:w.toISOString(),date_demarrage_fr:w.toLocaleDateString("fr-FR",{weekday:"long",year:"numeric",month:"long",day:"numeric"}),email:g||"",nom:y||"",session_id:x||"",timestamp:new Date().toISOString()};fetch(_,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}).catch(N=>{console.log("Webhook Zapier (non-bloquant):",N)})}try{await new Promise(b=>setTimeout(b,2e3)),n(!1),a(!0)}catch(b){console.error("Erreur:",b),n(!1),a(!0)}},j=h[c];return t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-[#2c7873] via-[#3a9188] to-[#2c7873] flex items-center justify-center p-5 relative overflow-hidden",children:[t.jsx("style",{children:`
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes scaleIn {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-20px); }
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
@keyframes confetti {
0% { transform: translateY(-100vh) rotate(0deg); opacity: 1; }
100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}
.animate-slide-up {
animation: slideUp 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.animate-scale-in {
animation: scaleIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
.confetti-piece {
position: absolute;
width: 10px;
height: 10px;
border-radius: 2px;
animation: confetti 3s ease-in-out forwards;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.spinner {
border: 3px solid #f3f3f3;
border-top: 3px solid #2c7873;
border-radius: 50%;
width: 40px;
height: 40px;
animation: spin 1s linear infinite;
margin: 0 auto 15px;
}
@keyframes gradient-shift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
.animate-gradient {
background-size: 200% 200%;
animation: gradient-shift 3s ease infinite;
}
`}),u&&t.jsx("div",{className:"absolute inset-0 pointer-events-none",children:[...Array(30)].map((w,p)=>t.jsx("div",{className:"confetti-piece",style:{left:`${Math.random()*100}%`,backgroundColor:["#2c7873","#3a9188","#f59e0b","#10b981","#3b82f6"][Math.floor(Math.random()*5)],animationDelay:`${Math.random()*2}s`,animationDuration:`${2+Math.random()*2}s`}},p))}),t.jsxs("div",{className:"bg-white rounded-3xl shadow-2xl max-w-2xl w-full p-8 md:p-12 animate-slide-up relative overflow-hidden",children:[!r&&!i&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"absolute -top-6 -right-6 w-24 h-24 bg-yellow-400 rounded-full opacity-20 animate-float"}),t.jsx("div",{className:"absolute -bottom-8 -left-8 w-32 h-32 bg-emerald-400 rounded-full opacity-10 animate-float",style:{animationDelay:"1s"}}),t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"w-24 h-24 mx-auto mb-6 bg-gradient-to-br from-[#2c7873] to-[#3a9188] rounded-full flex items-center justify-center animate-scale-in shadow-lg",children:t.jsx(Te,{className:"w-14 h-14 text-white",strokeWidth:2.5})}),t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-gray-900 mb-4 leading-tight",children:"Félicitations !"}),t.jsxs("p",{className:"text-lg text-gray-600 leading-relaxed max-w-lg mx-auto",children:["Votre paiement est confirmé. Vous venez de franchir la première étape vers un"," ",t.jsx("span",{className:"font-semibold text-[#2c7873]",children:"meilleur confort lombaire"}),"."]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-[#2c7873]/5 to-[#3a9188]/10 rounded-2xl p-6 mb-10 border border-[#2c7873]/20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 bg-[#2c7873] opacity-5 rounded-full -mr-16 -mt-16"}),t.jsxs("div",{className:"flex items-start gap-4 relative",children:[t.jsx("div",{className:"flex-shrink-0 w-12 h-12 bg-gradient-to-br from-[#2c7873] to-[#3a9188] rounded-xl flex items-center justify-center shadow-md",children:t.jsx(Ms,{className:"w-6 h-6 text-white"})}),t.jsxs("div",{children:[t.jsxs("h3",{className:"text-xl font-bold text-gray-900 mb-2",children:["Programme ",j.name]}),t.jsx("p",{className:"text-gray-700 leading-relaxed",children:j.description})]})]})]}),t.jsxs("div",{className:"mb-8",children:[t.jsxs("div",{className:"flex items-center justify-center gap-2 mb-6",children:[t.jsx(ko,{className:"w-5 h-5 text-[#2c7873]"}),t.jsx("h2",{className:"text-2xl font-bold text-gray-900",children:"Quand démarrez-vous ?"}),t.jsx(ko,{className:"w-5 h-5 text-[#2c7873]"})]}),t.jsxs("div",{className:"grid gap-4",children:[t.jsx("button",{onClick:()=>e("now"),className:`group relative overflow-hidden p-6 rounded-2xl border-2 transition-all duration-300 ${s==="now"?"border-[#2c7873] bg-gradient-to-br from-[#2c7873] to-[#3a9188] shadow-xl scale-105":"border-gray-200 bg-white hover:border-[#2c7873] hover:shadow-lg hover:scale-102"}`,children:t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:`flex-shrink-0 w-14 h-14 rounded-xl flex items-center justify-center transition-colors ${s==="now"?"bg-white/20":"bg-[#2c7873]/10 group-hover:bg-[#2c7873]/20"}`,children:t.jsx(_v,{className:`w-7 h-7 ${s==="now"?"text-white":"text-[#2c7873]"}`})}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("div",{className:`text-lg font-bold mb-1 ${s==="now"?"text-white":"text-gray-900"}`,children:"Démarrer maintenant"}),t.jsx("div",{className:`text-sm ${s==="now"?"text-white/90":"text-gray-600"}`,children:"Commencez votre programme dès aujourd'hui"})]}),s==="now"&&t.jsx(Te,{className:"w-6 h-6 text-white flex-shrink-0"})]})}),t.jsx("button",{onClick:()=>e("monday"),className:`group relative overflow-hidden p-6 rounded-2xl border-2 transition-all duration-300 ${s==="monday"?"border-[#2c7873] bg-gradient-to-br from-[#2c7873] to-[#3a9188] shadow-xl scale-105":"border-gray-200 bg-white hover:border-[#2c7873] hover:shadow-lg hover:scale-102"}`,children:t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:`flex-shrink-0 w-14 h-14 rounded-xl flex items-center justify-center transition-colors ${s==="monday"?"bg-white/20":"bg-[#2c7873]/10 group-hover:bg-[#2c7873]/20"}`,children:t.jsx(Oe,{className:`w-7 h-7 ${s==="monday"?"text-white":"text-[#2c7873]"}`})}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("div",{className:`text-lg font-bold mb-1 ${s==="monday"?"text-white":"text-gray-900"}`,children:"Démarrer lundi prochain"}),t.jsx("div",{className:`text-sm ${s==="monday"?"text-white/90":"text-gray-600"}`,children:o})]}),s==="monday"&&t.jsx(Te,{className:"w-6 h-6 text-white flex-shrink-0"})]})})]})]}),t.jsx("button",{onClick:v,disabled:!s,className:`w-full py-5 rounded-2xl text-lg font-bold transition-all duration-300 relative overflow-hidden ${s?"bg-gradient-to-r from-[#2c7873] to-[#3a9188] text-white hover:shadow-2xl hover:scale-105 cursor-pointer animate-gradient":"bg-gray-200 text-gray-400 cursor-not-allowed"}`,children:t.jsx("span",{className:"relative z-10",children:s?"Confirmer et continuer":"Sélectionnez une option"})})]})]}),r&&t.jsxs("div",{className:"text-center py-16",children:[t.jsxs("div",{className:"relative w-24 h-24 mx-auto mb-8",children:[t.jsx("div",{className:"spinner"}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx(ko,{className:"w-8 h-8 text-[#2c7873]"})})]}),t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-3",children:"Préparation en cours..."}),t.jsx("p",{className:"text-gray-600 max-w-md mx-auto leading-relaxed",children:"Nous configurons votre espace personnel et préparons votre programme sur mesure."})]}),i&&t.jsxs("div",{className:"text-center py-12",children:[t.jsxs("div",{className:"relative mb-8",children:[t.jsx("div",{className:"w-28 h-28 mx-auto bg-gradient-to-br from-emerald-400 to-green-500 rounded-full flex items-center justify-center shadow-2xl animate-scale-in",children:t.jsx(Te,{className:"w-16 h-16 text-white",strokeWidth:2.5})}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx("div",{className:"w-32 h-32 border-4 border-emerald-200 rounded-full animate-ping opacity-75"})})]}),t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"C'est parti !"}),t.jsxs("div",{className:"max-w-md mx-auto mb-8",children:[t.jsxs("p",{className:"text-lg text-gray-700 leading-relaxed mb-6",children:["Vous allez recevoir un ",t.jsx("span",{className:"font-semibold text-[#2c7873]",children:"email de confirmation"})," avec vos identifiants et toutes les informations pour démarrer."]}),t.jsxs("div",{className:"bg-gradient-to-br from-[#2c7873]/5 to-[#3a9188]/10 rounded-2xl p-6 border border-[#2c7873]/20",children:[t.jsxs("div",{className:"flex items-center justify-center gap-2 mb-3",children:[t.jsx(Ms,{className:"w-5 h-5 text-[#2c7873]"}),t.jsx("h4",{className:"font-bold text-gray-900",children:"Prochaines étapes"})]}),t.jsxs("ul",{className:"text-left text-gray-700 space-y-2",children:[t.jsxs("li",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"text-[#2c7873] font-bold mt-0.5",children:"1."}),t.jsx("span",{children:"Consultez votre email de bienvenue"})]}),t.jsxs("li",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"text-[#2c7873] font-bold mt-0.5",children:"2."}),t.jsx("span",{children:"Connectez-vous à votre espace personnel"})]}),t.jsxs("li",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"text-[#2c7873] font-bold mt-0.5",children:"3."}),t.jsx("span",{children:"Démarrez votre première séance"})]})]})]})]}),t.jsx("p",{className:"text-xl font-semibold text-gray-900",children:"À très bientôt pour votre première séance !"})]})]})]})},wN=()=>{const[s,e]=k.useState({}),[r,n]=k.useState(null),[i,a]=k.useState(!1),[o,l]=k.useState(!0),[c,d]=k.useState("idle"),[u,m]=k.useState(""),[h,f]=k.useState(""),v={decouverte:"Découverte (4 semaines)",standard:"Standard (8 semaines)",consolidation:"Consolidation (12 semaines)"};k.useEffect(()=>{(async()=>{const b=new URLSearchParams(window.location.search),N=b.get("session_id"),E=b.get("email"),R=b.get("nom"),O=b.get("formule");if(console.log("🔍 Paramètres URL reçus:",{sessionId:N,email:E,nom:R,formule:O}),N&&E&&R&&O){console.log("✅ Utilisation des paramètres URL directs"),e({session_id:N,email:E,nom:R,formule:O}),l(!1);return}if(!N){console.error("❌ Pas de session_id dans l'URL"),l(!1);return}console.log("🔍 Session ID reçu, appel à l'edge function");try{const We=`https://xhsgpxszukgfgtkjsrys.supabase.co/functions/v1/get-checkout-session?session_id=${N}`;console.log("📞 Appel à l'edge function:",We);const Ge=await fetch(We,{method:"GET",headers:{"Content-Type":"application/json"}});if(!Ge.ok){const qe=await Ge.json();throw console.error("❌ Erreur de l'edge function:",qe),new Error(qe.error||"Impossible de récupérer les données de session")}const Qe=await Ge.json();console.log("✅ Données de session récupérées:",Qe),e({session_id:Qe.session_id,email:Qe.email,nom:Qe.nom,formule:Qe.formule})}catch(ce){console.error("❌ Erreur lors de la récupération de la session:",ce),m(ce.message||"Erreur de récupération des données")}finally{l(!1)}})();const _=j();f(_),console.log("📅 Prochain lundi calculé:",_)},[]);const j=()=>{const y=new Date,_=y.getDay(),b=_===0?1:8-_,N=new Date(y);return N.setDate(y.getDate()+b),N.toLocaleDateString("fr-FR",{weekday:"long",day:"numeric",month:"long",year:"numeric"})},w=y=>{if(y==="now")return new Date;{const _=new Date,b=_.getDay(),N=b===0?1:8-b,E=new Date(_);return E.setDate(_.getDate()+N),E.setHours(0,0,0,0),E}},p=y=>{const _=String(y.getDate()).padStart(2,"0"),b=String(y.getMonth()+1).padStart(2,"0"),N=y.getFullYear();return`${_}/${b}/${N}`},x=async()=>{if(!r)return;a(!0),d("idle"),m("");const y=w(r),_={session_id:s.session_id,email:s.email,nom:s.nom,formule:s.formule,start_choice:r,start_date:y.toISOString(),start_date_formatted:p(y)};console.log("📤 Données à envoyer au webhook:",_);try{const N="https://xhsgpxszukgfgtkjsrys.supabase.co/functions/v1/send-start-date-webhook";console.log("🔗 URL de l'edge function:",N);const E=await fetch(N,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(_)});if(console.log("✅ Réponse edge function:",{status:E.status,statusText:E.statusText,ok:E.ok}),E.ok){const R=await E.json();console.log("📦 Données de réponse:",R),d("success"),console.log("🎉 Webhook envoyé avec succès !")}else{const R=await E.json();throw console.error("❌ Erreur de réponse:",R),new Error(R.error||`Erreur HTTP: ${E.status}`)}}catch(b){console.error("❌ Erreur lors de l'envoi du webhook:",b),d("error"),m(b.message||"Une erreur est survenue")}finally{a(!1)}},g=s.session_id&&s.email&&s.nom&&s.formule;return o?t.jsx("div",{className:"min-h-screen bg-gradient-to-br from-primary via-secondary to-primary flex items-center justify-center p-4",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-2xl p-8 max-w-md w-full text-center",children:[t.jsx(Su,{className:"w-16 h-16 text-primary mx-auto mb-4 animate-spin"}),t.jsx("h1",{className:"text-2xl font-bold text-gray-900 mb-4",children:"Chargement..."}),t.jsx("p",{className:"text-gray-600",children:"Récupération de vos informations de paiement"})]})}):g?t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary via-secondary to-primary flex items-center justify-center p-4",children:[t.jsx("style",{children:`
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes scaleIn {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.animate-slide-up {
animation: slideUp 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.animate-scale-in {
animation: scaleIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.animate-pulse-custom {
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
`}),t.jsx("div",{className:"bg-white rounded-3xl shadow-2xl max-w-2xl w-full p-8 md:p-12 animate-slide-up",children:c==="success"?t.jsxs("div",{className:"text-center py-8",children:[t.jsx("div",{className:"w-24 h-24 bg-gradient-to-br from-green-400 to-green-600 rounded-full flex items-center justify-center mx-auto mb-6 animate-scale-in",children:t.jsx(Te,{className:"w-14 h-14 text-white",strokeWidth:2.5})}),t.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Merci !"}),t.jsx("p",{className:"text-lg text-gray-700 mb-8 max-w-md mx-auto",children:"✓ Vous allez recevoir un email de confirmation avec toutes les informations pour démarrer votre programme."}),t.jsx("div",{className:"bg-gradient-to-r from-primary-lightest to-accent-light rounded-2xl p-6 border border-primary/20 mb-6",children:t.jsx("p",{className:"text-gray-700 leading-relaxed",children:"Consultez votre boîte mail dans les prochaines minutes. N'oubliez pas de vérifier vos spams !"})}),s.formule==="consolidation"&&t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 rounded-2xl p-6 border-2 border-green-200",children:[t.jsxs("h3",{className:"text-xl font-bold text-gray-900 mb-3 flex items-center justify-center gap-2",children:[t.jsx("span",{className:"text-2xl",children:"🎉"}),"Accompagnement Personnalisé Direct"]}),t.jsx("p",{className:"text-gray-700 mb-4 text-sm",children:"Vous bénéficiez d'un accompagnement personnalisé direct avec Jimmy, kinésithérapeute et votre référent Malodo, pour vous guider entre la prescription médicale et le suivi kiné."}),t.jsxs("a",{href:"https://wa.me/33780976172?text=Bonjour%20Jimmy%20!%20Je%20viens%20de%20souscrire%20à%20l'accompagnement%20personnalisé%20direct%20de%20MALODO.%20J'ai%20hâte%20de%20commencer%20mon%20programme%20!%20Pouvez-vous%20me%20guider%20pour%20les%20prochaines%20étapes%20%3F",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-3 bg-[#25D366] text-white font-bold px-8 py-4 rounded-full hover:shadow-xl transition-all duration-300 hover:scale-105 w-full",children:[t.jsx("svg",{className:"w-6 h-6",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"})}),"Contacter Jimmy sur WhatsApp"]})]})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("div",{className:"w-20 h-20 bg-gradient-to-br from-primary to-primary-light rounded-full flex items-center justify-center mx-auto mb-6 animate-scale-in shadow-lg",children:t.jsx(Te,{className:"w-12 h-12 text-white",strokeWidth:2.5})}),t.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-2",children:"Paiement confirmé !"}),t.jsx("p",{className:"text-gray-600",children:"Bienvenue dans votre programme MALODO"})]}),t.jsx("div",{className:"bg-gradient-to-r from-primary-lightest to-accent-light rounded-2xl p-6 mb-8 border border-primary/20",children:t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsx("span",{className:"text-gray-600 font-medium",children:"Email :"}),t.jsx("span",{className:"text-gray-900 font-semibold",children:s.email})]}),t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsx("span",{className:"text-gray-600 font-medium",children:"Nom :"}),t.jsx("span",{className:"text-gray-900 font-semibold",children:s.nom})]}),t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsx("span",{className:"text-gray-600 font-medium",children:"Formule :"}),t.jsx("span",{className:"text-gray-900 font-semibold",children:v[s.formule||""]||s.formule})]})]})}),t.jsxs("div",{className:"mb-8",children:[t.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-6 text-center",children:"Quand souhaitez-vous démarrer ?"}),t.jsxs("div",{className:"space-y-4",children:[t.jsx("button",{onClick:()=>n("now"),className:`w-full p-6 rounded-2xl border-2 transition-all duration-300 ${r==="now"?"border-primary bg-gradient-to-r from-primary to-primary-light shadow-xl scale-105":"border-gray-200 bg-white hover:border-primary hover:shadow-lg hover:scale-102"}`,children:t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:`flex-shrink-0 w-14 h-14 rounded-xl flex items-center justify-center ${r==="now"?"bg-white/20":"bg-primary/10"}`,children:t.jsx(ca,{className:`w-7 h-7 ${r==="now"?"text-white":"text-primary"}`})}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("div",{className:`text-lg font-bold mb-1 ${r==="now"?"text-white":"text-gray-900"}`,children:"Démarrer maintenant"}),t.jsx("div",{className:`text-sm ${r==="now"?"text-white/90":"text-gray-600"}`,children:"Commencez votre programme dès aujourd'hui"})]}),r==="now"&&t.jsx(Te,{className:"w-6 h-6 text-white flex-shrink-0"})]})}),t.jsx("button",{onClick:()=>n("monday"),className:`w-full p-6 rounded-2xl border-2 transition-all duration-300 ${r==="monday"?"border-primary bg-gradient-to-r from-primary to-primary-light shadow-xl scale-105":"border-gray-200 bg-white hover:border-primary hover:shadow-lg hover:scale-102"}`,children:t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:`flex-shrink-0 w-14 h-14 rounded-xl flex items-center justify-center ${r==="monday"?"bg-white/20":"bg-primary/10"}`,children:t.jsx(Oe,{className:`w-7 h-7 ${r==="monday"?"text-white":"text-primary"}`})}),t.jsxs("div",{className:"flex-1 text-left",children:[t.jsx("div",{className:`text-lg font-bold mb-1 ${r==="monday"?"text-white":"text-gray-900"}`,children:"Démarrer lundi prochain"}),t.jsx("div",{className:`text-sm ${r==="monday"?"text-white/90":"text-gray-600"}`,children:h})]}),r==="monday"&&t.jsx(Te,{className:"w-6 h-6 text-white flex-shrink-0"})]})})]})]}),c==="error"&&t.jsxs("div",{className:"mb-6 bg-red-50 border border-red-200 rounded-xl p-4 flex items-start gap-3",children:[t.jsx(Pl,{className:"w-5 h-5 text-red-600 flex-shrink-0 mt-0.5"}),t.jsxs("div",{className:"flex-1",children:[t.jsx("p",{className:"text-red-800 font-semibold mb-1",children:"Erreur d'envoi"}),t.jsx("p",{className:"text-red-700 text-sm",children:u}),t.jsx("p",{className:"text-red-600 text-xs mt-2",children:"Vous pouvez réessayer ou nous contacter à contact@malodo.pro"})]})]}),t.jsx("button",{onClick:x,disabled:!r||i,className:`w-full py-5 rounded-2xl text-lg font-bold transition-all duration-300 flex items-center justify-center gap-3 ${r&&!i?"bg-gradient-to-r from-primary to-primary-light text-white hover:shadow-2xl hover:scale-105 cursor-pointer":"bg-gray-200 text-gray-400 cursor-not-allowed"}`,children:i?t.jsxs(t.Fragment,{children:[t.jsx(Su,{className:"w-6 h-6 animate-spin"}),t.jsx("span",{children:"Envoi en cours..."})]}):t.jsx("span",{children:r?"Confirmer mon choix":"Sélectionnez une option"})})]})})]}):t.jsx("div",{className:"min-h-screen bg-gradient-to-br from-red-50 to-red-100 flex items-center justify-center p-4",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-2xl p-8 max-w-md w-full text-center",children:[t.jsx(Pl,{className:"w-16 h-16 text-red-500 mx-auto mb-4"}),t.jsx("h1",{className:"text-2xl font-bold text-gray-900 mb-4",children:"Informations manquantes"}),t.jsx("p",{className:"text-gray-600 mb-4",children:u||"Les informations de session sont manquantes. Veuillez réessayer depuis le lien de confirmation Stripe."}),t.jsxs("div",{className:"bg-gray-50 rounded-lg p-4 text-left text-sm",children:[t.jsx("p",{className:"font-semibold mb-2",children:"Paramètres reçus :"}),t.jsx("pre",{className:"text-xs text-gray-700 overflow-auto",children:JSON.stringify(s,null,2)})]})]})})},NN=()=>t.jsxs(t.Fragment,{children:[t.jsx(V,{title:"Notre Méthode | Malodo - Approche Scientifique du Bien-être Lombaire",description:"Découvrez notre approche basée sur la biomécanique, le renforcement musculaire et l'éducation au mouvement pour améliorer votre confort lombaire.",keywords:"méthode Malodo, biomécanique lombaire, renforcement musculaire, éducation au mouvement, bien-être dos",canonicalUrl:"https://malodo.pro/notre-methode"}),t.jsx(oe,{}),t.jsxs("main",{className:"min-h-screen bg-white",children:[t.jsx("section",{className:"bg-gradient-to-br from-primary/5 to-blue-50 py-12 md:py-20",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[t.jsx("div",{className:"inline-block mb-4 md:mb-6 px-4 md:px-6 py-2 md:py-3 bg-primary/10 rounded-full text-primary font-bold text-sm md:text-base",children:"NOTRE APPROCHE"}),t.jsx("h1",{className:"text-3xl md:text-5xl lg:text-6xl font-black text-secondary mb-4 md:mb-6",children:"Une méthode scientifique pour votre bien-être"}),t.jsx("p",{className:"text-base md:text-xl text-neutral-600 mb-6 md:mb-8",children:"Découvrez comment nous combinons expertise scientifique, personnalisation avancée et accompagnement humain pour vous aider à retrouver le confort au quotidien."})]})})}),t.jsx("section",{className:"py-12 md:py-20 bg-white",children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-12 md:mb-16",children:[t.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-black text-secondary mb-4",children:"Les 3 piliers de notre approche"}),t.jsx("p",{className:"text-base md:text-xl text-neutral-600 max-w-3xl mx-auto",children:"Notre méthode repose sur une compréhension approfondie du corps humain et des mécanismes du mouvement"})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 md:gap-8 mb-12 md:mb-16",children:[{number:1,icon:za,title:"Compréhension du mouvement",description:"Notre approche se base sur une compréhension approfondie de la biomécanique lombaire. Chaque exercice est conçu pour respecter les amplitudes naturelles et optimiser la fonction de votre colonne vertébrale.",details:["Analyse des schémas de mouvement","Respect des amplitudes physiologiques","Optimisation de la mécanique articulaire","Adaptation aux capacités individuelles"]},{number:2,icon:An,title:"Stabilité et force",description:"Notre programme cible spécifiquement le renforcement de votre ceinture abdominale et des muscles profonds. Ces groupes musculaires sont essentiels pour assurer un soutien optimal de votre colonne vertébrale.",details:["Renforcement des muscles profonds","Travail de la ceinture abdominale","Développement de la stabilité lombaire","Progression adaptée et sécurisée"]},{number:3,icon:Rp,title:"Éducation au mouvement",description:"Au-delà des exercices, nous vous guidons dans la compréhension de votre corps. Apprenez à identifier vos schémas de mouvement et à adopter des positions qui favorisent votre confort au quotidien.",details:["Compréhension de votre propre corps","Identification des facteurs aggravants","Apprentissage de positions bénéfiques","Autonomie dans la gestion du confort"]}].map((s,e)=>t.jsxs("div",{className:"relative bg-white p-6 md:p-8 rounded-2xl border-2 border-neutral-200 hover:border-primary shadow-lg hover:shadow-2xl hover:-translate-y-2 transition-all duration-300 group",children:[t.jsx("div",{className:"absolute -top-4 md:-top-6 left-6 md:left-8 w-10 h-10 md:w-12 md:h-12 bg-gradient-to-br from-primary to-secondary rounded-xl flex items-center justify-center shadow-lg",children:t.jsx("span",{className:"text-xl md:text-2xl font-black text-white",children:s.number})}),t.jsxs("div",{className:"flex items-center gap-2 md:gap-3 mb-3 md:mb-4 mt-4 md:mt-6",children:[t.jsx(s.icon,{className:"text-primary flex-shrink-0",size:24}),t.jsx("h3",{className:"text-lg md:text-2xl font-bold text-secondary group-hover:text-primary transition-colors",children:s.title})]}),t.jsx("p",{className:"text-neutral-600 leading-relaxed mb-6",children:s.description}),t.jsx("div",{className:"space-y-2",children:s.details.map((r,n)=>t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx(Al,{className:"text-primary flex-shrink-0 mt-1",size:18}),t.jsx("span",{className:"text-sm text-neutral-600",children:r})]},n))})]},e))})]})}),t.jsx("section",{className:"py-12 md:py-20 bg-gradient-to-b from-neutral-50 to-white",children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-12 md:mb-16",children:[t.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-black text-secondary mb-4",children:"Comment ça fonctionne ?"}),t.jsx("p",{className:"text-base md:text-xl text-neutral-600 max-w-3xl mx-auto",children:"Un parcours structuré en 4 étapes pour un accompagnement optimal"})]}),t.jsx("div",{className:"max-w-4xl mx-auto space-y-6 md:space-y-8",children:[{step:"01",title:"Évaluation personnalisée",description:"Un questionnaire détaillé analyse votre situation, vos habitudes et vos objectifs pour créer votre profil unique."},{step:"02",title:"Programme sur mesure",description:"Notre algorithme détermine le programme optimal parmi nos 3 formules, adapté à votre niveau et vos besoins spécifiques."},{step:"03",title:"Exercices guidés",description:"Des vidéos détaillées réalisées par des kinésithérapeutes vous guident pas à pas dans chaque mouvement."},{step:"04",title:"Suivi et progression",description:"Votre programme évolue avec vous, s'adaptant à vos progrès et à votre ressenti pour un accompagnement continu."}].map((s,e)=>t.jsxs("div",{className:"flex gap-4 md:gap-6 items-start bg-white p-6 md:p-8 rounded-2xl border-2 border-neutral-200 hover:border-primary shadow-lg hover:shadow-xl transition-all duration-300",children:[t.jsx("div",{className:"flex-shrink-0 w-12 h-12 md:w-16 md:h-16 bg-gradient-to-br from-primary to-secondary rounded-xl flex items-center justify-center shadow-lg",children:t.jsx("span",{className:"text-xl md:text-2xl font-black text-white",children:s.step})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg md:text-2xl font-bold text-secondary mb-2",children:s.title}),t.jsx("p",{className:"text-sm md:text-base text-neutral-600 leading-relaxed",children:s.description})]})]},e))})]})}),t.jsx("section",{className:"py-12 md:py-20 bg-white",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 md:gap-8 max-w-6xl mx-auto",children:[t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 rounded-2xl shadow-xl border-2 border-green-200 p-6 md:p-10",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"w-10 h-10 md:w-12 md:h-12 bg-green-500 rounded-lg flex items-center justify-center flex-shrink-0",children:t.jsx(we,{className:"text-white",size:24})}),t.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-secondary",children:"Nos engagements"})]}),t.jsx("div",{className:"space-y-4",children:["Programmes créés par des kinésithérapeutes diplômés","Approche basée sur des données scientifiques validées","Personnalisation selon votre profil unique","Exercices adaptés à tous les niveaux","Suivi de votre progression en temps réel","Support client réactif et à l'écoute"].map((s,e)=>t.jsxs("div",{className:"flex items-start group",children:[t.jsx(we,{className:"text-green-600 mr-3 flex-shrink-0 mt-1 group-hover:scale-110 transition-transform",size:20}),t.jsx("span",{className:"text-neutral-700 font-medium",children:s})]},e))})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 rounded-2xl shadow-xl border-2 border-amber-200 p-6 md:p-10",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"w-10 h-10 md:w-12 md:h-12 bg-amber-500 rounded-lg flex items-center justify-center flex-shrink-0",children:t.jsx(Ct,{className:"text-white",size:24})}),t.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-secondary",children:"Transparence"})]}),t.jsx("p",{className:"mb-6 text-neutral-700 font-medium",children:"Nous tenons à être parfaitement clairs sur ce que Malodo représente :"}),t.jsx("div",{className:"space-y-4 mb-6",children:["Malodo est exclusivement une plateforme de bien-être","Cette plateforme relève uniquement de notre activité d'accompagnement","Nos programmes ne constituent pas une solution miracle instantanée","Les résultats dépendent de votre engagement et régularité"].map((s,e)=>t.jsxs("div",{className:"flex items-start group",children:[t.jsx(Al,{className:"text-amber-600 mr-3 flex-shrink-0 mt-1 group-hover:translate-x-1 transition-transform",size:20}),t.jsx("span",{className:"text-neutral-700 font-medium",children:s})]},e))}),t.jsx("div",{className:"bg-white/80 p-4 rounded-xl border border-amber-300",children:t.jsx("p",{className:"text-neutral-700 font-medium",children:"Malodo est un accompagnement actif, où vous êtes l'acteur principal de votre mieux-être. Notre équipe met à votre disposition son expertise, mais c'est votre engagement qui fera la différence."})})]})]})})}),t.jsx("section",{className:"py-12 md:py-20 bg-gradient-to-br from-primary/5 to-blue-50",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[t.jsx("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-black text-secondary mb-4 md:mb-6",children:"Prêt à démarrer votre parcours ?"}),t.jsx("p",{className:"text-base md:text-xl text-neutral-600 mb-6 md:mb-8",children:"Découvrez quel programme correspond le mieux à vos besoins en répondant à notre questionnaire personnalisé."}),t.jsx($n,{className:"inline-block bg-pink-500 hover:bg-pink-600 text-white font-bold text-lg px-8 py-4 rounded-full shadow-lg hover:shadow-xl hover:scale-105 transition-all duration-300",children:"Faire mon test gratuit"})]})})})]}),t.jsx(le,{})]}),_N=[{id:"1",title:"Mal de dos : comprendre les causes pour mieux agir",excerpt:"Le mal de dos touche 80% de la population au moins une fois. Découvrez les mécanismes derrière cet inconfort et comment le prévenir par le mouvement.",category:"Comprendre",date:"15 novembre 2025",readTime:"8 min",image:"https://images.pexels.com/photos/5473184/pexels-photo-5473184.jpeg?auto=compress&cs=tinysrgb&w=800",slug:"comprendre-inconfort-lombaire"},{id:"2",title:"5 exercices pour améliorer votre confort lombaire",excerpt:"Découvrez les exercices fondamentaux recommandés par les experts en santé du mouvement pour renforcer votre dos et prévenir les tensions au quotidien.",category:"Exercices",date:"22 novembre 2025",readTime:"7 min",image:"https://images.pexels.com/photos/4056535/pexels-photo-4056535.jpeg?auto=compress&cs=tinysrgb&w=800",slug:"exercices-confort-lombaire"},{id:"3",title:"Télétravail : protégez votre dos avec les bonnes postures",excerpt:"Le télétravail a transformé nos habitudes. Apprenez à aménager votre poste de travail et adopter les bonnes postures pour préserver votre dos.",category:"Prévention",date:"25 novembre 2025",readTime:"6 min",image:"https://images.pexels.com/photos/4226256/pexels-photo-4226256.jpeg?auto=compress&cs=tinysrgb&w=800",slug:"teletravail-posture-dos"},{id:"4",title:"Raideur matinale du dos : causes et solutions par le mouvement",excerpt:"Vous vous réveillez avec le dos raide ? Cette sensation est fréquente mais pas une fatalité. Découvrez les causes et les solutions pour des matins plus confortables.",category:"Bien-être",date:"28 novembre 2025",readTime:"5 min",image:"https://images.pexels.com/photos/3771069/pexels-photo-3771069.jpeg?auto=compress&cs=tinysrgb&w=800",slug:"raideur-matinale-dos"},{id:"5",title:"Stress et tensions lombaires : le lien corps-esprit",excerpt:"Le stress ne touche pas que votre mental. Découvrez comment il influence directement vos tensions dans le dos et les techniques pour retrouver le confort.",category:"Bien-être",date:"1er décembre 2025",readTime:"7 min",image:"https://images.pexels.com/photos/3759057/pexels-photo-3759057.jpeg?auto=compress&cs=tinysrgb&w=800",slug:"stress-tensions-lombaires"},{id:"6",title:"Sport et inconfort lombaire : le mouvement comme allié",excerpt:"Faut-il continuer le sport quand on a un inconfort lombaire ? Quelles activités privilégier ? Un guide complet pour maintenir une activité physique adaptée.",category:"Sport",date:"3 décembre 2025",readTime:"6 min",image:"https://images.pexels.com/photos/3822621/pexels-photo-3822621.jpeg?auto=compress&cs=tinysrgb&w=800",slug:"sport-inconfort-lombaire"},{id:"7",title:"Durée d'amélioration d'une lombalgie : timeline réaliste",excerpt:"90% des épisodes de lombalgie s'améliorent en 4 à 6 semaines. Découvrez les facteurs qui influencent cette durée et les actions pour accélérer votre amélioration.",category:"Comprendre",date:"8 décembre 2025",readTime:"8 min",image:"https://images.pexels.com/photos/6111616/pexels-photo-6111616.jpeg?auto=compress&cs=tinysrgb&w=800",slug:"duree-amelioration-lombalgie"},{id:"8",title:"Sciatique ou lombalgie simple ? 7 signes pour les différencier",excerpt:"Vous ressentez un inconfort dans le bas du dos qui descend dans la jambe ? Apprenez à distinguer sciatique et lombalgie pour adapter votre approche.",category:"Comprendre",date:"15 janvier 2026",readTime:"9 min",image:"/blog/sciatique-lombalgie-difference/sciatique-lombalgie.jpg",slug:"sciatique-lombalgie-difference"},{id:"9",title:"Bien dormir avec un inconfort lombaire : positions et astuces",excerpt:"Plus de 60% des personnes avec un inconfort lombaire voient leurs symptômes s'intensifier la nuit. Découvrez les meilleures positions de sommeil et les erreurs à éviter.",category:"Prévention",date:"5 février 2026",readTime:"10 min",image:"/blog/bien-dormir-confort-lombaire/bien-dormir.jpg",slug:"bien-dormir-confort-lombaire"}],kN=["Tous","Comprendre","Exercices","Prévention","Symptômes","Bien-être","Sport"],SN=()=>{const[s,e]=k.useState("Tous"),[r,n]=k.useState(""),i=_N.filter(a=>{const o=s==="Tous"||a.category===s,l=a.title.toLowerCase().includes(r.toLowerCase())||a.excerpt.toLowerCase().includes(r.toLowerCase());return o&&l});return t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Blog Malodo | Conseils et expertise pour votre bien-être lombaire",description:"Découvrez nos articles d'expert sur la lombalgie, les exercices pour le dos, la prévention des douleurs lombaires et les meilleures pratiques pour améliorer votre confort au quotidien. Conseils pratiques et solutions validées scientifiquement.",keywords:"blog lombalgie, conseils dos, exercices lombaires, mal de dos prévention, kinésithérapie conseils, bien-être dos, articles lombalgie",canonicalUrl:"https://malodo.pro/blog"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("section",{className:"py-20",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-7xl mx-auto",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsxs("h1",{className:"text-4xl md:text-6xl font-black text-slate-900 mb-6",children:["Le ",t.jsx("span",{className:"text-primary",children:"Blog"})," Malodo"]}),t.jsx("div",{className:"h-1 w-32 bg-gradient-to-r from-primary to-blue-400 rounded-full mx-auto mb-8"}),t.jsx("p",{className:"text-xl text-slate-600 max-w-3xl mx-auto leading-relaxed",children:"Conseils d'expert, exercices pratiques et tout ce qu'il faut savoir pour prendre soin de votre dos au quotidien"})]}),t.jsx("div",{className:"mb-12",children:t.jsxs("div",{className:"flex flex-col lg:flex-row gap-6 items-center justify-between",children:[t.jsx("div",{className:"flex flex-wrap gap-3 justify-center lg:justify-start",children:kN.map(a=>t.jsx("button",{onClick:()=>e(a),className:`px-6 py-2.5 rounded-full font-semibold transition-all duration-300 ${s===a?"bg-gradient-to-r from-primary to-blue-500 text-white shadow-lg scale-105":"bg-white text-slate-700 hover:bg-slate-100 shadow-md hover:shadow-lg"}`,children:a},a))}),t.jsxs("div",{className:"relative w-full lg:w-96",children:[t.jsx("input",{type:"text",placeholder:"Rechercher un article...",value:r,onChange:a=>n(a.target.value),className:"w-full px-6 py-3 pl-12 rounded-full border-2 border-slate-200 focus:border-primary focus:outline-none transition-all duration-300 shadow-md"}),t.jsx(yv,{className:"absolute left-4 top-1/2 transform -translate-y-1/2 text-slate-400",size:20})]})]})}),i.length===0?t.jsx("div",{className:"text-center py-20",children:t.jsx("p",{className:"text-xl text-slate-600",children:"Aucun article ne correspond à votre recherche."})}):t.jsxs("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8 mb-16",children:[t.jsx("article",{className:"bg-gradient-to-br from-primary to-blue-500 rounded-2xl overflow-hidden shadow-lg hover:shadow-2xl transition-all duration-300 hover:scale-105 group",children:t.jsxs("a",{href:"/blog/infographies",className:"block h-full",children:[t.jsx("div",{className:"relative h-48 overflow-hidden bg-gradient-to-br from-blue-400 to-primary-light flex items-center justify-center",children:t.jsxs("div",{className:"text-white",children:[t.jsx(Oe,{size:64,className:"mx-auto mb-2"}),t.jsx("p",{className:"text-center font-bold text-lg",children:"Tous les jeudis"})]})}),t.jsxs("div",{className:"p-6 text-white",children:[t.jsx("div",{className:"flex items-center gap-4 text-sm text-blue-100 mb-4",children:t.jsxs("span",{className:"inline-flex items-center px-3 py-1 rounded-full text-xs font-semibold bg-white/20",children:[t.jsx(Eu,{size:12,className:"mr-1"}),"Infographies"]})}),t.jsx("h2",{className:"text-xl font-bold text-white mb-3",children:"Le Jeudi Infographie"}),t.jsx("p",{className:"text-blue-50 leading-relaxed mb-4",children:"Tous les jeudis, une infographie pédagogique expliquant une problématique liée au rachis lombaire ou à Malodo."}),t.jsxs("span",{className:"inline-flex items-center text-white font-semibold group-hover:gap-3 transition-all duration-300",children:["Découvrir les infographies",t.jsx(yr,{size:18,className:"ml-2"})]})]})]})}),i.map(a=>t.jsx("article",{className:"bg-white rounded-2xl overflow-hidden shadow-lg hover:shadow-2xl transition-all duration-300 hover:scale-105 group",children:t.jsxs("a",{href:`/blog/${a.slug}`,className:"block",children:[t.jsxs("div",{className:"relative h-48 overflow-hidden",children:[t.jsx("img",{src:a.image,alt:a.title,className:"w-full h-full object-cover group-hover:scale-110 transition-transform duration-500"}),t.jsx("div",{className:"absolute top-4 left-4",children:t.jsxs("span",{className:"inline-flex items-center px-4 py-1.5 rounded-full text-sm font-semibold bg-white/95 text-primary shadow-lg",children:[t.jsx(Eu,{size:14,className:"mr-1.5"}),a.category]})})]}),t.jsxs("div",{className:"p-6",children:[t.jsxs("div",{className:"flex items-center gap-4 text-sm text-slate-500 mb-4",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:16,className:"mr-1.5"}),a.date]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:16,className:"mr-1.5"}),a.readTime]})]}),t.jsx("h2",{className:"text-xl font-bold text-slate-900 mb-3 group-hover:text-primary transition-colors",children:a.title}),t.jsx("p",{className:"text-slate-600 leading-relaxed mb-4",children:a.excerpt}),t.jsxs("span",{className:"inline-flex items-center text-primary font-semibold group-hover:gap-3 transition-all duration-300",children:["Lire l'article",t.jsx(yr,{size:18,className:"ml-2"})]})]})]})},a.id))]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-3xl p-12 md:p-16 text-white text-center shadow-2xl",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:"Prêt à prendre soin de votre dos ?"}),t.jsx("p",{className:"text-xl mb-8 text-blue-50 max-w-2xl mx-auto",children:"Découvrez votre programme personnalisé en quelques minutes avec notre évaluation gratuite"}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Faire mon test gratuit"}),t.jsx("a",{href:"/#programmes",className:"bg-transparent border-2 border-white text-white hover:bg-white/10 font-bold py-4 px-8 rounded-xl transition-all duration-300",children:"Découvrir nos programmes"})]})]})]})})})}),t.jsx(le,{})]})},EN=({slug:s})=>{const[e,r]=k.useState(""),[n,i]=k.useState(null),[a,o]=k.useState(!0);k.useEffect(()=>{(async()=>{try{const m=`https://raw.githubusercontent.com/jimmyrenaud35-dotcom/malodo.pro/main/src/content/blog/${s}.md`,h=await fetch(m);if(!h.ok)throw new Error(`HTTP ${h.status}`);const f=await h.text(),v=f.match(/^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/);if(v){const j=v[1],w=v[2],p={},x=j.split(`
`);for(const g of x){const y=g.indexOf(":");if(y>0){const _=g.substring(0,y).trim();let b=g.substring(y+1).trim();b=b.replace(/^["']|["']$/g,""),p[_]=b}}i({title:p.title||"Article",description:p.description||"",date:l(p.date||new Date().toISOString()),category:p.category||"Blog",readingTime:p.readingTime||"5 min",image:p.image||"https://images.pexels.com/photos/4056723/pexels-photo-4056723.jpeg"}),r(w)}else i({title:s.replace(/-/g," "),description:f.substring(0,150),date:l(new Date().toISOString()),category:"Blog",readingTime:"5 min",image:"https://images.pexels.com/photos/4056723/pexels-photo-4056723.jpeg"}),r(f);o(!1)}catch(m){console.error("Erreur chargement article:",m),o(!1),i(null)}})()},[s]);const l=u=>new Date(u).toLocaleDateString("fr-FR",{day:"numeric",month:"long",year:"numeric"}),c=()=>{navigator.share&&n?navigator.share({title:n.title,text:n.description,url:window.location.href}):(navigator.clipboard.writeText(window.location.href),alert("Lien copié !"))},d=u=>{let m=u;return m=m.replace(/^### (.*$)/gim,'<h3 class="text-2xl font-bold text-slate-900 mt-8 mb-4">$1</h3>'),m=m.replace(/^## (.*$)/gim,'<h2 class="text-3xl font-bold text-slate-900 mt-12 mb-6">$1</h2>'),m=m.replace(/^# (.*$)/gim,'<h1 class="text-4xl font-bold text-slate-900 mb-8">$1</h1>'),m=m.replace(/\*\*(.*?)\*\*/g,'<strong class="font-bold text-slate-900">$1</strong>'),m=m.replace(/\*(.*?)\*/g,'<em class="italic">$1</em>'),m=m.replace(/\[([^\]]+)\]\(([^\)]+)\)/g,'<a href="$2" class="text-primary hover:text-primary-dark underline">$1</a>'),m=m.replace(/^\* (.*$)/gim,'<li class="text-slate-700 mb-2">• $1</li>'),m=m.replace(/^- (.*$)/gim,'<li class="text-slate-700 mb-2">• $1</li>'),m=m.split(`
`).map(h=>!h.startsWith("<h")&&!h.startsWith("<li")?`<p class="text-slate-700 leading-relaxed mb-6">${h}</p>`:h).join(`
`),m=m.replace(/(<li.*?<\/li>\n?)+/g,'<ul class="space-y-2 mb-8 ml-6">$&</ul>'),m};return a?t.jsxs("div",{className:"font-sans",children:[t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-green-50 min-h-screen",children:t.jsx("div",{className:"container mx-auto px-4 py-16",children:t.jsx("div",{className:"max-w-4xl mx-auto text-center",children:t.jsxs("div",{className:"animate-pulse",children:[t.jsx("div",{className:"h-8 bg-slate-200 rounded w-3/4 mx-auto mb-4"}),t.jsx("div",{className:"h-4 bg-slate-200 rounded w-1/2 mx-auto"})]})})})}),t.jsx(le,{})]}):n?t.jsxs("div",{className:"font-sans",children:[t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-green-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:n.title}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-green-100 text-green-700 mb-4",children:n.category}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:n.title}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),n.date]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),n.readingTime," de lecture"]}),t.jsxs("button",{onClick:c,className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),n.image&&t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:n.image,alt:n.title,className:"w-full h-full object-cover",onError:u=>{u.currentTarget.src="https://images.pexels.com/photos/4056723/pexels-photo-4056723.jpeg"}})}),t.jsx("div",{className:"prose prose-lg max-w-none",dangerouslySetInnerHTML:{__html:d(e)}}),t.jsx("div",{className:"mt-12 pt-8 border-t-2 border-slate-200",children:t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold transition-all duration-300",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("button",{onClick:c,className:"inline-flex items-center text-slate-600 hover:text-primary font-semibold transition-all duration-300",children:[t.jsx(lt,{size:20,className:"mr-2"}),"Partager"]})]})})]})})})}),t.jsx(le,{})]}):t.jsxs("div",{className:"font-sans",children:[t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-green-50 min-h-screen",children:t.jsx("div",{className:"container mx-auto px-4 py-16",children:t.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[t.jsx("h1",{className:"text-3xl font-bold text-slate-900 mb-4",children:"Article introuvable"}),t.jsx("p",{className:"text-slate-600 mb-6",children:"Le fichier n'a pas pu être chargé depuis GitHub."}),t.jsx("a",{href:"/blog",className:"text-primary hover:text-primary-dark font-semibold",children:"← Retour au blog"})]})})}),t.jsx(le,{})]})},Bt=({articles:s})=>t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-slate-50 rounded-2xl p-8 my-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-6",children:"Articles connexes"}),t.jsx("div",{className:"grid gap-4",children:s.map((e,r)=>t.jsxs("a",{href:`/blog/${e.slug}`,className:"group flex items-center justify-between p-4 bg-white rounded-xl shadow-sm hover:shadow-md transition-all duration-300 border border-slate-200 hover:border-primary",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-xs font-semibold text-primary mb-1 block",children:e.category}),t.jsx("h4",{className:"text-base font-semibold text-slate-900 group-hover:text-primary transition-colors",children:e.title})]}),t.jsx(yr,{className:"text-primary opacity-0 group-hover:opacity-100 group-hover:translate-x-1 transition-all duration-300 flex-shrink-0 ml-4",size:20})]},r))})]}),CN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Mal de dos : comprendre les causes pour mieux agir | Blog Malodo",description:"Le mal de dos touche 80% de la population. Découvrez les causes, les mécanismes et comment le mouvement peut améliorer votre confort lombaire au quotidien.",keywords:"mal de dos causes, comprendre mal de dos, inconfort lombaire, facteurs mal de dos, prévention dos",canonicalUrl:"https://malodo.pro/blog/comprendre-mal-de-dos-causes",ogImage:"https://images.pexels.com/photos/5473184/pexels-photo-5473184.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Mal de dos : comprendre les causes pour mieux agir"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-primary/10 text-primary mb-4",children:"Comprendre"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Mal de dos : comprendre les causes pour mieux agir"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"15 novembre 2025"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"8 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/5473184/pexels-photo-5473184.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Personne pratiquant des exercices pour le confort lombaire",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:"Le mal de dos touche 80% de la population au moins une fois dans leur vie. C'est un inconfort qui peut bouleverser votre quotidien, mais comprendre ce qui se passe dans votre dos est la première étape pour retrouver le confort et la liberté de mouvement."}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Points clés de l'article"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Le mal de dos est le premier motif d'inconfort fonctionnel dans le monde"}),t.jsx("li",{children:"• 90% des cas sont non spécifiques (sans cause structurelle identifiable)"}),t.jsx("li",{children:"• Le modèle biopsychosocial explique la complexité de ces ressentis"}),t.jsx("li",{children:"• L'exercice régulier réduit le risque d'inconfort lombaire de 45%"}),t.jsx("li",{children:"• Le repos prolongé n'est pas favorable au confort du dos"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Un enjeu qui concerne tout le monde"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:`Le mal de dos, que les professionnels de santé appellent parfois "lombalgie", est devenu le premier motif d'inconfort fonctionnel dans le monde. Les données du Global Burden of Disease Study montrent que les années vécues avec cet inconfort ont augmenté de plus de 54% depuis 1990. En France, 4 personnes sur 5 connaîtront un épisode de mal de dos au cours de leur vie.`}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Ces chiffres peuvent sembler inquiétants, mais ils révèlent surtout une réalité : l'inconfort lombaire est une expérience humaine extrêmement courante. Ce n'est pas une fatalité, et comprendre les mécanismes en jeu vous permettra d'adopter les bonnes stratégies pour préserver votre confort."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"Mais qu'est-ce qui se cache réellement derrière ces tensions lombaires ? Pourquoi certaines personnes récupèrent rapidement tandis que d'autres voient leur inconfort persister ? Et surtout, comment agir de manière préventive ? Explorons ensemble ces questions à travers le prisme des connaissances scientifiques actuelles."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Votre dos : une mécanique fascinante"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Pour comprendre pourquoi votre dos peut parfois vous faire souffrir, il est utile de connaître son fonctionnement. La région lombaire, située dans le bas de votre colonne vertébrale, est constituée de 5 vertèbres (L1 à L5) séparées par des disques intervertébraux. Le tout est stabilisé par un réseau complexe de muscles, ligaments et articulations."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Les disques intervertébraux : des amortisseurs naturels"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Les disques qui séparent vos vertèbres sont comme des coussins hydrauliques. Ils sont composés d'un noyau gélatineux (le nucleus pulposus) entouré d'un anneau fibreux résistant (l'annulus fibrosus). Cette structure leur permet d'absorber les chocs et de faciliter les mouvements de votre colonne."}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-6",children:["Une particularité importante : à l'âge adulte, ces disques ne sont plus directement irrigués par des vaisseaux sanguins. Ils se nourrissent par diffusion à travers les plateaux vertébraux, un peu comme une éponge qui absorbe l'eau. ",t.jsx("strong",{children:"C'est le mouvement qui active ce processus de nutrition"}),". Quand vous bougez, les disques se compriment et se décompriment alternativement, favorisant les échanges de nutriments et l'élimination des déchets métaboliques."]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Le saviez-vous ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Vos disques intervertébraux perdent jusqu'à 20% de leur hauteur au cours de la journée à cause de la compression liée à la gravité et aux activités. Pendant la nuit, ils se réhydratent en position allongée. C'est pourquoi vous êtes légèrement plus grand le matin !"})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Les muscles : les véritables gardiens de votre dos"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"La stabilité de votre colonne lombaire repose largement sur vos muscles. On distingue deux systèmes complémentaires :"}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-4",children:[t.jsx("strong",{children:"Les muscles profonds"})," (comme le transverse de l'abdomen et les multifides) assurent la stabilité fine de chaque vertèbre. Ils travaillent en continu, presque sans que vous vous en rendiez compte, pour maintenir votre posture."]}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-8",children:[t.jsx("strong",{children:"Les muscles superficiels"})," (comme les érecteurs du rachis ou les grands droits) génèrent les mouvements et absorbent les forces importantes. Quand ces deux systèmes fonctionnent harmonieusement, votre dos est protégé et confortable."]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Pourquoi avez-vous mal au dos ? Les facteurs en jeu"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:`Contrairement à ce qu'on pourrait penser, 90% des épisodes de mal de dos sont ce qu'on appelle "non spécifiques". Cela signifie qu'aucune cause structurelle claire (fracture, infection, tumeur) n'explique l'inconfort. Ce n'est pas qu'il n'y a "rien", c'est que les mécanismes sont multifactoriels et complexes.`}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Le modèle biopsychosocial : une approche globale"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"La science moderne a dépassé le modèle purement biomécanique pour adopter une vision biopsychosociale de l'inconfort lombaire. Selon ce modèle, trois dimensions interagissent :"}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-4",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"📍 Facteurs biologiques (BIO)"}),t.jsx("p",{className:"text-slate-700",children:"Posture prolongée, port de charges, mouvements répétitifs, sédentarité, vieillissement naturel des structures, condition physique générale."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-4",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"🧠 Facteurs psychologiques (PSYCHO)"}),t.jsx("p",{className:"text-slate-700",children:"Stress chronique, anxiété, humeur, croyances sur la gravité du problème, peur du mouvement (kinésiophobie), vécu émotionnel."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-8",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"🌍 Facteurs sociaux (SOCIAL)"}),t.jsx("p",{className:"text-slate-700",children:"Conditions de travail, soutien social et familial, niveau d'éducation sur la santé, accès aux ressources de bien-être, contexte professionnel."})]}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:`Cette approche explique pourquoi deux personnes avec un profil physique similaire peuvent ressentir des choses très différentes. L'inconfort n'est pas simplement "dans votre tête", mais votre cerveau et votre contexte de vie jouent un rôle crucial dans la façon dont vous percevez et gérez les signaux de votre corps.`}),t.jsxs("div",{className:"bg-gradient-to-r from-amber-50 to-orange-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"⚠️ Quand consulter un professionnel de santé ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-3",children:"Bien que la plupart des épisodes de mal de dos s'améliorent naturellement, certains signaux nécessitent un avis professionnel rapide :"}),t.jsxs("ul",{className:"space-y-1 text-slate-700",children:[t.jsx("li",{children:"• Inconfort suite à un traumatisme important"}),t.jsx("li",{children:"• Perte de force dans les jambes"}),t.jsx("li",{children:"• Troubles urinaires ou fécaux"}),t.jsx("li",{children:"• Fièvre associée"}),t.jsx("li",{children:"• Inconfort nocturne intense qui vous réveille"}),t.jsx("li",{children:"• Perte de poids inexpliquée"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Le mouvement : votre meilleur allié"}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-6",children:["Si vous deviez retenir une seule information de cet article, ce serait celle-ci : ",t.jsx("strong",{children:"le mouvement est la meilleure stratégie pour préserver et améliorer le confort de votre dos"}),"."]}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Une méta-analyse publiée dans le Journal of the American Medical Association (JAMA) en 2016 a analysé 23 études randomisées contrôlées impliquant plus de 30 000 participants. Les résultats sont sans appel : l'exercice régulier réduit le risque d'inconfort lombaire de 33% et le risque d'arrêt de travail associé de 78%."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Comment l'exercice protège votre dos ?"}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-4",children:[t.jsx("strong",{children:"1. Nutrition discale :"}),` Le mouvement favorise la diffusion des nutriments vers les disques intervertébraux et l'évacuation des déchets métaboliques. Sans mouvement, les disques "s'affament" progressivement.`]}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-4",children:[t.jsx("strong",{children:"2. Renforcement musculaire :"})," Des muscles profonds et superficiels toniques assurent une meilleure stabilité et répartition des charges sur votre colonne."]}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-4",children:[t.jsx("strong",{children:"3. Modulation neurologique :"})," L'activité physique régulière influence positivement la façon dont votre système nerveux traite les signaux d'inconfort, augmentant votre seuil de tolérance."]}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-8",children:[t.jsx("strong",{children:"4. Effet anti-inflammatoire :"})," L'exercice a un effet anti-inflammatoire naturel qui contribue à réduire les tensions tissulaires."]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Conseil pratique"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Le repos complet prolongé (au-delà de 2-3 jours) n'améliore pas la récupération et peut même ralentir votre amélioration. Restez actif à un niveau confortable, même avec un inconfort modéré. Le mouvement adapté est votre meilleur allié."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'approche Malodo : trois piliers pour votre confort"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Chez Malodo, notre programme de bien-être lombaire repose sur une approche globale inspirée des meilleures pratiques scientifiques :"}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Compréhension du mouvement"}),t.jsx("p",{className:"text-slate-700",children:"Vous apprenez à identifier vos positions et mouvements favorables, et à adapter vos activités quotidiennes."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"💪"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Stabilité et force"}),t.jsx("p",{className:"text-slate-700",children:"Des exercices progressifs pour renforcer vos muscles profonds et superficiels, garants de la protection de votre dos."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🧠"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Éducation au mouvement"}),t.jsx("p",{className:"text-slate-700",children:"Comprendre les mécanismes en jeu vous permet de reprendre confiance et d'agir efficacement sur votre bien-être."})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Agir plutôt que subir"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Le mal de dos n'est pas une fatalité. Comprendre les mécanismes qui le sous-tendent vous donne les clés pour agir de manière éclairée. Le repos prolongé n'est pas la solution, le mouvement adapté et progressif l'est."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"Que vous soyez en phase de gêne aiguë ou que vous cherchiez à prévenir de futurs épisodes, l'approche active et personnalisée est votre meilleure alliée. Ne subissez plus, devenez acteur de votre bien-être lombaire."}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Prêt à prendre soin de votre dos ?"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Découvrez votre programme personnalisé en quelques minutes avec notre évaluation gratuite."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Faire mon évaluation gratuite"})]}),t.jsx(Bt,{articles:[{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Durée d'amélioration d'une lombalgie : timeline réaliste",slug:"duree-amelioration-lombalgie",category:"Comprendre"},{title:"Raideur matinale du dos : causes et solutions",slug:"raideur-matinale-dos",category:"Bien-être"},{title:"Sciatique ou lombalgie simple ? 7 signes pour les différencier",slug:"sciatique-lombalgie-difference",category:"Comprendre"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),PN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"5 exercices pour améliorer votre confort lombaire | Blog Malodo",description:"Découvrez 5 exercices simples et efficaces recommandés par les experts du mouvement pour renforcer votre dos et prévenir les tensions lombaires.",keywords:"exercices confort lombaire, exercices dos maison, renforcement dos, gainage dos débutant, étirements lombaires",canonicalUrl:"https://malodo.pro/blog/exercices-confort-lombaire",ogImage:"https://images.pexels.com/photos/4056535/pexels-photo-4056535.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"5 exercices pour améliorer votre confort lombaire"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-primary/10 text-primary mb-4",children:"Exercices"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"5 exercices pour améliorer votre confort lombaire"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"22 novembre 2025"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"7 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/4056535/pexels-photo-4056535.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Exercices de bien-être pour le confort lombaire",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:"Votre dos mérite une attention quotidienne. En intégrant ces 5 exercices fondamentaux à votre routine, vous renforcez votre stabilité lombaire et prévenez les tensions. 10 à 15 minutes suffisent pour faire la différence."}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Ce que vous allez apprendre"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Pourquoi l'exercice est essentiel pour votre confort lombaire"}),t.jsx("li",{children:"• 5 exercices progressifs adaptés à tous les niveaux"}),t.jsx("li",{children:"• Comment les intégrer efficacement dans votre quotidien"}),t.jsx("li",{children:"• Les erreurs courantes à éviter"}),t.jsx("li",{children:"• Comment structurer votre routine hebdomadaire"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'exercice, le meilleur allié de votre dos"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Si vous attendez que votre inconfort disparaisse avant de bouger, vous prenez le chemin inverse de l'amélioration. Les études scientifiques sont formelles : le mouvement adapté et progressif est votre meilleur allié pour retrouver et maintenir un confort lombaire durable."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Une revue systématique publiée dans le British Journal of Sports Medicine a montré que l'exercice régulier réduit de 45% le risque de développer un inconfort lombaire. Plus impressionnant encore : chez les personnes ayant déjà connu un épisode, l'exercice diminue de 33% le risque de récidive."}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-8",children:["La bonne nouvelle ? Vous n'avez pas besoin d'heures d'entraînement ni d'équipement sophistiqué. ",t.jsx("strong",{children:"10 à 15 minutes d'exercices ciblés par jour"})," suffisent pour observer des bénéfices significatifs sur votre confort et votre mobilité."]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Les fondamentaux d'un dos confortable"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Avant de découvrir les exercices, comprenons ce qui rend un dos confortable et résilient. Trois piliers fondamentaux émergent de la recherche scientifique :"}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Stabilité (core)"}),t.jsx("p",{className:"text-slate-700",children:"Vos muscles profonds doivent assurer une base solide et réactive pour protéger votre colonne dans toutes les situations."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🔄"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Mobilité"}),t.jsx("p",{className:"text-slate-700",children:"Une colonne qui bouge dans toutes les directions sans restriction favorise la nutrition des disques et prévient les raideurs."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🧠"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Contrôle postural"}),t.jsx("p",{className:"text-slate-700",children:"Savoir maintenir des positions favorables et passer de l'une à l'autre de manière fluide protège votre dos au quotidien."})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Exercice 1 : La respiration diaphragmatique"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"C'est le fondement de tous les autres exercices. Votre diaphragme et votre transverse de l'abdomen travaillent ensemble pour stabiliser votre colonne. En respirant correctement, vous activez naturellement cette ceinture de protection."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Comment faire ?"}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-6",children:t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Position :"})," Allongé sur le dos, genoux pliés, pieds à plat"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Placement des mains :"})," Une main sur la poitrine, l'autre sur le ventre"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Inspiration :"})," Inspirez par le nez en gonflant le ventre (la main sur le ventre monte, celle sur la poitrine reste immobile)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Expiration :"})," Expirez lentement par la bouche en rentrant doucement le ventre"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"5. Rythme :"})," 4 secondes d'inspiration, 6 secondes d'expiration"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"6. Durée :"})," 2 à 3 minutes, 1 à 2 fois par jour"]})]})}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Conseil pratique"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Pratiquez cette respiration avant de vous lever le matin et avant de vous endormir. C'est un excellent moment pour reconnecter avec votre corps et activer votre stabilité profonde."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Exercice 2 : Le bird-dog (chien-oiseau)"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Cet exercice renforce simultanément vos muscles profonds et développe votre coordination. Il simule les défis d'équilibre que votre dos rencontre au quotidien."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Comment faire ?"}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-6",children:t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Position de départ :"})," À quatre pattes, mains sous les épaules, genoux sous les hanches"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Activation :"})," Rentrez légèrement le nombril vers la colonne (transverse)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Mouvement :"})," Tendez simultanément le bras droit devant et la jambe gauche derrière"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Position finale :"})," Bras, dos et jambe alignés, parallèles au sol"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"5. Maintien :"})," 5 à 10 secondes en respirant normalement"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"6. Retour :"})," Revenez lentement à la position de départ"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"7. Alternance :"})," Changez de côté (bras gauche + jambe droite)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"8. Répétitions :"})," 8 à 12 répétitions de chaque côté"]})]})}),t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"⚠️ Erreurs à éviter"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Creuser excessivement le bas du dos (lordose)"}),t.jsx("li",{children:"• Tourner le bassin sur le côté"}),t.jsx("li",{children:"• Bloquer la respiration"}),t.jsx("li",{children:"• Monter le bras ou la jambe trop haut"})]})]}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-8",children:[t.jsx("strong",{children:"Progression :"})," Trop difficile ? Commencez par lever seulement le bras, puis seulement la jambe, avant de combiner les deux. Trop facile ? Ajoutez une pause de 3 secondes en position haute avec une légère pression du talon vers l'arrière."]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Exercice 3 : Le chat-vache (mobilité vertébrale)"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:'Cet exercice de mobilité segmentaire nourrit vos disques intervertébraux et libère les tensions accumulées. Il est particulièrement bénéfique le matin pour "réveiller" votre colonne.'}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Comment faire ?"}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-8",children:t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Position :"})," À quatre pattes, colonne en position neutre"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Phase chat (flexion) :"})," En expirant, arrondissez progressivement le dos en rentrant le menton, comme un chat qui fait le gros dos"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Maintien :"})," 2 secondes en position flexion"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Phase vache (extension) :"})," En inspirant, creusez doucement le dos en levant la tête et les fesses"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"5. Maintien :"})," 2 secondes en position extension"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"6. Rythme :"})," Alternez lentement et fluidement entre les deux positions"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"7. Durée :"})," 10 à 15 répétitions complètes"]})]})}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Le saviez-vous ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:`Ce mouvement de "pompage" des disques favorise la diffusion des nutriments et l'évacuation des déchets métaboliques. C'est comme presser puis relâcher une éponge pour la nettoyer et la réhydrater.`})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Exercice 4 : Le gainage adapté (planche modifiée)"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Le gainage renforce l'ensemble de votre ceinture abdominale et lombaire. Contrairement aux idées reçues, il n'est pas nécessaire de tenir des minutes entières. La qualité prime sur la durée."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Version débutant : Planche sur les genoux"}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-6",children:t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Position :"})," En appui sur les avant-bras et les genoux"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Alignement :"})," Corps aligné de la tête aux genoux (pas de fesses en l'air)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Activation :"})," Serrez les abdominaux et les fessiers"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Durée :"})," 20 à 30 secondes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"5. Récupération :"})," 30 secondes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"6. Séries :"})," 3 à 5 répétitions"]})]})}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Version intermédiaire : Planche complète"}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-8",children:t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Position :"})," En appui sur les avant-bras et la pointe des pieds"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Alignement :"})," Corps parfaitement aligné de la tête aux talons"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Respiration :"})," Continue et régulière (ne bloquez jamais)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Durée :"})," 30 à 45 secondes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"5. Séries :"})," 3 répétitions"]})]})}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Exercice 5 : L'étirement du psoas"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Le psoas est un muscle profond qui relie vos vertèbres lombaires à votre fémur. Lorsqu'il est raccourci (position assise prolongée), il tire sur votre colonne lombaire et peut contribuer à votre inconfort. L'étirer régulièrement est essentiel."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Comment faire ?"}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-8",children:t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Position :"})," Fente avant, genou arrière au sol sur un coussin"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Alignement :"})," Buste droit, bassin en rétroversion (rentrez légèrement les fesses)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Mouvement :"})," Poussez doucement le bassin vers l'avant"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Sensation :"})," Vous devez sentir un étirement à l'avant de la hanche arrière"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"5. Durée :"})," 30 à 45 secondes de chaque côté"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"6. Répétitions :"})," 2 à 3 fois par côté"]})]})}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Conseil pratique"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:'Faites cet étirement après chaque longue période assise (travail, voiture, avion). Quelques minutes suffisent pour "déverrouiller" vos hanches et soulager votre bas du dos.'})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Comment structurer votre routine"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Maintenant que vous connaissez les 5 exercices, voici comment les intégrer efficacement à votre quotidien :"}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"📅 Routine quotidienne recommandée (10-15 min)"}),t.jsxs("div",{className:"space-y-3 text-slate-700",children:[t.jsx("p",{children:t.jsx("strong",{children:"Matin (5 min) :"})}),t.jsxs("ul",{className:"ml-6 space-y-1",children:[t.jsx("li",{children:"• Respiration diaphragmatique (2 min)"}),t.jsx("li",{children:"• Chat-vache (10 répétitions)"}),t.jsx("li",{children:"• Étirement du psoas (1 min de chaque côté)"})]}),t.jsx("p",{className:"mt-4",children:t.jsx("strong",{children:"Soir ou pause déjeuner (8-10 min) :"})}),t.jsxs("ul",{className:"ml-6 space-y-1",children:[t.jsx("li",{children:"• Bird-dog (3 séries de 10 répétitions)"}),t.jsx("li",{children:"• Gainage adapté (3 séries de 30 sec)"}),t.jsx("li",{children:"• Chat-vache (10 répétitions)"})]})]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Fréquence et progression"}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-4",children:[t.jsx("strong",{children:"Semaine 1-2 :"})," Faites ces exercices 3 fois par semaine, en version débutant. Concentrez-vous sur la qualité du mouvement plutôt que sur l'intensité."]}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-4",children:[t.jsx("strong",{children:"Semaine 3-4 :"})," Passez à 4-5 fois par semaine. Augmentez progressivement la durée (gainage) ou le nombre de répétitions (bird-dog)."]}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-8",children:[t.jsx("strong",{children:"Au-delà du mois :"})," Intégrez ces exercices comme des habitudes quotidiennes. Variez l'intensité selon votre ressenti, mais maintenez la régularité."]}),t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"⚠️ Écoutez votre corps"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-3",children:"Il est normal de ressentir une légère tension musculaire (sensation de travail). En revanche, si vous ressentez :"}),t.jsxs("ul",{className:"space-y-1 text-slate-700",children:[t.jsx("li",{children:"• Un inconfort vif ou qui s'intensifie pendant l'exercice"}),t.jsx("li",{children:"• Des sensations qui irradient dans les jambes"}),t.jsx("li",{children:"• Un inconfort qui persiste plusieurs heures après"})]}),t.jsx("p",{className:"text-slate-700 leading-relaxed mt-3",children:"Adaptez l'exercice à une version plus simple ou consultez un professionnel de santé du mouvement."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'accompagnement Malodo"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Ces 5 exercices sont un excellent point de départ, mais chaque dos est unique. Chez Malodo, nous analysons votre profil de mobilité à travers une évaluation détaillée pour créer un programme personnalisé qui évolue avec vous."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Notre approche progressive intègre :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 mb-8 ml-6",children:[t.jsx("li",{children:"• Des exercices adaptés à votre niveau actuel (débutant, intermédiaire, avancé)"}),t.jsx("li",{children:"• Une progression automatique basée sur vos retours"}),t.jsx("li",{children:"• Des vidéos détaillées pour chaque mouvement"}),t.jsx("li",{children:"• Un suivi de votre évolution semaine après semaine"})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Découvrez votre programme d'exercices personnalisé"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Chaque dos est unique. Recevez votre programme adapté à votre profil en quelques minutes."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Faire mon évaluation gratuite"})]}),t.jsx(Bt,{articles:[{title:"Mal de dos : comprendre les causes pour mieux agir",slug:"comprendre-inconfort-lombaire",category:"Comprendre"},{title:"Télétravail : protégez votre dos avec les bonnes postures",slug:"teletravail-posture-dos",category:"Prévention"},{title:"Sport et inconfort lombaire : le mouvement comme allié",slug:"sport-inconfort-lombaire",category:"Sport"},{title:"Raideur matinale du dos : causes et solutions",slug:"raideur-matinale-dos",category:"Bien-être"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),TN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Télétravail : protégez votre dos avec les bonnes postures | Blog Malodo",description:"Le télétravail augmente les tensions dorsales. Découvrez comment aménager votre poste et adopter les bonnes postures pour préserver votre confort lombaire.",keywords:"télétravail mal de dos, ergonomie bureau, posture bureau dos, confort lombaire travail, posture assise",canonicalUrl:"https://malodo.pro/blog/teletravail-posture-dos",ogImage:"https://images.pexels.com/photos/4226256/pexels-photo-4226256.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Télétravail : protégez votre dos avec les bonnes postures"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-primary/10 text-primary mb-4",children:"Prévention"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Télétravail : protégez votre dos avec les bonnes postures"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"25 novembre 2025"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"6 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/4226256/pexels-photo-4226256.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Espace de télétravail ergonomique pour préserver le dos",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:"Le télétravail a transformé nos habitudes professionnelles, mais il a aussi créé de nouveaux défis pour notre confort lombaire. Entre le canapé qui se transforme en bureau et les heures passées sans bouger, votre dos peut rapidement envoyer des signaux d'alerte."}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Points clés de l'article"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• 64% des télétravailleurs rapportent des tensions dans le dos"}),t.jsx("li",{children:"• L'aménagement ergonomique de votre poste réduit significativement l'inconfort"}),t.jsx("li",{children:"• Les pauses actives toutes les 45 minutes sont essentielles"}),t.jsx("li",{children:"• La position assise prolongée est un facteur de risque majeur"}),t.jsx("li",{children:"• Des ajustements simples peuvent transformer votre confort au quotidien"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Une révolution du travail aux conséquences sous-estimées"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Depuis 2020, le télétravail a explosé. En France, plus de 30% des salariés télétravaillent régulièrement, contre moins de 10% avant la pandémie. Ce changement massif s'est souvent fait dans l'urgence, sans préparation ergonomique adéquate."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Une étude menée par l'INRS (Institut National de Recherche et de Sécurité) révèle que 64% des télétravailleurs rapportent des tensions musculaires dans le dos. Les causes ? Un mobilier inadapté, des postures prolongées et un manque de mouvement dans la journée."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"Mais la bonne nouvelle, c'est qu'avec quelques ajustements simples et des habitudes appropriées, vous pouvez préserver votre confort lombaire tout en profitant des avantages du télétravail."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Pourquoi le télétravail met votre dos à l'épreuve"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Plusieurs facteurs propres au télétravail créent un terrain favorable aux tensions lombaires :"}),t.jsxs("div",{className:"space-y-4 mb-8",children:[t.jsxs("div",{className:"bg-white border-l-4 border-primary p-6 rounded-r-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"1. Le mobilier inadapté"}),t.jsx("p",{className:"text-slate-700",children:"Votre chaise de cuisine ou votre canapé n'ont pas été conçus pour 7-8 heures de travail quotidien. Sans soutien lombaire adéquat et réglages appropriés, votre dos compense en permanence, créant des tensions musculaires."})]}),t.jsxs("div",{className:"bg-white border-l-4 border-blue-500 p-6 rounded-r-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"2. La position assise prolongée"}),t.jsx("p",{className:"text-slate-700",children:"Au bureau, vous vous levez naturellement pour aller à la photocopieuse, en réunion, à la pause café. À domicile, ces micro-déplacements disparaissent. Vous restez immobile plus longtemps, ce qui augmente la compression discale et réduit la circulation sanguine."})]}),t.jsxs("div",{className:"bg-white border-l-4 border-green-500 p-6 rounded-r-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"3. L'écran mal positionné"}),t.jsx("p",{className:"text-slate-700",children:"Travailler sur un ordinateur portable sans support élève rarement l'écran à la hauteur des yeux. Résultat : vous penchez la tête vers l'avant, créant une tension dans la nuque qui se répercute jusqu'au bas du dos."})]}),t.jsxs("div",{className:"bg-white border-l-4 border-purple-500 p-6 rounded-r-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"4. La sédentarité accrue"}),t.jsx("p",{className:"text-slate-700",children:"Sans les trajets domicile-travail et les déplacements professionnels, votre activité physique quotidienne diminue drastiquement. La sédentarité affaiblit les muscles stabilisateurs du dos et favorise les raideurs."})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Aménager son espace : les principes clés de l'ergonomie"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Transformer votre espace en poste de travail ergonomique ne nécessite pas forcément un investissement important. Voici les ajustements prioritaires :"}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"1. La chaise : votre alliée numéro un"}),t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 rounded-xl p-6 mb-6",children:[t.jsx("p",{className:"text-slate-700 mb-4",children:t.jsx("strong",{children:"Caractéristiques essentielles :"})}),t.jsxs("ul",{className:"space-y-2 text-slate-700 ml-6",children:[t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Hauteur réglable :"})," Vos pieds doivent être à plat au sol, cuisses parallèles au sol"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Soutien lombaire :"})," Un bombé au niveau du bas du dos maintient votre courbure naturelle"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Dossier inclinable :"})," Entre 100° et 110° pour réduire la pression sur les disques"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Accoudoirs :"})," Détendent vos épaules et réduisent la tension dans le haut du dos"]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Conseil pratique"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Pas de chaise ergonomique ? Placez un coussin ou une serviette roulée au creux de vos lombaires pour créer un soutien lombaire. Cela réduit déjà significativement la pression sur votre bas du dos."})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"2. L'écran à la bonne hauteur"}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 rounded-xl p-6 mb-8",children:[t.jsx("p",{className:"text-slate-700 mb-4",children:t.jsx("strong",{children:"Règle d'or :"})}),t.jsxs("ul",{className:"space-y-2 text-slate-700 ml-6",children:[t.jsx("li",{children:"• Le haut de l'écran doit être au niveau de vos yeux ou légèrement en dessous"}),t.jsx("li",{children:"• Distance : 50-70 cm de vos yeux (longueur d'un bras tendu)"}),t.jsx("li",{children:"• Angle de vision : 10-20° vers le bas depuis l'horizontale"})]}),t.jsxs("p",{className:"text-slate-700 mt-4",children:[t.jsx("strong",{children:"Solution simple :"})," Utilisez des livres, une boîte ou un support pour surélever votre ordinateur portable."]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"3. Le clavier et la souris"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-4",children:"Si vous surélevez votre ordinateur portable, investissez dans un clavier et une souris externes (20-30€). Vos avant-bras doivent rester parallèles au sol, coudes fléchis à 90°."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"La souris doit être à proximité immédiate du clavier pour éviter de tendre le bras, ce qui crée des tensions dans l'épaule et le haut du dos."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Les pauses actives : votre arme secrète"}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-6",children:["L'aménagement ergonomique est essentiel, mais aucune chaise, aussi parfaite soit-elle, ne peut compenser l'immobilité prolongée. ",t.jsx("strong",{children:"La meilleure posture est la prochaine posture."})]}),t.jsxs("div",{className:"bg-gradient-to-r from-amber-50 to-orange-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"La règle 45/5/10"}),t.jsx("p",{className:"text-slate-700 mb-4",children:"Voici un protocole simple et efficace pour préserver votre dos :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsxs("li",{children:["• ",t.jsx("strong",{children:"45 minutes"})," : Durée maximale en position assise"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"5 minutes"})," : Pause debout ou en mouvement"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"10 minutes"})," : Toutes les 2 heures, faites des étirements spécifiques"]})]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Micro-exercices de 5 minutes"}),t.jsxs("div",{className:"space-y-4 mb-8",children:[t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"Extension debout"}),t.jsx("p",{className:"text-slate-700",children:"Debout, mains sur les lombaires, penchez-vous doucement vers l'arrière. Maintenez 10 secondes, répétez 5 fois. Cela compense la flexion prolongée de la position assise."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"Rotation du tronc"}),t.jsx("p",{className:"text-slate-700",children:"Assis ou debout, tournez doucement le haut du corps à gauche puis à droite. 10 répétitions de chaque côté. Cela mobilise votre colonne thoracique et lombaire."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"Marche active"}),t.jsx("p",{className:"text-slate-700",children:"Pendant vos appels téléphoniques ou vos réflexions, marchez. Cette simple habitude peut ajouter 2000-3000 pas à votre journée."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-2",children:"Étirement du psoas"}),t.jsx("p",{className:"text-slate-700",children:"En fente, genou arrière au sol, avancez les hanches vers l'avant. 30 secondes de chaque côté. Essentiel après de longues périodes assises."})]})]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Astuce technologique"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:'Programmez des rappels sur votre téléphone ou utilisez des applications comme "Time Out" ou "Stretchly" pour ne pas oublier vos pauses. Après quelques semaines, ces pauses deviendront automatiques.'})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'approche Malodo pour les télétravailleurs"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Chez Malodo, nous avons conçu un programme spécifique pour les télétravailleurs, intégrant :"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🪑"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Évaluation ergonomique"}),t.jsx("p",{className:"text-slate-700",children:"Un questionnaire détaillé analyse votre poste de travail actuel et vous propose des ajustements personnalisés."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"⏰"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Routines de pauses"}),t.jsx("p",{className:"text-slate-700",children:"Des séquences d'exercices de 5 et 10 minutes spécialement conçues pour compenser la position assise."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📊"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Suivi quotidien"}),t.jsx("p",{className:"text-slate-700",children:"Un tableau de bord pour suivre vos habitudes posturales et célébrer vos progrès."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Exercices ciblés"}),t.jsx("p",{className:"text-slate-700",children:"Un programme de renforcement progressif pour contrebalancer la sédentarité du télétravail."})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Un programme adapté à votre quotidien au bureau"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Transformez votre expérience du télétravail avec des routines simples et efficaces."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Découvrir nos programmes"})]}),t.jsx(Bt,{articles:[{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Stress et tensions lombaires : le lien corps-esprit",slug:"stress-tensions-lombaires",category:"Bien-être"},{title:"Raideur matinale du dos : causes et solutions",slug:"raideur-matinale-dos",category:"Bien-être"},{title:"Mal de dos : comprendre les causes pour mieux agir",slug:"comprendre-inconfort-lombaire",category:"Comprendre"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),AN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Raideur matinale du dos : comprendre et agir | Blog Malodo",description:"Votre dos est raide au réveil ? Découvrez pourquoi cette raideur matinale apparaît et comment y remédier avec des solutions simples et efficaces.",keywords:"raideur matinale dos, dos raide réveil, raideur lombaire matin, mobilité matinale dos, étirement matin dos",canonicalUrl:"https://malodo.pro/blog/raideur-matinale-dos",ogImage:"https://images.pexels.com/photos/3771069/pexels-photo-3771069.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Raideur matinale du dos : comprendre et agir"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-primary/10 text-primary mb-4",children:"Compréhension"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Raideur matinale du dos : comprendre et agir"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"28 novembre 2025"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"5 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/3771069/pexels-photo-3771069.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Personne se réveillant avec le dos raide au petit matin",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:"Se réveiller avec un dos raide et tendu, avoir besoin de plusieurs minutes avant de pouvoir bouger normalement... Cette sensation désagréable touche de nombreuses personnes. Comprendre son origine vous aide à retrouver des matins plus confortables."}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Ce que vous allez découvrir"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Pourquoi votre dos est raide le matin"}),t.jsx("li",{children:"• Le rôle de l'inflammation nocturne"}),t.jsx("li",{children:"• Comment votre position de sommeil influence votre réveil"}),t.jsx("li",{children:"• 5 solutions concrètes pour des matins plus confortables"}),t.jsx("li",{children:"• Quand s'inquiéter d'une raideur persistante"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Pourquoi votre dos est raide au réveil"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"La raideur matinale n'est pas le fruit du hasard. Elle résulte de plusieurs phénomènes qui se produisent pendant votre sommeil."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"1. L'immobilité nocturne"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:`Pendant 7 à 8 heures, votre corps reste relativement immobile. Vos muscles et articulations, habitués au mouvement pendant la journée, se "refroidissent" et perdent temporairement leur souplesse. C'est comme une voiture garée dehors par temps froid : le moteur met plus de temps à chauffer au démarrage.`}),t.jsxs("div",{className:"bg-white border-l-4 border-primary p-6 rounded-r-xl mb-8",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Le saviez-vous ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:`Vos disques intervertébraux se réhydratent pendant la nuit en position allongée. Au réveil, ils sont plus "gonflés" et légèrement moins mobiles. C'est pourquoi vous êtes environ 1 cm plus grand le matin qu'en fin de journée !`})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"2. L'inflammation de bas grade"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Si votre dos a été sollicité la veille (jardinage, port de charges, longue journée assise), une légère inflammation peut s'installer pendant la nuit. Cette inflammation entraîne un gonflement des tissus et une raideur temporaire."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:`Le mouvement aide naturellement à "pomper" cette inflammation et à restaurer la mobilité. C'est pourquoi vous vous sentez progressivement mieux après 15-30 minutes d'activité.`}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"3. La position de sommeil"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Certaines positions maintiennent votre colonne dans des postures défavorables pendant de longues heures :"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-red-50 to-orange-50 p-6 rounded-xl border-l-4 border-red-400",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"❌ Positions à risque"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Sur le ventre (rotation excessive du cou)"}),t.jsx("li",{children:"• Sur le dos sans soutien sous les genoux"}),t.jsx("li",{children:"• Sur le côté en position fœtale serrée"})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl border-l-4 border-green-400",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"✓ Positions favorables"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Sur le dos, coussin sous les genoux"}),t.jsx("li",{children:"• Sur le côté, coussin entre les genoux"}),t.jsx("li",{children:"• Colonne maintenue en position neutre"})]})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Quand la raideur doit vous alerter"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"La plupart du temps, la raideur matinale est bénigne et s'améliore rapidement. Cependant, certains signaux méritent attention :"}),t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Consultez un professionnel si :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• La raideur dure plus de 60 minutes chaque matin"}),t.jsx("li",{children:"• Elle s'accompagne d'une sensation de tension intense"}),t.jsx("li",{children:"• Elle s'aggrave progressivement semaine après semaine"}),t.jsx("li",{children:"• Vous avez moins de 40 ans et cette raideur est apparue progressivement"}),t.jsx("li",{children:"• Elle s'accompagne de sensations dans les jambes"}),t.jsx("li",{children:"• Vous ressentez une fatigue inexpliquée"})]})]}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"Ces éléments peuvent indiquer des conditions nécessitant une évaluation médicale, comme certaines formes d'arthrite inflammatoire ou d'autres affections."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"5 solutions pour des matins plus confortables"}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"1. La routine de réveil progressive"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-4",children:"Ne vous levez pas brusquement. Adoptez cette séquence :"}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-8",children:t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Encore allongé (2 min) :"})," Respirez profondément, bougez doucement bras et jambes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Mouvements doux (2 min) :"})," Genoux vers la poitrine (10 fois), rotations des jambes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Position assise (1 min) :"})," Asseyez-vous sur le bord du lit, étirez-vous doucement"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Debout progressivement :"})," Levez-vous lentement, quelques extensions debout"]})]})}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"2. Les étirements matinaux (5 minutes)"}),t.jsxs("div",{className:"space-y-4 mb-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Chat-vache"}),t.jsx("p",{className:"text-slate-700",children:"À quatre pattes, alternez dos rond (chat) et dos creusé (vache). 10-15 répétitions lentes. Cet exercice réveille votre colonne en douceur."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Torsion allongée"}),t.jsx("p",{className:"text-slate-700",children:"Sur le dos, genoux pliés, laissez vos jambes tomber doucement d'un côté puis de l'autre. 5 fois de chaque côté. Mobilise votre colonne thoracique et lombaire."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Étirement du psoas"}),t.jsx("p",{className:"text-slate-700",children:"En fente, genou arrière au sol, poussez doucement le bassin vers l'avant. 30 secondes de chaque côté. Défait les tensions de la position nocturne."})]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"3. La chaleur matinale"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-4",children:"La chaleur augmente le flux sanguin et détend les muscles contractés :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 mb-8 ml-6",children:[t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Douche chaude (5-10 min) :"})," Dirigez le jet sur votre bas du dos"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Bouillotte :"})," Placez-la sur votre dos pendant que vous buvez votre café"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Coussin chauffant :"})," 15 minutes avant de commencer votre journée"]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"4. L'optimisation de votre literie"}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 rounded-xl p-6 mb-8",children:[t.jsx("p",{className:"text-slate-700 mb-4",children:t.jsx("strong",{children:"Critères essentiels :"})}),t.jsxs("ul",{className:"space-y-2 text-slate-700 ml-6",children:[t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Matelas :"})," Ni trop mou (manque de soutien), ni trop ferme (points de pression). Changez-le tous les 8-10 ans"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Oreiller :"})," Maintient votre nuque alignée avec votre colonne. L'épaisseur dépend de votre position de sommeil"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Coussin entre les genoux :"})," Si vous dormez sur le côté, cela maintient votre bassin aligné"]})]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"5. Le mouvement en soirée"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Paradoxalement, ce que vous faites avant de dormir influence votre réveil. 10-15 minutes de mobilité douce le soir préparent votre corps :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 mb-8 ml-6",children:[t.jsx("li",{children:"• Marche tranquille après le dîner"}),t.jsx("li",{children:"• Étirements doux devant la télévision"}),t.jsx("li",{children:"• Quelques postures de yoga relaxantes"})]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 L'astuce du kinésithérapeute"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Réglez votre réveil 10 minutes plus tôt. Ces minutes supplémentaires pour vous réveiller en douceur transformeront vos matinées. Vous ne serez plus en retard et votre dos vous remerciera."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'approche Malodo pour les raideurs matinales"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Notre programme intègre une routine matinale spécifique de 5 minutes, conçue pour :"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🌅"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Routine de réveil guidée"}),t.jsx("p",{className:"text-slate-700",children:"Séquence progressive d'exercices à faire encore dans le lit, puis debout, pour réveiller votre dos en douceur."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📱"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Vidéos courtes"}),t.jsx("p",{className:"text-slate-700",children:"Chaque mouvement expliqué en vidéo, accessible depuis votre téléphone au réveil."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📊"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Suivi d'amélioration"}),t.jsx("p",{className:"text-slate-700",children:"Évaluez votre raideur matinale chaque jour pour observer vos progrès semaine après semaine."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Adaptations personnalisées"}),t.jsx("p",{className:"text-slate-700",children:"Les exercices s'adaptent à votre profil et à l'évolution de votre raideur."})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Transformez vos réveils en douceur"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Des matins confortables commencent par une routine adaptée à votre dos."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Découvrir nos routines matinales"})]}),t.jsx(Bt,{articles:[{title:"Bien dormir avec un inconfort lombaire : positions et astuces",slug:"bien-dormir-confort-lombaire",category:"Prévention"},{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Stress et tensions lombaires : le lien corps-esprit",slug:"stress-tensions-lombaires",category:"Bien-être"},{title:"Télétravail : protégez votre dos avec les bonnes postures",slug:"teletravail-posture-dos",category:"Prévention"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),ON=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Stress et tensions lombaires : le lien corps-esprit | Blog Malodo",description:"Découvrez comment le stress influence vos tensions dans le dos et apprenez des techniques concrètes pour briser ce cercle vicieux.",keywords:"stress tensions lombaires, stress dos tendu, anxiété tension dos, gestion stress mal de dos, relaxation dos",canonicalUrl:"https://malodo.pro/blog/stress-tensions-lombaires",ogImage:"https://images.pexels.com/photos/3759657/pexels-photo-3759657.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Stress et tensions lombaires : le lien corps-esprit"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-primary/10 text-primary mb-4",children:"Bien-être"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Stress et tensions lombaires : le lien corps-esprit"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"1er décembre 2025"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"7 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/3759657/pexels-photo-3759657.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Personne stressée avec tension dans le dos",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:"Vous avez remarqué que votre dos se crispe lors des périodes stressantes ? Ce n'est pas une coïncidence. Le stress et les tensions lombaires sont intimement liés par des mécanismes physiologiques et psychologiques puissants. Comprendre cette connexion vous permet d'agir efficacement."}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Points clés de l'article"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Le stress chronique amplifie les tensions lombaires de 40%"}),t.jsx("li",{children:"• Votre cerveau et vos muscles communiquent constamment"}),t.jsx("li",{children:"• Le cercle vicieux stress-tension-anxiété peut être brisé"}),t.jsx("li",{children:"• Des techniques simples réduisent significativement les tensions"}),t.jsx("li",{children:"• L'approche corps-esprit est scientifiquement validée"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Comment le stress crée des tensions dans votre dos"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:`Lorsque vous êtes stressé, votre corps active automatiquement sa réponse de "combat ou fuite". Cette réaction ancestrale, utile face à un danger immédiat, devient problématique lorsqu'elle persiste dans notre vie moderne.`}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"1. La contraction musculaire défensive"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Face au stress, votre système nerveux ordonne automatiquement à vos muscles de se contracter, particulièrement ceux du dos et des épaules. Cette protection réflexe prépare votre corps à l'action. Mais si le stress persiste jour après jour, ces muscles restent contractés en permanence, créant des tensions chroniques."}),t.jsxs("div",{className:"bg-white border-l-4 border-primary p-6 rounded-r-xl mb-8",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Le chiffre qui parle"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Une étude publiée dans le Journal of Psychosomatic Research montre que les personnes vivant un stress chronique présentent 40% plus de tensions musculaires dans le bas du dos que les personnes peu stressées, même sans activité physique particulière."})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"2. L'inflammation liée au stress"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Le stress chronique augmente la production de cortisol et de cytokines pro-inflammatoires dans votre corps. Ces substances chimiques sensibilisent vos tissus et amplifient les sensations désagréables. Votre dos devient plus réactif à n'importe quelle sollicitation."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"3. Les postures de protection"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"Le stress modifie inconsciemment votre posture. Vous vous recroquevillez légèrement, vos épaules montent, votre respiration devient superficielle. Ces micro-ajustements, maintenus pendant des heures, créent des déséquilibres musculaires et surchargent votre colonne lombaire."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Le cercle vicieux stress-tension-anxiété"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Un mécanisme pernicieux s'installe souvent :"}),t.jsx("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 rounded-xl p-6 mb-8",children:t.jsxs("ol",{className:"space-y-4 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Le stress déclenche des tensions"}),t.jsx("br",{}),"Votre dos se crispe en réponse au stress professionnel, familial ou financier."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Les tensions génèrent de l'inquiétude"}),t.jsx("br",{}),"Vous commencez à vous préoccuper de votre dos, ajoutant une couche d'anxiété."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. L'anxiété amplifie la perception"}),t.jsx("br",{}),"Plus vous vous focalisez sur votre dos, plus les sensations deviennent présentes."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4. Le cycle se renforce"}),t.jsx("br",{}),"Le stress initial persiste, l'anxiété augmente, les tensions s'intensifient."]})]})}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"La bonne nouvelle ? Ce cercle vicieux peut être interrompu à plusieurs niveaux avec des techniques appropriées."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"5 techniques pour briser le lien stress-tension"}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"1. La respiration cohérente (5 minutes par jour)"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"C'est l'outil le plus puissant et le plus simple. La respiration cohérente régule votre système nerveux et relâche instantanément les tensions musculaires."}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6 mb-8",children:[t.jsx("p",{className:"font-bold text-slate-900 mb-4",children:"Comment pratiquer :"}),t.jsxs("ol",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1."})," Asseyez-vous confortablement, dos droit"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2."})," Inspirez par le nez pendant 5 secondes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3."})," Expirez par la bouche pendant 5 secondes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"4."})," Maintenez ce rythme pendant 5 minutes"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"5."})," Concentrez-vous uniquement sur votre souffle"]})]}),t.jsxs("p",{className:"text-slate-700 mt-4 italic",children:[t.jsx("strong",{children:"Moment idéal :"})," Le matin au réveil, pendant la pause déjeuner, ou avant de dormir."]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"2. La relaxation musculaire progressive"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Cette technique, développée par le Dr Edmund Jacobson, consiste à contracter puis relâcher consciemment chaque groupe musculaire. Elle vous apprend à reconnaître et éliminer les tensions."}),t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 rounded-xl p-6 mb-8",children:[t.jsx("p",{className:"font-bold text-slate-900 mb-4",children:"Séquence pour le dos (10 minutes) :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 ml-6",children:[t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Épaules :"})," Montez-les vers les oreilles (5 sec), relâchez complètement (10 sec)"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Dos haut :"})," Rapprochez les omoplates (5 sec), relâchez (10 sec)"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Bas du dos :"})," Creusez légèrement (5 sec), relâchez en position neutre (10 sec)"]}),t.jsxs("li",{children:["• ",t.jsx("strong",{children:"Fessiers :"})," Serrez (5 sec), relâchez complètement (10 sec)"]})]}),t.jsx("p",{className:"text-slate-700 mt-4",children:"Répétez 3 fois, en portant attention à la différence entre tension et relâchement."})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"3. Le mouvement quotidien anti-stress"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"L'activité physique est un antidote naturel au stress. Elle libère des endorphines, réduit le cortisol et détend les muscles tendus."}),t.jsxs("div",{className:"space-y-4 mb-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Marche rapide (20-30 min)"}),t.jsx("p",{className:"text-slate-700",children:"Idéalement en nature. Le rythme régulier de la marche a un effet méditatif qui calme le mental."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Yoga doux ou étirements (15 min)"}),t.jsx("p",{className:"text-slate-700",children:"Combine mouvement, respiration et attention. Particulièrement efficace pour les tensions liées au stress."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Natation (30 min)"}),t.jsx("p",{className:"text-slate-700",children:"L'eau porte votre corps, éliminant la compression sur votre colonne tout en offrant une résistance douce."})]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"4. La gestion cognitive du stress"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Souvent, ce n'est pas l'événement qui vous stresse, mais votre interprétation de celui-ci. Modifier vos pensées influence directement vos tensions physiques."}),t.jsxs("div",{className:"bg-white border-l-4 border-primary p-6 rounded-r-xl mb-8",children:[t.jsx("p",{className:"font-bold text-slate-900 mb-4",children:"Technique du recadrage :"}),t.jsxs("ol",{className:"space-y-2 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"1. Identifiez la pensée stressante"}),t.jsx("br",{}),t.jsx("em",{children:'Exemple : "Mon dos ne va jamais aller mieux"'})]}),t.jsxs("li",{children:[t.jsx("strong",{children:"2. Questionnez-la"}),t.jsx("br",{}),t.jsx("em",{children:'"Est-ce vraiment vrai ? Ai-je des preuves ?"'})]}),t.jsxs("li",{children:[t.jsx("strong",{children:"3. Reformulez de manière réaliste"}),t.jsx("br",{}),t.jsx("em",{children:`"Mon dos a des hauts et des bas. J'apprends à mieux le gérer."`})]})]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"5. Le rituel de décompression"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Créez une frontière claire entre votre journée stressante et votre soirée relaxante."}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 rounded-xl p-6 mb-8",children:[t.jsx("p",{className:"font-bold text-slate-900 mb-4",children:"Exemple de rituel (20 minutes) :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 ml-6",children:[t.jsx("li",{children:"• Rentrez chez vous en marchant (10 min) ou faites le tour du pâté de maisons"}),t.jsx("li",{children:"• Douche chaude en conscience, en sentant l'eau couler sur votre dos"}),t.jsx("li",{children:"• 5 minutes d'étirements doux"}),t.jsx("li",{children:"• Changez de vêtements : marquez symboliquement la fin de la journée"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Quand le stress devient chronique : agir avant qu'il ne s'installe"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Le stress ponctuel fait partie de la vie. Mais lorsqu'il devient chronique, il nécessite une attention particulière."}),t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Signes d'alerte :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Tensions dans le dos présentes tous les jours"}),t.jsx("li",{children:"• Difficulté à vous détendre même en week-end"}),t.jsx("li",{children:"• Troubles du sommeil persistants"}),t.jsx("li",{children:"• Irritabilité ou sentiment de débordement constant"}),t.jsx("li",{children:"• Perte d'intérêt pour vos activités habituelles"})]}),t.jsx("p",{className:"text-slate-700 mt-4",children:"Si vous reconnaissez plusieurs de ces signes, envisagez un accompagnement par un professionnel (psychologue, sophrologue, ou coach en gestion du stress)."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'approche intégrée Malodo"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Notre programme reconnaît l'influence majeure du stress sur votre confort lombaire. C'est pourquoi nous intégrons :"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🧘"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Exercices de respiration guidés"}),t.jsx("p",{className:"text-slate-700",children:"Séances audio courtes (3-5 min) pour réguler votre système nerveux au quotidien."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"💆"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Relaxation musculaire"}),t.jsx("p",{className:"text-slate-700",children:"Protocoles de relâchement progressif pour dissoudre les tensions accumulées."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Exercices adaptatifs"}),t.jsx("p",{className:"text-slate-700",children:"Mouvements qui allient renforcement physique et réduction du stress mental."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📚"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Éducation corps-esprit"}),t.jsx("p",{className:"text-slate-700",children:"Comprenez les mécanismes pour mieux agir sur le lien entre stress et tensions."})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Retrouvez l'équilibre corps-esprit"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Un programme qui prend soin de votre dos ET de votre bien-être mental."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Découvrir l'approche Malodo"})]}),t.jsx(Bt,{articles:[{title:"Bien dormir avec un inconfort lombaire : positions et astuces",slug:"bien-dormir-confort-lombaire",category:"Prévention"},{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Raideur matinale du dos : causes et solutions",slug:"raideur-matinale-dos",category:"Bien-être"},{title:"Télétravail : protégez votre dos avec les bonnes postures",slug:"teletravail-posture-dos",category:"Prévention"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),qN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Sport et inconfort lombaire : bouger sans aggraver | Blog Malodo",description:"Découvrez quels sports pratiquer avec un inconfort lombaire, comment adapter votre activité et les erreurs à éviter pour continuer à bouger en toute sécurité.",keywords:"sport inconfort lombaire, activité physique mal de dos, exercice lombalgie, reprise sport dos, sport adapté dos",canonicalUrl:"https://malodo.pro/blog/sport-inconfort-lombaire",ogImage:"https://images.pexels.com/photos/3822621/pexels-photo-3822621.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-green-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Sport et inconfort lombaire : le mouvement comme allié"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-green-600/10 text-green-700 mb-4",children:"Activité physique"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Sport et inconfort lombaire : le mouvement comme allié"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"3 décembre 2025"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"6 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/3822621/pexels-photo-3822621.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Personne pratiquant une activité sportive adaptée",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:`"Puis-je continuer le sport avec mon dos ?" C'est LA question que se posent 80% des personnes ayant un inconfort lombaire. La réponse est claire : non seulement vous pouvez, mais vous devriez continuer à bouger. L'activité physique adaptée est votre meilleur allié pour retrouver un dos confortable.`}),t.jsxs("div",{className:"bg-gradient-to-r from-green-50 to-emerald-50 border-l-4 border-green-600 p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Ce que vous allez apprendre"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Pourquoi le repos prolongé aggrave votre situation"}),t.jsx("li",{children:"• Les sports recommandés et ceux à adapter"}),t.jsx("li",{children:"• Comment reprendre progressivement votre activité"}),t.jsx("li",{children:"• Les signaux d'alerte à surveiller"}),t.jsx("li",{children:"• 3 principes d'or pour bouger sans risque"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Le repos : votre faux ami"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Lorsque votre dos vous fait souffrir, l'instinct naturel est de vous reposer. Pourtant, les recherches scientifiques sont formelles : l'immobilité prolongée retarde votre rétablissement."}),t.jsxs("div",{className:"bg-white border-l-4 border-primary p-6 rounded-r-xl mb-8",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Ce que dit la science"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-4",children:"Une méta-analyse publiée dans le British Journal of Sports Medicine montre que les personnes qui maintiennent une activité physique adaptée récupèrent 30% plus rapidement que celles qui optent pour le repos prolongé."}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Le mouvement active la circulation sanguine, nourrit vos disques intervertébraux, maintient la force musculaire et prévient l'installation de peurs et croyances limitantes."})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Que se passe-t-il quand vous arrêtez tout ?"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-red-50 to-orange-50 p-6 rounded-xl border-l-4 border-red-400",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"⚠️ Après 1 semaine d'inactivité"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 text-sm",children:[t.jsx("li",{children:"• Perte de 3-5% de force musculaire"}),t.jsx("li",{children:"• Raideur articulaire accrue"}),t.jsx("li",{children:"• Anxiété liée au mouvement"})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-red-50 to-orange-50 p-6 rounded-xl border-l-4 border-red-500",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"⚠️ Après 2-3 semaines"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 text-sm",children:[t.jsx("li",{children:"• Déconditionnement musculaire significatif"}),t.jsx("li",{children:"• Cercle vicieux peur-évitement"}),t.jsx("li",{children:"• Chronicisation du problème"})]})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Quels sports pratiquer ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Tous les sports ne se valent pas quand votre dos est sensible. Voici un guide pratique :"}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"✅ Sports vivement recommandés"}),t.jsxs("div",{className:"space-y-4 mb-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Marche et marche nordique"}),t.jsxs("p",{className:"text-slate-700 mb-2",children:[t.jsx("strong",{children:"Pourquoi :"})," Mouvement naturel, sans impact, active tout le corps en douceur."]}),t.jsxs("p",{className:"text-slate-700 text-sm",children:[t.jsx("strong",{children:"Conseil :"})," Commencez par 15-20 minutes et augmentez progressivement jusqu'à 45 minutes."]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Natation"}),t.jsxs("p",{className:"text-slate-700 mb-2",children:[t.jsx("strong",{children:"Pourquoi :"})," Portance de l'eau, renforcement musculaire sans contrainte articulaire."]}),t.jsxs("p",{className:"text-slate-700 text-sm",children:[t.jsx("strong",{children:"Conseil :"})," Privilégiez le dos crawlé et le crawl. Évitez la brasse si elle accentue vos tensions."]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Vélo (route ou d'appartement)"}),t.jsxs("p",{className:"text-slate-700 mb-2",children:[t.jsx("strong",{children:"Pourquoi :"})," Excellent cardio sans impact, renforce les jambes et stabilise le bassin."]}),t.jsxs("p",{className:"text-slate-700 text-sm",children:[t.jsx("strong",{children:"Conseil :"})," Ajustez bien votre selle et guidon. Évitez le VTT en terrain accidenté initialement."]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Yoga, Pilates, Tai Chi"}),t.jsxs("p",{className:"text-slate-700 mb-2",children:[t.jsx("strong",{children:"Pourquoi :"})," Renforcement profond, mobilité, conscience corporelle, gestion du stress."]}),t.jsxs("p",{className:"text-slate-700 text-sm",children:[t.jsx("strong",{children:"Conseil :"})," Prévenez votre professeur de votre situation. Adaptez ou évitez les flexions profondes."]})]})]}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"⚠️ Sports à adapter temporairement"}),t.jsx("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:t.jsxs("ul",{className:"space-y-3 text-slate-700",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Course à pied :"})," Impacts répétés. Attendez que votre dos soit plus confortable. Remplacez temporairement par la marche rapide."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Musculation lourde :"})," Réduisez les charges de 40-50%. Privilégiez les répétitions et la technique. Évitez temporairement les squats lourds et soulevés de terre."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Sports de raquette :"})," Torsions rapides. Reprenez progressivement. Concentrez-vous sur les échanges doux avant les matchs compétitifs."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Football, rugby, sports collectifs :"})," Contacts et changements de direction brusques. Reprise très progressive après amélioration significative."]})]})}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Les 3 principes d'or pour reprendre le sport"}),t.jsxs("div",{className:"space-y-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"1. La règle de progression 10%"}),t.jsx("p",{className:"text-slate-700 mb-4",children:"N'augmentez jamais votre volume d'activité de plus de 10% par semaine. C'est LA règle scientifiquement validée pour éviter les rechutes."}),t.jsxs("p",{className:"text-slate-700 text-sm italic",children:[t.jsx("strong",{children:"Exemple :"})," Si vous marchez 20 minutes cette semaine, passez à 22 minutes la semaine prochaine (et non 30 ou 40)."]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-purple-50 to-pink-50 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"2. Écoutez les bons signaux"}),t.jsx("p",{className:"text-slate-700 mb-4",children:"Votre corps communique constamment. Apprenez à distinguer :"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{className:"bg-white p-4 rounded-lg",children:[t.jsx("p",{className:"font-bold text-green-700 mb-2",children:"✓ Signaux OK"}),t.jsxs("ul",{className:"text-sm text-slate-700 space-y-1",children:[t.jsx("li",{children:"• Légère tension qui diminue en bougeant"}),t.jsx("li",{children:"• Sensation de raideur qui s'améliore"}),t.jsx("li",{children:"• Courbatures normales 24-48h après"})]})]}),t.jsxs("div",{className:"bg-white p-4 rounded-lg",children:[t.jsx("p",{className:"font-bold text-red-700 mb-2",children:"✗ Signaux d'alerte"}),t.jsxs("ul",{className:"text-sm text-slate-700 space-y-1",children:[t.jsx("li",{children:"• Augmentation nette pendant l'activité"}),t.jsx("li",{children:"• Symptômes qui persistent 24h+"}),t.jsx("li",{children:"• Sensations dans les jambes"})]})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-green-50 to-emerald-50 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"3. L'échauffement et la récupération sont sacrés"}),t.jsx("p",{className:"text-slate-700 mb-4",children:"Ne négligez JAMAIS ces phases. Elles font partie intégrante de votre activité."}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-slate-900 mb-2",children:"Échauffement (10 min minimum) :"}),t.jsxs("ul",{className:"text-slate-700 text-sm ml-6",children:[t.jsx("li",{children:"• 5 min de marche ou vélo doux"}),t.jsx("li",{children:"• 5 min de mobilisations articulaires progressives"})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-slate-900 mb-2",children:"Récupération (10 min) :"}),t.jsxs("ul",{className:"text-slate-700 text-sm ml-6",children:[t.jsx("li",{children:"• Retour au calme progressif"}),t.jsx("li",{children:"• Étirements doux"}),t.jsx("li",{children:"• Respiration consciente"})]})]})]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Mon conseil de kinésithérapeute"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Tenez un journal de bord simple : notez votre activité du jour et comment votre dos réagit dans les 24h. Vous identifierez rapidement votre seuil optimal et verrez vos progrès semaine après semaine. C'est extrêmement motivant !"})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'approche Malodo pour une reprise sportive réussie"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Notre programme intègre une progression sportive intelligente :"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📈"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Progression adaptative"}),t.jsx("p",{className:"text-slate-700",children:"Les exercices évoluent automatiquement selon vos retours, respectant la règle des 10%."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Préparation au sport"}),t.jsx("p",{className:"text-slate-700",children:"Protocoles spécifiques pour reprendre votre sport favori en toute confiance."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🏃"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Programmes sport-spécifiques"}),t.jsx("p",{className:"text-slate-700",children:"Échauffements et renforcements adaptés à votre activité (course, vélo, natation...)."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📊"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Suivi de charge"}),t.jsx("p",{className:"text-slate-700",children:"Visualisez votre volume d'activité hebdomadaire et ajustez intelligemment."})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Retrouvez votre liberté de mouvement"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Un programme qui vous accompagne pour reprendre le sport sans crainte."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Commencer mon programme personnalisé"})]}),t.jsx(Bt,{articles:[{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Durée d'amélioration d'une lombalgie : timeline réaliste",slug:"duree-amelioration-lombalgie",category:"Comprendre"},{title:"Mal de dos : comprendre les causes pour mieux agir",slug:"comprendre-inconfort-lombaire",category:"Comprendre"},{title:"Stress et tensions lombaires : le lien corps-esprit",slug:"stress-tensions-lombaires",category:"Bien-être"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),RN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Durée d'amélioration d'une lombalgie : timeline réaliste | Blog Malodo",description:"Combien de temps faut-il pour améliorer un inconfort lombaire ? Découvrez les étapes de récupération, les facteurs d'accélération et les pièges à éviter.",keywords:"durée lombalgie, temps guérison mal de dos, combien de temps lombalgie, récupération dos, amélioration lombalgie",canonicalUrl:"https://malodo.pro/blog/duree-amelioration-lombalgie",ogImage:"https://images.pexels.com/photos/6111616/pexels-photo-6111616.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Durée d'amélioration d'une lombalgie : timeline réaliste"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-primary/10 text-primary mb-4",children:"Compréhension"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Durée d'amélioration d'une lombalgie : timeline réaliste"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"16 décembre 2024"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"8 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/6111616/pexels-photo-6111616.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Personne en récupération progressive d'un inconfort lombaire",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:`"Quand vais-je enfin aller mieux ?" C'est la question que tout le monde se pose face à un inconfort lombaire. La réponse n'est pas unique, mais comprendre les étapes typiques de récupération et les facteurs qui l'accélèrent vous aide à avancer sereinement.`}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Points essentiels"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• 70-90% des lombalgies aiguës s'améliorent en 4-6 semaines"}),t.jsx("li",{children:"• La récupération n'est pas linéaire (hauts et bas sont normaux)"}),t.jsx("li",{children:"• Vos actions influencent directement le délai d'amélioration"}),t.jsx("li",{children:"• Certains facteurs prédisent une récupération plus longue"}),t.jsx("li",{children:"• L'amélioration fonctionnelle précède souvent l'absence totale de symptômes"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"La timeline typique d'amélioration"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Voici ce que montrent les études scientifiques sur l'évolution naturelle d'un inconfort lombaire aigu (moins de 6 semaines) :"}),t.jsxs("div",{className:"space-y-4 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-red-50 to-orange-50 p-6 rounded-xl border-l-4 border-orange-500",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Jours 1-3 : Phase aiguë"}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Ce que vous ressentez :"})," Tension maximale, mouvements limités, inquiétude."]}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Objectif :"})," Rester le plus actif possible sans forcer. Mouvement doux toutes les heures."]}),t.jsx("p",{className:"text-slate-700 text-sm italic",children:"Astuce : C'est le moment où l'anxiété est maximale. Rappelez-vous que 90% des lombalgies s'améliorent sans intervention."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-yellow-50 p-6 rounded-xl border-l-4 border-yellow-600",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Jours 4-10 : Amélioration progressive"}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Ce que vous ressentez :"})," Tension encore présente mais moins intense. Vous récupérez progressivement vos mouvements."]}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Objectif :"})," Reprendre graduellement vos activités quotidiennes. Introduire des exercices de mobilité douce."]}),t.jsx("p",{className:"text-slate-700 text-sm italic",children:"Piège à éviter : Trop en faire dès que ça va mieux. Augmentez progressivement (règle des 10%)."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl border-l-4 border-green-600",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Semaines 2-4 : Récupération fonctionnelle"}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Ce que vous ressentez :"})," Tensions résiduelles mais capacité fonctionnelle largement restaurée. Retour aux activités normales."]}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Objectif :"})," Renforcer activement votre dos. Reprendre le sport progressivement."]}),t.jsx("p",{className:"text-slate-700 text-sm italic",children:"Note : À ce stade, 60-70% des personnes rapportent une amélioration significative."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl border-l-4 border-blue-600",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Semaines 4-12 : Consolidation"}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Ce que vous ressentez :"})," Sensations occasionnelles, surtout après sollicitations inhabituelles. Confiance retrouvée."]}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Objectif :"})," Maintenir votre routine d'exercices. Prévenir les récidives par l'activité régulière."]}),t.jsx("p",{className:"text-slate-700 text-sm italic",children:"Résultat : 80-90% des lombalgies aiguës sont résolues ou très améliorées à ce stade."})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Pourquoi certaines personnes récupèrent plus vite ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:`La durée d'amélioration n'est pas seulement liée à la "gravité" initiale. Plusieurs facteurs influencent fortement votre récupération :`}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"✅ Facteurs d'amélioration rapide"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 text-sm",children:[t.jsx("li",{children:"• Maintien d'une activité physique adaptée"}),t.jsx("li",{children:"• Confiance dans la capacité de récupération"}),t.jsx("li",{children:"• Bon sommeil et gestion du stress"}),t.jsx("li",{children:"• Compréhension des mécanismes"}),t.jsx("li",{children:"• Premier épisode de lombalgie"}),t.jsx("li",{children:"• Exercices de renforcement précoces"})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-red-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"⚠️ Facteurs de récupération lente"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 text-sm",children:[t.jsx("li",{children:"• Repos prolongé et évitement du mouvement"}),t.jsx("li",{children:"• Peur intense de se blesser"}),t.jsx("li",{children:"• Stress chronique élevé"}),t.jsx("li",{children:"• Antécédents d'épisodes multiples"}),t.jsx("li",{children:"• Attente passive d'amélioration"}),t.jsx("li",{children:"• Facteurs psychosociaux négatifs"})]})]})]}),t.jsxs("div",{className:"bg-white border-l-4 border-primary p-6 rounded-r-xl mb-8",children:[t.jsx("h4",{className:"font-bold text-slate-900 mb-3",children:"Ce que dit la recherche"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Une étude de 2023 publiée dans The Lancet montre que les personnes qui commencent des exercices spécifiques dans les 2 premières semaines récupèrent en moyenne 40% plus rapidement et ont 60% moins de risque de récidive à 1 an que celles qui optent pour une approche passive."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"La récupération n'est jamais linéaire"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Comprendre ceci est essentiel pour ne pas vous décourager :"}),t.jsxs("div",{className:"bg-gradient-to-r from-amber-50 to-orange-50 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Les hauts et les bas sont normaux"}),t.jsx("p",{className:"text-slate-700 mb-4",children:"Votre amélioration ressemble plus à une escalier avec des paliers (et parfois des petites descentes) qu'à une ligne droite montante. C'est NORMAL et attendu."}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-slate-900 mb-2",children:"Pourquoi ces fluctuations ?"}),t.jsxs("ul",{className:"text-slate-700 text-sm ml-6 space-y-1",children:[t.jsx("li",{children:"• Sollicitations inhabituelles (jardinage, déménagement...)"}),t.jsx("li",{children:"• Mauvaise nuit de sommeil"}),t.jsx("li",{children:"• Période de stress accru"}),t.jsx("li",{children:"• Simplement la variabilité naturelle des symptômes"})]})]}),t.jsxs("p",{className:"text-slate-700 text-sm italic mt-4",children:[t.jsx("strong",{children:"Important :"}),` Une "mauvaise journée" ne signifie PAS que vous recommencez de zéro. C'est juste un à-coup temporaire dans une tendance générale d'amélioration.`]})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Quand s'inquiéter d'une récupération lente ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Si après 4-6 semaines vous ne constatez AUCUNE amélioration, ou si certains signaux apparaissent, consultez un professionnel :"}),t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Signaux justifiant une consultation :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Aucune amélioration après 6 semaines malgré activité adaptée"}),t.jsx("li",{children:"• Aggravation progressive des symptômes"}),t.jsx("li",{children:"• Apparition de sensations dans les jambes"}),t.jsx("li",{children:"• Perte de force ou d'équilibre"}),t.jsx("li",{children:"• Impact majeur sur votre qualité de vie"}),t.jsx("li",{children:"• Symptômes nocturnes intenses qui vous réveillent"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Comment accélérer votre récupération"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Vous n'êtes pas spectateur passif. Voici les 5 actions ayant le plus d'impact :"}),t.jsxs("div",{className:"space-y-4 mb-12",children:[t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"1. Mouvement quotidien (30-45 min)"}),t.jsx("p",{className:"text-slate-700",children:"Marche, vélo, natation. Le mouvement active la circulation, nourrit vos tissus et maintient votre fonction."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"2. Exercices spécifiques (15-20 min x 3-4/semaine)"}),t.jsx("p",{className:"text-slate-700",children:"Renforcement du tronc, mobilité lombaire, stabilité. Ce sont les plus efficaces selon la littérature scientifique."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"3. Éducation et compréhension"}),t.jsx("p",{className:"text-slate-700",children:"Comprendre ce qui se passe réduit l'anxiété, améliore l'adhésion aux exercices et accélère objectivement la récupération."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"4. Sommeil de qualité (7-8h)"}),t.jsx("p",{className:"text-slate-700",children:"Votre corps se répare pendant le sommeil. Un sommeil insuffisant ralentit tous les processus de récupération."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"5. Gestion du stress"}),t.jsx("p",{className:"text-slate-700",children:"Le stress amplifie les tensions et ralentit la récupération. Respiration, méditation, activité physique : trouvez ce qui vous convient."})]})]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 La perspective du kinésithérapeute"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:`Ne vous focalisez pas uniquement sur l'absence totale de symptômes. Célébrez vos victoires fonctionnelles : "Je peux à nouveau porter mes courses", "Je dors mieux", "Je peux jouer avec mes enfants". L'amélioration fonctionnelle est ce qui compte vraiment.`})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'accompagnement Malodo pour optimiser votre récupération"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📊"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Suivi d'évolution"}),t.jsx("p",{className:"text-slate-700",children:"Visualisez vos progrès semaine après semaine avec des indicateurs clairs."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Programme adaptatif"}),t.jsx("p",{className:"text-slate-700",children:"Les exercices évoluent selon votre rythme, jamais trop vite, jamais trop lent."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📚"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Éducation continue"}),t.jsx("p",{className:"text-slate-700",children:"Comprenez chaque étape de votre récupération pour avancer en confiance."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🏆"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Objectifs personnalisés"}),t.jsx("p",{className:"text-slate-700",children:"Fixez vos propres jalons fonctionnels et célébrez chaque victoire."})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Accélérez votre récupération"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Un programme personnalisé pour optimiser chaque étape de votre amélioration."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Commencer mon programme"})]}),t.jsx(Bt,{articles:[{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Sport et inconfort lombaire : le mouvement comme allié",slug:"sport-inconfort-lombaire",category:"Sport"},{title:"Sciatique ou lombalgie simple ? 7 signes pour les différencier",slug:"sciatique-lombalgie-difference",category:"Comprendre"},{title:"Stress et tensions lombaires : le lien corps-esprit",slug:"stress-tensions-lombaires",category:"Bien-être"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),LN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Sciatique ou lombalgie simple ? 7 signes pour les différencier | Blog Malodo",description:"Apprenez à distinguer une sciatique d'une lombalgie commune. Découvrez les symptômes clés, les traitements adaptés et quand consulter un professionnel.",keywords:"sciatique, lombalgie, différence sciatique lombalgie, nerf sciatique, douleur jambe dos, symptômes sciatique",canonicalUrl:"https://malodo.pro/blog/sciatique-lombalgie-difference",ogImage:"https://images.pexels.com/photos/6975481/pexels-photo-6975481.jpeg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Sciatique ou lombalgie simple ? 7 signes pour les différencier"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-green-600/10 text-green-700 mb-4",children:"Diagnostic"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Sciatique ou lombalgie simple ? 7 signes pour les différencier"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"16 décembre 2024"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"9 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"https://images.pexels.com/photos/6975481/pexels-photo-6975481.jpeg?auto=compress&cs=tinysrgb&w=1600",alt:"Personne avec sensation dans la jambe",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:`"Est-ce que c'est une sciatique ?" Dès que des sensations apparaissent dans la jambe, cette question surgit. Pourtant, toutes les douleurs du bas du dos ne sont pas des sciatiques. Comprendre la différence vous aide à adapter votre approche et à mieux gérer votre situation.`}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Ce que vous allez découvrir"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• La différence fondamentale entre sciatique et lombalgie"}),t.jsx("li",{children:"• 7 signes clairs pour les distinguer"}),t.jsx("li",{children:"• Quand une lombalgie peut irradier sans être une sciatique"}),t.jsx("li",{children:"• Les approches de gestion spécifiques à chaque situation"}),t.jsx("li",{children:"• Les signaux nécessitant une consultation rapide"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"La différence essentielle"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl border-l-4 border-blue-500",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Lombalgie commune"}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Définition :"})," Tension ou gêne localisée dans le bas du dos, entre les côtes et les plis fessiers."]}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Origine :"})," Muscles, ligaments, articulations vertébrales ou disques intervertébraux."]}),t.jsxs("p",{className:"text-slate-700",children:[t.jsx("strong",{children:"Zone touchée :"})," Reste confinée au dos, parfois avec irradiation vers les fesses."]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl border-l-4 border-amber-500",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Sciatique (sciatalgie)"}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Définition :"})," Irritation ou compression du nerf sciatique provoquant des sensations le long de son trajet."]}),t.jsxs("p",{className:"text-slate-700 mb-3",children:[t.jsx("strong",{children:"Origine :"})," Nerf sciatique irrité (hernie discale, sténose, syndrome du piriforme...)."]}),t.jsxs("p",{className:"text-slate-700",children:[t.jsx("strong",{children:"Zone touchée :"})," Dos + fesse + arrière de la cuisse + mollet + pied (trajet du nerf)."]})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Les 7 signes distinctifs clairs"}),t.jsxs("div",{className:"space-y-6 mb-12",children:[t.jsxs("div",{className:"bg-white border-2 border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"1. Le trajet des sensations"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-blue-700 mb-2",children:"Lombalgie"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Reste dans le bas du dos. Peut irradier aux fesses ou haut des cuisses, mais s'arrête là."})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-amber-700 mb-2",children:"Sciatique"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Descend clairement dans la jambe, souvent jusqu'au mollet ou au pied. Suit un trajet précis (postérieur ou latéral)."})]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"2. Le type de sensation"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-blue-700 mb-2",children:"Lombalgie"}),t.jsx("p",{className:"text-slate-700 text-sm",children:'Tension sourde, raideur, courbature. Sensation "musculaire" ou "articulaire".'})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-amber-700 mb-2",children:"Sciatique"}),t.jsx("p",{className:"text-slate-700 text-sm",children:'Sensation électrique, brûlure, décharge. Parfois fourmillements, engourdissements. Sensation "nerveuse" caractéristique.'})]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"3. L'intensité relative dos vs jambe"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-blue-700 mb-2",children:"Lombalgie"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Principalement dans le dos. Si irradiation, elle est moins intense que la tension dorsale."})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-amber-700 mb-2",children:"Sciatique"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Souvent PLUS intense dans la jambe que dans le dos. La jambe devient la préoccupation principale."})]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"4. La toux ou l'éternuement"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-blue-700 mb-2",children:"Lombalgie"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Peut augmenter légèrement la tension dorsale, mais reste localisée au dos."})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-amber-700 mb-2",children:"Sciatique"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Provoque souvent une décharge électrique intense dans la jambe (signe très évocateur)."})]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"5. L'étirement de la jambe"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-blue-700 mb-2",children:"Lombalgie"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Lever la jambe tendue ne change rien aux symptômes du dos."})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-amber-700 mb-2",children:"Sciatique"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Lever la jambe tendue reproduit ou augmente nettement les sensations dans la jambe (test de Lasègue positif)."})]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"6. Les fourmillements et engourdissements"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-blue-700 mb-2",children:"Lombalgie"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Absents. Pas de modification de la sensibilité cutanée."})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-amber-700 mb-2",children:"Sciatique"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"Fréquents, surtout dans le pied ou l'arrière du mollet. Zones spécifiques engourdies ou fourmillantes."})]})]})]}),t.jsxs("div",{className:"bg-white border-2 border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"7. L'impact sur la marche"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-blue-700 mb-2",children:"Lombalgie"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"La marche est possible, parfois même soulageante après les premiers pas. Limites dues à la tension dorsale."})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-amber-700 mb-2",children:"Sciatique"}),t.jsx("p",{className:"text-slate-700 text-sm",children:"La marche peut être très difficile, avec boiterie marquée. Sensations vives à chaque pas dans la jambe."})]})]})]})]}),t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:'⚠️ Cas intermédiaire : la "pseudo-sciatique"'}),t.jsx("p",{className:"text-slate-700 mb-4",children:`Certaines lombalgies peuvent irradier vers la fesse et le haut de la cuisse sans être de vraies sciatiques. C'est une "douleur référée" : votre cerveau interprète mal la provenance du signal.`}),t.jsx("p",{className:"text-slate-700 mb-4",children:t.jsx("strong",{children:"Comment différencier ?"})}),t.jsxs("ul",{className:"space-y-2 text-slate-700 ml-6",children:[t.jsx("li",{children:"• La sensation reste diffuse et sourde (pas de décharge électrique)"}),t.jsx("li",{children:"• Elle ne descend pas sous le genou"}),t.jsx("li",{children:"• Pas de fourmillements ni d'engourdissements"}),t.jsx("li",{children:"• Le test de Lasègue est négatif"})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Approches de gestion spécifiques"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Gestion de la lombalgie commune"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 text-sm",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Mouvement précoce :"})," Reprenez rapidement vos activités"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Exercices :"})," Renforcement et mobilité dès que possible"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Chaleur :"})," Souvent apaisante"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Activité aérobie :"})," Marche, vélo, natation"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Auto-gestion :"})," Très efficace dans 90% des cas"]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"Gestion de la sciatique"}),t.jsxs("ul",{className:"space-y-2 text-slate-700 text-sm",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Positions antalgiques :"})," Trouvez ce qui soulage (souvent flexion)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Mouvement adapté :"})," Évitez ce qui reproduit la décharge"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Exercices spécifiques :"})," Nerf gliding, positions de décharge"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"✓ Patience :"})," Récupération souvent plus longue (6-12 semaines)"]}),t.jsxs("li",{children:[t.jsx("strong",{children:"⚠️ Consultation :"})," Souvent nécessaire pour suivi"]})]})]})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Quand consulter en urgence"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Qu'il s'agisse d'une lombalgie ou d'une sciatique, certains signaux nécessitent une consultation rapide :"}),t.jsxs("div",{className:"bg-red-50 border-l-4 border-red-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"🚨 Drapeaux rouges (consultation urgente) :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Perte de contrôle urinaire ou fécal (syndrome de la queue de cheval)"}),t.jsx("li",{children:"• Engourdissement dans la zone périnéale (selle)"}),t.jsx("li",{children:"• Faiblesse musculaire marquée et progressive (pied qui tombe, impossibilité de se mettre sur pointe)"}),t.jsx("li",{children:"• Symptômes bilatéraux (les deux jambes) et intenses"}),t.jsx("li",{children:"• Fièvre, perte de poids inexpliquée, antécédents de cancer"}),t.jsx("li",{children:"• Traumatisme récent important"})]})]}),t.jsxs("div",{className:"bg-amber-50 border-l-4 border-amber-500 p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-4",children:"⚠️ Consultation conseillée sous quelques jours :"}),t.jsxs("ul",{className:"space-y-2 text-slate-700",children:[t.jsx("li",{children:"• Sciatique qui ne s'améliore pas du tout après 2 semaines"}),t.jsx("li",{children:"• Aggravation progressive des symptômes malgré adaptation"}),t.jsx("li",{children:"• Lombaire persistante et invalidante au-delà de 4-6 semaines"}),t.jsx("li",{children:"• Doute sur le diagnostic ou besoin de réassurance"})]})]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"💡 Le point de vue du kinésithérapeute"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Même avec une vraie sciatique, 90% des cas s'améliorent spontanément en 6-12 semaines. Le nerf se désirrite progressivement. Votre rôle est de ne pas aggraver la situation tout en maintenant un maximum de fonction. L'immobilité totale est rarement la solution, même pour une sciatique."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"L'accompagnement Malodo"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Notre programme distingue votre situation spécifique et adapte les exercices en conséquence :"}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🎯"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Évaluation précise"}),t.jsx("p",{className:"text-slate-700",children:"Questionnaire détaillé pour identifier si vous présentez des signes d'atteinte nerveuse."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"📋"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Protocoles adaptés"}),t.jsx("p",{className:"text-slate-700",children:"Exercices différents selon que vous avez une lombalgie commune ou une sciatique."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"⚠️"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Signaux d'alerte"}),t.jsx("p",{className:"text-slate-700",children:"Système intégré détectant les drapeaux rouges nécessitant une consultation."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-amber-50 to-orange-50 p-6 rounded-xl",children:[t.jsx("div",{className:"text-3xl mb-4",children:"🔄"}),t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Réévaluation continue"}),t.jsx("p",{className:"text-slate-700",children:"Suivi de l'évolution pour adapter le programme si vos symptômes changent."})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Un programme qui s'adapte à votre situation"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Lombalgie ou sciatique, recevez les exercices et conseils adaptés à votre cas."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Commencer mon évaluation"})]}),t.jsx(Bt,{articles:[{title:"Mal de dos : comprendre les causes pour mieux agir",slug:"comprendre-inconfort-lombaire",category:"Comprendre"},{title:"Durée d'amélioration d'une lombalgie : timeline réaliste",slug:"duree-amelioration-lombalgie",category:"Comprendre"},{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Raideur matinale du dos : causes et solutions",slug:"raideur-matinale-dos",category:"Bien-être"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"*Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique concernant votre situation.*"})})]})]})})})}),t.jsx(le,{})]}),DN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Bien dormir quand on a le dos sensible : le guide complet du confort lombaire nocturne | Blog Malodo",description:"Découvrez comment améliorer votre confort lombaire la nuit grâce aux bonnes positions de sommeil, des exercices du soir et une literie adaptée. Guide pratique Malodo.",keywords:"bien dormir confort lombaire, position sommeil dos, exercices avant dormir dos, literie confort lombaire, routine du soir dos, améliorer sommeil mal de dos",canonicalUrl:"https://malodo.pro/blog/bien-dormir-confort-lombaire",ogImage:"https://malodo.pro/blog/bien-dormir-confort-lombaire/files_4418142-2026-02-10T13-58-22-926Z-telechargement_(1).jpg"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("article",{className:"py-12",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Bien dormir quand on a le dos sensible"}]}),t.jsxs("a",{href:"/blog",className:"inline-flex items-center text-primary hover:text-primary-dark font-semibold mb-8 transition-all duration-300 hover:gap-3",children:[t.jsx(De,{size:20,className:"mr-2"}),"Retour au blog"]}),t.jsxs("div",{className:"mb-8",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 rounded-full text-sm font-semibold bg-blue-600/10 text-blue-700 mb-4",children:"Guide pratique"}),t.jsx("h1",{className:"text-4xl md:text-5xl font-black text-slate-900 mb-6 leading-tight",children:"Bien dormir quand on a le dos sensible : le guide complet du confort lombaire nocturne"}),t.jsxs("div",{className:"flex items-center gap-6 text-slate-600 mb-8",children:[t.jsxs("span",{className:"flex items-center",children:[t.jsx(Oe,{size:18,className:"mr-2"}),"10 février 2026"]}),t.jsxs("span",{className:"flex items-center",children:[t.jsx(ct,{size:18,className:"mr-2"}),"10 min de lecture"]}),t.jsxs("button",{className:"flex items-center hover:text-primary transition-colors",children:[t.jsx(lt,{size:18,className:"mr-2"}),"Partager"]})]})]}),t.jsx("div",{className:"relative h-96 rounded-2xl overflow-hidden mb-12 shadow-2xl",children:t.jsx("img",{src:"/blog/bien-dormir-confort-lombaire/files_4418142-2026-02-10T13-58-22-926Z-telechargement_(1).jpg",alt:"Personne ressentant une douleur lombaire",className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("p",{className:"text-xl text-slate-700 leading-relaxed mb-8 font-medium",children:"Vous vous êtes déjà réveillé avec cette sensation de raideur dans le bas du dos, comme si la nuit avait aggravé les choses au lieu de vous reposer ? Vous n'êtes pas seul. Selon les études, les personnes présentant un inconfort lombaire chronique obtiennent des scores de qualité de sommeil deux fois moins bons que la population générale. Et le cercle est vicieux : un mauvais sommeil amplifie la perception de l'inconfort, qui lui-même perturbe le sommeil."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"La bonne nouvelle, c'est que quelques ajustements simples — dans vos positions, votre literie et votre routine du soir — peuvent transformer vos nuits. Chez Malodo, nous accompagnons chaque jour des personnes qui retrouvent un sommeil réparateur en comprenant mieux la mécanique de leur dos. Voici notre guide complet pour bien dormir et préserver votre confort lombaire."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Pourquoi le sommeil est essentiel pour votre dos"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Le sommeil n'est pas un moment passif. C'est durant la nuit que votre corps effectue un travail de récupération fondamental. Les muscles qui ont soutenu votre colonne vertébrale toute la journée se relâchent, et vos disques intervertébraux — ces coussins naturels entre chaque vertèbre — se réhydratent en absorbant l'eau et les nutriments environnants."}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-6",children:["L'étude Actidos, menée par l'European Sleep Center, a montré qu'un sommeil de qualité sur une literie adaptée permet un redressement de la courbure dorsale de près de 8 % et de la courbure lombaire de 7 %. Autrement dit, ",t.jsx("strong",{children:"bien dormir contribue activement à améliorer votre posture"}),", même sans effort conscient de votre part."]}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"À l'inverse, un sommeil trop court ou fragmenté empêche cette récupération. Les personnes qui dorment moins de 6 heures par nuit rapportent un inconfort lombaire plus marqué au réveil, avec des muscles qui n'ont pas eu le temps de se décontracter complètement."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Les meilleures positions pour préserver votre confort lombaire la nuit"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Votre position de sommeil influence directement la pression exercée sur votre colonne. Voici les options les plus favorables pour votre dos, de la plus recommandée à la moins idéale."}),t.jsxs("div",{className:"space-y-6 mb-12",children:[t.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 rounded-xl p-6 border-l-4 border-blue-600",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Sur le dos : la position de référence"}),t.jsx("p",{className:"text-slate-700 mb-4",children:"Dormir sur le dos permet un alignement naturel de la colonne vertébrale et une répartition uniforme du poids. C'est la position qui sollicite le moins les structures lombaires."}),t.jsxs("p",{className:"text-slate-700 mb-4",children:["Pour l'optimiser, ",t.jsx("strong",{children:"placez un coussin de taille moyenne sous vos genoux"}),". Ce simple geste réduit la cambrure lombaire et relâche les muscles fléchisseurs de la hanche, notamment le psoas, souvent source de tensions dans le bas du dos. Votre oreiller de tête doit être suffisamment épais pour combler l'espace entre votre nuque et le matelas, sans surélever excessivement la tête."]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 rounded-xl p-6 border-l-4 border-green-600",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Sur le côté : une excellente alternative"}),t.jsxs("p",{className:"text-slate-700 mb-4",children:["C'est la position la plus adoptée, et pour cause : elle convient très bien au dos lorsqu'elle est correctement aménagée. L'astuce fondamentale est de ",t.jsx("strong",{children:"placer un oreiller entre les genoux"}),". Sans ce support, la jambe supérieure tire le bassin vers le bas, créant une rotation qui sollicite les articulations lombaires toute la nuit."]}),t.jsx("p",{className:"text-slate-700 mb-4",children:"Adoptez une position légèrement fœtale, genoux doucement fléchis, sans vous recroqueviller excessivement. Cette posture ouvre naturellement l'espace entre les vertèbres et convient particulièrement aux personnes ressentant un inconfort qui s'améliore en flexion."})]}),t.jsxs("div",{className:"bg-gradient-to-br from-red-50 to-orange-50 rounded-xl p-6 border-l-4 border-red-500",children:[t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"Sur le ventre : la position à éviter"}),t.jsx("p",{className:"text-slate-700 mb-4",children:"Dormir sur le ventre accentue la cambrure lombaire et impose une rotation cervicale prolongée pour respirer. Si vous ne parvenez pas à modifier cette habitude, glissez un coussin fin sous votre bassin pour réduire la lordose, et utilisez un oreiller plat (ou aucun) sous la tête."})]})]}),t.jsxs("div",{className:"bg-white border-2 border-primary/20 rounded-xl p-6 mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-primary mb-3",children:"Conseil pratique"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Vous changez de position plusieurs fois dans la nuit, et c'est tout à fait normal. L'important n'est pas de rester figé toute la nuit, mais de vous endormir dans une position favorable. Votre mémoire musculaire fera progressivement le reste, et après quelques nuits d'adaptation, la nouvelle posture deviendra naturelle."})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Choisir une literie qui soutient votre dos"}),t.jsx("div",{className:"relative h-80 rounded-2xl overflow-hidden mb-8 shadow-xl",children:t.jsx("img",{src:"/blog/bien-dormir-confort-lombaire/files_4418142-2026-02-10T13-58-22-886Z-telechargement_(10).jpg",alt:"Personne montrant un conseil important",className:"w-full h-full object-cover"})}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Votre matelas et votre oreiller sont vos alliés — ou vos adversaires — pendant un tiers de votre vie. Un choix judicieux fait une réelle différence."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Le matelas : ni trop ferme, ni trop souple"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"L'idée reçue selon laquelle un matelas très ferme serait meilleur pour le dos est aujourd'hui contredite par les études. Une étude espagnole publiée dans The Lancet a montré que les personnes souffrant d'inconfort lombaire chronique qui utilisaient un matelas de fermeté moyenne présentaient, après 90 jours, moins d'inconfort et une meilleure fonctionnalité que celles dormant sur un matelas très ferme."}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Le principe est simple : votre matelas doit épouser les courbes naturelles de votre corps (épaules, hanches) tout en soutenant fermement la zone lombaire. Les matelas à zones de confort différenciées — plus souples aux épaules, plus fermes au centre — répondent bien à ce besoin."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"L'oreiller : un rôle souvent sous-estimé"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Un oreiller inadapté peut créer un désalignement entre votre tête, votre nuque et votre colonne, entraînant des compensations musculaires jusque dans le bas du dos. Adaptez la hauteur de votre oreiller à votre position de sommeil : plus épais si vous dormez sur le côté (pour combler l'espace entre l'épaule et la tête), plus fin si vous dormez sur le dos."}),t.jsx("h3",{className:"text-2xl font-bold text-slate-900 mt-8 mb-4",children:"Quand renouveler votre literie ?"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-8",children:"Un matelas perd environ 30 % de ses propriétés de soutien après 8 à 10 ans d'utilisation. Si vous vous réveillez régulièrement avec des raideurs qui disparaissent après une heure de mouvement, votre literie mérite probablement d'être évaluée."}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Votre routine du soir : 4 exercices pour préparer votre dos à la nuit"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Consacrer 5 à 10 minutes à quelques exercices doux avant le coucher aide vos muscles à se détendre et facilite la transition vers un sommeil récupérateur. Voici une séquence que nous recommandons chez Malodo."}),t.jsxs("div",{className:"space-y-4 mb-8",children:[t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Genoux-poitrine"}),t.jsx("p",{className:"text-slate-700",children:"Allongé sur le dos, ramenez doucement un genou puis l'autre vers la poitrine. Maintenez 20 secondes de chaque côté. Cet exercice relâche les muscles lombaires et étire en douceur le bas du dos."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Rotation lombaire allongée"}),t.jsx("p",{className:"text-slate-700",children:"Toujours sur le dos, genoux fléchis et pieds au sol, laissez basculer lentement vos genoux d'un côté puis de l'autre. Ce mouvement mobilise en douceur les articulations vertébrales et dénoue les tensions accumulées dans la journée."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Posture de l'enfant (child's pose)"}),t.jsx("p",{className:"text-slate-700",children:"À genoux, asseyez-vous sur vos talons puis étirez-vous vers l'avant, bras tendus. Restez 30 secondes en respirant profondément. Cette position ouvre l'espace intervertébral et favorise un relâchement global."})]}),t.jsxs("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Respiration diaphragmatique"}),t.jsx("p",{className:"text-slate-700",children:"Allongé sur le dos, une main sur le ventre, inspirez profondément par le nez en gonflant l'abdomen, puis expirez lentement par la bouche. Répétez 8 à 10 fois. La respiration profonde active le système nerveux parasympathique, celui qui prépare votre corps au repos, tout en maintenant une légère contraction stabilisatrice de la ceinture abdominale."})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-cyan-50 border-l-4 border-primary p-6 rounded-r-xl mb-8",children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Le saviez-vous ?"}),t.jsx("p",{className:"text-slate-700",children:"Selon les principes de biomécanique, vos disques intervertébraux perdent jusqu'à 20 % de leur eau au cours de la journée sous l'effet de la gravité et des charges. C'est durant le sommeil, en position allongée, qu'ils se réhydratent. Voilà pourquoi vous mesurez environ 1 à 2 cm de plus au réveil qu'au coucher !"})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Les habitudes qui changent tout"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Au-delà des positions et de la literie, certaines habitudes quotidiennes influencent directement la qualité de votre sommeil et le bien-être de votre dos."}),t.jsxs("div",{className:"space-y-4 mb-8",children:[t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:t.jsxs("p",{className:"text-slate-700",children:[t.jsx("strong",{children:"Maintenez votre chambre à une température comprise entre 18 et 20 °C."})," Les muscles se relâchent mieux dans un environnement frais, et une température trop élevée favorise l'agitation nocturne et les changements de position désordonnés."]})}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:t.jsxs("p",{className:"text-slate-700",children:[t.jsx("strong",{children:"Évitez les écrans au moins 30 minutes avant le coucher."})," La lumière bleue retarde la production de mélatonine et raccourcit la durée de sommeil profond — précisément la phase où la récupération musculaire est la plus active."]})}),t.jsx("div",{className:"bg-white border border-slate-200 rounded-xl p-6",children:t.jsxs("p",{className:"text-slate-700",children:[t.jsx("strong",{children:"Gardez une activité physique régulière, mais évitez les séances intenses dans les 2 heures précédant le coucher."})," Le mouvement quotidien favorise un meilleur sommeil et contribue au renforcement des muscles qui stabilisent votre colonne. C'est d'ailleurs l'un des trois piliers de la méthode Malodo : la compréhension du mouvement, la stabilité et la force, et l'éducation au mouvement."]})})]}),t.jsx("h2",{className:"text-3xl font-bold text-slate-900 mt-12 mb-6",children:"Ce qu'il faut retenir"}),t.jsx("p",{className:"text-slate-700 leading-relaxed mb-6",children:"Améliorer votre confort lombaire la nuit ne demande pas de révolutionner votre vie. Il s'agit d'ajuster progressivement votre position de sommeil, de vérifier que votre literie vous soutient correctement, et d'intégrer quelques minutes d'exercices doux dans votre routine du soir. Ces petits changements, cumulés nuit après nuit, font une différence significative sur votre bien-être quotidien."}),t.jsxs("p",{className:"text-slate-700 leading-relaxed mb-8",children:[t.jsx("strong",{children:"Vous souhaitez aller plus loin ?"})," Le questionnaire Malodo évalue votre profil de mobilité et vous propose un programme personnalisé qui intègre des exercices adaptés à votre quotidien — y compris votre routine du soir."]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary to-blue-500 rounded-2xl p-8 md:p-12 text-white text-center mb-12",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Retrouvez des nuits réparatrices"}),t.jsx("p",{className:"text-xl mb-6 text-blue-50",children:"Découvrez votre programme personnalisé pour un meilleur sommeil et un dos apaisé."}),t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Évaluez votre profil de mobilité"})]}),t.jsx(Bt,{articles:[{title:"Raideur matinale du dos : causes et solutions",slug:"raideur-matinale-dos",category:"Bien-être"},{title:"5 exercices pour améliorer votre confort lombaire",slug:"exercices-confort-lombaire",category:"Exercices"},{title:"Stress et tensions lombaires : le lien corps-esprit",slug:"stress-tensions-lombaires",category:"Bien-être"},{title:"Télétravail : protégez votre dos avec les bonnes postures",slug:"teletravail-posture-dos",category:"Prévention"}]}),t.jsx("div",{className:"border-t border-slate-200 pt-8 mt-12",children:t.jsx("p",{className:"text-sm text-slate-500 italic",children:"Cet article est fourni à titre informatif et ne constitue pas un avis médical. Consultez un professionnel de santé pour toute question spécifique."})})]})]})})})}),t.jsx(le,{})]}),vm=[{id:"3",title:"La Lombalgie : Le Mouvement comme Premier Médicament",description:"Pourquoi bouger est la meilleure thérapie contre le mal de dos chronique ? Cette infographie décrypte les mécanismes biologiques qui font du mouvement un véritable médicament : réhydratation discale, libération d'endorphines, réduction de l'inflammation et reconditionnement musculaire.",date:"Jeudi 20 février 2026",imageUrl:"/blog/infographies/Jeudi_infographie_3_lombalgie_le_mouvement_comme_premier_medicament.png",downloadUrl:"/blog/infographies/Jeudi_infographie_3_lombalgie_le_mouvement_comme_premier_medicament.png"},{id:"2",title:"Comprendre la Douleur : Le Modèle Biopsychosocial",description:"La douleur n'est pas uniquement physique. Cette infographie explique le modèle biopsychosocial de la douleur chronique : comment les facteurs biologiques, psychologiques et sociaux interagissent pour amplifier ou réduire l'expérience douloureuse, et pourquoi cette vision globale change tout pour la prise en charge.",date:"Jeudi 13 février 2026",imageUrl:"/blog/infographies/Infographie_2_Comprendre_la_douleur_le_modele_biopsychosocial.png",downloadUrl:"/blog/infographies/Infographie_2_Comprendre_la_douleur_le_modele_biopsychosocial.png"},{id:"1",title:"La Sciatique Moderne : Comprendre pour Mieux Traiter",description:"Une infographie complète expliquant la terminologie clinique de la sciatique, les mécanismes de la pathologie et le pouvoir de la résorption spontanée. Découvrez la différence entre douleur radiculaire et radiculopathie, le rôle du ganglion spinal et les substances inflammatoires.",date:"Jeudi 6 février 2026",imageUrl:"/blog/infographies/Jeudi_Infographie_1_La_Sciatique_Moderne_Comprendre_pour_mieux_traiter.png",downloadUrl:"/blog/infographies/Jeudi_Infographie_1_La_Sciatique_Moderne_Comprendre_pour_mieux_traiter.png"}],zN=()=>t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Infographies Malodo | Comprendre le rachis lombaire visuellement",description:"Découvrez nos infographies hebdomadaires pour comprendre les problématiques du rachis lombaire. Tous les jeudis, une nouvelle infographie pédagogique pour mieux comprendre votre dos et les solutions Malodo.",keywords:"infographies lombalgie, sciatique infographie, mal de dos visuel, rachis lombaire, anatomie dos, éducation patient",canonicalUrl:"https://malodo.pro/blog/infographies"}),t.jsx(oe,{}),t.jsx("main",{className:"bg-gradient-to-br from-slate-50 via-white to-blue-50 min-h-screen",children:t.jsx("section",{className:"py-20",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsxs("div",{className:"max-w-7xl mx-auto",children:[t.jsx("div",{className:"mb-8",children:t.jsx(ke,{items:[{label:"Blog",href:"/blog"},{label:"Infographies"}]})}),t.jsxs("div",{className:"text-center mb-16",children:[t.jsxs("div",{className:"inline-flex items-center gap-2 mb-6 bg-primary/10 backdrop-blur-sm px-5 py-2 rounded-full",children:[t.jsx(Oe,{className:"text-primary",size:20}),t.jsx("span",{className:"text-primary font-bold text-sm",children:"Tous les jeudis"})]}),t.jsxs("h1",{className:"text-4xl md:text-6xl font-black text-slate-900 mb-6",children:[t.jsx("span",{className:"text-primary",children:"Infographies"})," Malodo"]}),t.jsx("div",{className:"h-1 w-32 bg-gradient-to-r from-primary to-blue-400 rounded-full mx-auto mb-8"}),t.jsx("p",{className:"text-xl text-slate-600 max-w-3xl mx-auto leading-relaxed",children:"Tous les jeudis, découvrez une infographie pédagogique expliquant une problématique liée au rachis lombaire ou à l'approche Malodo"})]}),t.jsx("div",{className:"bg-blue-50 border-2 border-blue-200 rounded-2xl p-8 mb-16 max-w-4xl mx-auto",children:t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("div",{className:"w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center",children:t.jsx(zp,{className:"text-white",size:24})})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-2",children:"Le Jeudi Infographie"}),t.jsx("p",{className:"text-slate-700 leading-relaxed",children:"Chaque jeudi, nous publions une nouvelle infographie pour vous aider à mieux comprendre les mécanismes du mal de dos, les solutions thérapeutiques modernes et l'approche scientifique de Malodo. Suivez-nous pour ne rien manquer !"})]})]})}),vm.length===0?t.jsx("div",{className:"text-center py-20",children:t.jsx("p",{className:"text-xl text-slate-600",children:"Les infographies arriveront bientôt. Revenez jeudi prochain !"})}):t.jsx("div",{className:"space-y-16",children:vm.map(s=>t.jsx("article",{className:"bg-white rounded-3xl overflow-hidden shadow-xl hover:shadow-2xl transition-all duration-300",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"order-2 md:order-1 p-8 md:p-12 flex flex-col justify-center",children:[t.jsxs("div",{className:"flex items-center gap-2 text-sm text-slate-500 mb-4",children:[t.jsx(Oe,{size:16}),t.jsx("span",{children:s.date})]}),t.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-slate-900 mb-6",children:s.title}),t.jsx("p",{className:"text-lg text-slate-600 leading-relaxed mb-8",children:s.description}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[t.jsxs("a",{href:s.downloadUrl,download:!0,className:"inline-flex items-center justify-center gap-2 bg-primary hover:bg-primary-dark text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 hover:shadow-lg",children:[t.jsx(hv,{size:20}),"Télécharger l'infographie"]}),t.jsxs("button",{onClick:()=>{navigator.share&&navigator.share({title:s.title,text:s.description,url:window.location.href})},className:"inline-flex items-center justify-center gap-2 bg-slate-100 hover:bg-slate-200 text-slate-700 font-bold py-3 px-6 rounded-xl transition-all duration-300",children:[t.jsx(lt,{size:20}),"Partager"]})]})]}),t.jsx("div",{className:"order-1 md:order-2 bg-gradient-to-br from-blue-50 to-slate-50 p-8",children:t.jsx("div",{className:"bg-white rounded-2xl shadow-lg overflow-hidden",children:t.jsx("img",{src:s.imageUrl,alt:s.title,className:"w-full h-auto"})})})]})},s.id))}),t.jsxs("div",{className:"mt-16 bg-gradient-to-r from-primary to-blue-500 rounded-3xl p-12 md:p-16 text-white text-center shadow-2xl",children:[t.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-6",children:"Ne manquez aucune infographie"}),t.jsx("p",{className:"text-xl mb-8 text-blue-50 max-w-2xl mx-auto",children:"Rejoignez notre communauté et recevez nos infographies hebdomadaires directement dans votre boîte mail"}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"bg-white text-primary hover:bg-blue-50 font-bold py-4 px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105",children:"Faire mon test gratuit"}),t.jsx("a",{href:"/blog",className:"bg-transparent border-2 border-white text-white hover:bg-white/10 font-bold py-4 px-8 rounded-xl transition-all duration-300",children:"Retour au blog"})]})]})]})})})}),t.jsx(le,{})]}),MN=({onClose:s})=>{const[e,r]=k.useState(!1),[n,i]=k.useState(""),[a,o]=k.useState(""),[l,c]=k.useState(!1),[d,u]=k.useState(!1),[m,h]=k.useState(1),[f,v]=k.useState({}),[j,w]=k.useState(null),[p,x]=k.useState(!1),g=[{id:1,text:"Quelle est l'intensité de votre inconfort lombaire ?",options:[{text:"Pas d'inconfort actuellement",score:5},{text:"Léger (1-3/10)",score:4},{text:"Modéré (4-6/10)",score:3},{text:"Sévère (7-10/10)",score:1}]},{id:2,text:"Depuis combien de temps ressentez-vous cet inconfort ?",options:[{text:"Moins d'1 mois",score:4},{text:"1-3 mois",score:3},{text:"3-6 mois",score:2},{text:"Plus de 6 mois",score:1}]},{id:3,text:"Avez-vous consulté un professionnel de santé ?",options:[{text:"Oui, diagnostic de pathologie spécifique",score:1},{text:"Oui, pas de pathologie grave identifiée",score:3},{text:"Non, mais je prévois de le faire",score:2},{text:"Non, et ce n'est pas prévu",score:1}]},{id:4,text:"Votre inconfort impacte-t-il vos activités quotidiennes ?",options:[{text:"Pas du tout",score:4},{text:"Légèrement",score:3},{text:"Modérément",score:2},{text:"Fortement (arrêt de travail/sport)",score:0}]},{id:5,text:"Quelle est votre motivation pour améliorer votre confort ?",options:[{text:"Très motivé(e) et prêt(e) à m'engager",score:3},{text:"Motivé(e) mais temps limité",score:2},{text:"Curieux(se) mais pas sûr(e)",score:1},{text:"Je cherche une solution rapide",score:0}]},{id:6,text:"Présentez-vous des signes d'alerte ?",options:[{text:"Aucun signe particulier",score:3},{text:"Douleur qui irradie dans la jambe",score:2},{text:"Engourdissements/fourmillements",score:0},{text:"Perte de force ou troubles urinaires",score:-5}]},{id:7,text:"Quel est votre niveau d'activité physique actuel ?",options:[{text:"Actif(ve) régulièrement",score:3},{text:"Moyennement actif(ve)",score:2},{text:"Peu actif(ve)",score:1},{text:"Sédentaire",score:0}]},{id:8,text:"Combien de temps pouvez-vous consacrer par jour ?",options:[{text:"15-30 minutes",score:3},{text:"10-15 minutes",score:2},{text:"5-10 minutes",score:1},{text:"Très peu de temps",score:0}]}],y=g.length;k.useEffect(()=>{setTimeout(()=>r(!0),500)},[]),k.useEffect(()=>{var $;w((($=f[m])==null?void 0:$.optionIndex)??null)},[m,f]);const _=()=>{r(!1),setTimeout(s,300)},b=async $=>{if($.preventDefault(),!(!n.trim()||!a.trim())){c(!0);try{const{error:he}=await _r.from("speed_dating_leads").insert({first_name:n.trim(),email:a.trim().toLowerCase(),source:"speed_dating_popup",promo_code_shown:"MALODO25"});he&&console.error("Error saving lead:",he),u(!0)}catch(he){console.error("Error submitting lead:",he)}finally{c(!1)}}},N=$=>{const he=g[m-1].options[$].score;v(C=>({...C,[m]:{optionIndex:$,score:he}})),w($)},E=()=>{m<y?h($=>$+1):x(!0)},R=()=>{m>1&&h($=>$-1)},O=()=>{const $=Object.values(f).reduce((he,C)=>he+C.score,0);return Math.max(0,Math.min(20,$))},ce=$=>$>=16?{matchType:"Malodo est adapté à votre situation",icon:"✓",className:"excellent",ctaText:"Accéder au questionnaire complet",recommendation:{title:"Votre profil correspond à notre expertise",content:["D'après vos réponses, Malodo peut vous accompagner efficacement :","","✓ Votre situation correspond à nos domaines d'intervention","✓ Vous disposez du temps nécessaire pour un programme progressif","✓ Aucun signe d'alerte nécessitant une consultation médicale urgente","","➡️ Étape suivante : Complétez le questionnaire détaillé (5-10 min) pour recevoir un programme personnalisé adapté à votre profil."]}}:$>=11?{matchType:"Malodo pourrait vous convenir",icon:"→",className:"good",ctaText:"Approfondir l'évaluation",recommendation:{title:"Votre situation nécessite une évaluation plus approfondie",content:["Vos réponses indiquent une compatibilité possible avec notre approche :","","• Votre profil présente des caractéristiques que nous pouvons traiter","• Une évaluation détaillée permettra d'adapter notre méthode","• Un accompagnement personnalisé sera nécessaire","","➡️ Le questionnaire complet nous permettra de déterminer précisément si Malodo est la solution adaptée à vos besoins."]}}:$>=6?{matchType:"Besoin d'informations complémentaires",icon:"?",className:"moderate",ctaText:"Compléter l'évaluation",recommendation:{title:"Évaluation incomplète de votre situation",content:["Les informations recueillies sont insuffisantes pour une recommandation claire :","","• Certains aspects de votre situation restent à préciser","• Une consultation médicale pourrait être recommandée","• D'autres approches thérapeutiques pourraient être complémentaires","","➡️ Le questionnaire détaillé nous aidera à clarifier votre situation et à vous orienter vers les solutions les plus appropriées."]}}:{matchType:"Consultation médicale recommandée",icon:"!",className:"caution",ctaText:"Voir les recommandations",recommendation:{title:"Votre situation nécessite un avis médical",content:["Certaines de vos réponses indiquent qu'une consultation médicale est prioritaire :","","⚠ Présence de signes qui nécessitent une évaluation médicale","⚠ Un diagnostic médical précis est nécessaire avant toute prise en charge","⚠ Nous pouvons vous orienter vers les professionnels appropriés","","➡️ Le questionnaire complet peut vous aider à mieux comprendre votre situation et préparer votre consultation médicale."]}},We=()=>{h(1),v({}),w(null),x(!1),u(!1)},Ge=m/y*100,Qe=O(),qe=ce(Qe);return p?t.jsxs("div",{className:`fixed inset-0 z-[100] flex items-center justify-center p-2 sm:p-4 transition-all duration-300 ${e?"opacity-100":"opacity-0"}`,children:[t.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:_}),t.jsxs("div",{className:`relative bg-white rounded-2xl sm:rounded-3xl shadow-2xl max-w-[95vw] sm:max-w-xl md:max-w-2xl w-full overflow-hidden transform transition-all duration-300 ${e?"scale-100 translate-y-0":"scale-95 translate-y-4"} max-h-[95vh] sm:max-h-[90vh] overflow-y-auto`,children:[t.jsx("button",{onClick:_,className:"absolute top-2 right-2 sm:top-4 sm:right-4 z-10 p-1.5 sm:p-2 bg-white/90 hover:bg-white rounded-full shadow-lg transition-all duration-300 hover:scale-110","aria-label":"Fermer",children:t.jsx(Dt,{size:20,className:"sm:w-6 sm:h-6 text-slate-700"})}),t.jsxs("div",{className:"p-4 sm:p-8",children:[t.jsxs("div",{className:"text-center mb-6 sm:mb-8",children:[t.jsx("div",{className:"text-5xl sm:text-8xl mb-3 sm:mb-4 font-bold text-slate-700",children:qe.icon}),t.jsx("h2",{className:"text-2xl sm:text-4xl font-bold text-slate-900 mb-2 sm:mb-3",children:qe.matchType}),t.jsx("p",{className:"text-base sm:text-lg text-slate-600",children:"Résultat de votre évaluation initiale"})]}),t.jsxs("div",{className:`p-4 sm:p-8 rounded-2xl mb-6 sm:mb-8 text-left border-2 ${qe.className==="excellent"?"bg-gradient-to-br from-green-50 to-emerald-50 border-green-200":qe.className==="good"?"bg-gradient-to-br from-blue-50 to-cyan-50 border-blue-200":qe.className==="moderate"?"bg-gradient-to-br from-amber-50 to-yellow-50 border-amber-200":"bg-gradient-to-br from-orange-50 to-red-50 border-orange-200"}`,children:[t.jsx("h4",{className:"text-lg sm:text-2xl font-bold text-slate-900 mb-4 sm:mb-6",children:qe.recommendation.title}),qe.recommendation.content.map(($,he)=>$===""?t.jsx("div",{className:"h-2 sm:h-4"},he):t.jsx("p",{className:"text-slate-700 mb-1.5 sm:mb-2 leading-relaxed text-sm sm:text-base",children:$},he))]}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4 justify-center",children:[t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"bg-slate-900 hover:bg-slate-800 text-white font-bold py-3 sm:py-4 px-6 sm:px-8 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105 text-center text-sm sm:text-base",children:qe.ctaText}),t.jsxs("button",{onClick:We,className:"bg-white border-2 border-slate-300 text-slate-700 hover:bg-slate-50 font-semibold py-3 sm:py-4 px-6 sm:px-8 rounded-xl transition-all duration-300 inline-flex items-center justify-center text-sm sm:text-base",children:[t.jsx(bv,{size:16,className:"sm:w-[18px] sm:h-[18px] mr-2"}),"Refaire l'évaluation"]})]}),t.jsxs("div",{className:"mt-4 sm:mt-6 p-3 sm:p-6 bg-gradient-to-br from-emerald-500 to-teal-600 rounded-xl border-2 border-emerald-400 shadow-xl",children:[t.jsxs("div",{className:"flex items-center justify-center gap-2 mb-2 sm:mb-3",children:[t.jsx(Ms,{className:"w-5 h-5 sm:w-8 sm:h-8 text-white animate-bounce"}),t.jsx("h3",{className:"text-base sm:text-2xl font-black text-white",children:"Cadeau de Bienvenue !"}),t.jsx(Ms,{className:"w-5 h-5 sm:w-8 sm:h-8 text-white animate-bounce"})]}),t.jsxs("div",{className:"bg-white rounded-lg p-3 sm:p-6 text-center mb-2 sm:mb-3 shadow-lg",children:[t.jsx("p",{className:"text-xs sm:text-sm text-slate-600 mb-2 font-semibold",children:"Profitez de votre code promo exclusif"}),t.jsx("div",{className:"bg-gradient-to-r from-emerald-50 to-teal-50 border-2 border-emerald-500 rounded-lg p-2 sm:p-4 mb-2",children:t.jsx("p",{className:"text-xl sm:text-4xl font-black text-transparent bg-clip-text bg-gradient-to-r from-emerald-600 to-teal-600 tracking-wider",children:"MALODO25"})}),t.jsx("p",{className:"text-base sm:text-2xl font-bold text-emerald-600 mb-1",children:"-25% de réduction"}),t.jsx("p",{className:"text-xs sm:text-sm text-slate-500",children:"Sur n'importe quelle formule Malodo"})]}),t.jsx("p",{className:"text-xs sm:text-sm text-white text-center",children:"✨ Valable lors de votre première commande • À utiliser dans votre panier"})]}),t.jsx("div",{className:"mt-4 sm:mt-6 p-4 sm:p-6 bg-slate-50 rounded-xl border-2 border-slate-200",children:t.jsxs("p",{className:"text-xs sm:text-sm text-slate-700 leading-relaxed",children:[t.jsx("strong",{className:"text-base",children:"Prochaine étape"}),t.jsx("br",{}),t.jsx("br",{}),"Cette évaluation initiale nous permet d'avoir une première indication. Pour créer un programme vraiment adapté à votre situation, le questionnaire complet (5-10 min) permettra de :",t.jsx("br",{}),"• Analyser précisément votre profil et vos besoins",t.jsx("br",{}),"• Identifier les exercices et approches les plus adaptés",t.jsx("br",{}),"• Vous proposer un programme personnalisé et progressif"]})})]})]})]}):d?t.jsxs("div",{className:`fixed inset-0 z-[100] flex items-center justify-center p-2 sm:p-4 transition-all duration-300 ${e?"opacity-100":"opacity-0"}`,children:[t.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:_}),t.jsxs("div",{className:`relative bg-white rounded-2xl sm:rounded-3xl shadow-2xl max-w-[95vw] sm:max-w-xl md:max-w-2xl w-full overflow-hidden transform transition-all duration-300 ${e?"scale-100 translate-y-0":"scale-95 translate-y-4"} max-h-[95vh] sm:max-h-auto overflow-y-auto`,children:[t.jsx("button",{onClick:_,className:"absolute top-2 right-2 sm:top-4 sm:right-4 z-10 p-1.5 sm:p-2 bg-white/90 hover:bg-white rounded-full shadow-lg transition-all duration-300 hover:scale-110","aria-label":"Fermer",children:t.jsx(Dt,{size:20,className:"sm:w-6 sm:h-6 text-slate-700"})}),t.jsxs("div",{className:"bg-gradient-to-r from-slate-700 to-slate-900 p-4 sm:p-8 text-white text-center",children:[t.jsx("h2",{className:"text-xl sm:text-3xl font-bold mb-1 sm:mb-2 text-white",children:"Évaluation rapide Malodo"}),t.jsx("p",{className:"text-sm sm:text-base text-white",children:"Découvrez si notre approche correspond à votre situation"}),t.jsx("p",{className:"text-xs sm:text-sm text-white/90 mt-1 sm:mt-2 font-semibold",children:"Évaluation gratuite • 3 minutes"})]}),t.jsx("div",{className:"px-4 sm:px-8 pt-4 sm:pt-6",children:t.jsx("div",{className:"w-full bg-slate-200 rounded-full h-2 mb-4 sm:mb-6",children:t.jsx("div",{className:"bg-slate-700 h-2 rounded-full transition-all duration-300",style:{width:`${Ge}%`}})})}),t.jsxs("div",{className:"px-4 sm:px-8 pb-4 sm:pb-8",children:[t.jsxs("div",{className:"mb-4 sm:mb-6",children:[t.jsxs("span",{className:"text-xs sm:text-sm text-slate-500 font-medium",children:[m,"/",y]}),t.jsx("h3",{className:"text-base sm:text-xl font-bold text-slate-900 mt-1 sm:mt-2 mb-4 sm:mb-6",children:g[m-1].text})]}),t.jsx("div",{className:"space-y-3 sm:space-y-4 mb-8 sm:mb-12",children:g[m-1].options.map(($,he)=>{const C=j===he;return t.jsx("button",{type:"button",onClick:()=>N(he),className:`block w-full p-3 sm:p-4 text-left text-sm sm:text-base rounded-xl border-2 transition-all duration-300 hover:border-slate-400 hover:bg-slate-50 ${C?"border-slate-700 bg-slate-700 text-white":"border-slate-200 bg-white text-slate-700"}`,children:$.text},`q${m}-opt${he}-${$.text.slice(0,10)}`)})}),t.jsxs("div",{className:"flex justify-between gap-2",children:[t.jsxs("button",{onClick:R,disabled:m===1,className:`inline-flex items-center px-4 sm:px-6 py-2 sm:py-3 text-sm sm:text-base rounded-xl font-semibold transition-all duration-300 ${m===1?"opacity-0 cursor-not-allowed":"bg-white border-2 border-slate-300 text-slate-700 hover:bg-slate-50"}`,children:[t.jsx(De,{size:16,className:"sm:w-[18px] sm:h-[18px] mr-1 sm:mr-2"}),t.jsx("span",{className:"hidden sm:inline",children:"Précédent"}),t.jsx("span",{className:"sm:hidden",children:"Préc."})]}),t.jsxs("button",{onClick:E,disabled:j===null,className:"bg-slate-900 hover:bg-slate-800 text-white font-bold py-2 sm:py-3 px-4 sm:px-6 text-sm sm:text-base rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl inline-flex items-center disabled:opacity-50 disabled:cursor-not-allowed",children:[m===y?"Voir le résultat":"Suivant",t.jsx(yr,{size:16,className:"sm:w-[18px] sm:h-[18px] ml-1 sm:ml-2"})]})]})]})]})]}):t.jsxs("div",{className:`fixed inset-0 z-[100] flex items-center justify-center p-2 sm:p-4 transition-all duration-300 ${e?"opacity-100":"opacity-0"}`,children:[t.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:_}),t.jsxs("div",{className:`relative bg-white rounded-2xl sm:rounded-3xl shadow-2xl max-w-[95vw] sm:max-w-md w-full overflow-hidden transform transition-all duration-300 ${e?"scale-100 translate-y-0":"scale-95 translate-y-4"} max-h-[95vh] overflow-y-auto`,children:[t.jsx("button",{onClick:_,className:"absolute top-2 right-2 sm:top-4 sm:right-4 z-10 p-1.5 sm:p-2 bg-white/90 hover:bg-white rounded-full shadow-lg transition-all duration-300 hover:scale-110","aria-label":"Fermer",children:t.jsx(Dt,{size:20,className:"sm:w-6 sm:h-6 text-slate-700"})}),t.jsxs("div",{className:"bg-gradient-to-r from-slate-700 to-slate-900 p-4 sm:p-6 text-center",children:[t.jsx("div",{className:"flex justify-center mb-2 sm:mb-3",children:t.jsx(cv,{size:40,className:"sm:w-12 sm:h-12 text-white"})}),t.jsx("h2",{className:"text-xl sm:text-2xl font-bold text-white mb-1 sm:mb-2",children:"Évaluation initiale gratuite"}),t.jsx("p",{className:"text-sm sm:text-base text-slate-200",children:"Découvrez si Malodo peut vous accompagner"})]}),t.jsxs("form",{onSubmit:b,className:"p-4 sm:p-6",children:[t.jsxs("div",{className:"mb-4 sm:mb-6",children:[t.jsx("p",{className:"text-sm sm:text-base text-slate-700 mb-4",children:"Cette évaluation rapide (8 questions, 3 minutes) nous permettra de déterminer si notre approche est adaptée à votre situation de lombalgie."}),t.jsxs("div",{className:"bg-slate-50 p-3 sm:p-4 rounded-xl border border-slate-200 mb-4",children:[t.jsx("h3",{className:"text-sm font-semibold text-slate-900 mb-2",children:"Ce que vous obtiendrez :"}),t.jsxs("ul",{className:"text-xs sm:text-sm text-slate-700 space-y-1",children:[t.jsx("li",{children:"✓ Une évaluation immédiate de votre compatibilité"}),t.jsx("li",{children:"✓ Des recommandations personnalisées"}),t.jsx("li",{children:"✓ Un code promo de bienvenue -25%"})]})]})]}),t.jsxs("div",{className:"space-y-3 sm:space-y-4 mb-4 sm:mb-6",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:"firstName",className:"block text-sm font-semibold text-slate-700 mb-1 sm:mb-2",children:"Prénom"}),t.jsxs("div",{className:"relative",children:[t.jsx(Ll,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 w-5 h-5 text-slate-400"}),t.jsx("input",{type:"text",id:"firstName",value:n,onChange:$=>i($.target.value),required:!0,placeholder:"Votre prénom",className:"w-full pl-10 pr-4 py-2 sm:py-3 text-sm sm:text-base border-2 border-slate-200 rounded-xl focus:outline-none focus:border-slate-400 transition-colors"})]})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:"email",className:"block text-sm font-semibold text-slate-700 mb-1 sm:mb-2",children:"Email"}),t.jsxs("div",{className:"relative",children:[t.jsx(wn,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 w-5 h-5 text-slate-400"}),t.jsx("input",{type:"email",id:"email",value:a,onChange:$=>o($.target.value),required:!0,placeholder:"votre@email.com",className:"w-full pl-10 pr-4 py-2 sm:py-3 text-sm sm:text-base border-2 border-slate-200 rounded-xl focus:outline-none focus:border-slate-400 transition-colors"})]})]})]}),t.jsx("button",{type:"submit",disabled:l||!n.trim()||!a.trim(),className:"w-full bg-slate-900 hover:bg-slate-800 text-white font-bold py-3 sm:py-4 px-6 text-sm sm:text-base rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl hover:scale-105 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100",children:l?"Chargement...":"Commencer l'évaluation"}),t.jsx("p",{className:"text-center text-xs text-slate-500 mt-3 sm:mt-4",children:"Vos données sont sécurisées et ne seront jamais partagées"})]})]})]})},IN=()=>t.jsx("div",{className:"fixed bottom-0 left-0 right-0 z-50 lg:hidden",children:t.jsx("div",{className:"bg-gradient-to-r from-primary to-secondary p-4 shadow-2xl",children:t.jsx("a",{href:"https://tally.so/r/wQpYYA",target:"_blank",rel:"noopener noreferrer",className:"block w-full bg-white text-primary hover:bg-white/95 text-center font-bold text-base px-6 py-4 rounded-xl shadow-lg transition-all duration-300 active:scale-95",children:"Faire mon bilan gratuit"})})});function $N(){const[s,e]=k.useState(!1);k.useEffect(()=>{const n=()=>{e(window.scrollY>400)};return window.addEventListener("scroll",n),()=>window.removeEventListener("scroll",n)},[]),k.useEffect(()=>{if(!document.querySelector('script[src="https://tally.so/widgets/embed.js"]')){const n=document.createElement("script");n.src="https://tally.so/widgets/embed.js",n.async=!0,document.head.appendChild(n)}},[]);const r=()=>{if(window.Tally){const n=window.innerWidth<768,i=window.innerWidth>=768&&window.innerWidth<1024;window.Tally.openPopup("wQpYYA",{layout:"modal",width:n?window.innerWidth-32:i?600:700,hideTitle:!0,autoClose:2e3,emoji:{text:"🚀",animation:"wave"}})}};return s?t.jsx("button",{onClick:r,className:"hidden lg:block transition-all duration-300 hover:scale-105",style:{position:"fixed",bottom:"20px",left:"50%",transform:"translateX(-50%)",padding:"16px 32px",backgroundColor:"#ec4899",color:"white",border:"none",borderRadius:"50px",fontSize:"16px",fontWeight:"600",boxShadow:"0 4px 20px rgba(236, 72, 153, 0.4)",cursor:"pointer",zIndex:1e3},children:"Soulagez votre dos maintenant"}):null}const UN=()=>t.jsx("section",{className:"py-16 bg-gradient-to-br from-slate-50 to-white",children:t.jsx("div",{className:"container mx-auto px-4",children:t.jsx("div",{className:"max-w-5xl mx-auto",children:t.jsx("div",{className:"bg-white rounded-2xl shadow-lg p-8 md:p-12 border border-slate-200",children:t.jsxs("div",{className:"flex flex-col md:flex-row gap-8 items-center md:items-start",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary/20 to-blue-400/20 rounded-2xl transform rotate-3"}),t.jsx("img",{src:"/mm.jpg",alt:"Jimmy, fondateur de Malodo",className:"relative rounded-2xl shadow-xl w-40 h-40 object-cover"})]})}),t.jsxs("div",{className:"flex-1 text-center md:text-left",children:[t.jsxs("div",{className:"mb-4",children:[t.jsx("span",{className:"inline-block px-4 py-1.5 bg-primary/10 text-primary font-semibold text-sm rounded-full mb-3",children:"Référent en santé lombaire"}),t.jsx("h2",{className:"text-3xl md:text-4xl font-black text-slate-900 mb-3",children:"Votre référent Malodo"}),t.jsx("p",{className:"text-lg text-slate-600 leading-relaxed mb-4",children:"Kinésithérapeute spécialisé dans les pathologies lombaires, j'ai créé Malodo face à une réalité frustrante : une centaine de patients en attente de soins dans mon cabinet, dont cinquante souffraient de douleurs au dos, sans pouvoir les prendre en charge rapidement."}),t.jsxs("p",{className:"text-base text-slate-600 leading-relaxed mb-6",children:["J'ai développé un questionnaire pour prioriser les patients selon l'urgence de leur situation. En m'appuyant sur mon expérience clinique et les données scientifiques, j'ai créé un système de scoring où chaque question génère un profil unique. Malodo est devenu une ",t.jsx("strong",{children:"salle d'attente active"}),", permettant à chacun de commencer son parcours de soin avant même de consulter un professionnel."]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-6",children:[t.jsxs("div",{className:"flex flex-col gap-2 p-4 bg-slate-50 rounded-xl",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-full flex items-center justify-center flex-shrink-0",children:t.jsx(pv,{className:"text-primary",size:20})}),t.jsx("p",{className:"font-bold text-slate-900 text-sm",children:"Formation"})]}),t.jsx("p",{className:"text-xs text-slate-600 leading-relaxed",children:"Kinésithérapeute D.E. formé à la méthode McKenzie pour le diagnostic et la prise en charge des lombalgies et douleurs référées"})]}),t.jsxs("div",{className:"flex flex-col gap-2 p-4 bg-slate-50 rounded-xl",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-full flex items-center justify-center flex-shrink-0",children:t.jsx(An,{className:"text-primary",size:20})}),t.jsx("p",{className:"font-bold text-slate-900 text-sm",children:"Spécialisations"})]}),t.jsx("p",{className:"text-xs text-slate-600 leading-relaxed",children:"Discopathies et douleurs discogéniques, signes de Modic, renforcement musculaire scientifique pour résultats optimaux"})]}),t.jsxs("div",{className:"flex flex-col gap-2 p-4 bg-slate-50 rounded-xl",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx("div",{className:"w-10 h-10 bg-primary/10 rounded-full flex items-center justify-center flex-shrink-0",children:t.jsx(Ct,{className:"text-primary",size:20})}),t.jsx("p",{className:"font-bold text-slate-900 text-sm",children:"Expérience"})]}),t.jsx("p",{className:"text-xs text-slate-600 leading-relaxed",children:"Plus de 2000 patients accompagnés dans leur parcours de récupération lombaire et formation continue en 2024-2025"})]})]}),t.jsx("div",{className:"bg-gradient-to-r from-primary/5 to-blue-50 border-l-4 border-primary rounded-lg p-4",children:t.jsx("p",{className:"text-sm text-slate-700 italic",children:`"Mon objectif : vous permettre de retrouver votre confort lombaire grâce à une méthode progressive, personnalisée et fondée sur les dernières données scientifiques. Plus qu'une simple application, Malodo transforme votre temps d'attente en préparation active."`})})]})]})})})})}),FN=({id:s,title:e,tagline:r,duration:n,weeks:i,totalPrice:a,description:o,features:l,type:c,whatsappAvailable:d,isSelected:u,onSelect:m})=>{const h=(a/i).toFixed(2),f={discovery:u?"border-2 border-teal-500 bg-gradient-to-br from-teal-50/50 to-white shadow-xl scale-[1.02]":"border-2 border-neutral-200 hover:border-teal-300 hover:shadow-lg",standard:u?"border-2 border-primary bg-gradient-to-br from-primary-lightest/50 to-white shadow-xl scale-[1.02]":"border-2 border-neutral-200 hover:border-primary/40 hover:shadow-lg",consolidation:u?"border-2 border-slate-600 bg-gradient-to-br from-slate-50/50 to-white shadow-xl scale-[1.02]":"border-2 border-neutral-200 hover:border-slate-400 hover:shadow-lg"},v={discovery:u?"bg-gradient-to-br from-teal-500 to-teal-600 border-teal-600":"bg-white border-neutral-300",standard:u?"bg-gradient-to-br from-primary to-secondary border-primary":"bg-white border-neutral-300",consolidation:u?"bg-gradient-to-br from-slate-600 to-slate-800 border-slate-700":"bg-white border-neutral-300"},j={discovery:"bg-gradient-to-r from-teal-500 to-teal-600",standard:"bg-gradient-to-r from-primary to-secondary",consolidation:"bg-gradient-to-r from-slate-600 to-slate-800"};return t.jsxs("div",{onClick:m,className:`bg-white rounded-2xl overflow-hidden transition-all duration-300 relative h-full cursor-pointer ${f[c]}`,children:[t.jsx("div",{className:"absolute top-4 right-4 z-10",children:t.jsx("div",{className:`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-all duration-300 ${v[c]}`,children:u&&t.jsx(Lt,{className:"text-white",size:16,strokeWidth:3})})}),t.jsxs("div",{className:"p-6 sm:p-8",children:[t.jsx("div",{className:`inline-block px-4 py-1.5 rounded-full text-white text-xs font-bold mb-4 ${j[c]}`,children:r}),t.jsx("h3",{className:"text-2xl sm:text-3xl font-black text-slate-900 mb-2",children:e}),t.jsx("p",{className:"text-sm text-neutral-600 mb-6",children:n}),t.jsxs("div",{className:"mb-6",children:[t.jsxs("div",{className:"flex items-baseline gap-2 mb-1",children:[t.jsxs("span",{className:"text-4xl sm:text-5xl font-black text-slate-900",children:[a,"€"]}),t.jsx("span",{className:"text-neutral-500 text-sm font-medium",children:"paiement unique"})]}),t.jsxs("div",{className:"text-primary font-bold text-lg",children:["Soit ",h,"€/semaine"]})]}),t.jsx("p",{className:"text-neutral-700 mb-6 leading-relaxed font-medium",children:o}),t.jsx("div",{className:"space-y-3 mb-6",children:l.map((w,p)=>t.jsxs("div",{className:"flex items-start",children:[t.jsx(we,{className:"text-primary mr-3 flex-shrink-0 mt-0.5",size:18}),t.jsx("span",{className:"text-sm text-neutral-700",children:w})]},p))})]})]})},BN=()=>{var o;const[s,e]=k.useState("standard"),[r,n]=k.useState(!1),i=249,a=[{id:"discovery",title:"Formule Découverte",tagline:"Premier pas vers le confort",duration:"Programme de 4 semaines",weeks:4,totalPrice:49,description:"Commencez en douceur et testez notre méthode pour en finir avec vos premiers inconforts.",features:["Évaluation complète de votre profil de mobilité","Programme d'exercices de base progressifs","Vidéos d'exercices guidés HD personnalisés","Fiches explicatives sur les mécanismes lombaires","Accès à la base de connaissances fondamentales"],type:"discovery",whatsappAvailable:!1},{id:"standard",title:"Formule Standard",tagline:"Solution complète recommandée",duration:"Programme de 8 semaines",weeks:8,totalPrice:119,description:"Retrouvez durablement votre confort et libérez-vous de vos douleurs au quotidien.",features:["Tout le contenu de la formule Découverte","Programme évolutif sur 8 semaines","Suivi hebdomadaire personnalisé selon vos progrès","Ajustements selon votre progression","Conseils ergonomiques pour votre environnement","Ebook gratuit sur les mécanismes lombaires"],type:"standard",whatsappAvailable:!0},{id:"consolidation",title:"Formule Consolidation",tagline:"Performance et autonomie maximale",duration:"Programme de 12 semaines",weeks:12,totalPrice:179,description:"Ancrez vos progrès en profondeur et dites adieu définitivement à vos problèmes de dos.",features:["Tout le contenu de la formule Standard","Programme approfondi sur 12 semaines","Progression renforcée pour résultats durables","Développement de l'autonomie complète","Prévention optimale des récidives","Accompagnement sur la durée pour ancrer les bonnes pratiques"],type:"consolidation",whatsappAvailable:!0}];return t.jsxs("div",{className:"min-h-screen flex flex-col bg-white",children:[t.jsx(V,{title:"Tarifs Malodo | Programmes Personnalisés pour Votre Dos",description:"Découvrez nos formules d'accompagnement lombaire personnalisé. De 49€ à 179€ selon votre besoin. Participez à nos jeux-concours pour gagner un accompagnement direct de proximité.",keywords:"tarifs malodo, prix programme dos, accompagnement lombaire, kinésithérapie en ligne tarifs",canonicalUrl:"https://malodo.pro/tarifs"}),t.jsx(oe,{}),t.jsxs("main",{className:"flex-grow",children:[t.jsx("section",{className:"py-12 md:py-20 px-4 bg-gradient-to-br from-primary-lightest via-white to-accent-light",children:t.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[t.jsx("h1",{className:"text-3xl sm:text-4xl md:text-5xl lg:text-6xl font-bold text-gray-900 mb-4 md:mb-6 leading-tight",children:"Choisissez votre formule et n'attendez plus !"}),t.jsx("p",{className:"text-lg sm:text-xl md:text-2xl text-gray-700 mb-2 max-w-3xl mx-auto",children:"Des programmes adaptés à vos besoins et à votre budget"}),t.jsx("p",{className:"text-sm sm:text-base text-gray-600 max-w-2xl mx-auto",children:"Paiement unique • Sans abonnement • Accès immédiat après évaluation"})]})}),t.jsx("section",{className:"py-12 md:py-20 bg-gradient-to-b from-white to-neutral-50",children:t.jsxs("div",{className:"container mx-auto px-4",children:[t.jsx("div",{className:"max-w-5xl mx-auto mb-8 md:mb-12",children:t.jsx("div",{className:"bg-gradient-to-br from-primary-lightest via-white to-accent-light rounded-xl md:rounded-2xl p-5 md:p-8 border-2 border-primary/20 shadow-lg",children:t.jsxs("div",{className:"text-center",children:[t.jsx("h2",{className:"text-lg sm:text-xl md:text-2xl font-bold text-slate-900 mb-2 md:mb-3",children:"Sélectionnez la formule qui vous correspond"}),t.jsx("p",{className:"text-sm md:text-base text-neutral-700 leading-relaxed",children:"Cliquez sur la formule de votre choix ci-dessous. Notre questionnaire analysera ensuite votre situation pour personnaliser votre accompagnement."})]})})}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8 max-w-7xl mx-auto mb-8",children:a.map(l=>t.jsx(FN,{...l,isSelected:s===l.id,onSelect:()=>{e(l.id),l.whatsappAvailable||n(!1)}},l.id))}),(o=a.find(l=>l.id===s))!=null&&o.whatsappAvailable?t.jsx("div",{className:"max-w-5xl mx-auto mb-8",children:t.jsxs("div",{onClick:()=>n(!r),className:`relative cursor-pointer rounded-xl md:rounded-2xl p-5 md:p-6 border-2 transition-all duration-300 ${r?"bg-gradient-to-br from-green-50 via-emerald-50 to-teal-50 border-green-400 shadow-lg":"bg-white border-neutral-300 hover:border-green-300 hover:shadow-md"}`,children:[t.jsx("div",{className:"absolute top-4 right-4 z-10",children:t.jsx("div",{className:`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-all duration-300 ${r?"bg-gradient-to-br from-green-500 to-emerald-600 border-green-600":"bg-white border-neutral-400"}`,children:r&&t.jsx(Lt,{className:"text-white",size:16,strokeWidth:3})})}),t.jsxs("div",{className:"pr-10",children:[t.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-3 mb-3",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-2xl",children:"📱"}),t.jsx("h3",{className:"text-lg md:text-xl font-bold text-slate-900",children:"Accompagnement Personnalisé Direct"})]}),t.jsx("div",{className:`inline-block px-3 py-1 rounded-full text-xs font-bold ${r?"bg-green-600 text-white":"bg-neutral-200 text-neutral-700"}`,children:r?"ACTIVÉ":"Optionnel"})]}),t.jsxs("div",{className:"mb-4",children:[t.jsx("div",{className:"text-2xl md:text-3xl font-black text-[#25D366] mb-1",children:"+ 249€/mois"}),t.jsxs("p",{className:"text-xs md:text-sm text-neutral-600",children:["Soit ",i*Math.ceil(a.find(l=>l.id===s).weeks/4),"€ pour ",Math.ceil(a.find(l=>l.id===s).weeks/4)," mois d'accompagnement"]})]}),t.jsxs("div",{className:"grid sm:grid-cols-2 gap-2 md:gap-3 text-left mb-3",children:[t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-0.5",size:16}),t.jsx("span",{className:"text-xs md:text-sm text-neutral-700",children:"Référent dédié entre prescription et kiné"})]}),t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-0.5",size:16}),t.jsx("span",{className:"text-xs md:text-sm text-neutral-700",children:"Accès direct par WhatsApp"})]}),t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-0.5",size:16}),t.jsx("span",{className:"text-xs md:text-sm text-neutral-700",children:"Échanges illimités en temps réel"})]}),t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx(we,{className:"text-green-600 flex-shrink-0 mt-0.5",size:16}),t.jsx("span",{className:"text-xs md:text-sm text-neutral-700",children:"Réponse garantie sous 24h"})]})]}),t.jsx("p",{className:"text-xs text-neutral-500 italic",children:r?"Cliquez pour retirer cette option":"Cliquez pour ajouter cette option"})]})]})}):t.jsx("div",{className:"max-w-5xl mx-auto mb-8",children:t.jsx("div",{className:"rounded-xl md:rounded-2xl p-5 md:p-6 border-2 border-neutral-200 bg-neutral-50 opacity-60",children:t.jsxs("div",{className:"text-center",children:[t.jsxs("div",{className:"flex items-center justify-center gap-2 mb-2",children:[t.jsx("span",{className:"text-2xl",children:"📱"}),t.jsx("h3",{className:"text-lg md:text-xl font-bold text-neutral-600",children:"Accompagnement Personnalisé Direct"})]}),t.jsx("p",{className:"text-sm text-neutral-600 mb-1",children:"Non disponible sur cette formule"}),t.jsx("p",{className:"text-xs text-neutral-500",children:"Durée trop courte pour un suivi intensif • Disponible sur les formules Standard et Consolidation"})]})})}),(()=>{const l=a.find(f=>f.id===s),c=Math.ceil(l.weeks/4),d=r&&l.whatsappAvailable?i*c:0,u=l.totalPrice+d,m=(u/l.weeks).toFixed(2),h=(u/(l.weeks*7)).toFixed(2);return t.jsx("div",{className:"max-w-4xl mx-auto mb-12",children:t.jsxs("div",{className:"bg-gradient-to-br from-slate-50 via-white to-primary-lightest/30 rounded-2xl p-6 md:p-8 border-2 border-slate-300 shadow-2xl",children:[t.jsxs("div",{className:"text-center mb-6",children:[t.jsx("div",{className:"inline-block bg-primary/10 px-4 py-2 rounded-full mb-4",children:t.jsx("p",{className:"text-sm font-bold text-primary",children:"VOTRE SÉLECTION"})}),t.jsx("h3",{className:"text-2xl md:text-3xl font-black text-slate-900 mb-2",children:l.title}),r&&l.whatsappAvailable&&t.jsxs("p",{className:"text-green-600 font-bold text-lg flex items-center justify-center gap-2",children:[t.jsx("span",{className:"text-xl",children:"📱"}),t.jsx("span",{children:"+ Accompagnement Personnalisé Direct"})]})]}),t.jsxs("div",{className:"bg-white rounded-xl p-6 md:p-8 border-2 border-primary/20 mb-6",children:[t.jsxs("div",{className:"grid md:grid-cols-2 gap-6 mb-6",children:[t.jsxs("div",{className:"text-center md:text-left",children:[t.jsx("p",{className:"text-sm text-neutral-600 mb-1",children:"Programme"}),t.jsxs("p",{className:"text-xl font-bold text-slate-900",children:[l.totalPrice,"€"]})]}),r&&l.whatsappAvailable&&t.jsxs("div",{className:"text-center md:text-left",children:[t.jsxs("p",{className:"text-sm text-neutral-600 mb-1",children:["Accompagnement Direct (",c," mois)"]}),t.jsxs("p",{className:"text-xl font-bold text-green-600",children:["+ ",d,"€"]})]})]}),t.jsx("div",{className:"border-t-2 border-slate-200 pt-6",children:t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4",children:[t.jsxs("div",{className:"text-center sm:text-left",children:[t.jsx("p",{className:"text-sm text-neutral-600 mb-1",children:"Total à payer"}),t.jsxs("p",{className:"text-4xl md:text-5xl font-black text-slate-900",children:[u,"€"]}),t.jsx("p",{className:"text-sm text-neutral-500 mt-1",children:"Paiement unique • Sans abonnement"})]}),t.jsxs("div",{className:"text-center sm:text-right bg-gradient-to-br from-primary/10 to-secondary/10 rounded-xl px-6 py-4 border-2 border-primary/30",children:[t.jsx("p",{className:"text-sm text-neutral-700 mb-1",children:"Soit"}),t.jsxs("p",{className:"text-2xl md:text-3xl font-black text-primary mb-1",children:[m,"€/semaine"]}),t.jsxs("p",{className:"text-lg font-bold text-secondary",children:[h,"€/jour"]}),t.jsx("p",{className:"text-xs text-neutral-600 mt-2",children:"Pour retrouver votre confort"})]})]})})]}),t.jsx("div",{className:"text-center",children:t.jsxs("p",{className:"text-base md:text-lg font-bold text-slate-800",children:["Finissez-en avec ce mal de dos pour seulement ",t.jsxs("span",{className:"text-primary",children:[h,"€ par jour"]})]})})]})})})(),t.jsx("div",{className:"max-w-5xl mx-auto mb-10 md:mb-12",children:t.jsx("div",{className:"bg-gradient-to-br from-amber-50 via-orange-50 to-yellow-50 rounded-xl md:rounded-2xl p-5 md:p-8 border-2 border-amber-300 shadow-xl",children:t.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-4 md:gap-6",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("div",{className:"w-16 h-16 md:w-20 md:h-20 bg-gradient-to-br from-amber-400 to-orange-500 rounded-2xl flex items-center justify-center",children:t.jsx(Ms,{className:"text-white",size:32})})}),t.jsxs("div",{className:"flex-1 text-center md:text-left",children:[t.jsx("h3",{className:"text-xl md:text-2xl font-bold text-slate-900 mb-2 md:mb-3",children:"Tentez de gagner un accompagnement direct !"}),t.jsxs("p",{className:"text-sm md:text-base text-slate-700 leading-relaxed mb-3 md:mb-4",children:["Nous organisons régulièrement des ",t.jsx("strong",{children:"jeux-concours sur nos réseaux sociaux"})," pour vous faire gagner des accompagnements personnalisés directs. Suivez-nous pour ne rien manquer !"]}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 md:gap-3 justify-center md:justify-start",children:[t.jsx("a",{href:"https://www.instagram.com/malodo_officiel/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 bg-gradient-to-r from-pink-500 to-rose-500 hover:from-pink-600 hover:to-rose-600 text-white font-bold py-2.5 md:py-3 px-5 md:px-6 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl text-sm md:text-base",children:"Suivre sur Instagram"}),t.jsx("a",{href:"https://www.linkedin.com/in/jimmy-renaud-malodo/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 bg-[#0077B5] hover:bg-[#006399] text-white font-bold py-2.5 md:py-3 px-5 md:px-6 rounded-xl transition-all duration-300 shadow-lg hover:shadow-xl text-sm md:text-base",children:"Suivre sur LinkedIn"})]})]})]})})}),t.jsxs("div",{className:"text-center px-4",children:[t.jsx($n,{className:"w-full sm:w-auto bg-primary hover:bg-primary-dark text-white font-bold py-4 sm:py-5 px-8 sm:px-12 rounded-xl text-base sm:text-lg shadow-2xl hover:shadow-primary/30 transition-all duration-300 hover:scale-105",children:"Commencer mon évaluation gratuite"}),t.jsx("p",{className:"text-xs sm:text-sm text-neutral-500 mt-3 sm:mt-4",children:"Évaluation gratuite • 15 minutes • Sans engagement • Résultats immédiats"})]})]})})]}),t.jsx(le,{})]})};function VN(){const[s,e]=k.useState(!1),r=window.location.pathname==="/faq"||window.location.hash==="#faq-page",n=window.location.pathname==="/mentions-legales"||window.location.hash==="#mentions-legales",i=window.location.pathname==="/politique-confidentialite"||window.location.hash==="#politique-confidentialite",a=window.location.pathname==="/merci-questionnaire"||window.location.hash==="#merci-questionnaire",o=window.location.pathname==="/contact"||window.location.hash==="#contact",l=window.location.pathname==="/entreprises"||window.location.hash==="#entreprises",c=window.location.pathname==="/a-propos"||window.location.hash==="#a-propos",d=window.location.pathname==="/links"||window.location.hash==="#links",u=window.location.pathname==="/mes-liens"||window.location.hash==="#mes-liens",m=window.location.pathname==="/partenariat-kine"||window.location.hash==="#partenariat-kine",h=window.location.pathname==="/partenariat-med"||window.location.pathname==="/partenariat-medecins"||window.location.hash==="#partenariat-med"||window.location.hash==="#partenariat-medecins",f=window.location.pathname.startsWith("/resultats/"),v=window.location.pathname==="/merci"||window.location.hash==="#merci",j=window.location.pathname==="/malodo-confirmation"||window.location.hash==="#malodo-confirmation",w=window.location.pathname==="/notre-methode"||window.location.hash==="#notre-methode",p=window.location.pathname==="/blog"||window.location.hash==="#blog",x=window.location.pathname==="/blog/infographies"||window.location.hash==="#blog-infographies",g=window.location.pathname.startsWith("/blog/md/"),y=window.location.pathname.startsWith("/blog/")&&!g&&window.location.pathname!=="/blog"&&!x,_=window.location.pathname==="/tarifs"||window.location.hash==="#tarifs",b=window.location.pathname==="/"||window.location.pathname==="/index.html";k.useEffect(()=>{},[b]);const N=()=>{e(!1),sessionStorage.setItem("speedDatingModalSeen","true")};if(r)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(Mj,{}),t.jsx(ne,{})]});if(n)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(Ij,{}),t.jsx(ne,{})]});if(i)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx($j,{}),t.jsx(ne,{})]});if(a)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(Uj,{}),t.jsx(ne,{})]});if(o)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(Fj,{}),t.jsx(ne,{})]});if(l)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(Dj,{}),t.jsx(ne,{})]});if(c)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(Bj,{}),t.jsx(ne,{})]});if(d)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(cN,{}),t.jsx(ne,{})]});if(u)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(dN,{}),t.jsx(ne,{})]});if(m)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(uN,{}),t.jsx(ne,{})]});if(h)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(mN,{}),t.jsx(ne,{})]});if(f)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(jN,{}),t.jsx(ne,{})]});if(v)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(yN,{}),t.jsx(ne,{})]});if(j)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(wN,{}),t.jsx(ne,{})]});if(w)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(NN,{}),t.jsx(ne,{})]});if(p)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(SN,{}),t.jsx(ne,{})]});if(x)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(zN,{}),t.jsx(ne,{})]});if(_)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(BN,{}),t.jsx(ne,{})]});if(g){const R=window.location.pathname.replace("/blog/md/","");return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(EN,{slug:R}),t.jsx(ne,{})]})}if(y){const R=window.location.pathname.replace("/blog/","");let O=null;switch(R){case"comprendre-mal-de-dos-causes":case"comprendre-lombalgie-causes-mecanismes":case"comprendre-inconfort-lombaire":O=CN;break;case"exercices-confort-lombaire":case"cinq-exercices-essentiels-dos-sante":O=PN;break;case"teletravail-posture-dos":case"teletravail-mal-dos-bonnes-pratiques":O=TN;break;case"raideur-matinale-dos-solutions":case"raideur-matinale-remedes-solutions":case"raideur-matinale-dos":O=AN;break;case"stress-tensions-lombaires":case"lien-stress-douleurs-lombaires":O=ON;break;case"sport-mal-de-dos-reprise":case"activite-physique-lombalgie-guide":case"sport-inconfort-lombaire":O=qN;break;case"mal-de-dos-duree-amelioration":case"duree-guerison-lombalgie-timeline":case"duree-guerison-lombalgie":case"duree-amelioration-lombalgie":O=RN;break;case"inconfort-lombaire-gene-jambe":case"sciatique-lombalgie-differences":case"sciatique-vs-lombalgie":case"sciatique-lombalgie-difference":O=LN;break;case"bien-dormir-mal-de-dos-positions":case"positions-sommeil-lombalgie":case"bien-dormir-confort-lombaire":O=DN;break;default:O=null}if(O)return t.jsxs(t.Fragment,{children:[t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),t.jsx(O,{}),t.jsx(ne,{})]})}return t.jsxs("div",{className:"font-sans",children:[t.jsx(V,{title:"Malodo | Programme Lombaire Personnalisé - Salle d'Attente Active",description:"Améliorez votre confort lombaire en attendant votre rendez-vous kiné. Programme personnalisé, exercices guidés en vidéo par kinésithérapeute. Découverte 59€, 4 semaines. Salle d'attente active.",keywords:"salle d'attente active, programme exercices lombaires, mal de dos attente kiné, confort lombaire digital, exercices dos personnalisés, kinésithérapie en ligne",canonicalUrl:"https://malodo.pro",ogImage:"https://malodo.pro/logo-malodo-moyen.png"}),t.jsx(Dl,{data:Sv}),t.jsx(Dl,{data:Ev}),t.jsx(ie,{targetDate:"2026-01-29T20:00:00",enabled:!1}),s&&t.jsx(MN,{onClose:N}),t.jsx(kv,{}),t.jsx(oe,{}),t.jsx("main",{className:"pb-20 lg:pb-0",children:t.jsxs("div",{id:"home",children:[t.jsx(Aj,{}),t.jsx(Oj,{}),t.jsx(Rj,{})]})}),t.jsx(UN,{}),t.jsx(le,{}),t.jsx(IN,{}),t.jsx($N,{}),t.jsx(ne,{})]})}qp(document.getElementById("root")).render(t.jsx(k.StrictMode,{children:t.jsx(VN,{})}));