PageSourceSearch

https://colbr.co/assets/index-VdziDnz8.js

js colbr.co collected 2026-10-08 09:41:20 UTC 3,837,065 bytes, 789 lines download raw bytes

vendor: 5,887 bytes, lines 1-9
1var o9=Object.defineProperty;var uP=e=>{throw TypeError(e)};var l9=(e,n,r)=>n in e?o9(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r;var Ps=(e,n,r)=>l9(e,typeof n!="symbol"?n+"":n,r),r0=(e,n,r)=>n.has(e)||uP("Cannot "+r);var B=(e,n,r)=>(r0(e,n,"read from private field"),r?r.call(e):n.get(e)),we=(e,n,r)=>n.has(e)?uP("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,r),ue=(e,n,r,i)=>(r0(e,n,"write to private field"),i?i.call(e,r):n.set(e,r),r),_e=(e,n,r)=>(r0(e,n,"access private method"),r);var Nf=(e,n,r,i)=>({set _(s){ue(e,n,s,r)},get _(){return B(e,n,i)}});function c9(e,n){for(var r=0;r<n.length;r++){const i=n[r];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in e)){const a=Object.getOwnPropertyDescriptor(i,s);a&&Object.defineProperty(e,s,a.get?a:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function r(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(s){if(s.ep)return;s.ep=!0;const a=r(s);fetch(s.href,a)}})();var lo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ue(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t_={exports:{}},bb={},n_={exports:{}},Le={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var Uh=Symbol.for("react.element"),u9=Symbol.for("react.portal"),d9=Symbol.for("react.fragment"),p9=Symbol.for("react.strict_mode"),m9=Symbol.for("react.profiler"),h9=Symbol.for("react.provider"),f9=Symbol.for("react.context"),g9=Symbol.for("react.forward_ref"),x9=Symbol.for("react.suspense"),v9=Symbol.for("react.memo"),b9=Symbol.for("react.lazy"),dP=Symbol.iterator;function y9(e){return e===null||typeof e!="object"?null:(e=dP&&e[dP]||e["@@iterator"],typeof e=="function"?e:null)}var r_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},i_=Object.assign,s_={};function vd(e,n,r){this.props=e,this.context=n,this.refs=s_,this.updater=r||r_}vd.prototype.isReactComponent={};vd.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,n,"setState")};vd.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function a_(){}a_.prototype=vd.prototype;function jk(e,n,r){this.props=e,this.context=n,this.refs=s_,this.updater=r||r_}var wk=jk.prototype=new a_;wk.constructor=jk;i_(wk,vd.prototype);wk.isPureReactComponent=!0;var pP=Array.isArray,o_=Object.prototype.hasOwnProperty,Nk={current:null},l_={key:!0,ref:!0,__self:!0,__source:!0};function c_(e,n,r){var i,s={},a=null,o=null;if(n!=null)for(i in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(a=""+n.key),n)o_.call(n,i)&&!l_.hasOwnProperty(i)&&(s[i]=n[i]);var l=arguments.length-2;if(l===1)s.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];s.children=c}if(e&&e.defaultProps)for(i in l=e.defaultProps,l)s[i]===void 0&&(s[i]=l[i]);return{$$typeof:Uh,type:e,key:a,ref:o,props:s,_owner:Nk.current}}function j9(e,n){return{$$typeof:Uh,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function kk(e){return typeof e=="object"&&e!==null&&e.$$typeof===Uh}function w9(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return n[r]})}var mP=/\/+/g;function i0(e,n){return typeof e=="object"&&e!==null&&e.key!=null?w9(""+e.key):n.toString(36)}function Wg(e,n,r,i,s){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Uh:case u9:o=!0}}if(o)return o=e,s=s(o),e=i===""?"."+i0(o,0):i,pP(s)?(r="",e!=null&&(r=e.replace(mP,"$&/")+"/"),Wg(s,n,r,"",function(u){return u})):s!=null&&(kk(s)&&(s=j9(s,r+(!s.key||o&&o.key===s.key?"":(""+s.key).replace(mP,"$&/")+"/")+e)),n.push(s)),1;if(o=0,i=i===""?".":i+":",pP(e))for(var l=0;l<e.length;l++){a=e[l];var c=i+i0(a,l);o+=Wg(a,n,r,c,s)}else if(c=y9(e),typeof c=="function")for(e=c.call(e),l=0;!(a=e.next()).done;)a=a.value,c=i+i0(a,l++),o+=Wg(a,n,r,c,s);else if(a==="object")throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return o}function kf(e,n,r){if(e==null)return e;var i=[],s=0;return Wg(e,i,"","",function(a){return n.call(r,a,s++)}),i}function N9(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r)},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var Kn={current:null},Hg={transition:null},k9={ReactCurrentDispatcher:Kn,ReactCurrentBatchConfig:Hg,ReactCurrentOwner:Nk};
vendor: 4,426 bytes, lines 9-25
9function u_(){throw Error("act(...) is not supported in production builds of React.")}Le.Children={map:kf,forEach:function(e,n,r){kf(e,function(){n.apply(this,arguments)},r)},count:function(e){var n=0;return kf(e,function(){n++}),n},toArray:function(e){return kf(e,function(n){return n})||[]},only:function(e){if(!kk(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Le.Component=vd;Le.Fragment=d9;Le.Profiler=m9;Le.PureComponent=jk;Le.StrictMode=p9;Le.Suspense=x9;Le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=k9;Le.act=u_;Le.cloneElement=function(e,n,r){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=i_({},e.props),s=e.key,a=e.ref,o=e._owner;if(n!=null){if(n.ref!==void 0&&(a=n.ref,o=Nk.current),n.key!==void 0&&(s=""+n.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in n)o_.call(n,c)&&!l_.hasOwnProperty(c)&&(i[c]=n[c]===void 0&&l!==void 0?l[c]:n[c])}var c=arguments.length-2;if(c===1)i.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];i.children=l}return{$$typeof:Uh,type:e.type,key:s,ref:a,props:i,_owner:o}};Le.createContext=function(e){return e={$$typeof:f9,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:h9,_context:e},e.Consumer=e};Le.createElement=c_;Le.createFactory=function(e){var n=c_.bind(null,e);return n.type=e,n};Le.createRef=function(){return{current:null}};Le.forwardRef=function(e){return{$$typeof:g9,render:e}};Le.isValidElement=kk;Le.lazy=function(e){return{$$typeof:b9,_payload:{_status:-1,_result:e},_init:N9}};Le.memo=function(e,n){return{$$typeof:v9,type:e,compare:n===void 0?null:n}};Le.startTransition=function(e){var n=Hg.transition;Hg.transition={};try{e()}finally{Hg.transition=n}};Le.unstable_act=u_;Le.useCallback=function(e,n){return Kn.current.useCallback(e,n)};Le.useContext=function(e){return Kn.current.useContext(e)};Le.useDebugValue=function(){};Le.useDeferredValue=function(e){return Kn.current.useDeferredValue(e)};Le.useEffect=function(e,n){return Kn.current.useEffect(e,n)};Le.useId=function(){return Kn.current.useId()};Le.useImperativeHandle=function(e,n,r){return Kn.current.useImperativeHandle(e,n,r)};Le.useInsertionEffect=function(e,n){return Kn.current.useInsertionEffect(e,n)};Le.useLayoutEffect=function(e,n){return Kn.current.useLayoutEffect(e,n)};Le.useMemo=function(e,n){return Kn.current.useMemo(e,n)};Le.useReducer=function(e,n,r){return Kn.current.useReducer(e,n,r)};Le.useRef=function(e){return Kn.current.useRef(e)};Le.useState=function(e){return Kn.current.useState(e)};Le.useSyncExternalStore=function(e,n,r){return Kn.current.useSyncExternalStore(e,n,r)};Le.useTransition=function(){return Kn.current.useTransition()};Le.version="18.3.1";n_.exports=Le;var k=n_.exports;const L=Ue(k),qk=c9({__proto__:null,default:L},[k]);/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var q9=k,S9=Symbol.for("react.element"),C9=Symbol.for("react.fragment"),P9=Object.prototype.hasOwnProperty,E9=q9.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,T9={key:!0,ref:!0,__self:!0,__source:!0};function d_(e,n,r){var i,s={},a=null,o=null;r!==void 0&&(a=""+r),n.key!==void 0&&(a=""+n.key),n.ref!==void 0&&(o=n.ref);for(i in n)P9.call(n,i)&&!T9.hasOwnProperty(i)&&(s[i]=n[i]);if(e&&e.defaultProps)for(i in n=e.defaultProps,n)s[i]===void 0&&(s[i]=n[i]);return{$$typeof:S9,type:e,key:a,ref:o,props:s,_owner:E9.current}}bb.Fragment=C9;bb.jsx=d_;bb.jsxs=d_;t_.exports=bb;var t=t_.exports,p_={exports:{}},Dr={},m_={exports:{}},h_={};/**
18 * @license React
19 * scheduler.production.min.js
20 *
21 * Copyright (c) Facebook, Inc. and its affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */(function(e){function n(O,$){var I=O.length;O.push($);e:for(;0<I;){var Y=I-1>>>1,W=O[Y];if(0<s(W,$))O[Y]=$,O[I]=W,I=Y;else break e}}function r(O){return O.length===0?null:O[0]}function i(O){if(O.length===0)return null;var $=O[0],I=O.pop();if(I!==$){O[0]=I;e:for(var Y=0,W=O.length,F=W>>>1;Y<F;){var ae=2*(Y+1)-1,ge=O[ae],be=ae+1,Ne=O[be];
vendor: 9,104 bytes, lines 25-33
25if(0>s(ge,I))be<W&&0>s(Ne,ge)?(O[Y]=Ne,O[be]=I,Y=be):(O[Y]=ge,O[ae]=I,Y=ae);else if(be<W&&0>s(Ne,I))O[Y]=Ne,O[be]=I,Y=be;else break e}}return $}function s(O,$){var I=O.sortIndex-$.sortIndex;return I!==0?I:O.id-$.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],u=[],d=1,p=null,m=3,h=!1,g=!1,f=!1,x=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(O){for(var $=r(u);$!==null;){if($.callback===null)i(u);else if($.startTime<=O)i(u),$.sortIndex=$.expirationTime,n(c,$);else break;$=r(u)}}function N(O){if(f=!1,y(O),!g)if(r(c)!==null)g=!0,U(j);else{var $=r(u);$!==null&&z(N,$.startTime-O)}}function j(O,$){g=!1,f&&(f=!1,v(P),P=-1),h=!0;var I=m;try{for(y($),p=r(c);p!==null&&(!(p.expirationTime>$)||O&&!A());){var Y=p.callback;if(typeof Y=="function"){p.callback=null,m=p.priorityLevel;var W=Y(p.expirationTime<=$);$=e.unstable_now(),typeof W=="function"?p.callback=W:p===r(c)&&i(c),y($)}else i(c);p=r(c)}if(p!==null)var F=!0;else{var ae=r(u);ae!==null&&z(N,ae.startTime-$),F=!1}return F}finally{p=null,m=I,h=!1}}var w=!1,q=null,P=-1,T=5,E=-1;function A(){return!(e.unstable_now()-E<T)}function _(){if(q!==null){var O=e.unstable_now();E=O;var $=!0;try{$=q(!0,O)}finally{$?D():(w=!1,q=null)}}else w=!1}var D;if(typeof b=="function")D=function(){b(_)};else if(typeof MessageChannel<"u"){var R=new MessageChannel,M=R.port2;R.port1.onmessage=_,D=function(){M.postMessage(null)}}else D=function(){x(_,0)};function U(O){q=O,w||(w=!0,D())}function z(O,$){P=x(function(){O(e.unstable_now())},$)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(O){O.callback=null},e.unstable_continueExecution=function(){g||h||(g=!0,U(j))},e.unstable_forceFrameRate=function(O){0>O||125<O?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<O?Math.floor(1e3/O):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return r(c)},e.unstable_next=function(O){switch(m){case 1:case 2:case 3:var $=3;break;default:$=m}var I=m;m=$;try{return O()}finally{m=I}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(O,$){switch(O){case 1:case 2:case 3:case 4:case 5:break;default:O=3}var I=m;m=O;try{return $()}finally{m=I}},e.unstable_scheduleCallback=function(O,$,I){var Y=e.unstable_now();switch(typeof I=="object"&&I!==null?(I=I.delay,I=typeof I=="number"&&0<I?Y+I:Y):I=Y,O){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=I+W,O={id:d++,callback:$,priorityLevel:O,startTime:I,expirationTime:W,sortIndex:-1},I>Y?(O.sortIndex=I,n(u,O),r(c)===null&&O===r(u)&&(f?(v(P),P=-1):f=!0,z(N,I-Y))):(O.sortIndex=W,n(c,O),g||h||(g=!0,U(j))),O},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(O){var $=m;return function(){var I=m;m=$;try{return O.apply(this,arguments)}finally{m=I}}}})(h_);m_.exports=h_;var I9=m_.exports;/**
26 * @license React
27 * react-dom.production.min.js
28 *
29 * Copyright (c) Facebook, Inc. and its affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var A9=k,_r=I9;function Z(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)n+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var f_=new Set,gm={};function lc(e,n){Ru(e,n),Ru(e+"Capture",n)}function Ru(e,n){for(gm[e]=n,e=0;e<n.length;e++)f_.add(n[e])}var na=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lw=Object.prototype.hasOwnProperty,L9=/^[: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]*$/,hP={},fP={};function F9(e){return Lw.call(fP,e)?!0:Lw.call(hP,e)?!1:L9.test(e)?fP[e]=!0:(hP[e]=!0,!1)}function _9(e,n,r,i){if(r!==null&&r.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return i?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function O9(e,n,r,i){if(n===null||typeof n>"u"||_9(e,n,r,i))return!0;if(i)return!1;if(r!==null)switch(r.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function Qn(e,n,r,i,s,a,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=n,this.sanitizeURL=a,this.removeEmptyString=o}var bn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){bn[e]=new Qn(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];bn[n]=new Qn(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){bn[e]=new Qn(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){bn[e]=new Qn(e,2,!1,e,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(e){bn[e]=new Qn(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){bn[e]=new Qn(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){bn[e]=new Qn(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){bn[e]=new Qn(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){bn[e]=new Qn(e,5,!1,e.toLowerCase(),null,!1,!1)});var Sk=/[\-:]([a-z])/g;function Ck(e){return e[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(e){var n=e.replace(Sk,Ck);bn[n]=new Qn(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Sk,Ck);bn[n]=new Qn(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Sk,Ck);bn[n]=new Qn(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){bn[e]=new Qn(e,1,!1,e.toLowerCase(),null,!1,!1)});bn.xlinkHref=new Qn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){bn[e]=new Qn(e,1,!1,e.toLowerCase(),null,!0,!0)});function Pk(e,n,r,i){var s=bn.hasOwnProperty(n)?bn[n]:null;(s!==null?s.type!==0:i||!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(O9(n,r,s,i)&&(r=null),i||s===null?F9(n)&&(r===null?e.removeAttribute(n):e.setAttribute(n,""+r)):s.mustUseProperty?e[s.propertyName]=r===null?s.type===3?!1:"":r:(n=s.attributeName,i=s.attributeNamespace,r===null?e.removeAttribute(n):(s=s.type,r=s===3||s===4&&r===!0?"":""+r,i?e.setAttributeNS(i,n,r):e.setAttribute(n,r))))}
vendor: 1,109 bytes, lines 33-34
33var ga=A9.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,qf=Symbol.for("react.element"),$c=Symbol.for("react.portal"),Bc=Symbol.for("react.fragment"),Ek=Symbol.for("react.strict_mode"),Fw=Symbol.for("react.profiler"),g_=Symbol.for("react.provider"),x_=Symbol.for("react.context"),Tk=Symbol.for("react.forward_ref"),_w=Symbol.for("react.suspense"),Ow=Symbol.for("react.suspense_list"),Ik=Symbol.for("react.memo"),Ha=Symbol.for("react.lazy"),v_=Symbol.for("react.offscreen"),gP=Symbol.iterator;function Yd(e){return e===null||typeof e!="object"?null:(e=gP&&e[gP]||e["@@iterator"],typeof e=="function"?e:null)}var Ct=Object.assign,s0;function Fp(e){if(s0===void 0)try{throw Error()}catch(r){var n=r.stack.trim().match(/\n( *(at )?)/);s0=n&&n[1]||""}return`
34`+s0+e}var a0=!1;function o0(e,n){if(!e||a0)return"";a0=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(n)if(n=function(){throw Error()},Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(n,[])}catch(u){var i=u}Reflect.construct(e,[],n)}
vendor: 18,269 bytes, lines 34-37
34else{try{n.call()}catch(u){i=u}e.call(n.prototype)}else{try{throw Error()}catch(u){i=u}e()}}catch(u){if(u&&i&&typeof u.stack=="string"){for(var s=u.stack.split(`
35`),a=i.stack.split(`
36`),o=s.length-1,l=a.length-1;1<=o&&0<=l&&s[o]!==a[l];)l--;for(;1<=o&&0<=l;o--,l--)if(s[o]!==a[l]){if(o!==1||l!==1)do if(o--,l--,0>l||s[o]!==a[l]){var c=`
37`+s[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{a0=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Fp(e):""}function R9(e){switch(e.tag){case 5:return Fp(e.type);case 16:return Fp("Lazy");case 13:return Fp("Suspense");case 19:return Fp("SuspenseList");case 0:case 2:case 15:return e=o0(e.type,!1),e;case 11:return e=o0(e.type.render,!1),e;case 1:return e=o0(e.type,!0),e;default:return""}}function Rw(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Bc:return"Fragment";case $c:return"Portal";case Fw:return"Profiler";case Ek:return"StrictMode";case _w:return"Suspense";case Ow:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case x_:return(e.displayName||"Context")+".Consumer";case g_:return(e._context.displayName||"Context")+".Provider";case Tk:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ik:return n=e.displayName||null,n!==null?n:Rw(e.type)||"Memo";case Ha:n=e._payload,e=e._init;try{return Rw(e(n))}catch{}}return null}function D9(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Rw(n);case 8:return n===Ek?"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 n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function Co(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function b_(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function M9(e){var n=b_(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),i=""+e[n];if(!e.hasOwnProperty(n)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var s=r.get,a=r.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=""+o,a.call(this,o)}}),Object.defineProperty(e,n,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Sf(e){e._valueTracker||(e._valueTracker=M9(e))}function y_(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var r=n.getValue(),i="";return e&&(i=b_(e)?e.checked?"true":"false":e.value),e=i,e!==r?(n.setValue(e),!0):!1}function yx(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Dw(e,n){var r=n.checked;return Ct({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function xP(e,n){var r=n.defaultValue==null?"":n.defaultValue,i=n.checked!=null?n.checked:n.defaultChecked;r=Co(n.value!=null?n.value:r),e._wrapperState={initialChecked:i,initialValue:r,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function j_(e,n){n=n.checked,n!=null&&Pk(e,"checked",n,!1)}function Mw(e,n){j_(e,n);var r=Co(n.value),i=n.type;if(r!=null)i==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?$w(e,n.type,r):n.hasOwnProperty("defaultValue")&&$w(e,n.type,Co(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function vP(e,n,r){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var i=n.type;if(!(i!=="submit"&&i!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,r||n===e.value||(e.value=n),e.defaultValue=n}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function $w(e,n,r){(n!=="number"||yx(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var _p=Array.isArray;function lu(e,n,r,i){if(e=e.options,n){n={};for(var s=0;s<r.length;s++)n["$"+r[s]]=!0;for(r=0;r<e.length;r++)s=n.hasOwnProperty("$"+e[r].value),e[r].selected!==s&&(e[r].selected=s),s&&i&&(e[r].defaultSelected=!0)}else{for(r=""+Co(r),n=null,s=0;s<e.length;s++){if(e[s].value===r){e[s].selected=!0,i&&(e[s].defaultSelected=!0);return}n!==null||e[s].disabled||(n=e[s])}n!==null&&(n.selected=!0)}}function Bw(e,n){if(n.dangerouslySetInnerHTML!=null)throw Error(Z(91));return Ct({},n,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function bP(e,n){var r=n.value;if(r==null){if(r=n.children,n=n.defaultValue,r!=null){if(n!=null)throw Error(Z(92));if(_p(r)){if(1<r.length)throw Error(Z(93));r=r[0]}n=r}n==null&&(n=""),r=n}e._wrapperState={initialValue:Co(r)}}function w_(e,n){var r=Co(n.value),i=Co(n.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),n.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),i!=null&&(e.defaultValue=""+i)}function yP(e){var n=e.textContent;n===e._wrapperState.initialValue&&n!==""&&n!==null&&(e.value=n)}function N_(e){switch(e){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 zw(e,n){return e==null||e==="http://www.w3.org/1999/xhtml"?N_(n):e==="http://www.w3.org/2000/svg"&&n==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Cf,k_=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(n,r,i,s){MSApp.execUnsafeLocalFunction(function(){return e(n,r,i,s)})}:e}(function(e,n){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=n;else{for(Cf=Cf||document.createElement("div"),Cf.innerHTML="<svg>"+n.valueOf().toString()+"</svg>",n=Cf.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function xm(e,n){if(n){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=n;return}}e.textContent=n}var Hp={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},$9=["Webkit","ms","Moz","O"];Object.keys(Hp).forEach(function(e){$9.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Hp[n]=Hp[e]})});function q_(e,n,r){return n==null||typeof n=="boolean"||n===""?"":r||typeof n!="number"||n===0||Hp.hasOwnProperty(e)&&Hp[e]?(""+n).trim():n+"px"}function S_(e,n){e=e.style;for(var r in n)if(n.hasOwnProperty(r)){var i=r.indexOf("--")===0,s=q_(r,n[r],i);r==="float"&&(r="cssFloat"),i?e.setProperty(r,s):e[r]=s}}var B9=Ct({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 Uw(e,n){if(n){if(B9[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(Z(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(Z(61))}if(n.style!=null&&typeof n.style!="object")throw Error(Z(62))}}function Vw(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){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 Ww=null;function Ak(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Hw=null,cu=null,uu=null;function jP(e){if(e=Hh(e)){if(typeof Hw!="function")throw Error(Z(280));var n=e.stateNode;n&&(n=kb(n),Hw(e.stateNode,e.type,n))}}function C_(e){cu?uu?uu.push(e):uu=[e]:cu=e}function P_(){if(cu){var e=cu,n=uu;if(uu=cu=null,jP(e),n)for(e=0;e<n.length;e++)jP(n[e])}}function E_(e,n){return e(n)}function T_(){}var l0=!1;function I_(e,n,r){if(l0)return e(n,r);l0=!0;try{return E_(e,n,r)}finally{l0=!1,(cu!==null||uu!==null)&&(T_(),P_())}}function vm(e,n){var r=e.stateNode;if(r===null)return null;var i=kb(r);if(i===null)return null;r=i[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(e=e.type,i=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!i;break e;default:e=!1}if(e)return null;if(r&&typeof r!="function")throw Error(Z(231,n,typeof r));return r}var Gw=!1;if(na)try{var Jd={};Object.defineProperty(Jd,"passive",{get:function(){Gw=!0}}),window.addEventListener("test",Jd,Jd),window.removeEventListener("test",Jd,Jd)}catch{Gw=!1}function z9(e,n,r,i,s,a,o,l,c){var u=Array.prototype.slice.call(arguments,3);try{n.apply(r,u)}catch(d){this.onError(d)}}var Gp=!1,jx=null,wx=!1,Kw=null,U9={onError:function(e){Gp=!0,jx=e}};function V9(e,n,r,i,s,a,o,l,c){Gp=!1,jx=null,z9.apply(U9,arguments)}function W9(e,n,r,i,s,a,o,l,c){if(V9.apply(this,arguments),Gp){if(Gp){var u=jx;Gp=!1,jx=null}else throw Error(Z(198));wx||(wx=!0,Kw=u)}}function cc(e){var n=e,r=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,n.flags&4098&&(r=n.return),e=n.return;while(e)}return n.tag===3?r:null}function A_(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function wP(e){if(cc(e)!==e)throw Error(Z(188))}function H9(e){var n=e.alternate;if(!n){if(n=cc(e),n===null)throw Error(Z(188));return n!==e?null:e}for(var r=e,i=n;;){var s=r.return;if(s===null)break;var a=s.alternate;if(a===null){if(i=s.return,i!==null){r=i;continue}break}if(s.child===a.child){for(a=s.child;a;){if(a===r)return wP(s),e;if(a===i)return wP(s),n;a=a.sibling}throw Error(Z(188))}if(r.return!==i.return)r=s,i=a;else{for(var o=!1,l=s.child;l;){if(l===r){o=!0,r=s,i=a;break}if(l===i){o=!0,i=s,r=a;break}l=l.sibling}if(!o){for(l=a.child;l;){if(l===r){o=!0,r=a,i=s;break}if(l===i){o=!0,i=a,r=s;break}l=l.sibling}if(!o)throw Error(Z(189))}}if(r.alternate!==i)throw Error(Z(190))}if(r.tag!==3)throw Error(Z(188));return r.stateNode.current===r?e:n}function L_(e){return e=H9(e),e!==null?F_(e):null}function F_(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var n=F_(e);if(n!==null)return n;e=e.sibling}return null}var __=_r.unstable_scheduleCallback,NP=_r.unstable_cancelCallback,G9=_r.unstable_shouldYield,K9=_r.unstable_requestPaint,Dt=_r.unstable_now,Q9=_r.unstable_getCurrentPriorityLevel,Lk=_r.unstable_ImmediatePriority,O_=_r.unstable_UserBlockingPriority,Nx=_r.unstable_NormalPriority,Y9=_r.unstable_LowPriority,R_=_r.unstable_IdlePriority,yb=null,ms=null;function J9(e){if(ms&&typeof ms.onCommitFiberRoot=="function")try{ms.onCommitFiberRoot(yb,e,void 0,(e.current.flags&128)===128)}catch{}}var Mi=Math.clz32?Math.clz32:eV,X9=Math.log,Z9=Math.LN2;function eV(e){return e>>>=0,e===0?32:31-(X9(e)/Z9|0)|0}var Pf=64,Ef=4194304;function Op(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function kx(e,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,s=e.suspendedLanes,a=e.pingedLanes,o=r&268435455;if(o!==0){var l=o&~s;l!==0?i=Op(l):(a&=o,a!==0&&(i=Op(a)))}else o=r&~s,o!==0?i=Op(o):a!==0&&(i=Op(a));if(i===0)return 0;if(n!==0&&n!==i&&!(n&s)&&(s=i&-i,a=n&-n,s>=a||s===16&&(a&4194240)!==0))return n;if(i&4&&(i|=r&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=i;0<n;)r=31-Mi(n),s=1<<r,i|=e[r],n&=~s;return i}function tV(e,n){switch(e){case 1:case 2:case 4:return n+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 n+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 nV(e,n){for(var r=e.suspendedLanes,i=e.pingedLanes,s=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-Mi(a),l=1<<o,c=s[o];c===-1?(!(l&r)||l&i)&&(s[o]=tV(l,n)):c<=n&&(e.expiredLanes|=l),a&=~l}}function Qw(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function D_(){var e=Pf;return Pf<<=1,!(Pf&4194240)&&(Pf=64),e}function c0(e){for(var n=[],r=0;31>r;r++)n.push(e);return n}function Vh(e,n,r){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Mi(n),e[n]=r}function rV(e,n){var r=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0<r;){var s=31-Mi(r),a=1<<s;n[s]=0,i[s]=-1,e[s]=-1,r&=~a}}function Fk(e,n){var r=e.entangledLanes|=n;for(e=e.entanglements;r;){var i=31-Mi(r),s=1<<i;s&n|e[i]&n&&(e[i]|=n),r&=~s}}var Je=0;function M_(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var $_,_k,B_,z_,U_,Yw=!1,Tf=[],fo=null,go=null,xo=null,bm=new Map,ym=new Map,Qa=[],iV="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 kP(e,n){switch(e){case"focusin":case"focusout":fo=null;break;case"dragenter":case"dragleave":go=null;break;case"mouseover":case"mouseout":xo=null;break;case"pointerover":case"pointerout":bm.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":ym.delete(n.pointerId)}}function Xd(e,n,r,i,s,a){return e===null||e.nativeEvent!==a?(e={blockedOn:n,domEventName:r,eventSystemFlags:i,nativeEvent:a,targetContainers:[s]},n!==null&&(n=Hh(n),n!==null&&_k(n)),e):(e.eventSystemFlags|=i,n=e.targetContainers,s!==null&&n.indexOf(s)===-1&&n.push(s),e)}function sV(e,n,r,i,s){switch(n){case"focusin":return fo=Xd(fo,e,n,r,i,s),!0;case"dragenter":return go=Xd(go,e,n,r,i,s),!0;case"mouseover":return xo=Xd(xo,e,n,r,i,s),!0;case"pointerover":var a=s.pointerId;return bm.set(a,Xd(bm.get(a)||null,e,n,r,i,s)),!0;case"gotpointercapture":return a=s.pointerId,ym.set(a,Xd(ym.get(a)||null,e,n,r,i,s)),!0}return!1}function V_(e){var n=vl(e.target);if(n!==null){var r=cc(n);if(r!==null){if(n=r.tag,n===13){if(n=A_(r),n!==null){e.blockedOn=n,U_(e.priority,function(){B_(r)});return}}else if(n===3&&r.stateNode.current.memoizedState.isDehydrated){e.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Gg(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var r=Jw(e.domEventName,e.eventSystemFlags,n[0],e.nativeEvent);if(r===null){r=e.nativeEvent;var i=new r.constructor(r.type,r);Ww=i,r.target.dispatchEvent(i),Ww=null}else return n=Hh(r),n!==null&&_k(n),e.blockedOn=r,!1;n.shift()}return!0}function qP(e,n,r){Gg(e)&&r.delete(n)}function aV(){Yw=!1,fo!==null&&Gg(fo)&&(fo=null),go!==null&&Gg(go)&&(go=null),xo!==null&&Gg(xo)&&(xo=null),bm.forEach(qP),ym.forEach(qP)}function Zd(e,n){e.blockedOn===n&&(e.blockedOn=null,Yw||(Yw=!0,_r.unstable_scheduleCallback(_r.unstable_NormalPriority,aV)))}function jm(e){function n(s){return Zd(s,e)}if(0<Tf.length){Zd(Tf[0],e);for(var r=1;r<Tf.length;r++){var i=Tf[r];i.blockedOn===e&&(i.blockedOn=null)}}for(fo!==null&&Zd(fo,e),go!==null&&Zd(go,e),xo!==null&&Zd(xo,e),bm.forEach(n),ym.forEach(n),r=0;r<Qa.length;r++)i=Qa[r],i.blockedOn===e&&(i.blockedOn=null);for(;0<Qa.length&&(r=Qa[0],r.blockedOn===null);)V_(r),r.blockedOn===null&&Qa.shift()}var du=ga.ReactCurrentBatchConfig,qx=!0;function oV(e,n,r,i){var s=Je,a=du.transition;du.transition=null;try{Je=1,Ok(e,n,r,i)}finally{Je=s,du.transition=a}}function lV(e,n,r,i){var s=Je,a=du.transition;du.transition=null;try{Je=4,Ok(e,n,r,i)}finally{Je=s,du.transition=a}}function Ok(e,n,r,i){if(qx){var s=Jw(e,n,r,i);if(s===null)b0(e,n,i,Sx,r),kP(e,i);else if(sV(s,e,n,r,i))i.stopPropagation();else if(kP(e,i),n&4&&-1<iV.indexOf(e)){for(;s!==null;){var a=Hh(s);if(a!==null&&$_(a),a=Jw(e,n,r,i),a===null&&b0(e,n,i,Sx,r),a===s)break;s=a}s!==null&&i.stopPropagation()}else b0(e,n,i,null,r)}}var Sx=null;function Jw(e,n,r,i){if(Sx=null,e=Ak(i),e=vl(e),e!==null)if(n=cc(e),n===null)e=null;else if(r=n.tag,r===13){if(e=A_(n),e!==null)return e;e=null}else if(r===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null);return Sx=e,null}
vendor: 10,401 bytes, line 37
37function W_(e){switch(e){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(Q9()){case Lk:return 1;case O_:return 4;case Nx:case Y9:return 16;case R_:return 536870912;default:return 16}default:return 16}}var co=null,Rk=null,Kg=null;function H_(){if(Kg)return Kg;var e,n=Rk,r=n.length,i,s="value"in co?co.value:co.textContent,a=s.length;for(e=0;e<r&&n[e]===s[e];e++);var o=r-e;for(i=1;i<=o&&n[r-i]===s[a-i];i++);return Kg=s.slice(e,1<i?1-i:void 0)}function Qg(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function If(){return!0}function SP(){return!1}function Mr(e){function n(r,i,s,a,o){this._reactName=r,this._targetInst=s,this.type=i,this.nativeEvent=a,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(r=e[l],this[l]=r?r(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?If:SP,this.isPropagationStopped=SP,this}return Ct(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=If)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=If)},persist:function(){},isPersistent:If}),n}var bd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Dk=Mr(bd),Wh=Ct({},bd,{view:0,detail:0}),cV=Mr(Wh),u0,d0,ep,jb=Ct({},Wh,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Mk,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ep&&(ep&&e.type==="mousemove"?(u0=e.screenX-ep.screenX,d0=e.screenY-ep.screenY):d0=u0=0,ep=e),u0)},movementY:function(e){return"movementY"in e?e.movementY:d0}}),CP=Mr(jb),uV=Ct({},jb,{dataTransfer:0}),dV=Mr(uV),pV=Ct({},Wh,{relatedTarget:0}),p0=Mr(pV),mV=Ct({},bd,{animationName:0,elapsedTime:0,pseudoElement:0}),hV=Mr(mV),fV=Ct({},bd,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),gV=Mr(fV),xV=Ct({},bd,{data:0}),PP=Mr(xV),vV={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},bV={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"},yV={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jV(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=yV[e])?!!n[e]:!1}function Mk(){return jV}var wV=Ct({},Wh,{key:function(e){if(e.key){var n=vV[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=Qg(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?bV[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Mk,charCode:function(e){return e.type==="keypress"?Qg(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Qg(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),NV=Mr(wV),kV=Ct({},jb,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),EP=Mr(kV),qV=Ct({},Wh,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Mk}),SV=Mr(qV),CV=Ct({},bd,{propertyName:0,elapsedTime:0,pseudoElement:0}),PV=Mr(CV),EV=Ct({},jb,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),TV=Mr(EV),IV=[9,13,27,32],$k=na&&"CompositionEvent"in window,Kp=null;na&&"documentMode"in document&&(Kp=document.documentMode);var AV=na&&"TextEvent"in window&&!Kp,G_=na&&(!$k||Kp&&8<Kp&&11>=Kp),TP=" ",IP=!1;function K_(e,n){switch(e){case"keyup":return IV.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Q_(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var zc=!1;function LV(e,n){switch(e){case"compositionend":return Q_(n);case"keypress":return n.which!==32?null:(IP=!0,TP);case"textInput":return e=n.data,e===TP&&IP?null:e;default:return null}}function FV(e,n){if(zc)return e==="compositionend"||!$k&&K_(e,n)?(e=H_(),Kg=Rk=co=null,zc=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return G_&&n.locale!=="ko"?null:n.data;default:return null}}var _V={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 AP(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!_V[e.type]:n==="textarea"}function Y_(e,n,r,i){C_(i),n=Cx(n,"onChange"),0<n.length&&(r=new Dk("onChange","change",null,r,i),e.push({event:r,listeners:n}))}var Qp=null,wm=null;function OV(e){o6(e,0)}function wb(e){var n=Wc(e);if(y_(n))return e}function RV(e,n){if(e==="change")return n}var J_=!1;if(na){var m0;if(na){var h0="oninput"in document;if(!h0){var LP=document.createElement("div");LP.setAttribute("oninput","return;"),h0=typeof LP.oninput=="function"}m0=h0}else m0=!1;J_=m0&&(!document.documentMode||9<document.documentMode)}function FP(){Qp&&(Qp.detachEvent("onpropertychange",X_),wm=Qp=null)}function X_(e){if(e.propertyName==="value"&&wb(wm)){var n=[];Y_(n,wm,e,Ak(e)),I_(OV,n)}}function DV(e,n,r){e==="focusin"?(FP(),Qp=n,wm=r,Qp.attachEvent("onpropertychange",X_)):e==="focusout"&&FP()}function MV(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return wb(wm)}function $V(e,n){if(e==="click")return wb(n)}function BV(e,n){if(e==="input"||e==="change")return wb(n)}function zV(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Vi=typeof Object.is=="function"?Object.is:zV;function Nm(e,n){if(Vi(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var r=Object.keys(e),i=Object.keys(n);if(r.length!==i.length)return!1;for(i=0;i<r.length;i++){var s=r[i];if(!Lw.call(n,s)||!Vi(e[s],n[s]))return!1}return!0}function _P(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function OP(e,n){var r=_P(e);e=0;for(var i;r;){if(r.nodeType===3){if(i=e+r.textContent.length,e<=n&&i>=n)return{node:r,offset:n-e};e=i}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=_P(r)}}function Z_(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Z_(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function e6(){for(var e=window,n=yx();n instanceof e.HTMLIFrameElement;){try{var r=typeof n.contentWindow.location.href=="string"}catch{r=!1}if(r)e=n.contentWindow;else break;n=yx(e.document)}return n}function Bk(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function UV(e){var n=e6(),r=e.focusedElem,i=e.selectionRange;if(n!==r&&r&&r.ownerDocument&&Z_(r.ownerDocument.documentElement,r)){if(i!==null&&Bk(r)){if(n=i.start,e=i.end,e===void 0&&(e=n),"selectionStart"in r)r.selectionStart=n,r.selectionEnd=Math.min(e,r.value.length);else if(e=(n=r.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,a=Math.min(i.start,s);i=i.end===void 0?a:Math.min(i.end,s),!e.extend&&a>i&&(s=i,i=a,a=s),s=OP(r,a);var o=OP(r,i);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(s.node,s.offset),e.removeAllRanges(),a>i?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=r;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<n.length;r++)e=n[r],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var VV=na&&"documentMode"in document&&11>=document.documentMode,Uc=null,Xw=null,Yp=null,Zw=!1;function RP(e,n,r){var i=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Zw||Uc==null||Uc!==yx(i)||(i=Uc,"selectionStart"in i&&Bk(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focu
vendor: 4,501 bytes, line 37
37sNode:i.focusNode,focusOffset:i.focusOffset}),Yp&&Nm(Yp,i)||(Yp=i,i=Cx(Xw,"onSelect"),0<i.length&&(n=new Dk("onSelect","select",null,n,r),e.push({event:n,listeners:i}),n.target=Uc)))}function Af(e,n){var r={};return r[e.toLowerCase()]=n.toLowerCase(),r["Webkit"+e]="webkit"+n,r["Moz"+e]="moz"+n,r}var Vc={animationend:Af("Animation","AnimationEnd"),animationiteration:Af("Animation","AnimationIteration"),animationstart:Af("Animation","AnimationStart"),transitionend:Af("Transition","TransitionEnd")},f0={},t6={};na&&(t6=document.createElement("div").style,"AnimationEvent"in window||(delete Vc.animationend.animation,delete Vc.animationiteration.animation,delete Vc.animationstart.animation),"TransitionEvent"in window||delete Vc.transitionend.transition);function Nb(e){if(f0[e])return f0[e];if(!Vc[e])return e;var n=Vc[e],r;for(r in n)if(n.hasOwnProperty(r)&&r in t6)return f0[e]=n[r];return e}var n6=Nb("animationend"),r6=Nb("animationiteration"),i6=Nb("animationstart"),s6=Nb("transitionend"),a6=new Map,DP="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 Fo(e,n){a6.set(e,n),lc(n,[e])}for(var g0=0;g0<DP.length;g0++){var x0=DP[g0],WV=x0.toLowerCase(),HV=x0[0].toUpperCase()+x0.slice(1);Fo(WV,"on"+HV)}Fo(n6,"onAnimationEnd");Fo(r6,"onAnimationIteration");Fo(i6,"onAnimationStart");Fo("dblclick","onDoubleClick");Fo("focusin","onFocus");Fo("focusout","onBlur");Fo(s6,"onTransitionEnd");Ru("onMouseEnter",["mouseout","mouseover"]);Ru("onMouseLeave",["mouseout","mouseover"]);Ru("onPointerEnter",["pointerout","pointerover"]);Ru("onPointerLeave",["pointerout","pointerover"]);lc("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));lc("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));lc("onBeforeInput",["compositionend","keypress","textInput","paste"]);lc("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));lc("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));lc("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rp="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(" "),GV=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rp));function MP(e,n,r){var i=e.type||"unknown-event";e.currentTarget=r,W9(i,n,void 0,e),e.currentTarget=null}function o6(e,n){n=(n&4)!==0;for(var r=0;r<e.length;r++){var i=e[r],s=i.event;i=i.listeners;e:{var a=void 0;if(n)for(var o=i.length-1;0<=o;o--){var l=i[o],c=l.instance,u=l.currentTarget;if(l=l.listener,c!==a&&s.isPropagationStopped())break e;MP(s,l,u),a=c}else for(o=0;o<i.length;o++){if(l=i[o],c=l.instance,u=l.currentTarget,l=l.listener,c!==a&&s.isPropagationStopped())break e;MP(s,l,u),a=c}}}if(wx)throw e=Kw,wx=!1,Kw=null,e}function pt(e,n){var r=n[i1];r===void 0&&(r=n[i1]=new Set);var i=e+"__bubble";r.has(i)||(l6(n,e,2,!1),r.add(i))}function v0(e,n,r){var i=0;n&&(i|=4),l6(r,e,i,n)}var Lf="_reactListening"+Math.random().toString(36).slice(2);function km(e){if(!e[Lf]){e[Lf]=!0,f_.forEach(function(r){r!=="selectionchange"&&(GV.has(r)||v0(r,!1,e),v0(r,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[Lf]||(n[Lf]=!0,v0("selectionchange",!1,n))}}function l6(e,n,r,i){switch(W_(n)){case 1:var s=oV;break;case 4:s=lV;break;default:s=Ok}r=s.bind(null,n,r,e),s=void 0,!Gw||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(s=!0),i?s!==void 0?e.addEventListener(n,r,{capture:!0,passive:s}):e.addEventListener(n,r,!0):s!==void 0?e.addEventListener(n,r,{passive:s}):e.addEventListener(n,r,!1)}function b0(e,n,r,i,s){var a=i;if(!(n&1)&&!(n&2)&&i!==null)e:for(;;){if(i===null)return;var o=i.tag;if(o===3||o===4){var l=i.stateNode.containerInfo;
vendor: 21,411 bytes, lines 37-38
37if(l===s||l.nodeType===8&&l.parentNode===s)break;if(o===4)for(o=i.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===s||c.nodeType===8&&c.parentNode===s))return;o=o.return}for(;l!==null;){if(o=vl(l),o===null)return;if(c=o.tag,c===5||c===6){i=a=o;continue e}l=l.parentNode}}i=i.return}I_(function(){var u=a,d=Ak(r),p=[];e:{var m=a6.get(e);if(m!==void 0){var h=Dk,g=e;switch(e){case"keypress":if(Qg(r)===0)break e;case"keydown":case"keyup":h=NV;break;case"focusin":g="focus",h=p0;break;case"focusout":g="blur",h=p0;break;case"beforeblur":case"afterblur":h=p0;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":h=CP;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":h=dV;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":h=SV;break;case n6:case r6:case i6:h=hV;break;case s6:h=PV;break;case"scroll":h=cV;break;case"wheel":h=TV;break;case"copy":case"cut":case"paste":h=gV;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":h=EP}var f=(n&4)!==0,x=!f&&e==="scroll",v=f?m!==null?m+"Capture":null:m;f=[];for(var b=u,y;b!==null;){y=b;var N=y.stateNode;if(y.tag===5&&N!==null&&(y=N,v!==null&&(N=vm(b,v),N!=null&&f.push(qm(b,N,y)))),x)break;b=b.return}0<f.length&&(m=new h(m,g,null,r,d),p.push({event:m,listeners:f}))}}if(!(n&7)){e:{if(m=e==="mouseover"||e==="pointerover",h=e==="mouseout"||e==="pointerout",m&&r!==Ww&&(g=r.relatedTarget||r.fromElement)&&(vl(g)||g[ra]))break e;if((h||m)&&(m=d.window===d?d:(m=d.ownerDocument)?m.defaultView||m.parentWindow:window,h?(g=r.relatedTarget||r.toElement,h=u,g=g?vl(g):null,g!==null&&(x=cc(g),g!==x||g.tag!==5&&g.tag!==6)&&(g=null)):(h=null,g=u),h!==g)){if(f=CP,N="onMouseLeave",v="onMouseEnter",b="mouse",(e==="pointerout"||e==="pointerover")&&(f=EP,N="onPointerLeave",v="onPointerEnter",b="pointer"),x=h==null?m:Wc(h),y=g==null?m:Wc(g),m=new f(N,b+"leave",h,r,d),m.target=x,m.relatedTarget=y,N=null,vl(d)===u&&(f=new f(v,b+"enter",g,r,d),f.target=y,f.relatedTarget=x,N=f),x=N,h&&g)t:{for(f=h,v=g,b=0,y=f;y;y=yc(y))b++;for(y=0,N=v;N;N=yc(N))y++;for(;0<b-y;)f=yc(f),b--;for(;0<y-b;)v=yc(v),y--;for(;b--;){if(f===v||v!==null&&f===v.alternate)break t;f=yc(f),v=yc(v)}f=null}else f=null;h!==null&&$P(p,m,h,f,!1),g!==null&&x!==null&&$P(p,x,g,f,!0)}}e:{if(m=u?Wc(u):window,h=m.nodeName&&m.nodeName.toLowerCase(),h==="select"||h==="input"&&m.type==="file")var j=RV;else if(AP(m))if(J_)j=BV;else{j=MV;var w=DV}else(h=m.nodeName)&&h.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(j=$V);if(j&&(j=j(e,u))){Y_(p,j,r,d);break e}w&&w(e,m,u),e==="focusout"&&(w=m._wrapperState)&&w.controlled&&m.type==="number"&&$w(m,"number",m.value)}switch(w=u?Wc(u):window,e){case"focusin":(AP(w)||w.contentEditable==="true")&&(Uc=w,Xw=u,Yp=null);break;case"focusout":Yp=Xw=Uc=null;break;case"mousedown":Zw=!0;break;case"contextmenu":case"mouseup":case"dragend":Zw=!1,RP(p,r,d);break;case"selectionchange":if(VV)break;case"keydown":case"keyup":RP(p,r,d)}var q;if($k)e:{switch(e){case"compositionstart":var P="onCompositionStart";break e;case"compositionend":P="onCompositionEnd";break e;case"compositionupdate":P="onCompositionUpdate";break e}P=void 0}else zc?K_(e,r)&&(P="onCompositionEnd"):e==="keydown"&&r.keyCode===229&&(P="onCompositionStart");P&&(G_&&r.locale!=="ko"&&(zc||P!=="onCompositionStart"?P==="onCompositionEnd"&&zc&&(q=H_()):(co=d,Rk="value"in co?co.value:co.textContent,zc=!0)),w=Cx(u,P),0<w.length&&(P=new PP(P,e,null,r,d),p.push({event:P,listeners:w}),q?P.data=q:(q=Q_(r),q!==null&&(P.data=q)))),(q=AV?LV(e,r):FV(e,r))&&(u=Cx(u,"onBeforeInput"),0<u.length&&(d=new PP("onBeforeInput","beforeinput",null,r,d),p.push({event:d,listeners:u}),d.data=q))}o6(p,n)})}function qm(e,n,r){return{instance:e,listener:n,currentTarget:r}}function Cx(e,n){for(var r=n+"Capture",i=[];e!==null;){var s=e,a=s.stateNode;s.tag===5&&a!==null&&(s=a,a=vm(e,r),a!=null&&i.unshift(qm(e,a,s)),a=vm(e,n),a!=null&&i.push(qm(e,a,s))),e=e.return}return i}function yc(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function $P(e,n,r,i,s){for(var a=n._reactName,o=[];r!==null&&r!==i;){var l=r,c=l.alternate,u=l.stateNode;if(c!==null&&c===i)break;l.tag===5&&u!==null&&(l=u,s?(c=vm(r,a),c!=null&&o.unshift(qm(r,c,l))):s||(c=vm(r,a),c!=null&&o.push(qm(r,c,l)))),r=r.return}o.length!==0&&e.push({event:n,listeners:o})}var KV=/\r\n?/g,QV=/\u0000|\uFFFD/g;function BP(e){return(typeof e=="string"?e:""+e).replace(KV,`
38`).replace(QV,"")}function Ff(e,n,r){if(n=BP(n),BP(e)!==n&&r)throw Error(Z(425))}function Px(){}var e1=null,t1=null;function n1(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var r1=typeof setTimeout=="function"?setTimeout:void 0,YV=typeof clearTimeout=="function"?clearTimeout:void 0,zP=typeof Promise=="function"?Promise:void 0,JV=typeof queueMicrotask=="function"?queueMicrotask:typeof zP<"u"?function(e){return zP.resolve(null).then(e).catch(XV)}:r1;function XV(e){setTimeout(function(){throw e})}function y0(e,n){var r=n,i=0;do{var s=r.nextSibling;if(e.removeChild(r),s&&s.nodeType===8)if(r=s.data,r==="/$"){if(i===0){e.removeChild(s),jm(n);return}i--}else r!=="$"&&r!=="$?"&&r!=="$!"||i++;r=s}while(r);jm(n)}function vo(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?")break;if(n==="/$")return null}}return e}function UP(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var r=e.data;if(r==="$"||r==="$!"||r==="$?"){if(n===0)return e;n--}else r==="/$"&&n++}e=e.previousSibling}return null}var yd=Math.random().toString(36).slice(2),ls="__reactFiber$"+yd,Sm="__reactProps$"+yd,ra="__reactContainer$"+yd,i1="__reactEvents$"+yd,ZV="__reactListeners$"+yd,eW="__reactHandles$"+yd;function vl(e){var n=e[ls];if(n)return n;for(var r=e.parentNode;r;){if(n=r[ra]||r[ls]){if(r=n.alternate,n.child!==null||r!==null&&r.child!==null)for(e=UP(e);e!==null;){if(r=e[ls])return r;e=UP(e)}return n}e=r,r=e.parentNode}return null}function Hh(e){return e=e[ls]||e[ra],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Wc(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(Z(33))}function kb(e){return e[Sm]||null}var s1=[],Hc=-1;function _o(e){return{current:e}}function ft(e){0>Hc||(e.current=s1[Hc],s1[Hc]=null,Hc--)}function ut(e,n){Hc++,s1[Hc]=e.current,e.current=n}var Po={},On=_o(Po),lr=_o(!1),Wl=Po;function Du(e,n){var r=e.type.contextTypes;if(!r)return Po;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var s={},a;for(a in r)s[a]=n[a];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=s),s}function cr(e){return e=e.childContextTypes,e!=null}function Ex(){ft(lr),ft(On)}function VP(e,n,r){if(On.current!==Po)throw Error(Z(168));ut(On,n),ut(lr,r)}function c6(e,n,r){var i=e.stateNode;if(n=n.childContextTypes,typeof i.getChildContext!="function")return r;i=i.getChildContext();for(var s in i)if(!(s in n))throw Error(Z(108,D9(e)||"Unknown",s));return Ct({},r,i)}function Tx(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Po,Wl=On.current,ut(On,e),ut(lr,lr.current),!0}function WP(e,n,r){var i=e.stateNode;if(!i)throw Error(Z(169));r?(e=c6(e,n,Wl),i.__reactInternalMemoizedMergedChildContext=e,ft(lr),ft(On),ut(On,e)):ft(lr),ut(lr,r)}var Bs=null,qb=!1,j0=!1;function u6(e){Bs===null?Bs=[e]:Bs.push(e)}function tW(e){qb=!0,u6(e)}function Oo(){if(!j0&&Bs!==null){j0=!0;var e=0,n=Je;try{var r=Bs;for(Je=1;e<r.length;e++){var i=r[e];do i=i(!0);while(i!==null)}Bs=null,qb=!1}catch(s){throw Bs!==null&&(Bs=Bs.slice(e+1)),__(Lk,Oo),s}finally{Je=n,j0=!1}}return null}var Gc=[],Kc=0,Ix=null,Ax=0,ei=[],ti=0,Hl=null,Us=1,Vs="";function ll(e,n){Gc[Kc++]=Ax,Gc[Kc++]=Ix,Ix=e,Ax=n}function d6(e,n,r){ei[ti++]=Us,ei[ti++]=Vs,ei[ti++]=Hl,Hl=e;var i=Us;e=Vs;var s=32-Mi(i)-1;i&=~(1<<s),r+=1;var a=32-Mi(n)+s;if(30<a){var o=s-s%5;a=(i&(1<<o)-1).toString(32),i>>=o,s-=o,Us=1<<32-Mi(n)+s|r<<s|i,Vs=a+e}else Us=1<<a|r<<s|i,Vs=e}function zk(e){e.return!==null&&(ll(e,1),d6(e,1,0))}function Uk(e){for(;e===Ix;)Ix=Gc[--Kc],Gc[Kc]=null,Ax=Gc[--Kc],Gc[Kc]=null;for(;e===Hl;)Hl=ei[--ti],ei[ti]=null,Vs=ei[--ti],ei[ti]=null,Us=ei[--ti],ei[ti]=null}var Ir=null,Tr=null,yt=!1,Li=null;function p6(e,n){var r=ii(5,null,null,0);r.elementType="DELETED",r.stateNode=n,r.return=e,n=e.deletions,n===null?(e.deletions=[r],e.flags|=16):n.push(r)}function HP(e,n){switch(e.tag){case 5:var r=e.type;return n=n.nodeType!==1||r.toLowerCase()!==n.nodeName.toLowerCase()?null:n,n!==null?(e.stateNode=n,Ir=e,Tr=vo(n.firstChild),!0):!1;case 6:return n=e.pendingProps===""||n.nodeType!==3?null:n,n!==null?(e.stateNode=n,Ir=e,Tr=null,!0):!1;case 13:return n=n.nodeType!==8?null:n,n!==null?(r=Hl!==null?{id:Us,overflow:Vs}:null,e.memoizedState={dehydrated:n,treeContext:r,retryLane:1073741824},r=ii(18,null,null,0),r.stateNode=n,r.return=e,e.child=r,Ir=e,Tr=null,!0):!1;default:return!1}}function a1(e){return(e.mode&1)!==0&&(e.flags&128)===0}function o1(e){if(yt){var n=Tr;if(n){var r=n;if(!HP(e,n)){if(a1(e))throw Error(Z(418));n=vo(r.nextSibling);var i=Ir;n&&HP(e,n)?p6(i,r):(e.flags=e.flags&-4097|2,yt=!1,Ir=e)}}else{if(a1(e))throw Error(Z(418));e.flags=e.flags&-4097|2,yt=!1,Ir=e}}}function GP(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ir=e}function _f(e){if(e!==Ir)return!1;if(!yt)return GP(e),yt=!0,!1;var n;if((n=e.tag!==3)&&!(n=e.tag!==5)&&(n=e.type,n=n!=="head"&&n!=="body"&&!n1(e.type,e.memoizedProps)),n&&(n=Tr)){if(a1(e))throw m6(),Error(Z(418));for(;n;)p6(e,n),n=vo(n.nextSibling)}if(GP(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Z(317));e:{for(e=e.nextSibling,n=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"){if(n===0){Tr=vo(e.nextSibling);break e}n--}else r!=="$"&&r!=="$!"&&r!=="$?"||n++}e=e.nextSibling}Tr=null}}else Tr=Ir?vo(e.stateNode.nextSibling):null;return!0}function m6(){for(var e=Tr;e;)e=vo(e.nextSibling)}function Mu(){Tr=Ir=null,yt=!1}function Vk(e){Li===null?Li=[e]:Li.push(e)}var nW=ga.ReactCurrentBatchConfig;function tp(e,n,r){if(e=r.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(Z(309));var i=r.stateNode}if(!i)throw Error(Z(147,e));var s=i,a=""+e;return n!==null&&n.ref!==null&&typeof n.ref=="function"&&n.ref._stringRef===a?n.ref:(n=function(o){var l=s.refs;o===null?delete l[a]:l[a]=o},n._stringRef=a,n)}if(typeof e!="string")throw Error(Z(284));if(!r._owner)throw Error(Z(290,e))}return e}function Of(e,n){throw e=Object.prototype.toString.call(n),Error(Z(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e))}function KP(e){var n=e._init;return n(e._payload)}function h6(e){function n(v,b){if(e){var y=v.deletions;y===null?(v.deletions=[b],v.flags|=16):y.push(b)}}function r(v,b){if(!e)return null;for(;b!==null;)n(v,b),b=b.sibling;return null}function i(v,b){for(v=new Map;b!==null;)b.key!==null?v.set(b.key,b):v.set(b.index,b),b=b.sibling;return v}function s(v,b){return v=wo(v,b),v.index=0,v.sibling=null,v}function a(v,b,y){return v.index=y,e?(y=v.alternate,y!==null?(y=y.index,y<b?(v.flags|=2,b):y):(v.flags|=2,b)):(v.flags|=1048576,b)}function o(v){return e&&v.alternate===null&&(v.flags|=2),v}function l(v,b,y,N){return b===null||b.tag!==6?(b=P0(y,v.mode,N),b.return=v,b):(b=s(b,y),b.return=v,b)}function c(v,b,y,N){var j=y.type;return j===Bc?d(v,b,y.props.children,N,y.key):b!==null&&(b.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===Ha&&KP(j)===b.type)?(N=s(b,y.props),N.ref=tp(v,b,y),N.return=v,N):(N=nx(y.type,y.key,y.props,null,v.mode,N),N.ref=tp(v,b,y),N.return=v,N)}function u(v,b,y,N){return b===null||b.tag!==4||b.stateNode.containerInfo!==y.containerInfo||b.stateNode.implementation!==y.implementation?(b=E0(y,v.mode,N),b.return=v,b):(b=s(b,y.children||[]),b.return=v,b)}function d(v,b,y,N,j){return b===null||b.tag!==7?(b=Ml(y,v.mode,N,j),b.return=v,b):(b=s(b,y),b.return=v,b)}function p(v,b,y){if(typeof b=="string"&&b!==""||typeof b=="number")return b=P0(""+b,v.mode,y),b.return=v,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case qf:return y=nx(b.type,b.key,b.props,null,v.mode,y),y.ref=tp(v,null,b),y.return=v,y;case $c:return b=E0(b,v.mode,y),b.return=v,b;case Ha:var N=b._init;return p(v,N(b._payload),y)}if(_p(b)||Yd(b))return b=Ml(b,v.mode,y,null),b.return=v,b;Of(v,b)}return null}function m(v,b,y,N){var j=b!==null?b.key:null;if(typeof y=="string"&&y!==""||typeof y=="number")return j!==null?null:l(v,b,""+y,N);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case qf:return y.key===j?c(v,b,y,N):null;case $c:return y.key===j?u(v,b,y,N):null;case Ha:return j=y._init,m(v,b,j(y._payload),N)}if(_p(y)||Yd(y))return j!==null?null:d(v,b,y,N,null);Of(v,y)}return null}function h(v,b,y,N,j){if(typeof N=="string"&&N!==""||typeof N=="number")return v=v.get(y)||null,l(b,v,""+N,j);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case qf:return v=v.get(N.key===null?y:N.key)||null,c(b,v,N,j);case $c:return v=v.get(N.key===null?y:N.key)||null,u(b,v,N,j);case Ha:var w=N._init;return h(v,b,y,w(N._payload),j)}if(_p(N)||Yd(N))return v=v.get(y)||null,d(b,v,N,j,null);Of(b,N)}return null}function g(v,b,y,N){for(var j=null,w=null,q=b,P=b=0,T=null;q!==null&&P<y.length;P++){q.index>P?(T=q,q=null):T=q.sibling;var E=m(v,q,y[P],N);if(E===null){q===null&&(q=T);break}e&&q&&E.alternate===null&&n(v,q),b=a(E,b,P),w===null?j=E:w.sibling=E,w=E,q=T}if(P===y.length)return r(v,q),yt&&ll(v,P),j;if(q===null){for(;P<y.length;P++)q=p(v,y[P],N),q!==null&&(b=a(q,b,P),w===null?j=q:w.sibling=q,w=q);return yt&&ll(v,P),j}for(q=i(v,q);P<y.length;P++)T=h(q,v,P,y[P],N),T!==null&&(e&&T.alternate!==null&&q.delete(T.key===null?P:T.key),b=a(T,b,P),w===null?j=T:w.sibling=T,w=T);return e&&q.forEach(function(A){return n(v,A)}),yt&&ll(v,P),j}function f(v,b,y,N){var j=Yd(y);if(typeof j!="function")throw Error(Z(150));if(y=j.call(y),y==null)throw Error(Z(151));for(var w=j=null,q=b,P=b=0,T=null,E=y.next();q!==null&&!E.done;P++,E=y.next()){q.index>P?(T=q,q=null):T=q.sibling;var A=m(v,q,E.value,N);if(A===null){q===null&&(q=T);break}e&&q&&A.alternate===null&&n(v,q),b=a(A,b,P),w===null?j=A:w.sibling=A,w=A,q=T}if(E.done)return r(v,q),yt&&ll(v,P),j;if(q===null){for(;!E.done;P++,E=y.next())E=p(v,E.value,N),E!==null&&(b=a(E,b,P),w===null?j=E:w.sibling=E,w=E);return yt&&ll(v,P),j}for(q=i(v,q);!E.done;P++,E=y.next())E=h(q,v,P,E.value,N),E!==null&&(e&&E.alternate!==null&&q.delete(E.key===null?P:E.key),b=a(E,b,P),w===null?j=E:w.sibling=E,w=E);return e&&q.forEach(function(_){return n(v,_)}),yt&&ll(v,P),j}function x(v,b,y,N){if(typeof y=="object"&&y!==null&&y.type===Bc&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case qf:e:{for(var j=y.key,w=b;w!==null;){if(w.key===j){if(j=y.type,j===Bc){if(w.tag===7){r(v,w.sibling),b=s(w,y.props.children),b.return=v,v=b;break e}}else if(w.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===Ha&&KP(j)===w.type){r(v,w.sibling),b=s(w,y.props),b.ref=tp(v,w,y),b.return=v,v=b;break e}r(v,w);break}else n(v,w);w=w.sibling}y.type===Bc?(b=Ml(y.props.children,v.mode,N,y.key),b.return=v,v=b):(N=nx(y.type,y.key,y.props,null,v.mode,N),N.ref=tp(v,b,y),N.return=v,v=N)}return o(v);case $c:e:{for(w=y.key;b!==null;){if(b.key===w)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){r(v,b.sibling),b=s(b,y.children||[]),b.return=v,v=b;break e}else{r(v,b);break}else n(v,b);b=b.sibling}b=E0(y,v.mode,N),b.return=v,v=b}return o(v);case Ha:return w=y._init,x(v,b,w(y._payload),N)}if(_p(y))return g(v,b,y,N);if(Yd(y))return f(v,b,y,N);Of(v,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(r(v,b.sibling),b=s(b,y),b.return=v,v=b):(r(v,b),b=P0(y,v.mode,N),b.return=v,v=b),o(v)):r(v,b)}return x}var $u=h6(!0),f6=h6(!1),Lx=_o(null),Fx=null,Qc=null,Wk=null;function Hk(){Wk=Qc=Fx=null}function Gk(e){var n=Lx.current;ft(Lx),e._currentValue=n}function l1(e,n,r){for(;e!==null;){var i=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,i!==null&&(i.childLanes|=n)):i!==null&&(i.childLanes&n)!==n&&(i.childLanes|=n),e===r)break;e=e.return}}function pu(e,n){Fx=e,Wk=Qc=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&n&&(ar=!0),e.firstContext=null)}function li(e){var n=e._currentValue;if(Wk!==e)if(e={context:e,memoizedValue:n,next:null},Qc===null){if(Fx===null)throw Error(Z(308));Qc=e,Fx.dependencies={lanes:0,firstContext:e}}else Qc=Qc.next=e;return n}var bl=null;function Kk(e){bl===null?bl=[e]:bl.push(e)}function g6(e,n,r,i){var s=n.interleaved;return s===null?(r.next=r,Kk(n)):(r.next=s.next,s.next=r),n.interleaved=r,ia(e,i)}function ia(e,n){e.lanes|=n;var r=e.alternate;for(r!==null&&(r.lanes|=n),r=e,e=e.return;e!==null;)e.childLanes|=n,r=e.alternate,r!==null&&(r.childLanes|=n),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Ga=!1;function Qk(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function x6(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ks(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function bo(e,n,r){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,ze&2){var s=i.pending;return s===null?n.next=n:(n.next=s.next,s.next=n),i.pending=n,ia(e,r)}return s=i.interleaved,s===null?(n.next=n,Kk(i)):(n.next=s.next,s.next=n),i.interleaved=n,ia(e,r)}function Yg(e,n,r){if(n=n.updateQueue,n!==null&&(n=n.shared,(r&4194240)!==0)){var i=n.lanes;i&=e.pendingLanes,r|=i,n.lanes=r,Fk(e,r)}}function QP(e,n){var r=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,r===i)){var s=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?s=a=o:a=a.next=o,r=r.next}while(r!==null);a===null?s=a=n:a=a.next=n}else s=a=n;r={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:a,shared:i.shared,effects:i.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=n:e.next=n,r.lastBaseUpdate=n}function _x(e,n,r,i){var s=e.updateQueue;Ga=!1;var a=s.firstBaseUpdate,o=s.lastBaseUpdate,l=s.shared.pending;if(l!==null){s.shared.pending=null;var c=l,u=c.next;c.next=null,o===null?a=u:o.next=u,o=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==o&&(l===null?d.firstBaseUpdate=u:l.next=u,d.lastBaseUpdate=c))}if(a!==null){var p=s.baseState;o=0,d=u=c=null,l=a;do{var m=l.lane,h=l.eventTime;if((i&m)===m){d!==null&&(d=d.next={eventTime:h,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var g=e,f=l;switch(m=n,h=r,f.tag){case 1:if(g=f.payload,typeof g=="function"){p=g.call(h,p,m);break e}p=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=f.payload,m=typeof g=="function"?g.call(h,p,m):g,m==null)break e;p=Ct({},p,m);break e;case 2:Ga=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,m=s.effects,m===null?s.effects=[l]:m.push(l))}else h={eventTime:h,lane:m,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(u=d=h,c=p):d=d.next=h,o|=m;if(l=l.next,l===null){if(l=s.shared.pending,l===null)break;m=l,l=m.next,m.next=null,s.lastBaseUpdate=m,s.shared.pending=null}}while(!0);if(d===null&&(c=p),s.baseState=c,s.firstBaseUpdate=u,s.lastBaseUpdate=d,n=s.shared.interleaved,n!==null){s=n;do o|=s.lane,s=s.next;while(s!==n)}else a===null&&(s.shared.lanes=0);Kl|=o,e.lanes=o,e.memoizedState=p}}function YP(e,n,r){if(e=n.effects,n.effects=null,e!==null)for(n=0;n<e.length;n++){var i=e[n],s=i.callback;if(s!==null){if(i.callback=null,i=r,typeof s!="function")throw Error(Z(191,s));s.call(i)}}}var Gh={},hs=_o(Gh),Cm=_o(Gh),Pm=_o(Gh);function yl(e){if(e===Gh)throw Error(Z(174));return e}function Yk(e,n){switch(ut(Pm,n),ut(Cm,e),ut(hs,Gh),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:zw(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=zw(n,e)}ft(hs),ut(hs,n)}function Bu(){ft(hs),ft(Cm),ft(Pm)}function v6(e){yl(Pm.current);var n=yl(hs.current),r=zw(n,e.type);n!==r&&(ut(Cm,e),ut(hs,r))}function Jk(e){Cm.current===e&&(ft(hs),ft(Cm))}var wt=_o(0);function Ox(e){for(var n=e;n!==null;){if(n.tag===13){var r=n.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var w0=[];function Xk(){for(var e=0;e<w0.length;e++)w0[e]._workInProgressVersionPrimary=null;w0.length=0}var Jg=ga.ReactCurrentDispatcher,N0=ga.ReactCurrentBatchConfig,Gl=0,qt=null,en=null,cn=null,Rx=!1,Jp=!1,Em=0,rW=0;
vendor: 8,356 bytes, line 38
38function wn(){throw Error(Z(321))}function Zk(e,n){if(n===null)return!1;for(var r=0;r<n.length&&r<e.length;r++)if(!Vi(e[r],n[r]))return!1;return!0}function eq(e,n,r,i,s,a){if(Gl=a,qt=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,Jg.current=e===null||e.memoizedState===null?oW:lW,e=r(i,s),Jp){a=0;do{if(Jp=!1,Em=0,25<=a)throw Error(Z(301));a+=1,cn=en=null,n.updateQueue=null,Jg.current=cW,e=r(i,s)}while(Jp)}if(Jg.current=Dx,n=en!==null&&en.next!==null,Gl=0,cn=en=qt=null,Rx=!1,n)throw Error(Z(300));return e}function tq(){var e=Em!==0;return Em=0,e}function ts(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return cn===null?qt.memoizedState=cn=e:cn=cn.next=e,cn}function ci(){if(en===null){var e=qt.alternate;e=e!==null?e.memoizedState:null}else e=en.next;var n=cn===null?qt.memoizedState:cn.next;if(n!==null)cn=n,en=e;else{if(e===null)throw Error(Z(310));en=e,e={memoizedState:en.memoizedState,baseState:en.baseState,baseQueue:en.baseQueue,queue:en.queue,next:null},cn===null?qt.memoizedState=cn=e:cn=cn.next=e}return cn}function Tm(e,n){return typeof n=="function"?n(e):n}function k0(e){var n=ci(),r=n.queue;if(r===null)throw Error(Z(311));r.lastRenderedReducer=e;var i=en,s=i.baseQueue,a=r.pending;if(a!==null){if(s!==null){var o=s.next;s.next=a.next,a.next=o}i.baseQueue=s=a,r.pending=null}if(s!==null){a=s.next,i=i.baseState;var l=o=null,c=null,u=a;do{var d=u.lane;if((Gl&d)===d)c!==null&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),i=u.hasEagerState?u.eagerState:e(i,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};c===null?(l=c=p,o=i):c=c.next=p,qt.lanes|=d,Kl|=d}u=u.next}while(u!==null&&u!==a);c===null?o=i:c.next=l,Vi(i,n.memoizedState)||(ar=!0),n.memoizedState=i,n.baseState=o,n.baseQueue=c,r.lastRenderedState=i}if(e=r.interleaved,e!==null){s=e;do a=s.lane,qt.lanes|=a,Kl|=a,s=s.next;while(s!==e)}else s===null&&(r.lanes=0);return[n.memoizedState,r.dispatch]}function q0(e){var n=ci(),r=n.queue;if(r===null)throw Error(Z(311));r.lastRenderedReducer=e;var i=r.dispatch,s=r.pending,a=n.memoizedState;if(s!==null){r.pending=null;var o=s=s.next;do a=e(a,o.action),o=o.next;while(o!==s);Vi(a,n.memoizedState)||(ar=!0),n.memoizedState=a,n.baseQueue===null&&(n.baseState=a),r.lastRenderedState=a}return[a,i]}function b6(){}function y6(e,n){var r=qt,i=ci(),s=n(),a=!Vi(i.memoizedState,s);if(a&&(i.memoizedState=s,ar=!0),i=i.queue,nq(N6.bind(null,r,i,e),[e]),i.getSnapshot!==n||a||cn!==null&&cn.memoizedState.tag&1){if(r.flags|=2048,Im(9,w6.bind(null,r,i,s,n),void 0,null),un===null)throw Error(Z(349));Gl&30||j6(r,n,s)}return s}function j6(e,n,r){e.flags|=16384,e={getSnapshot:n,value:r},n=qt.updateQueue,n===null?(n={lastEffect:null,stores:null},qt.updateQueue=n,n.stores=[e]):(r=n.stores,r===null?n.stores=[e]:r.push(e))}function w6(e,n,r,i){n.value=r,n.getSnapshot=i,k6(n)&&q6(e)}function N6(e,n,r){return r(function(){k6(n)&&q6(e)})}function k6(e){var n=e.getSnapshot;e=e.value;try{var r=n();return!Vi(e,r)}catch{return!0}}function q6(e){var n=ia(e,1);n!==null&&$i(n,e,1,-1)}function JP(e){var n=ts();return typeof e=="function"&&(e=e()),n.memoizedState=n.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Tm,lastRenderedState:e},n.queue=e,e=e.dispatch=aW.bind(null,qt,e),[n.memoizedState,e]}function Im(e,n,r,i){return e={tag:e,create:n,destroy:r,deps:i,next:null},n=qt.updateQueue,n===null?(n={lastEffect:null,stores:null},qt.updateQueue=n,n.lastEffect=e.next=e):(r=n.lastEffect,r===null?n.lastEffect=e.next=e:(i=r.next,r.next=e,e.next=i,n.lastEffect=e)),e}function S6(){return ci().memoizedState}function Xg(e,n,r,i){var s=ts();qt.flags|=e,s.memoizedState=Im(1|n,r,void 0,i===void 0?null:i)}function Sb(e,n,r,i){var s=ci();i=i===void 0?null:i;var a=void 0;if(en!==null){var o=en.memoizedState;if(a=o.destroy,i!==null&&Zk(i,o.deps)){s.memoizedState=Im(n,r,a,i);return}}qt.flags|=e,s.memoizedState=Im(1|n,r,a,i)}function XP(e,n){return Xg(8390656,8,e,n)}function nq(e,n){return Sb(2048,8,e,n)}function C6(e,n){return Sb(4,2,e,n)}function P6(e,n){return Sb(4,4,e,n)}function E6(e,n){if(typeof n=="function")return e=e(),n(e),function(){n(null)};if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function T6(e,n,r){return r=r!=null?r.concat([e]):null,Sb(4,4,E6.bind(null,n,e),r)}function rq(){}function I6(e,n){var r=ci();n=n===void 0?null:n;var i=r.memoizedState;return i!==null&&n!==null&&Zk(n,i[1])?i[0]:(r.memoizedState=[e,n],e)}function A6(e,n){var r=ci();n=n===void 0?null:n;var i=r.memoizedState;return i!==null&&n!==null&&Zk(n,i[1])?i[0]:(e=e(),r.memoizedState=[e,n],e)}function L6(e,n,r){return Gl&21?(Vi(r,n)||(r=D_(),qt.lanes|=r,Kl|=r,e.baseState=!0),n):(e.baseState&&(e.baseState=!1,ar=!0),e.memoizedState=r)}function iW(e,n){var r=Je;Je=r!==0&&4>r?r:4,e(!0);var i=N0.transition;N0.transition={};try{e(!1),n()}finally{Je=r,N0.transition=i}}function F6(){return ci().memoizedState}function sW(e,n,r){var i=jo(e);if(r={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null},_6(e))O6(n,r);else if(r=g6(e,n,r,i),r!==null){var s=Gn();$i(r,e,i,s),R6(r,n,i)}}function aW(e,n,r){var i=jo(e),s={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null};if(_6(e))O6(n,s);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=n.lastRenderedReducer,a!==null))try{var o=n.lastRenderedState,l=a(o,r);if(s.hasEagerState=!0,s.eagerState=l,Vi(l,o)){var c=n.interleaved;c===null?(s.next=s,Kk(n)):(s.next=c.next,c.next=s),n.interleaved=s;return}}catch{}finally{}r=g6(e,n,s,i),r!==null&&(s=Gn(),$i(r,e,i,s),R6(r,n,i))}}function _6(e){var n=e.alternate;return e===qt||n!==null&&n===qt}function O6(e,n){Jp=Rx=!0;var r=e.pending;r===null?n.next=n:(n.next=r.next,r.next=n),e.pending=n}function R6(e,n,r){if(r&4194240){var i=n.lanes;i&=e.pendingLanes,r|=i,n.lanes=r,Fk(e,r)}}var Dx={readContext:li,useCallback:wn,useContext:wn,useEffect:wn,useImperativeHandle:wn,useInsertionEffect:wn,useLayoutEffect:wn,useMemo:wn,useReducer:wn,useRef:wn,useState:wn,useDebugValue:wn,useDeferredValue:wn,useTransition:wn,useMutableSource:wn,useSyncExternalStore:wn,useId:wn,unstable_isNewReconciler:!1},oW={readContext:li,useCallback:function(e,n){return ts().memoizedState=[e,n===void 0?null:n],e},useContext:li,useEffect:XP,useImperativeHandle:function(e,n,r){return r=r!=null?r.concat([e]):null,Xg(4194308,4,E6.bind(null,n,e),r)},useLayoutEffect:function(e,n){return Xg(4194308,4,e,n)},useInsertionEffect:function(e,n){return Xg(4,2,e,n)},useMemo:function(e,n){var r=ts();return n=n===void 0?null:n,e=e(),r.memoizedState=[e,n],e},useReducer:function(e,n,r){var i=ts();return n=r!==void 0?r(n):n,i.memoizedState=i.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},i.queue=e,e=e.dispatch=sW.bind(null,qt,e),[i.memoizedState,e]},useRef:function(e){var n=ts();return e={current:e},n.memoizedState=e},useState:JP,useDebugValue:rq,useDeferredValue:function(e){return ts().memoizedState=e},useTransition:function(){var e=JP(!1),n=e[0];return e=iW.bind(null,e[1]),ts().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,r){var i=qt,s=ts();if(yt){if(r===void 0)throw Error(Z(407));r=r()}else{if(r=n(),un===null)throw Error(Z(349));Gl&30||j6(i,n,r)}s.memoizedState=r;var a={value:r,getSnapshot:n};return s.queue=a,XP(N6.bind(null,i,a,e),[e]),i.flags|=2048,Im(9,w6.bind(null,i,a,r,n),void 0,null),r},useId:function(){var e=ts(),n=un.identifierPrefix;if(yt){var r=Vs,i=Us;r=(i&~(1<<32-Mi(i)-1)).toString(32)+r,n=":"+n+"R"+r,r=Em++,0<r&&(n+="H"+r.toString(32)),n+=":"}else r=rW++,n=":"+n+"r"+r.toString(32)+":";return e.memoizedState=n},unstable_isNewReconciler:!1},lW={readContext:li,useCallback:I6,useContext:li,useEffect:nq,useImperativeHandle:T6,useInsertionEffect:C6,useLayoutEffect:P6,useMemo:A6,useReducer:k0,useRef:S6,useState:function(){return k0(Tm)},useDebugValue:rq,useDeferredValue:function(e){var n=ci();return L6(n,en.memoizedState,e)},useTransition:function(){var e=k0(Tm)[0],n=ci().memoizedState;return[e,n]},useMutableSource:b6,useSyncExternalStore:y6,useId:F6,unstable_isNewReconciler:!1},cW={readContext:li,useCallback:I6,useContext:li,useEffect:nq,useImperativeHandle:T6,useInsertionEffect:C6,useLayoutEffect:P6,useMemo:A6,useReducer:q0,useRef
vendor: 4,271 bytes, lines 38-40
38:S6,useState:function(){return q0(Tm)},useDebugValue:rq,useDeferredValue:function(e){var n=ci();return en===null?n.memoizedState=e:L6(n,en.memoizedState,e)},useTransition:function(){var e=q0(Tm)[0],n=ci().memoizedState;return[e,n]},useMutableSource:b6,useSyncExternalStore:y6,useId:F6,unstable_isNewReconciler:!1};function Si(e,n){if(e&&e.defaultProps){n=Ct({},n),e=e.defaultProps;for(var r in e)n[r]===void 0&&(n[r]=e[r]);return n}return n}function c1(e,n,r,i){n=e.memoizedState,r=r(i,n),r=r==null?n:Ct({},n,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var Cb={isMounted:function(e){return(e=e._reactInternals)?cc(e)===e:!1},enqueueSetState:function(e,n,r){e=e._reactInternals;var i=Gn(),s=jo(e),a=Ks(i,s);a.payload=n,r!=null&&(a.callback=r),n=bo(e,a,s),n!==null&&($i(n,e,s,i),Yg(n,e,s))},enqueueReplaceState:function(e,n,r){e=e._reactInternals;var i=Gn(),s=jo(e),a=Ks(i,s);a.tag=1,a.payload=n,r!=null&&(a.callback=r),n=bo(e,a,s),n!==null&&($i(n,e,s,i),Yg(n,e,s))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var r=Gn(),i=jo(e),s=Ks(r,i);s.tag=2,n!=null&&(s.callback=n),n=bo(e,s,i),n!==null&&($i(n,e,i,r),Yg(n,e,i))}};function ZP(e,n,r,i,s,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(i,a,o):n.prototype&&n.prototype.isPureReactComponent?!Nm(r,i)||!Nm(s,a):!0}function D6(e,n,r){var i=!1,s=Po,a=n.contextType;return typeof a=="object"&&a!==null?a=li(a):(s=cr(n)?Wl:On.current,i=n.contextTypes,a=(i=i!=null)?Du(e,s):Po),n=new n(r,a),e.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Cb,e.stateNode=n,n._reactInternals=e,i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=s,e.__reactInternalMemoizedMaskedChildContext=a),n}function eE(e,n,r,i){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(r,i),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(r,i),n.state!==e&&Cb.enqueueReplaceState(n,n.state,null)}function u1(e,n,r,i){var s=e.stateNode;s.props=r,s.state=e.memoizedState,s.refs={},Qk(e);var a=n.contextType;typeof a=="object"&&a!==null?s.context=li(a):(a=cr(n)?Wl:On.current,s.context=Du(e,a)),s.state=e.memoizedState,a=n.getDerivedStateFromProps,typeof a=="function"&&(c1(e,n,a,r),s.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(n=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),n!==s.state&&Cb.enqueueReplaceState(s,s.state,null),_x(e,r,s,i),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4194308)}function zu(e,n){try{var r="",i=n;do r+=R9(i),i=i.return;while(i);var s=r}catch(a){s=`
39Error generating stack: `+a.message+`
40`+a.stack}return{value:e,source:n,stack:s,digest:null}}function S0(e,n,r){return{value:e,source:null,stack:r??null,digest:n??null}}function d1(e,n){try{console.error(n.value)}catch(r){setTimeout(function(){throw r})}}var uW=typeof WeakMap=="function"?WeakMap:Map;function M6(e,n,r){r=Ks(-1,r),r.tag=3,r.payload={element:null};var i=n.value;return r.callback=function(){$x||($x=!0,j1=i),d1(e,n)},r}function $6(e,n,r){r=Ks(-1,r),r.tag=3;var i=e.type.getDerivedStateFromError;if(typeof i=="function"){var s=n.value;r.payload=function(){return i(s)},r.callback=function(){d1(e,n)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(r.callback=function(){d1(e,n),typeof i!="function"&&(yo===null?yo=new Set([this]):yo.add(this));var o=n.stack;this.componentDidCatch(n.value,{componentStack:o!==null?o:""})}),r}function tE(e,n,r){var i=e.pingCache;if(i===null){i=e.pingCache=new uW;var s=new Set;i.set(n,s)}else s=i.get(n),s===void 0&&(s=new Set,i.set(n,s));s.has(r)||(s.add(r),e=kW.bind(null,e,n,r),n.then(e,e))}function nE(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function rE(e,n,r,i,s){return e.mode&1?(e.flags|=65536,e.lanes=s,e):(e===n?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(n=Ks(-1,
vendor: 6,195 bytes, line 40
401),n.tag=2,bo(r,n,1))),r.lanes|=1),e)}var dW=ga.ReactCurrentOwner,ar=!1;function zn(e,n,r,i){n.child=e===null?f6(n,null,r,i):$u(n,e.child,r,i)}function iE(e,n,r,i,s){r=r.render;var a=n.ref;return pu(n,s),i=eq(e,n,r,i,a,s),r=tq(),e!==null&&!ar?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~s,sa(e,n,s)):(yt&&r&&zk(n),n.flags|=1,zn(e,n,i,s),n.child)}function sE(e,n,r,i,s){if(e===null){var a=r.type;return typeof a=="function"&&!dq(a)&&a.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(n.tag=15,n.type=a,B6(e,n,a,i,s)):(e=nx(r.type,null,i,n,n.mode,s),e.ref=n.ref,e.return=n,n.child=e)}if(a=e.child,!(e.lanes&s)){var o=a.memoizedProps;if(r=r.compare,r=r!==null?r:Nm,r(o,i)&&e.ref===n.ref)return sa(e,n,s)}return n.flags|=1,e=wo(a,i),e.ref=n.ref,e.return=n,n.child=e}function B6(e,n,r,i,s){if(e!==null){var a=e.memoizedProps;if(Nm(a,i)&&e.ref===n.ref)if(ar=!1,n.pendingProps=i=a,(e.lanes&s)!==0)e.flags&131072&&(ar=!0);else return n.lanes=e.lanes,sa(e,n,s)}return p1(e,n,r,i,s)}function z6(e,n,r){var i=n.pendingProps,s=i.children,a=e!==null?e.memoizedState:null;if(i.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},ut(Jc,qr),qr|=r;else{if(!(r&1073741824))return e=a!==null?a.baseLanes|r:r,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,ut(Jc,qr),qr|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=a!==null?a.baseLanes:r,ut(Jc,qr),qr|=i}else a!==null?(i=a.baseLanes|r,n.memoizedState=null):i=r,ut(Jc,qr),qr|=i;return zn(e,n,s,r),n.child}function U6(e,n){var r=n.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(n.flags|=512,n.flags|=2097152)}function p1(e,n,r,i,s){var a=cr(r)?Wl:On.current;return a=Du(n,a),pu(n,s),r=eq(e,n,r,i,a,s),i=tq(),e!==null&&!ar?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~s,sa(e,n,s)):(yt&&i&&zk(n),n.flags|=1,zn(e,n,r,s),n.child)}function aE(e,n,r,i,s){if(cr(r)){var a=!0;Tx(n)}else a=!1;if(pu(n,s),n.stateNode===null)Zg(e,n),D6(n,r,i),u1(n,r,i,s),i=!0;else if(e===null){var o=n.stateNode,l=n.memoizedProps;o.props=l;var c=o.context,u=r.contextType;typeof u=="object"&&u!==null?u=li(u):(u=cr(r)?Wl:On.current,u=Du(n,u));var d=r.getDerivedStateFromProps,p=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function";p||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==i||c!==u)&&eE(n,o,i,u),Ga=!1;var m=n.memoizedState;o.state=m,_x(n,i,o,s),c=n.memoizedState,l!==i||m!==c||lr.current||Ga?(typeof d=="function"&&(c1(n,r,d,i),c=n.memoizedState),(l=Ga||ZP(n,r,l,i,m,c,u))?(p||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"&&(n.flags|=4194308)):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=i,n.memoizedState=c),o.props=i,o.state=c,o.context=u,i=l):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),i=!1)}else{o=n.stateNode,x6(e,n),l=n.memoizedProps,u=n.type===n.elementType?l:Si(n.type,l),o.props=u,p=n.pendingProps,m=o.context,c=r.contextType,typeof c=="object"&&c!==null?c=li(c):(c=cr(r)?Wl:On.current,c=Du(n,c));var h=r.getDerivedStateFromProps;(d=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==p||m!==c)&&eE(n,o,i,c),Ga=!1,m=n.memoizedState,o.state=m,_x(n,i,o,s);var g=n.memoizedState;l!==p||m!==g||lr.current||Ga?(typeof h=="function"&&(c1(n,r,h,i),g=n.memoizedState),(u=Ga||ZP(n,r,u,i,m,g,c)||!1)?(d||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,g,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,g,c)),typeof o.componentDidUpdate=="function"&&(n.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(n.flags|=1024),n.memoizedProps=i,n.memoizedState=g),o.props=i,o.state=g,o.context=c,i=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(n.flags|=1024),i=!1)}return m1(e,n,r,i,a,s)}function m1(e,n,r,i,s,a){U6(e,n);var o=(n.flags&128)!==0;if(!i&&!o)return s&&WP(n,r,!1),sa(e,n,a);i=n.stateNode,dW.current=n;var l=o&&typeof r.getDerivedStateFromError!="function"?null:i.render();return n.flags|=1,e!==null&&o?(n.child=$u(n,e.child,null,a),n.child=$u(n,null,l,a)):zn(e,n,l,a),n.memoizedState=i.state,s&&WP(n,r,!0),n.child}function V6(e){var n=e.stateNode;n.pendingContext?VP(e,n.pendingContext,n.pendingContext!==n.context):n.context&&VP(e,n.context,!1),Yk(e,n.containerInfo)}function oE(e,n,r,i,s){return Mu(),Vk(s),n.flags|=256,zn(e,n,r,i),n.child}var h1={dehydrated:null,treeContext:null,retryLane:0};function f1(e){return{baseLanes:e,cachePool:null,transitions:null}}function W6(e,n,r){var i=n.pendingProps,s=wt.current,a=!1,o=(n.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(s&2)!==0),l?(a=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(s|=1),ut(wt,s&1),e===null)return o1(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(n.mode&1?e.data==="$!"?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(o=i.children,e=i.fallback,a?(i=n.mode,a=n.child,o={mode:"hidden",children:o},!(i&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=Tb(o,i,0,null),e=Ml(e,i,r,null),a.return=n,e.return=n,a.sibling=e,n.child=a,n.child.memoizedState=f1(r),n.memoizedState=h1,e):iq(n,o));if(s=e.memoizedState,s!==null&&(l=s.dehydrated,l!==null))return pW(e,n,o,i,l,s,r);if(a){a=i.fallback,o=n.mode,s=e.child,l=s.sibling;var c={mode:"hidden",children:i.children};return!(o&1)&&n.child!==s?(i=n.child,i.childLanes=0,i.pendingProps=c,n.deleti
vendor: 9,132 bytes, line 40
40ons=null):(i=wo(s,c),i.subtreeFlags=s.subtreeFlags&14680064),l!==null?a=wo(l,a):(a=Ml(a,o,r,null),a.flags|=2),a.return=n,i.return=n,i.sibling=a,n.child=i,i=a,a=n.child,o=e.child.memoizedState,o=o===null?f1(r):{baseLanes:o.baseLanes|r,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~r,n.memoizedState=h1,i}return a=e.child,e=a.sibling,i=wo(a,{mode:"visible",children:i.children}),!(n.mode&1)&&(i.lanes=r),i.return=n,i.sibling=null,e!==null&&(r=n.deletions,r===null?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=i,n.memoizedState=null,i}function iq(e,n){return n=Tb({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function Rf(e,n,r,i){return i!==null&&Vk(i),$u(n,e.child,null,r),e=iq(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function pW(e,n,r,i,s,a,o){if(r)return n.flags&256?(n.flags&=-257,i=S0(Error(Z(422))),Rf(e,n,o,i)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(a=i.fallback,s=n.mode,i=Tb({mode:"visible",children:i.children},s,0,null),a=Ml(a,s,o,null),a.flags|=2,i.return=n,a.return=n,i.sibling=a,n.child=i,n.mode&1&&$u(n,e.child,null,o),n.child.memoizedState=f1(o),n.memoizedState=h1,a);if(!(n.mode&1))return Rf(e,n,o,null);if(s.data==="$!"){if(i=s.nextSibling&&s.nextSibling.dataset,i)var l=i.dgst;return i=l,a=Error(Z(419)),i=S0(a,i,void 0),Rf(e,n,o,i)}if(l=(o&e.childLanes)!==0,ar||l){if(i=un,i!==null){switch(o&-o){case 4:s=2;break;case 16:s=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:s=32;break;case 536870912:s=268435456;break;default:s=0}s=s&(i.suspendedLanes|o)?0:s,s!==0&&s!==a.retryLane&&(a.retryLane=s,ia(e,s),$i(i,e,s,-1))}return uq(),i=S0(Error(Z(421))),Rf(e,n,o,i)}return s.data==="$?"?(n.flags|=128,n.child=e.child,n=qW.bind(null,e),s._reactRetry=n,null):(e=a.treeContext,Tr=vo(s.nextSibling),Ir=n,yt=!0,Li=null,e!==null&&(ei[ti++]=Us,ei[ti++]=Vs,ei[ti++]=Hl,Us=e.id,Vs=e.overflow,Hl=n),n=iq(n,i.children),n.flags|=4096,n)}function lE(e,n,r){e.lanes|=n;var i=e.alternate;i!==null&&(i.lanes|=n),l1(e.return,n,r)}function C0(e,n,r,i,s){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:i,tail:r,tailMode:s}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=i,a.tail=r,a.tailMode=s)}function H6(e,n,r){var i=n.pendingProps,s=i.revealOrder,a=i.tail;if(zn(e,n,i.children,r),i=wt.current,i&2)i=i&1|2,n.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&lE(e,r,n);else if(e.tag===19)lE(e,r,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(ut(wt,i),!(n.mode&1))n.memoizedState=null;else switch(s){case"forwards":for(r=n.child,s=null;r!==null;)e=r.alternate,e!==null&&Ox(e)===null&&(s=r),r=r.sibling;r=s,r===null?(s=n.child,n.child=null):(s=r.sibling,r.sibling=null),C0(n,!1,s,r,a);break;case"backwards":for(r=null,s=n.child,n.child=null;s!==null;){if(e=s.alternate,e!==null&&Ox(e)===null){n.child=s;break}e=s.sibling,s.sibling=r,r=s,s=e}C0(n,!0,r,null,a);break;case"together":C0(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function Zg(e,n){!(n.mode&1)&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function sa(e,n,r){if(e!==null&&(n.dependencies=e.dependencies),Kl|=n.lanes,!(r&n.childLanes))return null;if(e!==null&&n.child!==e.child)throw Error(Z(153));if(n.child!==null){for(e=n.child,r=wo(e,e.pendingProps),n.child=r,r.return=n;e.sibling!==null;)e=e.sibling,r=r.sibling=wo(e,e.pendingProps),r.return=n;r.sibling=null}return n.child}function mW(e,n,r){switch(n.tag){case 3:V6(n),Mu();break;case 5:v6(n);break;case 1:cr(n.type)&&Tx(n);break;case 4:Yk(n,n.stateNode.containerInfo);break;case 10:var i=n.type._context,s=n.memoizedProps.value;ut(Lx,i._currentValue),i._currentValue=s;break;case 13:if(i=n.memoizedState,i!==null)return i.dehydrated!==null?(ut(wt,wt.current&1),n.flags|=128,null):r&n.child.childLanes?W6(e,n,r):(ut(wt,wt.current&1),e=sa(e,n,r),e!==null?e.sibling:null);ut(wt,wt.current&1);break;case 19:if(i=(r&n.childLanes)!==0,e.flags&128){if(i)return H6(e,n,r);n.flags|=128}if(s=n.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),ut(wt,wt.current),i)break;return null;case 22:case 23:return n.lanes=0,z6(e,n,r)}return sa(e,n,r)}var G6,g1,K6,Q6;G6=function(e,n){for(var r=n.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};g1=function(){};K6=function(e,n,r,i){var s=e.memoizedProps;if(s!==i){e=n.stateNode,yl(hs.current);var a=null;switch(r){case"input":s=Dw(e,s),i=Dw(e,i),a=[];break;case"select":s=Ct({},s,{value:void 0}),i=Ct({},i,{value:void 0}),a=[];break;case"textarea":s=Bw(e,s),i=Bw(e,i),a=[];break;default:typeof s.onClick!="function"&&typeof i.onClick=="function"&&(e.onclick=Px)}Uw(r,i);var o;r=null;for(u in s)if(!i.hasOwnProperty(u)&&s.hasOwnProperty(u)&&s[u]!=null)if(u==="style"){var l=s[u];for(o in l)l.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(gm.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in i){var c=i[u];if(l=s!=null?s[u]:void 0,i.hasOwnProperty(u)&&c!==l&&(c!=null||l!=null))if(u==="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(u,r)),r=c;else u==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(a=a||[]).push(u,c)):u==="children"?typeof c!="string"&&typeof c!="number"||(a=a||[]).push(u,""+c):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(gm.hasOwnProperty(u)?(c!=null&&u==="onScroll"&&pt("scroll",e),a||l===c||(a=[])):(a=a||[]).push(u,c))}r&&(a=a||[]).push("style",r);var u=a;(n.updateQueue=u)&&(n.flags|=4)}};Q6=function(e,n,r,i){r!==i&&(n.flags|=4)};function np(e,n){if(!yt)switch(e.tailMode){case"hidden":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var i=null;r!==null;)r.alternate!==null&&(i=r),r=r.sibling;i===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Nn(e){var n=e.alternate!==null&&e.alternate.child===e.child,r=0,i=0;if(n)for(var s=e.child;s!==null;)r|=s.lanes|s.childLanes,i|=s.subtreeFlags&14680064,i|=s.flags&14680064,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)r|=s.lanes|s.childLanes,i|=s.subtreeFlags,i|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=i,e.childLanes=r,n}function hW(e,n,r){var i=n.pendingProps;switch(Uk(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Nn(n),null;case 1:return cr(n.type)&&Ex(),Nn(n),null;case 3:return i=n.stateNode,Bu(),ft(lr),ft(On),Xk(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(_f(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&!(n.flags&256)||(n.flags|=1024,Li!==null&&(k1(Li),Li=null))),g1(e,n),Nn(n),null;case 5:Jk(n);var s=yl(Pm.current);if(r=n.type,e!==null&&n.stateNode!=null)K6(e,n,r,i,s),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!i){if(n.stateNode===null)throw Error(Z(166));return Nn(n),null}if(e=yl(hs.current),_f(n)){i=n.stateNode,r=n.type;var a=n.memoizedProps;switch(i[ls]=n,i[Sm]=a,e=(n.mode&1)!==0,r){case"dialog":pt("cancel",i),pt("close",i);break;case"iframe":case"object":case"embed":pt("load",i);break;case"video":case"audio":for(s=0;s<Rp.length;s++)pt(Rp[s],i);break;case"source":pt("error",i);break;case"img":case"image":case"link":pt("error",i),pt("load",i);break;case"details":pt("toggle",i);break;case"input":xP(i,a),pt("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!a.multiple},pt("invalid",i);break;case"textarea":bP(i,a),pt("invalid",i)}Uw(r,a),s=null;for(var o in a)if(a.hasOwnProperty(o)){var l=a[o];o==="children"?typeof l=="string"?i.textContent!==l&&(a.suppressHydrationWarning!==!0&&Ff(i.textContent,l,e),s=["children",l]):typeof l=="number"&&i.textContent!==""+l&&(a.suppressHydrationWarning!==!0&&Ff(i.textContent,l,e),s=["children",""+l]):gm.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&pt("scroll",i)}switch(r){case"input":Sf(i),vP(i,a,!0);break;case"textarea":Sf(i),yP(i);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(i.onclick=Px)}i=s,n.updateQueue=i,i!==null&&(n.flags|=4)}else{o=s.nodeType===9?s:s.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=N_(r)),e==="http://www.w3.org/1999/xhtml"?r==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>
40",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(r,{is:i.is}):(e=o.createElement(r),r==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,r),e[ls]=n,e[Sm]=i,G6(e,n,!1,!1),n.stateNode=e;e:{switch(o=Vw(r,i),r){case"dialog":pt("cancel",e),pt("close",e),s=i;break;case"iframe":case"object":case"embed":pt("load",e),s=i;break;case"video":case"audio":for(s=0;s<Rp.length;s++)pt(Rp[s],e);s=i;break;case"source":pt("error",e),s=i;break;case"img":case"image":case"link":pt("error",e),pt("load",e),s=i;break;case"details":pt("toggle",e),s=i;break;case"input":xP(e,i),s=Dw(e,i),pt("invalid",e);break;case"option":s=i;break;case"select":e._wrapperState={wasMultiple:!!i.multiple},s=Ct({},i,{value:void 0}),pt("invalid",e);break;case"textarea":bP(e,i),s=Bw(e,i),pt("invalid",e);break;default:s=i}Uw(r,s),l=s;for(a in l)if(l.hasOwnProperty(a)){var c=l[a];a==="style"?S_(e,c):a==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&k_(e,c)):a==="children"?typeof c=="string"?(r!=="textarea"||c!=="")&&xm(e,c):typeof c=="number"&&xm(e,""+c):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(gm.hasOwnProperty(a)?c!=null&&a==="onScroll"&&pt("scroll",e):c!=null&&Pk(e,a,c,o))}switch(r){case"input":Sf(e),vP(e,i,!1);break;case"textarea":Sf(e),yP(e);break;case"option":i.value!=null&&e.setAttribute("value",""+Co(i.value));break;case"select":e.multiple=!!i.multiple,a=i.value,a!=null?lu(e,!!i.multiple,a,!1):i.defaultValue!=null&&lu(e,!!i.multiple,i.defaultValue,!0);break;default:typeof s.onClick=="function"&&(e.onclick=Px)}switch(r){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}}i&&(n.flags|=4)}n.ref!==null&&(n.flags|=512,n.flags|=2097152)}return Nn(n),null;case 6:if(e&&n.stateNode!=null)Q6(e,n,e.memoizedProps,i);else{if(typeof i!="string"&&n.stateNode===null)throw Error(Z(166));if(r=yl(Pm.current),yl(hs.current),_f(n)){if(i=n.stateNode,r=n.memoizedProps,i[ls]=n,(a=i.nodeValue!==r)&&(e=Ir,e!==null))switch(e.tag){case 3:Ff(i.nodeValue,r,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Ff(i.nodeValue,r,(e.mode&1)!==0)}a&&(n.flags|=4)}else i=(r.nodeType===9?r:r.ownerDocument).createTextNode(i),i[ls]=n,n.stateNode=i}return Nn(n),null;case 13:if(ft(wt),i=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(yt&&Tr!==null&&n.mode&1&&!(n.flags&128))m6(),Mu(),n.flags|=98560,a=!1;else if(a=_f(n),i!==null&&i.dehydrated!==null){if(e===null){if(!a)throw Error(Z(318));if(a=n.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(Z(317));a[ls]=n}else Mu(),!(n.flags&128)&&(n.memoizedState=null),n.flags|=4;Nn(n),a=!1}else Li!==null&&(k1(Li),Li=null),a=!0;if(!a)return n.flags&65536?n:null}return n.flags&128?(n.lanes=r,n):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(n.child.flags|=8192,n.mode&1&&(e===null||wt.current&1?tn===0&&(tn=3):uq())),n.updateQueue!==null&&(n.flags|=4),Nn(n),null);case 4:return Bu(),g1(e,n),e===null&&km(n.stateNode.containerInfo),Nn(n),null;case 10:return Gk(n.type._context),Nn(n),null;case 17:return cr(n.type)&&Ex(),Nn(n),null;case 19:if(ft(wt),a=n.memoizedState,a===null)return Nn(n),null;if(i=(n.flags&128)!==0,o=a.rendering,o===null)if(i)np(a,!1);else{if(tn!==0||e!==null&&e.flags&128)for(e=n.child;e!==null;){if(o=Ox(e),o!==null){for(n.flags|=128,np(a,!1),i=o.updateQueue,i!==null&&(n.updateQueue=i,n.flags|=4),n.subtreeFlags=0,i=r,r=n.child;r!==null;)a=r,e=i,a.flags&=14680066,o=a.alternate,o===null?(a.childLanes=0,a.lanes=e,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,e=o.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return ut(wt,wt.current&1|2),n.child}e=e.sibling}a.tail!==null&&Dt()>Uu&&(n.flags|=128,i=!0,np(a,!1),n.lanes=4194304)}else{if(!i)if(e=Ox(o),e!==null){if(n.flags|=128,i=!0,r=e.updateQueue,r!==null&&(n.updateQueue=r,n.flags|=4),np(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!yt)return Nn(n),null}else 2*Dt()-a.renderingStartTime>Uu&&r!==1073741824&&(n.flags|=128,i=!0,np(a,!1),n.lanes=4194304);a.isBackwards?(o.sibling=n.child,n.child=o):(r=a.last,r!==null?r.sibling=o:n.child=o,a.last=o)}return a.tail!==null?(n=a.tail,a.rendering=n,a.tail=n.sibling,a.renderingStartTime=Dt(),n.sibling=null,r=wt.current,ut(wt,i?r&1|2:r&1),n):(Nn(n),null);case 22:case 23:return cq(),i=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(n.flags|=8192),i&&n.mode&1?qr&1073741824&&(Nn(n),n.subtreeFlags&6&&(n.flags|=8192)):Nn(n),null;case 24:return null;case 25:return null}
vendor: 24,785 bytes, line 40
40throw Error(Z(156,n.tag))}function fW(e,n){switch(Uk(n),n.tag){case 1:return cr(n.type)&&Ex(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Bu(),ft(lr),ft(On),Xk(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return Jk(n),null;case 13:if(ft(wt),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(Z(340));Mu()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return ft(wt),null;case 4:return Bu(),null;case 10:return Gk(n.type._context),null;case 22:case 23:return cq(),null;case 24:return null;default:return null}}var Df=!1,In=!1,gW=typeof WeakSet=="function"?WeakSet:Set,le=null;function Yc(e,n){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(i){It(e,n,i)}else r.current=null}function x1(e,n,r){try{r()}catch(i){It(e,n,i)}}var cE=!1;function xW(e,n){if(e1=qx,e=e6(),Bk(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var s=i.anchorOffset,a=i.focusNode;i=i.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var o=0,l=-1,c=-1,u=0,d=0,p=e,m=null;t:for(;;){for(var h;p!==r||s!==0&&p.nodeType!==3||(l=o+s),p!==a||i!==0&&p.nodeType!==3||(c=o+i),p.nodeType===3&&(o+=p.nodeValue.length),(h=p.firstChild)!==null;)m=p,p=h;for(;;){if(p===e)break t;if(m===r&&++u===s&&(l=o),m===a&&++d===i&&(c=o),(h=p.nextSibling)!==null)break;p=m,m=p.parentNode}p=h}r=l===-1||c===-1?null:{start:l,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(t1={focusedElem:e,selectionRange:r},qx=!1,le=n;le!==null;)if(n=le,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,le=e;else for(;le!==null;){n=le;try{var g=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var f=g.memoizedProps,x=g.memoizedState,v=n.stateNode,b=v.getSnapshotBeforeUpdate(n.elementType===n.type?f:Si(n.type,f),x);v.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=n.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(N){It(n,n.return,N)}if(e=n.sibling,e!==null){e.return=n.return,le=e;break}le=n.return}return g=cE,cE=!1,g}function Xp(e,n,r){var i=n.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&e)===e){var a=s.destroy;s.destroy=void 0,a!==void 0&&x1(n,r,a)}s=s.next}while(s!==i)}}function Pb(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var r=n=n.next;do{if((r.tag&e)===e){var i=r.create;r.destroy=i()}r=r.next}while(r!==n)}}function v1(e){var n=e.ref;if(n!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof n=="function"?n(e):n.current=e}}function Y6(e){var n=e.alternate;n!==null&&(e.alternate=null,Y6(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[ls],delete n[Sm],delete n[i1],delete n[ZV],delete n[eW])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function J6(e){return e.tag===5||e.tag===3||e.tag===4}function uE(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||J6(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function b1(e,n,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,n?r.nodeType===8?r.parentNode.insertBefore(e,n):r.insertBefore(e,n):(r.nodeType===8?(n=r.parentNode,n.insertBefore(e,r)):(n=r,n.appendChild(e)),r=r._reactRootContainer,r!=null||n.onclick!==null||(n.onclick=Px));else if(i!==4&&(e=e.child,e!==null))for(b1(e,n,r),e=e.sibling;e!==null;)b1(e,n,r),e=e.sibling}function y1(e,n,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,n?r.insertBefore(e,n):r.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(y1(e,n,r),e=e.sibling;e!==null;)y1(e,n,r),e=e.sibling}var hn=null,Ti=!1;function Ea(e,n,r){for(r=r.child;r!==null;)X6(e,n,r),r=r.sibling}function X6(e,n,r){if(ms&&typeof ms.onCommitFiberUnmount=="function")try{ms.onCommitFiberUnmount(yb,r)}catch{}switch(r.tag){case 5:In||Yc(r,n);case 6:var i=hn,s=Ti;hn=null,Ea(e,n,r),hn=i,Ti=s,hn!==null&&(Ti?(e=hn,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):hn.removeChild(r.stateNode));break;case 18:hn!==null&&(Ti?(e=hn,r=r.stateNode,e.nodeType===8?y0(e.parentNode,r):e.nodeType===1&&y0(e,r),jm(e)):y0(hn,r.stateNode));break;case 4:i=hn,s=Ti,hn=r.stateNode.containerInfo,Ti=!0,Ea(e,n,r),hn=i,Ti=s;break;case 0:case 11:case 14:case 15:if(!In&&(i=r.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var a=s,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&x1(r,n,o),s=s.next}while(s!==i)}Ea(e,n,r);break;case 1:if(!In&&(Yc(r,n),i=r.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=r.memoizedProps,i.state=r.memoizedState,i.componentWillUnmount()}catch(l){It(r,n,l)}Ea(e,n,r);break;case 21:Ea(e,n,r);break;case 22:r.mode&1?(In=(i=In)||r.memoizedState!==null,Ea(e,n,r),In=i):Ea(e,n,r);break;default:Ea(e,n,r)}}function dE(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new gW),n.forEach(function(i){var s=SW.bind(null,e,i);r.has(i)||(r.add(i),i.then(s,s))})}}function vi(e,n){var r=n.deletions;if(r!==null)for(var i=0;i<r.length;i++){var s=r[i];try{var a=e,o=n,l=o;e:for(;l!==null;){switch(l.tag){case 5:hn=l.stateNode,Ti=!1;break e;case 3:hn=l.stateNode.containerInfo,Ti=!0;break e;case 4:hn=l.stateNode.containerInfo,Ti=!0;break e}l=l.return}if(hn===null)throw Error(Z(160));X6(a,o,s),hn=null,Ti=!1;var c=s.alternate;c!==null&&(c.return=null),s.return=null}catch(u){It(s,n,u)}}if(n.subtreeFlags&12854)for(n=n.child;n!==null;)Z6(n,e),n=n.sibling}function Z6(e,n){var r=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(vi(n,e),Xi(e),i&4){try{Xp(3,e,e.return),Pb(3,e)}catch(f){It(e,e.return,f)}try{Xp(5,e,e.return)}catch(f){It(e,e.return,f)}}break;case 1:vi(n,e),Xi(e),i&512&&r!==null&&Yc(r,r.return);break;case 5:if(vi(n,e),Xi(e),i&512&&r!==null&&Yc(r,r.return),e.flags&32){var s=e.stateNode;try{xm(s,"")}catch(f){It(e,e.return,f)}}if(i&4&&(s=e.stateNode,s!=null)){var a=e.memoizedProps,o=r!==null?r.memoizedProps:a,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&a.type==="radio"&&a.name!=null&&j_(s,a),Vw(l,o);var u=Vw(l,a);for(o=0;o<c.length;o+=2){var d=c[o],p=c[o+1];d==="style"?S_(s,p):d==="dangerouslySetInnerHTML"?k_(s,p):d==="children"?xm(s,p):Pk(s,d,p,u)}switch(l){case"input":Mw(s,a);break;case"textarea":w_(s,a);break;case"select":var m=s._wrapperState.wasMultiple;s._wrapperState.wasMultiple=!!a.multiple;var h=a.value;h!=null?lu(s,!!a.multiple,h,!1):m!==!!a.multiple&&(a.defaultValue!=null?lu(s,!!a.multiple,a.defaultValue,!0):lu(s,!!a.multiple,a.multiple?[]:"",!1))}s[Sm]=a}catch(f){It(e,e.return,f)}}break;case 6:if(vi(n,e),Xi(e),i&4){if(e.stateNode===null)throw Error(Z(162));s=e.stateNode,a=e.memoizedProps;try{s.nodeValue=a}catch(f){It(e,e.return,f)}}break;case 3:if(vi(n,e),Xi(e),i&4&&r!==null&&r.memoizedState.isDehydrated)try{jm(n.containerInfo)}catch(f){It(e,e.return,f)}break;case 4:vi(n,e),Xi(e);break;case 13:vi(n,e),Xi(e),s=e.child,s.flags&8192&&(a=s.memoizedState!==null,s.stateNode.isHidden=a,!a||s.alternate!==null&&s.alternate.memoizedState!==null||(oq=Dt())),i&4&&dE(e);break;case 22:if(d=r!==null&&r.memoizedState!==null,e.mode&1?(In=(u=In)||d,vi(n,e),In=u):vi(n,e),Xi(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(le=e,d=e.child;d!==null;){for(p=le=d;le!==null;){switch(m=le,h=m.child,m.tag){case 0:case 11:case 14:case 15:Xp(4,m,m.return);break;case 1:Yc(m,m.return);var g=m.stateNode;if(typeof g.componentWillUnmount=="function"){i=m,r=m.return;try{n=i,g.props=n.memoizedProps,g.state=n.memoizedState,g.componentWillUnmount()}catch(f){It(i,r,f)}}break;case 5:Yc(m,m.return);break;case 22:if(m.memoizedState!==null){mE(p);continue}}h!==null?(h.return=m,le=h):mE(p)}d=d.sibling}e:for(d=null,p=e;;){if(p.tag===5){if(d===null){d=p;try{s=p.stateNode,u?(a=s.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(l=p.stateNode,c=p.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=q_("display",o))}catch(f){It(e,e.return,f)}}}else if(p.tag===6){if(d===null)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(f){It(e,e.return,f)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===e)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;p.sibling===null;){if(p.return===null||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:vi(n,e),Xi(e),i&4&&dE(e);break;case 21:break;default:vi(n,e),Xi(e)}}function Xi(e){var n=e.flags;if(n&2){try{e:{for(var r=e.return;r!==null;){if(J6(r)){var i=r;break e}r=r.return}throw Error(Z(160))}switch(i.tag){case 5:var s=i.stateNode;i.flags&32&&(xm(s,""),i.flags&=-33);var a=uE(e);y1(e,a,s);break;case 3:case 4:var o=i.stateNode.containerInfo,l=uE(e);b1(e,l,o);break;default:throw Error(Z(161))}}catch(c){It(e,e.return,c)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function vW(e,n,r){le=e,eO(e)}function eO(e,n,r){for(var i=(e.mode&1)!==0;le!==null;){var s=le,a=s.child;if(s.tag===22&&i){var o=s.memoizedState!==null||Df;if(!o){var l=s.alternate,c=l!==null&&l.memoizedState!==null||In;l=Df;var u=In;if(Df=o,(In=c)&&!u)for(le=s;le!==null;)o=le,c=o.child,o.tag===22&&o.memoizedState!==null?hE(s):c!==null?(c.return=o,le=c):hE(s);for(;a!==null;)le=a,eO(a),a=a.sibling;le=s,Df=l,In=u}pE(e)}else s.subtreeFlags&8772&&a!==null?(a.return=s,le=a):pE(e)}}function pE(e){for(;le!==null;){var n=le;if(n.flags&8772){var r=n.alternate;try{if(n.flags&8772)switch(n.tag){case 0:case 11:case 15:In||Pb(5,n);break;case 1:var i=n.stateNode;if(n.flags&4&&!In)if(r===null)i.componentDidMount();else{var s=n.elementType===n.type?r.memoizedProps:Si(n.type,r.memoizedProps);i.componentDidUpdate(s,r.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var a=n.updateQueue;a!==null&&YP(n,a,i);break;case 3:var o=n.updateQueue;if(o!==null){if(r=null,n.child!==null)switch(n.child.tag){case 5:r=n.child.stateNode;break;case 1:r=n.child.stateNode}YP(n,o,r)}break;case 5:var l=n.stateNode;if(r===null&&n.flags&4){r=l;var c=n.memoizedProps;switch(n.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(n.memoizedState===null){var u=n.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var p=d.dehydrated;p!==null&&jm(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(Z(163))}In||n.flags&512&&v1(n)}catch(m){It(n,n.return,m)}}if(n===e){le=null;break}if(r=n.sibling,r!==null){r.return=n.return,le=r;break}le=n.return}}function mE(e){for(;le!==null;){var n=le;if(n===e){le=null;break}var r=n.sibling;if(r!==null){r.return=n.return,le=r;break}le=n.return}}function hE(e){for(;le!==null;){var n=le;try{switch(n.tag){case 0:case 11:case 15:var r=n.return;try{Pb(4,n)}catch(c){It(n,r,c)}break;case 1:var i=n.stateNode;if(typeof i.componentDidMount=="function"){var s=n.return;try{i.componentDidMount()}catch(c){It(n,s,c)}}var a=n.return;try{v1(n)}catch(c){It(n,a,c)}break;case 5:var o=n.return;try{v1(n)}catch(c){It(n,o,c)}}}catch(c){It(n,n.return,c)}if(n===e){le=null;break}var l=n.sibling;if(l!==null){l.return=n.return,le=l;break}le=n.return}}var bW=Math.ceil,Mx=ga.ReactCurrentDispatcher,sq=ga.ReactCurrentOwner,ai=ga.ReactCurrentBatchConfig,ze=0,un=null,Gt=null,vn=0,qr=0,Jc=_o(0),tn=0,Am=null,Kl=0,Eb=0,aq=0,Zp=null,ir=null,oq=0,Uu=1/0,Rs=null,$x=!1,j1=null,yo=null,Mf=!1,uo=null,Bx=0,em=0,w1=null,ex=-1,tx=0;function Gn(){return ze&6?Dt():ex!==-1?ex:ex=Dt()}function jo(e){return e.mode&1?ze&2&&vn!==0?vn&-vn:nW.transition!==null?(tx===0&&(tx=D_()),tx):(e=Je,e!==0||(e=window.event,e=e===void 0?16:W_(e.type)),e):1}function $i(e,n,r,i){if(50<em)throw em=0,w1=null,Error(Z(185));Vh(e,r,i),(!(ze&2)||e!==un)&&(e===un&&(!(ze&2)&&(Eb|=r),tn===4&&Ya(e,vn)),ur(e,i),r===1&&ze===0&&!(n.mode&1)&&(Uu=Dt()+500,qb&&Oo()))}function ur(e,n){var r=e.callbackNode;nV(e,n);var i=kx(e,e===un?vn:0);if(i===0)r!==null&&NP(r),e.callbackNode=null,e.callbackPriority=0;else if(n=i&-i,e.callbackPriority!==n){if(r!=null&&NP(r),n===1)e.tag===0?tW(fE.bind(null,e)):u6(fE.bind(null,e)),JV(function(){!(ze&6)&&Oo()}),r=null;else{switch(M_(i)){case 1:r=Lk;break;case 4:r=O_;break;case 16:r=Nx;break;case 536870912:r=R_;break;default:r=Nx}r=lO(r,tO.bind(null,e))}e.callbackPriority=n,e.callbackNode=r}}function tO(e,n){if(ex=-1,tx=0,ze&6)throw Error(Z(327));var r=e.callbackNode;if(mu()&&e.callbackNode!==r)return null;var i=kx(e,e===un?vn:0);if(i===0)return null;if(i&30||i&e.expiredLanes||n)n=zx(e,i);else{n=i;var s=ze;ze|=2;var a=rO();(un!==e||vn!==n)&&(Rs=null,Uu=Dt()+500,Dl(e,n));do try{wW();break}catch(l){nO(e,l)}while(!0);Hk(),Mx.current=a,ze=s,Gt!==null?n=0:(un=null,vn=0,n=tn)}if(n!==0){if(n===2&&(s=Qw(e),s!==0&&(i=s,n=N1(e,s))),n===1)throw r=Am,Dl(e,0),Ya(e,i),ur(e,Dt()),r;if(n===6)Ya(e,i);else{if(s=e.current.alternate,!(i&30)&&!yW(s)&&(n=zx(e,i),n===2&&(a=Qw(e),a!==0&&(i=a,n=N1(e,a))),n===1))throw r=Am,Dl(e,0),Ya(e,i),ur(e,Dt()),r;switch(e.finishedWork=s,e.finishedLanes=i,n){case 0:case 1:throw Error(Z(345));case 2:cl(e,ir,Rs);break;case 3:if(Ya(e,i),(i&130023424)===i&&(n=oq+500-Dt(),10<n)){if(kx(e,0)!==0)break;if(s=e.suspendedLanes,(s&i)!==i){Gn(),e.pingedLanes|=e.suspendedLanes&s;break}e.timeoutHandle=r1(cl.bind(null,e,ir,Rs),n);break}cl(e,ir,Rs);break;case 4:if(Ya(e,i),(i&4194240)===i)break;for(n=e.eventTimes,s=-1;0<i;){var o=31-Mi(i);a=1<<o,o=n[o],o>s&&(s=o),i&=~a}if(i=s,i=Dt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*bW(i/1960))-i,10<i){e.timeoutHandle=r1(cl.bind(null,e,ir,Rs),i);break}cl(e,ir,Rs);break;case 5:cl(e,ir,Rs);break;default:throw Error(Z(329))}}}return ur(e,Dt()),e.callbackNode===r?tO.bind(null,e):null}function N1(e,n){var r=Zp;return e.current.memoizedState.isDehydrated&&(Dl(e,n).flags|=256),e=zx(e,n),e!==2&&(n=ir,ir=r,n!==null&&k1(n)),e}function k1(e){ir===null?ir=e:ir.push.apply(ir,e)}function yW(e){for(var n=e;;){if(n.flags&16384){var r=n.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var i=0;i<r.length;i++){var s=r[i],a=s.getSnapshot;s=s.value;try{if(!Vi(a(),s))return!1}catch{return!1}}}if(r=n.child,n.subtreeFlags&16384&&r!==null)r.return=n,n=r;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Ya(e,n){for(n&=~aq,n&=~Eb,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0<n;){var r=31-Mi(n),i=1<<r;e[r]=-1,n&=~i}}function fE(e){if(ze&6)throw Error(Z(327));mu();var n=kx(e,0);if(!(n&1))return ur(e,Dt()),null;var r=zx(e,n);if(e.tag!==0&&r===2){var i=Qw(e);i!==0&&(n=i,r=N1(e,i))}if(r===1)throw r=Am,Dl(e,0),Ya(e,n),ur(e,Dt()),r;if(r===6)throw Error(Z(345));return e.finishedWork=e.current.alternate,e.finishedLanes=n,cl(e,ir,Rs),ur(e,Dt()),null}function lq(e,n){var r=ze;ze|=1;try{return e(n)}finally{ze=r,ze===0&&(Uu=Dt()+500,qb&&Oo())}}function Ql(e){uo!==null&&uo.tag===0&&!(ze&6)&&mu();var n=ze;ze|=1;var r=ai.transition,i=Je;try{if(ai.transition=null,Je=1,e)return e()}finally{Je=i,ai.transition=r,ze=n,!(ze&6)&&Oo()}}function cq(){qr=Jc.current,ft(Jc)}function Dl(e,n){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(r!==-1&&(e.timeoutHandle=-1,YV(r)),Gt!==null)for(r=Gt.return;r!==null;){var i=r;switch(Uk(i),i.tag){case 1:i=i.type.childContextTypes,i!=null&&Ex();break;case 3:Bu(),ft(lr),ft(On),Xk();break;case 5:Jk(i);break;case 4:Bu();break;case 13:ft(wt);break;case 19:ft(wt);break;case 10:Gk(i.type._context);break;case 22:case 23:cq()}r=r.return}if(un=e,Gt=e=wo(e.current,null),vn=qr=n,tn=0,Am=null,aq=Eb=Kl=0,ir=Zp=null,bl!==null){for(n=0;n<bl.length;n++)if(r=bl[n],i=r.interleaved,i!==null){r.interleaved=null;var s=i.next,a=r.pending;if(a!==null){var o=a.next;a.next=s,i.next=o}r.pending=i}bl=null}return e}function nO(e,n){do{var r=Gt;try{if(Hk(),Jg.current=Dx,Rx){for(var i=qt.memoizedState;i!==null;){var s=i.queue;s!==null&&(s.pending=null),i=i.next}Rx=!1}if(Gl=0,cn=en=qt=null,Jp=!1,Em=0,sq.current=null,r===null||r.return===null){tn=1,Am=n,Gt=null;break}e:{var a=e,o=r.return,l=r,c=n;if(n=vn,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var u=c,d=l,p=d.tag;if(!(d.mode&1)&&(p===0||p===11||p===15)){var m=d.alternate;m?(d.updateQueue=m.updateQueue,d.memoizedState=m.memoizedState,d.lanes=m.lanes):(d.updateQueue=null,d.memoizedState=null)}var h=nE(o);if(h!==null){h.flags&=-257,rE(h,o,l,a,n),h.mode&1&&tE(a,u,n),n=h,c=u;var g=n.updateQueue;if(g===null){var f=new Set;f.add(c),n.updateQueue=f}else g.add(c);break e}else{if(!(n&1)){tE(a,u,n),uq();break e}c=Error(Z(426))}}else if(yt&&l.mode&1){var x=nE(o);if(x!==null){!(x.flags&65536)&&(x.flags|=256),rE(x,o,l,a,n),Vk(zu(c,l));break e}}a=c=zu(c,l),tn!==4&&(tn=2),Zp===null?Zp=[a]:Zp.push(a),a=o;do{switch(a.tag){case 3:a.flags|=65536,n&=-n,a.lanes|=n;var v=M6(a,c,n);QP(a,v);break e;case 1:l=c;var b=a.type,y=a.stateNode;if(!(a.flags&128)&&(typeof b.getDerivedStateFromError=="function"||y!==null&&typeof y.componentDidCatch=="function"&&(yo===null||!yo.has(y)))){a.flags|=65536,n&=-n,a.lanes|=n;var N=$6(a,l,n);QP(a,N);break e}}a=a.return}while(a!==null)}sO(r)}catch(j){n=j,Gt===r&&r!==null&&(Gt=r=r.return);continue}break}while(!0)}function rO(){var e=Mx.current;return Mx.current=Dx,e===null?Dx:e}function uq(){(tn===0||tn===3||tn===2)&&(tn=4),un===null||!(Kl&268435455)&&!(Eb&268435455)||Ya(un,vn)}function zx(e,n){var r=ze;ze|=2;var i=rO();(un!==e||vn!==n)&&(Rs=null,Dl(e,n));do try{jW();break}catch(s){nO(e,s)}while(!0);if(Hk(),ze=r,Mx.current=i,Gt!==null)throw Error(Z(261));return un=null,vn=0,tn}function jW(){for(;Gt!==null;)iO(Gt)}function wW(){for(;Gt!==null&&!G9();)iO(Gt)}function iO(e){var n=oO(e.alternate,e,qr);e.memoizedProps=e.pendingProps,n===null?sO(e):Gt=n,sq.current=null}function sO(e){var n=e;do{var r=n.alternate;if(e=n.return,n.flags&32768){if(r=fW(r,n),r!==null){r.flags&=32767,Gt=r;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{tn=6,Gt=null;return}}else if(r=hW(r,n,qr),r!==null){Gt=r;return}if(n=n.sibling,n!==null){Gt=n;return}Gt=n=e}while(n!==null);tn===0&&(tn=5)}function cl(e,n,r){var i=Je,s=ai.transition;try{ai.transition=null,Je=1,NW(e,n,r,i)}finally{ai.transition=s,Je=i}return null}function NW(e,n,r,i){do mu();while(uo!==null);if(ze&6)throw Error(Z(327));r=e.finishedWork;var s=e.finishedLanes;if(r===null)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(Z(177));e.callbackNode=null,e.callbackPriority=0;var a=r.lanes|r.childLanes;if(rV(e,a),e===un&&(Gt=un=null,vn=0),!(r.subtreeFlags&2064)&&!(r.flags&2064)||Mf||(Mf=!0,lO(Nx,function(){return mu(),null})),a=(r.flags&15990)!==0,r.subtreeFlags&15990||a){a=ai.transition,ai.transition=null;var o=Je;Je=1;var l=ze;ze|=4,sq.current=null,xW(e,r),Z6(r,e),UV(t1),qx=!!e1,t1=e1=null,e.current=r,vW(r),K9(),ze=l,Je=o,ai.transition=a}else e.current=r;if(Mf&&(Mf=!1,uo=e,Bx=s),a=e.pendingLanes,a===0&&(yo=null),J9(r.stateNode),ur(e,Dt()),n!==null)for(i=e.onRecoverableError,r=0;r<n.length;r++)s=n[r],i(s.value,{componentStack:s.stack,digest:s.digest});if($x)throw $x=!1,e=j1,j1=null,e;return Bx&1&&e.tag!==0&&mu(),a=e.pendingLanes,a&1?e===w1?em++:(em=0,w1=e):em=0,Oo(),null}function mu(){if(uo!==null){var e=M_(Bx),n=ai.transition,r=Je;try{if(ai.transition=null,Je=16>e?16:e,uo===null)var i=!1;else{if(e=uo,uo=null,Bx=0,ze&6)throw Error(Z(331));var s=ze;for(ze|=4,le=e.current;le!==null;){var a=le,o=a.child;if(le.flags&16){var l=a.deletions;if(l!==null){for(var c=0;c<l.length;c++){var u=l[c];for(le=u;le!==null;){var d=le;switch(d.tag){case 0:case 11:case 15:Xp(8,d,a)}var p=d.child;if(p!==null)p.return=d,le=p;else for(;le!==null;){d=le;var m=d.sibling,h=d.return;if(Y6(d),d===u){le=null;break}if(m!==null){m.return=h,le=m;break}le=h}}}var g=a.alternate;if(g!==null){var f=g.child;if(f!==null){g.child=null;do{var x=f.sibling;f.sibling=null,f=x}while(f!==null)}}le=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,le=o;else e:for(;le!==null;){if(a=le,a.flags&2048)switch(a.tag){case 0:case 11:case 15:Xp(9,a,a.return)}var v=a.sibling;if(v!==null){v.return=a.return,le=v;break e}le=a.return}}var b=e.current;for(le=b;le!==null;){o=le;var y=o.child;if(o.subtreeFlags&2064&&y!==null)y.return=o,le=y;else e:for(o=b;le!==null;){if(l=le,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:Pb(9,l)}}catch(j){It(l,l.return,j)}if(l===o){le=null;break e}var N=l.sibling;if(N!==null){N.return=l.return,le=N;break e}le=l.return}}if(ze=s,Oo(),ms&&typeof ms.onPostCommitFiberRoot=="function")try{ms.onPostCommitFiberRoot(yb,e)}catch{}i=!0}return i}finally{Je=r,ai.transition=n}}return!1}function gE(e,n,r){n=zu(r,n),n=M6(e,n,1),e=bo(e,n,1),n=Gn(),e!==null&&(Vh(e,1,n),ur(e,n))}function It(e,n,r){if(e.tag===3)gE(e,e,r);else for(;n!==null;){if(n.tag===3){gE(n,e,r);break}else if(n.tag===1){var i=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(yo===null||!yo.has(i))){e=zu(r,e),e=$6(n,e,1),n=bo(n,e,1),e=Gn(),n!==null&&(Vh(n,1,e),ur(n,e));break}}n=n.return}}function kW(e,n,r){var i=e.pingCache;i!==null&&i.delete(n),n=Gn(),e.pingedLanes|=e.suspendedLanes&r,un===e&&(vn&r)===r&&(tn===4||tn===3&&(vn&130023424)===vn&&500>Dt()-oq?Dl(e,0):aq|=r),ur(e,n)}function aO(e,n){n===0&&(e.mode&1?(n=Ef,Ef<<=1,!(Ef&130023424)&&(Ef=4194304)):n=1);var r=Gn();e=ia(e,n),e!==null&&(Vh(e,n,r),ur(e,r))}function qW(e){var n=e.memoizedState,r=0;n!==null&&(r=n.retryLane),aO(e,r)}function SW(e,n){var r=0;switch(e.tag){case 13:var i=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(Z(314))}i!==null&&i.delete(n),aO(e,r)}var oO;oO=function(e,n,r){if(e!==null)if(e.memoizedProps!==n.pendingProps||lr.current)ar=!0;else{if(!(e.lanes&r)&&!(n.flags&128))return ar=!1,mW(e,n,r);ar=!!(e.flags&131072)}else ar=!1,yt&&n.flags&1048576&&d6(n,Ax,n.index);switch(n.lanes=0,n.tag){case 2:var i=n.type;Zg(e,n),e=n.pendingProps;var s=Du(n,On.current);pu(n,r),s=eq(null,n,i,e,s,r);var a=tq();return n.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,cr(i)?(a=!0,Tx(n)):a=!1,n.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Qk(n),s.updater=Cb,n.stateNode=s,s._reactInternals=n,u1(n,i,e,r),n=m1(null,n,i,!0,a,r)):(n.tag=0,yt&&a&&zk(n),zn(null,n,s,r),n=n.child),n;case 16:i=n.elementType;e:{switch(Zg(e,n),e=n.pendingProps,s=i._init,i=s(i._payload),n.type=i,s=n.tag=PW(i),e=Si(i,e),s){case 0:n=p1(null,n,i,e,r);break e;case 1:n=aE(null,n,i,e,r);break e;case 11:n=iE(null,n,i,e,r);break e;case 14:n=sE(null,n,i,Si(i.type,e),r);break e}throw Error(Z(306,i,""))}return n;case 0:return i=n.type,s=n.pendingProps,s=n.elementType===i?s:Si(i,s),p1(e,n,i,s,r);case 1:return i=n.type,s=n.pendingProps,s=n.elementType===i?s:Si(i,s),aE(e,n,i,s,r);case 3:e:{if(V6(n),e===null)throw Error(Z(387));i=n.pendingProps,a=n.memoizedState,s=a.element,x6(e,n),_x(n,i,null,r);var o=n.memoizedState;if(i=o.element,a.isDehydrated)if(a={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=a,n.memoizedState=a,n.flags&256){s=zu(Error(Z(423)),n),n=oE(e,n,i,r,s);break e}else if(i!==s){s=zu(Error(Z(424)),n),n=oE(e,n,i,r,s);break e}else for(Tr=vo(n.stateNode.containerInfo.firstChild),Ir=n,yt=!0,Li=null,r=f6(n,null,i,r),n.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Mu(),i===s){n=sa(e,n,r);break e}zn(e,n,i,r)}n=n.child}return n;case 5:return v6(n),e===null&&o1(n),i=n.type,s=n.pendingProps,a=e!==null?e.memoizedProps:null,o=s.children,n1(i,s)?o=null:a!==null&&n1(i,a)&&(n.flags|=32),U6(e,n),zn(e,n,o,r),n.child;case 6:return e===null&&o1(n),null;case 13:return W6(e,n,r);case 4:return Yk(n,n.stateNode.containerInfo),i=n.pendingProps,e===null?n.child=$u(n,null,i,r):zn(e,n,i,r),n.child;case 11:return i=n.type,s=n.pendingProps,s=n.elementType===i?s:Si(i,s),iE(e,n,i,s,r);case 7:return zn(e,n,n.pendingProps,r),n.child;case 8:return zn(e,n,n.pendingProps.children,r),n.child;case 12:return zn(e,n,n.pendingProps.children,r),n.child;case 10:e:{if(i=n.type._context,s=n.pendingProps,a=n.memoizedProps,o=s.value,ut(Lx,i._currentValue),i._currentValue=o,a!==null)if(Vi(a.value,o)){if(a.children===s.children&&!lr.current){n=sa(e,n,r);break e}}
vendor: 6,275 bytes, line 40
40else for(a=n.child,a!==null&&(a.return=n);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var c=l.firstContext;c!==null;){if(c.context===i){if(a.tag===1){c=Ks(-1,r&-r),c.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}a.lanes|=r,c=a.alternate,c!==null&&(c.lanes|=r),l1(a.return,r,n),l.lanes|=r;break}c=c.next}}else if(a.tag===10)o=a.type===n.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(Z(341));o.lanes|=r,l=o.alternate,l!==null&&(l.lanes|=r),l1(o,r,n),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===n){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}zn(e,n,s.children,r),n=n.child}return n;case 9:return s=n.type,i=n.pendingProps.children,pu(n,r),s=li(s),i=i(s),n.flags|=1,zn(e,n,i,r),n.child;case 14:return i=n.type,s=Si(i,n.pendingProps),s=Si(i.type,s),sE(e,n,i,s,r);case 15:return B6(e,n,n.type,n.pendingProps,r);case 17:return i=n.type,s=n.pendingProps,s=n.elementType===i?s:Si(i,s),Zg(e,n),n.tag=1,cr(i)?(e=!0,Tx(n)):e=!1,pu(n,r),D6(n,i,s),u1(n,i,s,r),m1(null,n,i,!0,e,r);case 19:return H6(e,n,r);case 22:return z6(e,n,r)}throw Error(Z(156,n.tag))};function lO(e,n){return __(e,n)}function CW(e,n,r,i){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ii(e,n,r,i){return new CW(e,n,r,i)}function dq(e){return e=e.prototype,!(!e||!e.isReactComponent)}function PW(e){if(typeof e=="function")return dq(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Tk)return 11;if(e===Ik)return 14}return 2}function wo(e,n){var r=e.alternate;return r===null?(r=ii(e.tag,n,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=n,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,n=e.dependencies,r.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function nx(e,n,r,i,s,a){var o=2;if(i=e,typeof e=="function")dq(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Bc:return Ml(r.children,s,a,n);case Ek:o=8,s|=8;break;case Fw:return e=ii(12,r,n,s|2),e.elementType=Fw,e.lanes=a,e;case _w:return e=ii(13,r,n,s),e.elementType=_w,e.lanes=a,e;case Ow:return e=ii(19,r,n,s),e.elementType=Ow,e.lanes=a,e;case v_:return Tb(r,s,a,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case g_:o=10;break e;case x_:o=9;break e;case Tk:o=11;break e;case Ik:o=14;break e;case Ha:o=16,i=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return n=ii(o,r,n,s),n.elementType=e,n.type=i,n.lanes=a,n}function Ml(e,n,r,i){return e=ii(7,e,i,n),e.lanes=r,e}function Tb(e,n,r,i){return e=ii(22,e,i,n),e.elementType=v_,e.lanes=r,e.stateNode={isHidden:!1},e}function P0(e,n,r){return e=ii(6,e,null,n),e.lanes=r,e}function E0(e,n,r){return n=ii(4,e.children!==null?e.children:[],e.key,n),n.lanes=r,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function EW(e,n,r,i,s){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=c0(0),this.expirationTimes=c0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=c0(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function pq(e,n,r,i,s,a,o,l,c){return e=new EW(e,n,r,l,c),n===1?(n=1,a===!0&&(n|=8)):n=0,a=ii(3,null,null,n),e.current=a,a.stateNode=e,a.memoizedState={element:i,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Qk(a),e}function TW(e,n,r){var i=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:$c,key:i==null?null:""+i,children:e,containerInfo:n,implementation:r}}function cO(e){if(!e)return Po;e=e._reactInternals;e:{if(cc(e)!==e||e.tag!==1)throw Error(Z(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(cr(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(n!==null);throw Error(Z(171))}if(e.tag===1){var r=e.type;if(cr(r))return c6(e,r,n)}return n}function uO(e,n,r,i,s,a,o,l,c){return e=pq(r,i,!0,e,s,a,o,l,c),e.context=cO(null),r=e.current,i=Gn(),s=jo(r),a=Ks(i,s),a.callback=n??null,bo(r,a,s),e.current.lanes=s,Vh(e,s,i),ur(e,i),e}function Ib(e,n,r,i){var s=n.current,a=Gn(),o=jo(s);return r=cO(r),n.context===null?n.context=r:n.pendingContext=r,n=Ks(a,o),n.payload={element:e},i=i===void 0?null:i,i!==null&&(n.callback=i),e=bo(s,n,o),e!==null&&($i(e,s,o,a),Yg(e,s,o)),o}function Ux(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function xE(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<n?r:n}}function mq(e,n){xE(e,n),(e=e.alternate)&&xE(e,n)}function IW(){return null}var dO=typeof reportError=="function"?reportError:function(e){console.error(e)};function hq(e){this._internalRoot=e}Ab.prototype.render=hq.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(Z(409));Ib(e,n,null,null)};Ab.prototype.unmount=hq.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;Ql(function(){Ib(null,e,null,null)}),n[ra]=null}};function Ab(e){this._internalRoot=e}Ab.prototype.unstable_scheduleHydration=function(e){if(e){var n=z_();e={blockedOn:null,target:e,priority:n};for(var r=0;r<Qa.length&&n!==0&&n<Qa[r].priority;r++);Qa.splice(r,0,e),r===0&&V_(e)}};function fq(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}
vendor: 5,238 bytes, line 40
40function Lb(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function vE(){}function AW(e,n,r,i,s){if(s){if(typeof i=="function"){var a=i;i=function(){var u=Ux(o);a.call(u)}}var o=uO(n,i,e,0,null,!1,!1,"",vE);return e._reactRootContainer=o,e[ra]=o.current,km(e.nodeType===8?e.parentNode:e),Ql(),o}for(;s=e.lastChild;)e.removeChild(s);if(typeof i=="function"){var l=i;i=function(){var u=Ux(c);l.call(u)}}var c=pq(e,0,!1,null,null,!1,!1,"",vE);return e._reactRootContainer=c,e[ra]=c.current,km(e.nodeType===8?e.parentNode:e),Ql(function(){Ib(n,c,r,i)}),c}function Fb(e,n,r,i,s){var a=r._reactRootContainer;if(a){var o=a;if(typeof s=="function"){var l=s;s=function(){var c=Ux(o);l.call(c)}}Ib(n,o,e,s)}else o=AW(r,n,e,s,i);return Ux(o)}$_=function(e){switch(e.tag){case 3:var n=e.stateNode;if(n.current.memoizedState.isDehydrated){var r=Op(n.pendingLanes);r!==0&&(Fk(n,r|1),ur(n,Dt()),!(ze&6)&&(Uu=Dt()+500,Oo()))}break;case 13:Ql(function(){var i=ia(e,1);if(i!==null){var s=Gn();$i(i,e,1,s)}}),mq(e,1)}};_k=function(e){if(e.tag===13){var n=ia(e,134217728);if(n!==null){var r=Gn();$i(n,e,134217728,r)}mq(e,134217728)}};B_=function(e){if(e.tag===13){var n=jo(e),r=ia(e,n);if(r!==null){var i=Gn();$i(r,e,n,i)}mq(e,n)}};z_=function(){return Je};U_=function(e,n){var r=Je;try{return Je=e,n()}finally{Je=r}};Hw=function(e,n,r){switch(n){case"input":if(Mw(e,r),n=r.name,r.type==="radio"&&n!=null){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),n=0;n<r.length;n++){var i=r[n];if(i!==e&&i.form===e.form){var s=kb(i);if(!s)throw Error(Z(90));y_(i),Mw(i,s)}}}break;case"textarea":w_(e,r);break;case"select":n=r.value,n!=null&&lu(e,!!r.multiple,n,!1)}};E_=lq;T_=Ql;var LW={usingClientEntryPoint:!1,Events:[Hh,Wc,kb,C_,P_,lq]},rp={findFiberByHostInstance:vl,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},FW={bundleType:rp.bundleType,version:rp.version,rendererPackageName:rp.rendererPackageName,rendererConfig:rp.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ga.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=L_(e),e===null?null:e.stateNode},findFiberByHostInstance:rp.findFiberByHostInstance||IW,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 $f=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!$f.isDisabled&&$f.supportsFiber)try{yb=$f.inject(FW),ms=$f}catch{}}Dr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=LW;Dr.createPortal=function(e,n){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!fq(n))throw Error(Z(200));return TW(e,n,null,r)};Dr.createRoot=function(e,n){if(!fq(e))throw Error(Z(299));var r=!1,i="",s=dO;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),n=pq(e,1,!1,null,null,r,!1,i,s),e[ra]=n.current,km(e.nodeType===8?e.parentNode:e),new hq(n)};Dr.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(Z(188)):(e=Object.keys(e).join(","),Error(Z(268,e)));return e=L_(n),e=e===null?null:e.stateNode,e};Dr.flushSync=function(e){return Ql(e)};Dr.hydrate=function(e,n,r){if(!Lb(n))throw Error(Z(200));return Fb(null,e,n,!0,r)};Dr.hydrateRoot=function(e,n,r){if(!fq(e))throw Error(Z(405));var i=r!=null&&r.hydratedSources||null,s=!1,a="",o=dO;if(r!=null&&(r.unstable_strictMode===!0&&(s=!0),r.identifierPrefix!==void 0&&(a=r.identifierPrefix),r.onRecoverableError!==void 0&&(o=r.onRecoverableError)),n=uO(n,null,e,1,r??null,s,!1,a,o),e[ra]=n.current,km(e),i)for(e=0;e<i.length;e++)r=i[e],s=r._getVersion,s=s(r._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[r,s]:n.mutableSourceEagerHydrationData.push(r,s);return new Ab(n)};Dr.render=function(e,n,r){if(!Lb(n))throw Error(Z(200));return Fb(null,e,n,!1,r)};Dr.unmountComponentAtNode=function(e){if(!Lb(e))throw Error(Z(40));return e._reactRootContainer?(Ql(function(){Fb(null,null,e,!1,function(){e._reactRootContainer=null,e[ra]=null})}),!0):!1};Dr.unstable_batchedUpdates=lq;Dr.unstable_renderSubtreeIntoContainer=function(e,n,r,i){if(!Lb(r))throw Error(Z(200));if(e==null||e._reactInternals===void 0)throw Error(Z(38));return Fb(e,n,r,!1,i)};Dr.version="18.3.1-next-f1338f8080-20240426";function pO(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(pO)}catch(e){console.error(e)}}pO(),p_.exports=Dr;var Kh=p_.exports;const mO=Ue(Kh);var hO,bE=Kh;hO=bE.createRoot,bE.hydrateRoot;var _W=typeof Element<"u",OW=typeof Map=="function",RW=typeof Set=="function",DW=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function rx(e,n){if(e===n)return!0;
40if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!rx(e[i],n[i]))return!1;return!0}var a;if(OW&&e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(a=e.entries();!(i=a.next()).done;)if(!n.has(i.value[0]))return!1;for(a=e.entries();!(i=a.next()).done;)if(!rx(i.value[1],n.get(i.value[0])))return!1;return!0}if(RW&&e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(a=e.entries();!(i=a.next()).done;)if(!n.has(i.value[0]))return!1;return!0}if(DW&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(e[i]!==n[i])return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof n.valueOf=="function")return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof n.toString=="function")return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;if(_W&&e instanceof Element)return!1;for(i=r;i--!==0;)if(!((s[i]==="_owner"||s[i]==="__v"||s[i]==="__o")&&e.$$typeof)&&!rx(e[s[i]],n[s[i]]))return!1;return!0}return e!==e&&n!==n}var MW=function(n,r){try{return rx(n,r)}catch(i){if((i.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw i}};const $W=Ue(MW);var BW=function(e,n,r,i,s,a,o,l){if(!e){var c;if(n===void 0)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[r,i,s,a,o,l],d=0;c=new Error(n.replace(/%s/g,function(){return u[d++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}},zW=BW;const yE=Ue(zW);
40var UW=function(n,r,i,s){var a=i?i.call(s,n,r):void 0;if(a!==void 0)return!!a;if(n===r)return!0;if(typeof n!="object"||!n||typeof r!="object"||!r)return!1;var o=Object.keys(n),l=Object.keys(r);if(o.length!==l.length)return!1;for(var c=Object.prototype.hasOwnProperty.bind(r),u=0;u<o.length;u++){var d=o[u];if(!c(d))return!1;var p=n[d],m=r[d];if(a=i?i.call(s,p,m,d):void 0,a===!1||a===void 0&&p!==m)return!1}return!0};const VW=Ue(UW);var fO=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(fO||{}),T0={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},jE=Object.values(fO),_b={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},gO=Object.entries(_b).reduce((e,[n,r])=>(e[r]=n,e),{}),Oi="data-rh",hu={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},fu=(e,n)=>{for(let r=e.length-1;r>=0;r-=1){const i=e[r];if(Object.prototype.hasOwnProperty.call(i,n))return i[n]}return null},WW=e=>{let n=fu(e,"title");const r=fu(e,hu.TITLE_TEMPLATE);if(Array.isArray(n)&&(n=n.join("")),r&&n)return r.replace(/%s/g,()=>n);const i=fu(e,hu.DEFAULT_TITLE);return n||i||void 0},HW=e=>fu(e,hu.ON_CHANGE_CLIENT_STATE)||(()=>{}),I0=(e,n)=>n.filter(r=>typeof r[e]<"u").map(r=>r[e]).reduce((r,i)=>({...r,...i}),{}),GW=(e,n)=>n.filter(r=>typeof r.base<"u").map(r=>r.base).reverse().reduce((r,i)=>{if(!r.length){const s=Object.keys(i);for(let a=0;a<s.length;a+=1){const l=s[a].toLowerCase();if(e.indexOf(l)!==-1&&i[l])return r.concat(i)}}return r},[]),KW=e=>console&&typeof console.warn=="function"&&console.warn(e),ip=(e,n,r)=>{const i={};return r.filter(s=>Array.isArray(s[e])?!0:(typeof s[e]<"u"&&KW(`Helmet: ${e} should be of type "Array". Instead found type "${typeof s[e]}"`),!1)).map(s=>s[e]).reverse().reduce((s,a)=>{const o={};a.filter(c=>{let u;const d=Object.keys(c);for(let m=0;m<d.length;m+=1){const h=d[m],g=h.toLowerCase();n.indexOf(g)!==-1&&!(u==="rel"&&c[u].toLowerCase()==="canonical")&&!(g==="rel"&&c[g].toLowerCase()==="stylesheet")&&(u=g),n.indexOf(h)!==-1&&(h==="innerHTML"||h==="cssText"||h==="itemprop")&&(u=h)}if(!u||!c[u])return!1;const p=c[u].toLowerCase();return i[u]||(i[u]={}),o[u]||(o[u]={}),i[u][p]?!1:(o[u][p]=!0,!0)}).reverse().forEach(c=>s.push(c));const l=Object.keys(o);for(let c=0;c<l.length;c+=1){const u=l[c],d={...i[u],...o[u]};i[u]=d}return s},[]).reverse()},QW=(e,n)=>{if(Array.isArray(e)&&e.length){for(let r=0;r<e.length;r+=1)if(e[r][n])return!0}return!1},YW=e=>({baseTag:GW(["href"],e),bodyAttributes:I0("bodyAttributes",e),defer:fu(e,hu.DEFER),encode:fu(e,hu.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:I0("htmlAttributes",e),linkTags:ip("link",["rel","href"],e),metaTags:ip("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:ip("noscript",["innerHTML"],e),onChangeClientState:HW(e),scriptTags:ip("script",["src","innerHTML"],e),styleTags:ip("style",["cssText"],e),title:WW(e),titleAttributes:I0("titleAttributes",e),prioritizeSeoTags:QW(e,hu.PRIORITIZE_SEO_TAGS)}),xO=e=>Array.isArray(e)?e.join(""):e,JW=(e,n)=>{const r=Object.keys(e);for(let i=0;i<r.length;i+=1)if(n[r[i]]&&n[r[i]].includes(e[r[i]]))return!0;return!1},A0=(e,n)=>Array.isArray(e)?e.reduce((r,i)=>(JW(i,n)?r.priority.push(i):r.default.push(i),r),{priority:[],default:[]}):{default:e,priority:[]},wE=(e,n)=>({...e,[n]:void 0}),XW=["noscript","script","style"],q1=(e,n=!0)=>n===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),vO=e=>Object.keys(e).reduce((n,r)=>{const i=typeof e[r]<"u"?`${r}="${e[r]}"`:`${r}`;return n?`${n} ${i}`:i},""),ZW=(e,n,r,i)=>{const s=vO(r),a=xO(n);return s?`<${e} ${Oi}="true" ${s}>${q1(a,i)}</${e}>`:`<${e} ${Oi}="true">${q1(a,i)}</${e}>`},eH=(e,n,r=!0)=>n.reduce((i,s)=>{const a=s,o=Object.keys(a).filter(u=>!(u==="innerHTML"||u==="cssText")).reduce((u,d)=>{const p=typeof a[d]>"u"?d:`${d}="${q1(a[d],r)}"`;return u?`${u} ${p}`:p},""),l=a.innerHTML||a.cssText||"",c=XW.indexOf(e)===-1;return`${i}<${e} ${Oi}="true" ${o}${c?"/>":`>${l}</${e}>`}`},""),bO=(e,n={})=>Object.keys(e).reduce((r,i)=>{const s=_b[i];return r[s||i]=e[i],r},n),tH=(e,n,r)=>{const i={key:n,[Oi]:!0},s=bO(r,i);return[L.createElement("title",s,n)]},ix=(e,n)=>n.map((r,i)=>{const s={key:i,[Oi]:!0};return Object.keys(r).forEach(a=>{const l=_b[a]||a;if(l==="innerHTML"||l==="cssText"){const c=r.innerHTML||r.cssText;s.dangerouslySetInnerHTML={__html:c}}else s[l]=r[a]}),L.createElement(e,s)}),Yr=(e,n,r=!0)=>{switch(e){case"title":return{toComponent:()=>tH(e,n.title,n.titleAttributes),toString:()=>ZW(e,n.title,n.titleAttributes,r)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>bO(n),toString:()=>vO(n)};default:return{toComponent:()=>
40ix(e,n),toString:()=>eH(e,n,r)}}},nH=({metaTags:e,linkTags:n,scriptTags:r,encode:i})=>{const s=A0(e,T0.meta),a=A0(n,T0.link),o=A0(r,T0.script);return{priorityMethods:{toComponent:()=>[...ix("meta",s.priority),...ix("link",a.priority),...ix("script",o.priority)],toString:()=>`${Yr("meta",s.priority,i)} ${Yr("link",a.priority,i)} ${Yr("script",o.priority,i)}`},metaTags:s.default,linkTags:a.default,scriptTags:o.default}},rH=e=>{const{baseTag:n,bodyAttributes:r,encode:i=!0,htmlAttributes:s,noscriptTags:a,styleTags:o,title:l="",titleAttributes:c,prioritizeSeoTags:u}=e;let{linkTags:d,metaTags:p,scriptTags:m}=e,h={toComponent:()=>[],toString:()=>""};return u&&({priorityMethods:h,linkTags:d,metaTags:p,scriptTags:m}=nH(e)),{priority:h,base:Yr("base",n,i),bodyAttributes:Yr("bodyAttributes",r,i),htmlAttributes:Yr("htmlAttributes",s,i),link:Yr("link",d,i),meta:Yr("meta",p,i),noscript:Yr("noscript",a,i),script:Yr("script",m,i),style:Yr("style",o,i),title:Yr("title",{title:l,titleAttributes:c},i)}},S1=rH,Bf=[],gq=!!(typeof window<"u"&&window.document&&window.document.createElement),C1=class{constructor(e,n){Ps(this,"instances",[]);Ps(this,"canUseDOM",gq);Ps(this,"context");Ps(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?Bf:this.instances,add:e=>{(this.canUseDOM?Bf:this.instances).push(e)},remove:e=>{const n=(this.canUseDOM?Bf:this.instances).indexOf(e);(this.canUseDOM?Bf:this.instances).splice(n,1)}}});this.context=e,this.canUseDOM=n||!1,n||(e.helmet=S1({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},iH=parseInt(L.version.split(".")[0],10),P1=iH>=19,sH={},yO=L.createContext(sH),Pl,jO=(Pl=class extends k.Component{constructor(r){super(r);Ps(this,"helmetData");P1?this.helmetData=null:this.helmetData=new C1(this.props.context||{},Pl.canUseDOM)}render(){return P1?L.createElement(L.Fragment,null,this.props.children):L.createElement(yO.Provider,{value:this.helmetData.value},this.props.children)}},Ps(Pl,"canUseDOM",gq),Pl),jc=(e,n)=>{const r=document.head||document.querySelector("head"),i=r.querySelectorAll(`${e}[${Oi}]`),s=[].slice.call(i),a=[];let o;return n&&n.length&&n.forEach(l=>{const c=document.createElement(e);for(const u in l)if(Object.prototype.hasOwnProperty.call(l,u))if(u==="innerHTML")c.innerHTML=l.innerHTML;else if(u==="cssText"){const d=l.cssText;c.appendChild(document.createTextNode(d))}else{const d=u,p=typeof l[d]>"u"?"":l[d];c.setAttribute(u,p)}c.setAttribute(Oi,"true"),s.some((u,d)=>(o=d,c.isEqualNode(u)))?s.splice(o,1):a.push(c)}),s.forEach(l=>{var c;return(c=l.parentNode)==null?void 0:c.removeChild(l)}),a.forEach(l=>r.appendChild(l)),{oldTags:s,newTags:a}},E1=(e,n)=>{const r=document.getElementsByTagName(e)[0];if(!r)return;const i=r.getAttribute(Oi),s=i?i.split(","):[],a=[...s],o=Object.keys(n);for(const l of o){const c=n[l]||"";r.getAttribute(l)!==c&&r.setAttribute(l,c),s.indexOf(l)===-1&&s.push(l);const u=a.indexOf(l);u!==-1&&a.splice(u,1)}for(let l=a.length-1;l>=0;l-=1)r.removeAttribute(a[l]);s.length===a.length?r.removeAttribute(Oi):r.getAttribute(Oi)!==o.join(",")&&r.setAttribute(Oi,o.join(","))},aH=(e,n)=>{typeof e<"u"&&document.title!==e&&(document.title=xO(e)),E1("title",n)},NE=(e,n)=>{const{baseTag:r,bodyAttributes:i,htmlAttributes:s,linkTags:a,metaTags:o,noscriptTags:l,onChangeClientState:c,scriptTags:u,styleTags:d,title:p,titleAttributes:m}=e;E1("body",i),E1("html",s),aH(p,m);const h={baseTag:jc("base",r),linkTags:jc("link",a),metaTags:jc("meta",o),noscriptTags:jc("noscript",l),scriptTags:jc("script",u),styleTags:jc("style",d)},g={},f={};Object.keys(h).forEach(x=>{const{newTags:v,oldTags:b}=h[x];v.length&&(g[x]=v),b.length&&(f[x]=h[x].oldTags)}),n&&n(),c(e,g,f)},sp=null,oH=e=>{sp&&cancelAnimationFrame(sp),e.defer?sp=requestAnimationFrame(()=>{NE(e,()=>{sp=null})}):(NE(e),sp=null)},lH=oH,kE=class extends k.Component{constructor(){super(...arguments);Ps(this,"rendered",!1)}shouldComponentUpdate(n){return!VW(n,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:n}=this.props.context;n.remove(this),this.emitChange()}emitChange(){const{helmetInstances:n,setHelmet:r}=this.props.context;let i=null;const s=YW(n.get().map(a=>{const{context:o,...l}=a.props;return l}));jO.canUseDOM?lH(s):S1&&(i=S1(s)),r(i)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:n}=this.props.context;n.add(this),this.emitChange()}render(){return this.init(),null}},sx=[],qE=e=>{const n={};for(const r of Object.keys(e))n[gO[r]||r]=e[r];return n},Ko=e=>{const n={};for(const r of Object.keys(e)){const i=_b[r];n[i||r]=e[r]}return n},SE=(e,n)=>{if(!gq)return;const r=document.getElementsByTagName(e)[0];if(!r)return;const i="data-rh-managed",s=r.getAttribute(i),a=s?s.split(","):[],o=Object.keys(n);for(const l of a)o.includes(l)||r.removeAttribute(l);for(const l of o){const c=n[l];c==null||c===!1?r.removeAttribute(l):c===!0?r.setAttribute(l,""):r.setAttribute(l,String(c))}o.length>0?r.setAttribute(i,o.join(",")):r.removeAttribute(i)},L0=()=>{const e={},n={};for(const r of sx){const{htmlAttributes:i,bodyAttributes:s}=r.props;i&&Object.assign(e,qE(i)),s&&Object.assign(n,qE(s))}SE("html",e),SE("body",n)},cH=class extends k.Component{componentDidMount(){sx.push(this),L0()}componentDidUpdate(){L0()}componentWillUnmount(){const e=sx.indexOf(this);e!==-1&&sx.splice(e,1),L0()}resolveTitle(){const{title:e,titleTemplate:n,defaultTitle:r}=this.props;return e&&n?n.replace(/%s/g,()=>Array.isArray(e)?e.join(""):e):e||r||void 0}renderTitle(){const e=this.resolveTitle();if(e===void 0)return null;const n=this.props.titleAttributes||{};return L.createElement("title",Ko(n),e)}renderBase(){const{base:e}=this.props;return e?L.createElement("base",Ko(e)):null}renderMeta(){const{meta:e}=this.props;return!e||!Array.isArray(e)?null:e.map((n,r)=>L.createElement("meta",{key:r,...Ko(n)}))}renderLink(){const{link:e}=this.props;return!e||!Array.isArray(e)?null:e.map((n,r)=>L.createElement("link",{key:r,...Ko(n)}))}renderScript(){const{script:e}=this.props;return!e||!Array.isArray(e)?null:e.map((n,r)=>{const{innerHTML:i,...s}=n,a=Ko(s);return i&&(a.dangerouslySetInnerHTML={__html:i}),L.createElement("script",{key:r,...a})})}renderStyle(){const{style:e}=this.props;return!e||!Array.isArray(e)?null:e.map((n,r)=>{const{cssText:i,...s}=n,a=Ko(s);return i&&(a.dangerouslySetInnerHTML={__html:i}),L.createElement("style",{key:r,...a})})}renderNoscript(){const{noscript:e}=this.props;return!e||!Array.isArray(e)?null:e.map((n,r)=>{const{innerHTML:i,...s}=n,a=Ko(s);return i&&(a.dangerouslySetInnerHTML={__html:i}),L.createElement("noscript",{key:r,...a})})}render(){return L.createElement(L.Fragment,null,this.renderTitle(),this.renderBase(),this.renderMeta(),this.renderLink(),this.renderScript(),this.renderStyle(),this.renderNoscript())}},Aw,$r=(Aw=class extends k.Component{shouldComponentUpdate(e){return!$W(wE(this.props,"helmetData"),wE(e,"helmetData"))}mapNestedChildrenToProps(e,n){if(!n)return null;switch(e.type){case"script":case"noscript":return{innerHTML:n};case"style":return{cssText:n};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,n,r,i){return{...n,[e.type]:[...n[e.type]||[],{...r,...this.mapNestedChildrenToProps(e,i)}]}}mapObjectTypeChildren(e,n,r,i){switch(e.type){case"title":return{...n,[e.type]:i,titleAttributes:{...r}};case"body":return{...n,bodyAttributes:{...r}};case"html":return{...n,htmlAttributes:{...r}};default:return{...n,[e.type]:{...r}}}}mapArrayTypeChildrenToProps(e,n){let r={...n};return Object.keys(e).forEach(i=>
40{r={...r,[i]:e[i]}}),r}warnOnInvalidChildren(e,n){return yE(jE.some(r=>e.type===r),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${jE.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),yE(!n||typeof n=="string"||Array.isArray(n)&&!n.some(r=>typeof r!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,n){let r={};return L.Children.forEach(e,i=>{if(!i||!i.props)return;const{children:s,...a}=i.props,o=Object.keys(a).reduce((c,u)=>(c[gO[u]||u]=a[u],c),{});let{type:l}=i;switch(typeof l=="symbol"?l=l.toString():this.warnOnInvalidChildren(i,s),l){case"Symbol(react.fragment)":n=this.mapChildrenToProps(s,n);break;case"link":case"meta":case"noscript":case"script":case"style":r=this.flattenArrayTypeChildren(i,r,o,s);break;default:n=this.mapObjectTypeChildren(i,n,o,s);break}}),this.mapArrayTypeChildrenToProps(r,n)}render(){const{children:e,...n}=this.props;let r={...n},{helmetData:i}=n;if(e&&(r=this.mapChildrenToProps(e,r)),i&&!(i instanceof C1)){const s=i;i=new C1(s.context,!0),delete r.helmetData}return P1?L.createElement(cH,{...r}):i?L.createElement(kE,{...r,context:i.value}):L.createElement(yO.Consumer,null,s=>L.createElement(kE,{...r,context:s}))}},Ps(Aw,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),Aw),Qh=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Yl=typeof window>"u"||"Deno"in globalThis;function rr(){}function uH(e,n){return typeof e=="function"?e(n):e}function T1(e){return typeof e=="number"&&e>=0&&e!==1/0}function wO(e,n){return Math.max(e+(n||0)-Date.now(),0)}function No(e,n){return typeof e=="function"?e(n):e}function Zr(e,n){return typeof e=="function"?e(n):e}function CE(e,n){const{type:r="all",exact:i,fetchStatus:s,predicate:a,queryKey:o,stale:l}=e;if(o){if(i){if(n.queryHash!==xq(o,n.options))return!1}else if(!Fm(n.queryKey,o))return!1}if(r!=="all"){const c=n.isActive();if(r==="active"&&!c||r==="inactive"&&c)return!1}return!(typeof l=="boolean"&&n.isStale()!==l||s&&s!==n.state.fetchStatus||a&&!a(n))}function PE(e,n){const{exact:r,status:i,predicate:s,mutationKey:a}=e;if(a){if(!n.options.mutationKey)return!1;if(r){if(Lm(n.options.mutationKey)!==Lm(a))return!1}else if(!Fm(n.options.mutationKey,a))return!1}return!(i&&n.state.status!==i||s&&!s(n))}function xq(e,n){return((n==null?void 0:n.queryKeyHashFn)||Lm)(e)}function Lm(e){return JSON.stringify(e,(n,r)=>A1(r)?Object.keys(r).sort().reduce((i,s)=>(i[s]=r[s],i),{}):r)}function Fm(e,n){return e===n?!0:typeof e!=typeof n?!1:e&&n&&typeof e=="object"&&typeof n=="object"?Object.keys(n).every(r=>Fm(e[r],n[r])):!1}function NO(e,n){if(e===n)return e;const r=EE(e)&&EE(n);if(r||A1(e)&&A1(n)){const i=r?e:Object.keys(e),s=i.length,a=r?n:Object.keys(n),o=a.length,l=r?[]:{},c=new Set(i);let u=0;for(let d=0;d<o;d++){const p=r?d:a[d];(!r&&c.has(p)||r)&&e[p]===void 0&&n[p]===void 0?(l[p]=void 0,u++):(l[p]=NO(e[p],n[p]),l[p]===e[p]&&e[p]!==void 0&&u++)}return s===o&&u===s?e:l}return n}function I1(e,n){if(!n||Object.keys(e).length!==Object.keys(n).length)return!1;for(const r in e)if(e[r]!==n[r])return!1;return!0}function EE(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function A1(e){if(!TE(e))return!1;const n=e.constructor;if(n===void 0)return!0;const r=n.prototype;return!(!TE(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function TE(e){return Object.prototype.toString.call(e)==="[object Object]"}function dH(e){return new Promise(n=>{setTimeout(n,e)})}function L1(e,n,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,n):r.structuralSharing!==!1?NO(e,n):n}function pH(e,n,r=0){const i=[...e,n];return r&&i.length>r?i.slice(1):i}function mH(e,n,r=0){const i=[n,...e];return r&&i.length>r?i.slice(0,-1):i}var vq=Symbol();function kO(e,n){return!e.queryFn&&(n!=null&&n.initialPromise)?()=>n.initialPromise:!e.queryFn||e.queryFn===vq?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function hH(e,n){return typeof e=="function"?e(...n):!!e}var El,eo,qu,H4,fH=(H4=class extends Qh{constructor(){super();we(this,El);we(this,eo);we(this,qu);ue(this,qu,n=>{if(!Yl&&window.addEventListener){const r=()=>n();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){B(this,eo)||this.setEventListener(B(this,qu))}onUnsubscribe(){var n;this.hasListeners()||((n=B(this,eo))==null||n.call(this),ue(this,eo,void 0))}setEventListener(n){var r;ue(this,qu,n),(r=B(this,eo))==null||r.call(this),ue(this,eo,n(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()}))}setFocused(n){B(this,El)!==n&&(ue(this,El,n),this.onFocus())}onFocus(){const n=this.isFocused();
vendor: 4,924 bytes, line 40
40this.listeners.forEach(r=>{r(n)})}isFocused(){var n;return typeof B(this,El)=="boolean"?B(this,El):((n=globalThis.document)==null?void 0:n.visibilityState)!=="hidden"}},El=new WeakMap,eo=new WeakMap,qu=new WeakMap,H4),bq=new fH,Su,to,Cu,G4,gH=(G4=class extends Qh{constructor(){super();we(this,Su,!0);we(this,to);we(this,Cu);ue(this,Cu,n=>{if(!Yl&&window.addEventListener){const r=()=>n(!0),i=()=>n(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",i,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",i)}}})}onSubscribe(){B(this,to)||this.setEventListener(B(this,Cu))}onUnsubscribe(){var n;this.hasListeners()||((n=B(this,to))==null||n.call(this),ue(this,to,void 0))}setEventListener(n){var r;ue(this,Cu,n),(r=B(this,to))==null||r.call(this),ue(this,to,n(this.setOnline.bind(this)))}setOnline(n){B(this,Su)!==n&&(ue(this,Su,n),this.listeners.forEach(i=>{i(n)}))}isOnline(){return B(this,Su)}},Su=new WeakMap,to=new WeakMap,Cu=new WeakMap,G4),Vx=new gH;function F1(){let e,n;const r=new Promise((s,a)=>{e=s,n=a});r.status="pending",r.catch(()=>{});function i(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{i({status:"fulfilled",value:s}),e(s)},r.reject=s=>{i({status:"rejected",reason:s}),n(s)},r}function xH(e){return Math.min(1e3*2**e,3e4)}function qO(e){return(e??"online")==="online"?Vx.isOnline():!0}var SO=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function F0(e){return e instanceof SO}function CO(e){let n=!1,r=0,i=!1,s;const a=F1(),o=f=>{var x;i||(m(new SO(f)),(x=e.abort)==null||x.call(e))},l=()=>{n=!0},c=()=>{n=!1},u=()=>bq.isFocused()&&(e.networkMode==="always"||Vx.isOnline())&&e.canRun(),d=()=>qO(e.networkMode)&&e.canRun(),p=f=>{var x;i||(i=!0,(x=e.onSuccess)==null||x.call(e,f),s==null||s(),a.resolve(f))},m=f=>{var x;i||(i=!0,(x=e.onError)==null||x.call(e,f),s==null||s(),a.reject(f))},h=()=>new Promise(f=>{var x;s=v=>{(i||u())&&f(v)},(x=e.onPause)==null||x.call(e)}).then(()=>{var f;s=void 0,i||(f=e.onContinue)==null||f.call(e)}),g=()=>{if(i)return;let f;const x=r===0?e.initialPromise:void 0;try{f=x??e.fn()}catch(v){f=Promise.reject(v)}Promise.resolve(f).then(p).catch(v=>{var w;if(i)return;const b=e.retry??(Yl?0:3),y=e.retryDelay??xH,N=typeof y=="function"?y(r,v):y,j=b===!0||typeof b=="number"&&r<b||typeof b=="function"&&b(r,v);if(n||!j){m(v);return}r++,(w=e.onFail)==null||w.call(e,r,v),dH(N).then(()=>u()?void 0:h()).then(()=>{n?m(v):g()})})};return{promise:a,cancel:o,continue:()=>(s==null||s(),a),cancelRetry:l,continueRetry:c,canStart:d,start:()=>(d()?g():h().then(g),a)}}var vH=e=>setTimeout(e,0);function bH(){let e=[],n=0,r=l=>{l()},i=l=>{l()},s=vH;const a=l=>{n?e.push(l):s(()=>{r(l)})},o=()=>{const l=e;e=[],l.length&&s(()=>{i(()=>{l.forEach(c=>{r(c)})})})};return{batch:l=>{let c;n++;try{c=l()}finally{n--,n||o()}return c},batchCalls:l=>(...c)=>{a(()=>{l(...c)})},schedule:a,setNotifyFunction:l=>{r=l},setBatchNotifyFunction:l=>{i=l},setScheduler:l=>{s=l}}}var gn=bH(),Tl,K4,PO=(K4=class{constructor(){we(this,Tl)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),T1(this.gcTime)&&ue(this,Tl,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Yl?1/0:5*60*1e3))}clearGcTimeout(){B(this,Tl)&&(clearTimeout(B(this,Tl)),ue(this,Tl,void 0))}},Tl=new WeakMap,K4),Pu,Il,Xr,Al,Pn,Mh,Ll,Pi,Os,Q4,yH=(Q4=class extends PO{constructor(n){super();we(this,Pi);we(this,Pu);we(this,Il);we(this,Xr);we(this,Al);we(this,Pn);we(this,Mh);we(this,Ll);ue(this,Ll,!1),ue(this,Mh,n.defaultOptions),this.setOptions(n.options),this.observers=[],ue(this,Al,n.client),ue(this,Xr,B(this,Al).getQueryCache()),this.queryKey=n.queryKey,this.queryHash=n.queryHash,ue(this,Pu,jH(this.options)),this.state=n.state??B(this,Pu),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var n;return(n=B(this,Pn))==null?void 0:n.promise}setOptions(n){this.options={...B(this,Mh),...n},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&B(this,Xr).remove(this)}setData(n,r){const i=L1(this.state.data,n,this.options);return _e(this,Pi,Os).call(this,{data:i,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),i}setState(n,r){_e(this,Pi,Os).call(this,{type:"setState",state:n,setStateOptions:r})}cancel(n){var i,s;const r=(i=B(this,Pn))==null?void 0:i.promise;return(s=B(this,Pn))==null||s.cancel(n),r?r.then(rr).catch(rr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(B(this,Pu))}isActive(){return this.observers.some(n=>Zr(n.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===vq||this.state.dataUpdateCount+this.state.errorUpdate
40Count===0}isStatic(){return this.getObserversCount()>0?this.observers.some(n=>No(n.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(n=>n.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(n=0){return this.state.data===void 0?!0:n==="static"?!1:this.state.isInvalidated?!0:!wO(this.state.dataUpdatedAt,n)}onFocus(){var r;const n=this.observers.find(i=>i.shouldFetchOnWindowFocus());n==null||n.refetch({cancelRefetch:!1}),(r=B(this,Pn))==null||r.continue()}onOnline(){var r;const n=this.observers.find(i=>i.shouldFetchOnReconnect());n==null||n.refetch({cancelRefetch:!1}),(r=B(this,Pn))==null||r.continue()}addObserver(n){this.observers.includes(n)||(this.observers.push(n),this.clearGcTimeout(),B(this,Xr).notify({type:"observerAdded",query:this,observer:n}))}removeObserver(n){this.observers.includes(n)&&(this.observers=this.observers.filter(r=>r!==n),this.observers.length||(B(this,Pn)&&(B(this,Ll)?B(this,Pn).cancel({revert:!0}):B(this,Pn).cancelRetry()),this.scheduleGc()),B(this,Xr).notify({type:"observerRemoved",query:this,observer:n}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||_e(this,Pi,Os).call(this,{type:"invalidate"})}fetch(n,r){var u,d,p;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(B(this,Pn))return B(this,Pn).continueRetry(),B(this,Pn).promise}if(n&&this.setOptions(n),!this.options.queryFn){const m=this.observers.find(h=>h.options.queryFn);m&&this.setOptions(m.options)}const i=new AbortController,s=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(ue(this,Ll,!0),i.signal)})},a=()=>{const m=kO(this.options,r),g=(()=>{const f={client:B(this,Al),queryKey:this.queryKey,meta:this.meta};return s(f),f})();return ue(this,Ll,!1),this.options.persister?this.options.persister(m,g,this):m(g)},l=(()=>{const m={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:B(this,Al),state:this.state,fetchFn:a};return s(m),m})();(u=this.options.behavior)==null||u.onFetch(l,this),ue(this,Il,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=l.fetchOptions)==null?void 0:d.meta))&&_e(this,Pi,Os).call(this,{type:"fetch",meta:(p=l.fetchOptions)==null?void 0:p.meta});const c=m=>{var h,g,f,x;F0(m)&&m.silent||_e(this,Pi,Os).call(this,{type:"error",error:m}),F0(m)||((g=(h=B(this,Xr).config).onError)==null||g.call(h,m,this),(x=(f=B(this,Xr).config).onSettled)==null||x.call(f,this.state.data,m,this)),this.scheduleGc()};return ue(this,Pn,CO({initialPromise:r==null?void 0:r.initialPromise,fn:l.fetchFn,abort:i.abort.bind(i),onSuccess:m=>{var h,g,f,x;if(m===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(m)}catch(v){c(v);return}(g=(h=B(this,Xr).config).onSuccess)==null||g.call(h,m,this),(x=(f=B(this,Xr).config).onSettled)==null||x.call(f,m,this.state.error,this),this.scheduleGc()},onError:c,onFail:(m,h)=>{_e(this,Pi,Os).call(this,{type:"failed",failureCount:m,error:h})},onPause:()=>{_e(this,Pi,Os).call(this,{type:"pause"})},onContinue:()=>{_e(this,Pi,Os).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0})),B(this,Pn).start()}},Pu=new WeakMap,Il=new WeakMap,Xr=new WeakMap,Al=new WeakMap,Pn=new WeakMap,Mh=new WeakMap,Ll=new WeakMap,Pi=new WeakSet,Os=function(n){const r=i=>{switch(n.type){case"failed":return{...i,fetchFailureCount:n.failureCount,fetchFailureReason:n.error};case"pause":return{...i,fetchStatus:"paused"};case"continue":return{...i,fetchStatus:"fetching"};case"fetch":return{...i,...EO(i.data,this.options),fetchMeta:n.meta??null};case"success":return ue(this,Il,void 0),{...i,data:n.data,dataUpdateCount:i.dataUpdateCount+1,dataUpdatedAt:n.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!n.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=n.error;return F0(s)&&s.revert&&B(this,Il)?{...B(this,Il),fetchStatus:"idle"}
vendor: 5,105 bytes, line 40
40:{...i,error:s,errorUpdateCount:i.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:i.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...i,isInvalidated:!0};case"setState":return{...i,...n.state}}};this.state=r(this.state),gn.batch(()=>{this.observers.forEach(i=>{i.onQueryUpdate()}),B(this,Xr).notify({query:this,type:"updated",action:n})})},Q4);function EO(e,n){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:qO(n.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function jH(e){const n=typeof e.initialData=="function"?e.initialData():e.initialData,r=n!==void 0,i=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:n,dataUpdateCount:0,dataUpdatedAt:r?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var is,Y4,wH=(Y4=class extends Qh{constructor(n={}){super();we(this,is);this.config=n,ue(this,is,new Map)}build(n,r,i){const s=r.queryKey,a=r.queryHash??xq(s,r);let o=this.get(a);return o||(o=new yH({client:n,queryKey:s,queryHash:a,options:n.defaultQueryOptions(r),state:i,defaultOptions:n.getQueryDefaults(s)}),this.add(o)),o}add(n){B(this,is).has(n.queryHash)||(B(this,is).set(n.queryHash,n),this.notify({type:"added",query:n}))}remove(n){const r=B(this,is).get(n.queryHash);r&&(n.destroy(),r===n&&B(this,is).delete(n.queryHash),this.notify({type:"removed",query:n}))}clear(){gn.batch(()=>{this.getAll().forEach(n=>{this.remove(n)})})}get(n){return B(this,is).get(n)}getAll(){return[...B(this,is).values()]}find(n){const r={exact:!0,...n};return this.getAll().find(i=>CE(r,i))}findAll(n={}){const r=this.getAll();return Object.keys(n).length>0?r.filter(i=>CE(n,i)):r}notify(n){gn.batch(()=>{this.listeners.forEach(r=>{r(n)})})}onFocus(){gn.batch(()=>{this.getAll().forEach(n=>{n.onFocus()})})}onOnline(){gn.batch(()=>{this.getAll().forEach(n=>{n.onOnline()})})}},is=new WeakMap,Y4),ss,$n,Fl,as,za,J4,NH=(J4=class extends PO{constructor(n){super();we(this,as);we(this,ss);we(this,$n);we(this,Fl);this.mutationId=n.mutationId,ue(this,$n,n.mutationCache),ue(this,ss,[]),this.state=n.state||kH(),this.setOptions(n.options),this.scheduleGc()}setOptions(n){this.options=n,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(n){B(this,ss).includes(n)||(B(this,ss).push(n),this.clearGcTimeout(),B(this,$n).notify({type:"observerAdded",mutation:this,observer:n}))}removeObserver(n){ue(this,ss,B(this,ss).filter(r=>r!==n)),this.scheduleGc(),B(this,$n).notify({type:"observerRemoved",mutation:this,observer:n})}optionalRemove(){B(this,ss).length||(this.state.status==="pending"?this.scheduleGc():B(this,$n).remove(this))}continue(){var n;return((n=B(this,Fl))==null?void 0:n.continue())??this.execute(this.state.variables)}async execute(n){var a,o,l,c,u,d,p,m,h,g,f,x,v,b,y,N,j,w,q,P;const r=()=>{_e(this,as,za).call(this,{type:"continue"})};ue(this,Fl,CO({fn:()=>this.options.mutationFn?this.options.mutationFn(n):Promise.reject(new Error("No mutationFn found")),onFail:(T,E)=>{_e(this,as,za).call(this,{type:"failed",failureCount:T,error:E})},onPause:()=>{_e(this,as,za).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>B(this,$n).canRun(this)}));const i=this.state.status==="pending",s=!B(this,Fl).canStart();try{if(i)r();else{_e(this,as,za).call(this,{type:"pending",variables:n,isPaused:s}),await((o=(a=B(this,$n).config).onMutate)==null?void 0:o.call(a,n,this));const E=await((c=(l=this.options).onMutate)==null?void 0:c.call(l,n));E!==this.state.context&&_e(this,as,za).call(this,{type:"pending",context:E,variables:n,isPaused:s})}const T=await B(this,Fl).start();return await((d=(u=B(this,$n).config).onSuccess)==null?void 0:d.call(u,T,n,this.state.context,this)),await((m=(p=this.options).onSuccess)==null?void 0:m.call(p,T,n,this.state.context)),await((g=(h=B(this,$n).config).onSettled)==null?void 0:g.call(h,T,null,this.state.variables,this.state.context,this)),await((x=(f=this.options).onSettled)==null?void 0:x.call(f,T,null,n,this.state.context)),_e(this,as,za).call(this,{type:"success",data:T}),T}catch(T){try{throw await((b=(v=B(this,$n).config).onError)==null?void 0:b.call(v,T,n,this.state.context,this)),await((N=(y=this.options).onError)==null?void 0:N.call(y,T,n,this.state.context)),await((w=(j=B(this,$n).config).onSettled)==null?void 0:w.call(j,void 0,T,this.state.variables,this.state.context,this)),await((P=(q=this.options).onSettled)==null?void 0:P.call(q,void 0,T,n,this.state.context)),T}finally{_e(this,as,za).call(this,{type:"error",error:T})}}finally{B(this,$n).runNext(this)}}},ss=new WeakMap,$n=new WeakMap,Fl=new WeakMap,as=new WeakSet,za=function(n){const r=i=>{switch(n.type){case"failed":return{...i,failureCount:n.failureCount,failureReason:n.error};case"pause":return{...i,isPaused:!0};case"continue":return{...i,isPaused:!1};
40case"pending":return{...i,context:n.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:n.isPaused,status:"pending",variables:n.variables,submittedAt:Date.now()};case"success":return{...i,data:n.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...i,data:void 0,error:n.error,failureCount:i.failureCount+1,failureReason:n.error,isPaused:!1,status:"error"}}};this.state=r(this.state),gn.batch(()=>{B(this,ss).forEach(i=>{i.onMutationUpdate(n)}),B(this,$n).notify({mutation:this,type:"updated",action:n})})},J4);function kH(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var zs,Ei,$h,X4,qH=(X4=class extends Qh{constructor(n={}){super();we(this,zs);we(this,Ei);we(this,$h);this.config=n,ue(this,zs,new Set),ue(this,Ei,new Map),ue(this,$h,0)}build(n,r,i){const s=new NH({mutationCache:this,mutationId:++Nf(this,$h)._,options:n.defaultMutationOptions(r),state:i});return this.add(s),s}add(n){B(this,zs).add(n);const r=zf(n);if(typeof r=="string"){const i=B(this,Ei).get(r);i?i.push(n):B(this,Ei).set(r,[n])}this.notify({type:"added",mutation:n})}remove(n){if(B(this,zs).delete(n)){const r=zf(n);if(typeof r=="string"){const i=B(this,Ei).get(r);if(i)if(i.length>1){const s=i.indexOf(n);s!==-1&&i.splice(s,1)}else i[0]===n&&B(this,Ei).delete(r)}}this.notify({type:"removed",mutation:n})}canRun(n){const r=zf(n);if(typeof r=="string"){const i=B(this,Ei).get(r),s=i==null?void 0:i.find(a=>a.state.status==="pending");return!s||s===n}else return!0}runNext(n){var i;const r=zf(n);if(typeof r=="string"){const s=(i=B(this,Ei).get(r))==null?void 0:i.find(a=>a!==n&&a.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){gn.batch(()=>{B(this,zs).forEach(n=>{this.notify({type:"removed",mutation:n})}),B(this,zs).clear(),B(this,Ei).clear()})}getAll(){return Array.from(B(this,zs))}find(n){const r={exact:!0,...n};return this.getAll().find(i=>PE(r,i))}findAll(n={}){return this.getAll().filter(r=>PE(n,r))}notify(n){gn.batch(()=>{this.listeners.forEach(r=>{r(n)})})}resumePausedMutations(){const n=this.getAll().filter(r=>
vendor: 13,622 bytes, line 40
40r.state.isPaused);return gn.batch(()=>Promise.all(n.map(r=>r.continue().catch(rr))))}},zs=new WeakMap,Ei=new WeakMap,$h=new WeakMap,X4);function zf(e){var n;return(n=e.options.scope)==null?void 0:n.id}function IE(e){return{onFetch:(n,r)=>{var d,p,m,h,g;const i=n.options,s=(m=(p=(d=n.fetchOptions)==null?void 0:d.meta)==null?void 0:p.fetchMore)==null?void 0:m.direction,a=((h=n.state.data)==null?void 0:h.pages)||[],o=((g=n.state.data)==null?void 0:g.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const u=async()=>{let f=!1;const x=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(n.signal.aborted?f=!0:n.signal.addEventListener("abort",()=>{f=!0}),n.signal)})},v=kO(n.options,n.fetchOptions),b=async(y,N,j)=>{if(f)return Promise.reject();if(N==null&&y.pages.length)return Promise.resolve(y);const q=(()=>{const A={client:n.client,queryKey:n.queryKey,pageParam:N,direction:j?"backward":"forward",meta:n.options.meta};return x(A),A})(),P=await v(q),{maxPages:T}=n.options,E=j?mH:pH;return{pages:E(y.pages,P,T),pageParams:E(y.pageParams,N,T)}};if(s&&a.length){const y=s==="backward",N=y?SH:AE,j={pages:a,pageParams:o},w=N(i,j);l=await b(j,w,y)}else{const y=e??a.length;do{const N=c===0?o[0]??i.initialPageParam:AE(i,l);if(c>0&&N==null)break;l=await b(l,N),c++}while(c<y)}return l};n.options.persister?n.fetchFn=()=>{var f,x;return(x=(f=n.options).persister)==null?void 0:x.call(f,u,{client:n.client,queryKey:n.queryKey,meta:n.options.meta,signal:n.signal},r)}:n.fetchFn=u}}}function AE(e,{pages:n,pageParams:r}){const i=n.length-1;return n.length>0?e.getNextPageParam(n[i],n,r[i],r):void 0}function SH(e,{pages:n,pageParams:r}){var i;return n.length>0?(i=e.getPreviousPageParam)==null?void 0:i.call(e,n[0],n,r[0],r):void 0}var Pt,no,ro,Eu,Tu,io,Iu,Au,Z4,CH=(Z4=class{constructor(e={}){we(this,Pt);we(this,no);we(this,ro);we(this,Eu);we(this,Tu);we(this,io);we(this,Iu);we(this,Au);ue(this,Pt,e.queryCache||new wH),ue(this,no,e.mutationCache||new qH),ue(this,ro,e.defaultOptions||{}),ue(this,Eu,new Map),ue(this,Tu,new Map),ue(this,io,0)}mount(){Nf(this,io)._++,B(this,io)===1&&(ue(this,Iu,bq.subscribe(async e=>{e&&(await this.resumePausedMutations(),B(this,Pt).onFocus())})),ue(this,Au,Vx.subscribe(async e=>{e&&(await this.resumePausedMutations(),B(this,Pt).onOnline())})))}unmount(){var e,n;Nf(this,io)._--,B(this,io)===0&&((e=B(this,Iu))==null||e.call(this),ue(this,Iu,void 0),(n=B(this,Au))==null||n.call(this),ue(this,Au,void 0))}isFetching(e){return B(this,Pt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return B(this,no).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const n=this.defaultQueryOptions({queryKey:e});return(r=B(this,Pt).get(n.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const n=this.defaultQueryOptions(e),r=B(this,Pt).build(this,n),i=r.state.data;return i===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(No(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(i))}getQueriesData(e){return B(this,Pt).findAll(e).map(({queryKey:n,state:r})=>{const i=r.data;return[n,i]})}setQueryData(e,n,r){const i=this.defaultQueryOptions({queryKey:e}),s=B(this,Pt).get(i.queryHash),a=s==null?void 0:s.state.data,o=uH(n,a);if(o!==void 0)return B(this,Pt).build(this,i).setData(o,{...r,manual:!0})}setQueriesData(e,n,r){return gn.batch(()=>B(this,Pt).findAll(e).map(({queryKey:i})=>[i,this.setQueryData(i,n,r)]))}getQueryState(e){var r;const n=this.defaultQueryOptions({queryKey:e});return(r=B(this,Pt).get(n.queryHash))==null?void 0:r.state}removeQueries(e){const n=B(this,Pt);gn.batch(()=>{n.findAll(e).forEach(r=>{n.remove(r)})})}resetQueries(e,n){const r=B(this,Pt);return gn.batch(()=>(r.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries({type:"active",...e},n)))}cancelQueries(e,n={}){const r={revert:!0,...n},i=gn.batch(()=>B(this,Pt).findAll(e).map(s=>s.cancel(r)));return Promise.all(i).then(rr).catch(rr)}invalidateQueries(e,n={}){return gn.batch(()=>(B(this,Pt).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},n)))}refetchQueries(e,n={}){const r={...n,cancelRefetch:n.cancelRefetch??!0},i=gn.batch(()=>B(this,Pt).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let a=s.fetch(void 0,r);return r.throwOnError||(a=a.catch(rr)),s.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(i).then(rr)}fetchQuery(e){const n=this.defaultQueryOptions(e);n.retry===void 0&&(n.retry=!1);const r=B(this,Pt).build(this,n);return r.isStaleByTime(No(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(rr).catch(rr)}fetchInfiniteQuery(e){return e.behavior=IE(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(rr).catch(rr)}ensureInfiniteQueryData(e){return e.behavior=IE(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Vx.isOnline()?B(this,no).resumePausedMutations():Promise.resolve()}getQueryCache(){return B(this,Pt)}getMutationCache(){return B(this,no)}getDefaultOptions(){return B(this,ro)}setDefaultOptions(e){ue(this,ro,e)}setQueryDefaults(e,n){B(this,Eu).set(Lm(e),{queryKey:e,defaultOptions:n})}getQueryDefaults(e){const n=[...B(this,Eu).values()],r={};return n.forEach(i=>{Fm(e,i.queryKey)&&Object.assign(r,i.defaultOptions)}),r}setMutationDefaults(e,n){B(this,Tu).set(Lm(e),{mutationKey:e,defaultOptions:n})}getMutationDefaults(e){const n=[...B(this,Tu).values()],r={};return n.forEach(i=>{Fm(e,i.mutationKey)&&Object.assign(r,i.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const n={...B(this,ro).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return n.queryHash||(n.queryHash=xq(n.queryKey,n)),n.refetchOnReconnect===void 0&&(n.refetchOnReconnect=n.networkMode!=="always"),n.throwOnError===void 0&&(n.throwOnError=!!n.suspense),!n.networkMode&&n.persister&&(n.networkMode="offlineFirst"),n.queryFn===vq&&(n.enabled=!1),n}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...B(this,ro).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){B(this,Pt).clear(),B(this,no).clear()}},Pt=new WeakMap,no=new WeakMap,ro=new WeakMap,Eu=new WeakMap,Tu=new WeakMap,io=new WeakMap,Iu=new WeakMap,Au=new WeakMap,Z4),tr,Oe,Bh,Bn,_l,Lu,so,ao,zh,Fu,_u,Ol,Rl,oo,Ou,Qe,Dp,_1,O1,R1,D1,M1,$1,B1,TO,e_,PH=(e_=class extends Qh{constructor(n,r){super();we(this,Qe);we(this,tr);we(this,Oe);we(this,Bh);we(this,Bn);we(this,_l);we(this,Lu);we(this,so);we(this,ao);we(this,zh);we(this,Fu);we(this,_u);we(this,Ol);we(this,Rl);we(this,oo);we(this,Ou,new Set);this.options=r,ue(this,tr,n),ue(this,ao,null),ue(this,so,F1()),this.options.experimental_prefetchInRender||B(this,so).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(B(this,Oe).addObserver(this),LE(B(this,Oe),this.options)?_e(this,Qe,Dp).call(this):this.updateResult(),_e(this,Qe,D1).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return z1(B(this,Oe),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return z1(B(this,Oe),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,_e(this,Qe,M1).call(this),_e(this,Qe,$1).call(this),B(this,Oe).removeObserver(this)}setOptions(n){const r=this.options,i=B(this,Oe);if(this.options=B(this,tr).defaultQueryOptions(n),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Zr(this.options.enabled,B(this,Oe))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");_e(this,Qe,B1).call(this),B(this,Oe).setOptions(this.options),r._defaulted&&!I1(this.options,r)&&B(this,tr).getQueryCache().notify({type:"observerOptionsUpdated",query:B(this,Oe),observer:this});const s=this.hasListeners();s&&FE(B(this,Oe),i,this.options,r)&&_e(this,Qe,Dp).call(this),this.updateResult(),s&&(B(this,Oe)!==i||Zr(this.options.enabled,B(this,Oe))!==Zr(r.enabled,B(this,Oe))||No(this.options.staleTime,B(this,Oe))!==No(r.staleTime,B(this,Oe)))&&_e(this,Qe,_1).call(this);const a=_e(this,Qe,O1).call(this);s&&(B(this,Oe)!==i||Zr(this.options.enabled,B(this,Oe))!==Zr(r.enabled,B(this,Oe))||a!==B(this,oo))&&_e(this,Qe,R1).call(this,a)}getOptimisticResult(n){const r=B(this,tr).getQueryCache().build(B(this,tr),n),i=this.createResult(r,n);return TH(this,i)&&(ue(this,Bn,i),ue(this,Lu,this.options),ue(this,_l,B(this,Oe).state)),i}getCurrentResult(){return B(this,Bn)}trackResult(n,r){return new Proxy(n,{get:(i,s)=>(this.trackProp(s),r==null||r(s),Reflect.get(i,s))})}trackProp(n){B(this,Ou).add(n)}getCurrentQuery(){return B(this,Oe)}refetch({...n}={}){return this.fetch({...n})}fetchOptimistic(n){const r=B(this,tr).defaultQueryOptions(n),i=B(this,tr).getQueryCache().build(B(this,tr),r);return i.fetch().then(()=>this.createResult(i,r))}fetch(n){return _e(this,Qe,Dp).call(this,{...n,cancelRefetch:n.cancelRefetch??!0}).then(()=>(this.updateResult(),B(this,Bn)))}createResult(n,r){var T;const i=B(this,Oe),s=this.options,a=B(this,Bn),o=B(this,_l),l=B(this,Lu),u=n!==i?n.state:B(this,Bh),{state:d}=n;let p={...d},m=!1,h;if(r._optimisticResults){const E=this.hasListeners(),A=!E&&LE(n,r),_=E&&FE(n,i,r,s);(A||_)&&(p={...p,...EO(d.data,n.options)}),r._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:g,errorUpdatedAt:f,status:x}=p;h=p.data;let v=!1;if(r.placeholderData!==void 0&&h===void 0&&x==="pending"){let E;a!=null&&a.isPlaceholderData&&r.placeholderData===(l==null?void 0:l.placeholderData)?(E=a.data,v=!0):E=typeof r.placeholderData=="function"?r.placeholderData((T=B(this,_u))==null?void 0:T.state.data,B(this,_u)):r.placeholderData,E!==void 0&&(x="success",h=L1(a==null?void 0:a.data,E,r),m=!0)}if(r.select&&h!==void 0&&!v)if(a&&h===(o==null?void 0:o.data)&&r.select===B(this,zh))h=B(this,Fu);else try{ue(this,zh,r.select),h=r.select(h),h=L1(a==null?void 0:a.data,h,r),ue(this,Fu,h),ue(this,ao,null)}catch(E){ue(this,ao,E)}B(this,ao)&&(g=B(this,ao),h=B(this,Fu),f=Date.now(),x="error");const b=p.fetchStatus==="fetching",y=x==="pending",N=x==="error",j=y&&b,w=h!==void 0,P={status:x,fetchStatus:p.fetchStatus,isPending:y,isSuccess:x==="success",isError:N,isInitialLoading:j,isLoading:j,data:h,dataUpdatedAt:p.dataUpdatedAt,error:g,errorUpdatedAt:f,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>u.dataUpdateCount||p.errorUpdateCount>u.errorUpdateCount,isFetching:b,isRefetching:b&&!y,isLoadingError:N&&!w,isPaused:p.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:N&&w,isStale:yq(n,r),refetch:this.refetch,promise:B(this,so),isEnabled:Zr(r.enabled,n)!==!1};if(this.options.experimental_prefetchInRender){const E=D=>{P.status==="error"?D.reject(P.error):P.data!==void 0&&D.resolve(P.data)},A=()=>{const D=ue(this,so,P.promise=F1());E(D)},_=B(this,so);switch(_.status){case"pending":n.queryHash===i.queryHash&&E(_);break;case"fulfilled":(P.status==="error"||P.data!==_.value)&&A();break;case"rejected":(P.status!=="error"||P.error!==_.reason)&&A();break}}return P}updateResult(){const n=B(this,Bn),r=this.createResult(B(this,Oe),this.options);if(ue(this,_l,B(this,Oe).state),ue(this,Lu,this.options),B(this,_l).data!==void 0&&ue(this,_u,B(this,Oe)),I1(r,n))return;ue(this,Bn,r);const i=()=>{if(!n)return!0;const{notifyOnChangeProps:s}=this.options,a=typeof s=="function"?s():s;if(a==="all"||!a&&!B(this,Ou).size)return!0;const o=new Set(a??B(this,Ou));return this.options.throwOnError&&o.add("error"),Object.keys(B(this,Bn)).some(l=>{const c=l;return B(this,Bn)[c]!==n[c]&&o.has(c)})};_e(this,Qe,TO).call(this,{listeners:i()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&_e(this,Qe,D1).call(this)}},tr=new WeakMap,Oe=new WeakMap,Bh=new WeakMap,Bn=new WeakMap,_l=new WeakMap,Lu=new WeakMap,so=new WeakMap,ao=new WeakMap,zh=new WeakMap,Fu=new WeakMap,_u=new WeakMap,Ol=new WeakMap,Rl=new WeakMap,oo=new WeakMap,Ou=new WeakMap,Qe=new WeakSet,Dp=function(n){_e(this,Qe,B1).call(this);let r=B(this,Oe).fetch(this.options,n);return n!=null&&n.throwOnError||(r=r.catch(rr)),r},_1=function(){_e(this,Qe,M1).call(this);const n=No(this.options.staleTime,B(this,Oe));if(Yl||B(this,Bn).isStale||!T1(n))return;const i=wO(B(this,Bn).dataUpdatedAt,n)+1;ue(this,Ol,setTimeout(()=>{B(this,Bn).isStale||this.updateResult()},i))},O1=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(B(this,Oe)):this.options.refetchInterval)??!1},R1=function(n){_e(this,Qe,$1).call(this),ue(this,oo,n),!(Yl||Zr(this.options.enabled,B(this,Oe))===!1||!T1(B(this,oo))||B(this,oo)===0)&&ue(this,Rl,setInterval(()=>{(this.options.refetchIntervalInBackground||bq.isFocused())&&_e(this,Qe,Dp).call(this)},B(this,oo)))},D1=function(){_e(this,Qe,_1).call(this),_e(this,Qe,R1).call(this,_e(this,Qe,O1).call(this))},M1=function(){B(this,Ol)&&(clearTimeout(B(this,Ol)),ue(this,Ol,void 0))},$1=function(){B(this,Rl)&&(clearInterval(B(this,Rl)),ue(this,Rl,void 0))},B1=function(){const n=B(this,tr).getQueryCache().build(B(this,tr),this.options);if(n===B(this,Oe))return;const r=B(this,Oe);ue(this,Oe,n),ue(this,Bh,n.state),this.hasListeners()&&(r==null||r.removeObserver(this),n.addObserver(this))},TO=function(n){gn.batch(()=>
40{n.listeners&&this.listeners.forEach(r=>{r(B(this,Bn))}),B(this,tr).getQueryCache().notify({query:B(this,Oe),type:"observerResultsUpdated"})})},e_);function EH(e,n){return Zr(n.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&n.retryOnMount===!1)}function LE(e,n){return EH(e,n)||e.state.data!==void 0&&z1(e,n,n.refetchOnMount)}function z1(e,n,r){if(Zr(n.enabled,e)!==!1&&No(n.staleTime,e)!=="static"){const i=typeof r=="function"?r(e):r;return i==="always"||i!==!1&&yq(e,n)}return!1}function FE(e,n,r,i){return(e!==n||Zr(i.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&yq(e,r)}function yq(e,n){return Zr(n.enabled,e)!==!1&&e.isStaleByTime(No(n.staleTime,e))}function TH(e,n){return!I1(e.getCurrentResult(),n)}var IO=k.createContext(void 0),IH=e=>{const n=k.useContext(IO);if(!n)throw new Error("No QueryClient set, use QueryClientProvider to set one");return n},AH=({client:e,children:n})=>(k.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),t.jsx(IO.Provider,{value:e,children:n})),AO=k.createContext(!1),LH=()=>k.useContext(AO);AO.Provider;function FH(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var _H=k.createContext(FH()),OH=()=>k.useContext(_H),RH=(e,n)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(n.isReset()||(e.retryOnMount=!1))},DH=e=>{k.useEffect(()=>{e.clearReset()},[e])},MH=({result:e,errorResetBoundary:n,throwOnError:r,query:i,suspense:s})=>e.isError&&!n.isReset()&&!e.isFetching&&i&&(s&&e.data===void 0||hH(r,[e.error,i])),$H=e=>{if(e.suspense){const n=i=>i==="static"?i:Math.max(i??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...i)=>n(r(...i)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},BH=(e,n)=>e.isLoading&&e.isFetching&&!n,zH=(e,n)=>(e==null?void 0:e.suspense)&&n.isPending,_E=(e,n,r)=>n.fetchOptimistic(e).catch(()=>{r.clearReset()});function UH(e,n,r){var p,m,h,g,f;const i=LH(),s=OH(),a=IH(),o=a.defaultQueryOptions(e);(m=(p=a.getDefaultOptions().queries)==null?void 0:p._experimental_beforeQuery)==null||m.call(p,o),o._optimisticResults=i?"isRestoring":"optimistic",$H(o),RH(o,s),DH(s);const l=!a.getQueryCache().get(o.queryHash),[c]=k.useState(()=>new n(a,o)),u=c.getOptimisticResult(o),d=!i&&e.subscribed!==!1;if(k.useSyncExternalStore(k.useCallback(x=>{const v=d?c.subscribe(gn.batchCalls(x)):rr;return c.updateResult(),v},[c,d]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),k.useEffect(()=>{c.setOptions(o)},[o,c]),zH(o,u))throw _E(o,c,s);if(MH({result:u,errorResetBoundary:s,throwOnError:o.throwOnError,query:a.getQueryCache().get(o.queryHash),suspense:o.suspense}))throw u.error;if((g=(h=a.getDefaultOptions().queries)==null?void 0:h._experimental_afterQuery)==null||g.call(h,o,u),o.experimental_prefetchInRender&&!Yl&&BH(u,i)){const x=l?_E(o,c,s):(f=a.getQueryCache().get(o.queryHash))==null?void 0:f.promise;x==null||x.catch(rr).finally(()=>{c.updateResult()})}return o.notifyOnChangeProps?u:c.trackResult(u)}function _m(e,n){return UH(e,PH)}/**
41 * @remix-run/router v1.23.0
42 *
43 * Copyright (c) Remix Software Inc.
44 *
45 * This source code is licensed under the MIT license found in the
46 * LICENSE.md file in the root directory of this source tree.
47 *
48 * @license MIT
49 */function Om(){return Om=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Om.apply(this,arguments)}var po;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(po||(po={}));const OE="popstate";function VH(e){e===void 0&&(e={});function n(i,s){let{pathname:a,search:o,hash:l}=i.location;return U1("",{pathname:a,search:o,hash:l},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function r(i,s){return typeof s=="string"?s:Wx(s)}return HH(n,r,null,e)}function Mt(e,n){if(e===!1||e===null||typeof e>"u")throw new Error(n)}function LO(e,n){if(!e){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function WH(){return Math.random().toString(36).substr(2,8)}function RE(e,n){return{usr:e.state,key:e.key,idx:n}}function U1(e,n,r,i){return r===void 0&&(r=null),Om({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof n=="string"?jd(n):n,{state:r,key:n&&n.key||i||WH()})}function Wx(e){let{pathname:n="/",search:r="",hash:i=""}=e;return r&&r!=="?"&&(n+=r.charAt(0)==="?"?r:"?"+r),i&&i!=="#"&&(n+=i.charAt(0)==="#"?i:"#"+i),n}
vendor: 3,953 bytes, line 49
49function jd(e){let n={};if(e){let r=e.indexOf("#");r>=0&&(n.hash=e.substr(r),e=e.substr(0,r));let i=e.indexOf("?");i>=0&&(n.search=e.substr(i),e=e.substr(0,i)),e&&(n.pathname=e)}return n}function HH(e,n,r,i){i===void 0&&(i={});let{window:s=document.defaultView,v5Compat:a=!1}=i,o=s.history,l=po.Pop,c=null,u=d();u==null&&(u=0,o.replaceState(Om({},o.state,{idx:u}),""));function d(){return(o.state||{idx:null}).idx}function p(){l=po.Pop;let x=d(),v=x==null?null:x-u;u=x,c&&c({action:l,location:f.location,delta:v})}function m(x,v){l=po.Push;let b=U1(f.location,x,v);u=d()+1;let y=RE(b,u),N=f.createHref(b);try{o.pushState(y,"",N)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;s.location.assign(N)}a&&c&&c({action:l,location:f.location,delta:1})}function h(x,v){l=po.Replace;let b=U1(f.location,x,v);u=d();let y=RE(b,u),N=f.createHref(b);o.replaceState(y,"",N),a&&c&&c({action:l,location:f.location,delta:0})}function g(x){let v=s.location.origin!=="null"?s.location.origin:s.location.href,b=typeof x=="string"?x:Wx(x);return b=b.replace(/ $/,"%20"),Mt(v,"No window.location.(origin|href) available to create URL for href: "+b),new URL(b,v)}let f={get action(){return l},get location(){return e(s,o)},listen(x){if(c)throw new Error("A history only accepts one active listener");return s.addEventListener(OE,p),c=x,()=>{s.removeEventListener(OE,p),c=null}},createHref(x){return n(s,x)},createURL:g,encodeLocation(x){let v=g(x);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:m,replace:h,go(x){return o.go(x)}};return f}var DE;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(DE||(DE={}));function GH(e,n,r){return r===void 0&&(r="/"),KH(e,n,r,!1)}function KH(e,n,r,i){let s=typeof n=="string"?jd(n):n,a=jq(s.pathname||"/",r);if(a==null)return null;let o=FO(e);QH(o);let l=null;for(let c=0;l==null&&c<o.length;++c){let u=aG(a);l=iG(o[c],u,i)}return l}function FO(e,n,r,i){n===void 0&&(n=[]),r===void 0&&(r=[]),i===void 0&&(i="");let s=(a,o,l)=>{let c={relativePath:l===void 0?a.path||"":l,caseSensitive:a.caseSensitive===!0,childrenIndex:o,route:a};c.relativePath.startsWith("/")&&(Mt(c.relativePath.startsWith(i),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+i+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(i.length));let u=ko([i,c.relativePath]),d=r.concat(c);a.children&&a.children.length>0&&(Mt(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),FO(a.children,n,d,u)),!(a.path==null&&!a.index)&&n.push({path:u,score:nG(u,a.index),routesMeta:d})};return e.forEach((a,o)=>{var l;if(a.path===""||!((l=a.path)!=null&&l.includes("?")))s(a,o);else for(let c of _O(a.path))s(a,o,c)}),n}function _O(e){let n=e.split("/");if(n.length===0)return[];let[r,...i]=n,s=r.endsWith("?"),a=r.replace(/\?$/,"");if(i.length===0)return s?[a,""]:[a];let o=_O(i.join("/")),l=[];return l.push(...o.map(c=>c===""?a:[a,c].join("/"))),s&&l.push(...o),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function QH(e){e.sort((n,r)=>n.score!==r.score?r.score-n.score:rG(n.routesMeta.map(i=>i.childrenIndex),r.routesMeta.map(i=>i.childrenIndex)))}const YH=/^:[\w-]+$/,JH=3,XH=2,ZH=1,eG=10,tG=-2,ME=e=>e==="*";function nG(e,n){let r=e.split("/"),i=r.length;return r.some(ME)&&(i+=tG),n&&(i+=XH),r.filter(s=>!ME(s)).reduce((s,a)=>s+(YH.test(a)?JH:a===""?ZH:eG),i)}function rG(e,n){return e.length===n.length&&e.slice(0,-1).every((i,s)=>i===n[s])?e[e.length-1]-n[n.length-1]:0}function iG(e,n,r){let{routesMeta:i}=e,s={},a="/",o=[];for(let l=0;l<i.length;++l){let c=i[l],u=l===i.length-1,d=a==="/"?n:n.slice(a.length)||"/",p=$E({path:c.relativePath,caseSensitive:c.caseSensitive,end:u},d),m=c.route;if(!p&&u&&r&&!i[i.length-1].route.index&&(p=$E({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},d)),!p)return null;
vendor: 9,229 bytes, lines 49-58
49Object.assign(s,p.params),o.push({params:s,pathname:ko([a,p.pathname]),pathnameBase:uG(ko([a,p.pathnameBase])),route:m}),p.pathnameBase!=="/"&&(a=ko([a,p.pathnameBase]))}return o}function $E(e,n){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,i]=sG(e.path,e.caseSensitive,e.end),s=n.match(r);if(!s)return null;let a=s[0],o=a.replace(/(.)\/+$/,"$1"),l=s.slice(1);return{params:i.reduce((u,d,p)=>{let{paramName:m,isOptional:h}=d;if(m==="*"){let f=l[p]||"";o=a.slice(0,a.length-f.length).replace(/(.)\/+$/,"$1")}const g=l[p];return h&&!g?u[m]=void 0:u[m]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:a,pathnameBase:o,pattern:e}}function sG(e,n,r){n===void 0&&(n=!1),r===void 0&&(r=!0),LO(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let i=[],s="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(i.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(i.push({paramName:"*"}),s+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?s+="\\/*$":e!==""&&e!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,n?void 0:"i"),i]}function aG(e){try{return e.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return LO(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+n+").")),e}}function jq(e,n){if(n==="/")return e;if(!e.toLowerCase().startsWith(n.toLowerCase()))return null;let r=n.endsWith("/")?n.length-1:n.length,i=e.charAt(r);return i&&i!=="/"?null:e.slice(r)||"/"}function oG(e,n){n===void 0&&(n="/");let{pathname:r,search:i="",hash:s=""}=typeof e=="string"?jd(e):e;return{pathname:r?r.startsWith("/")?r:lG(r,n):n,search:dG(i),hash:pG(s)}}function lG(e,n){let r=n.replace(/\/+$/,"").split("/");return e.split("/").forEach(s=>{s===".."?r.length>1&&r.pop():s!=="."&&r.push(s)}),r.length>1?r.join("/"):"/"}function _0(e,n,r,i){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+n+"` field ["+JSON.stringify(i)+"].  Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function cG(e){return e.filter((n,r)=>r===0||n.route.path&&n.route.path.length>0)}function wq(e,n){let r=cG(e);return n?r.map((i,s)=>s===r.length-1?i.pathname:i.pathnameBase):r.map(i=>i.pathnameBase)}function Nq(e,n,r,i){i===void 0&&(i=!1);let s;typeof e=="string"?s=jd(e):(s=Om({},e),Mt(!s.pathname||!s.pathname.includes("?"),_0("?","pathname","search",s)),Mt(!s.pathname||!s.pathname.includes("#"),_0("#","pathname","hash",s)),Mt(!s.search||!s.search.includes("#"),_0("#","search","hash",s)));let a=e===""||s.pathname==="",o=a?"/":s.pathname,l;if(o==null)l=r;else{let p=n.length-1;if(!i&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),p-=1;s.pathname=m.join("/")}l=p>=0?n[p]:"/"}let c=oG(s,l),u=o&&o!=="/"&&o.endsWith("/"),d=(a||o===".")&&r.endsWith("/");return!c.pathname.endsWith("/")&&(u||d)&&(c.pathname+="/"),c}const ko=e=>e.join("/").replace(/\/\/+/g,"/"),uG=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),dG=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,pG=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function mG(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const OO=["post","put","patch","delete"];new Set(OO);const hG=["get",...OO];new Set(hG);/**
50 * React Router v6.30.1
51 *
52 * Copyright (c) Remix Software Inc.
53 *
54 * This source code is licensed under the MIT license found in the
55 * LICENSE.md file in the root directory of this source tree.
56 *
57 * @license MIT
58 */function Rm(){return Rm=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Rm.apply(this,arguments)}const kq=k.createContext(null),fG=k.createContext(null),Ro=k.createContext(null),Ob=k.createContext(null),xa=k.createContext({outlet:null,matches:[],isDataRoute:!1}),RO=k.createContext(null);function gG(e,n){let{relative:r}=n===void 0?{}:n;wd()||Mt(!1);let{basename:i,navigator:s}=k.useContext(Ro),{hash:a,pathname:o,search:l}=$O(e,{relative:r}),c=o;return i!=="/"&&(c=o==="/"?i:ko([i,o])),s.createHref({pathname:c,search:l,hash:a})}function wd(){return k.useContext(Ob)!=null}function Do(){return wd()||Mt(!1),k.useContext(Ob).location}function DO(e){k.useContext(Ro).static||k.useLayoutEffect(e)}function qq(){let{isDataRoute:e}=k.useContext(xa);return e?EG():xG()}function xG(){wd()||Mt(!1);let e=k.useContext(kq),{basename:n,future:r,navigator:i}=k.useContext(Ro),{matches:s}=k.useContext(xa),{pathname:a}=Do(),o=JSON.stringify(wq(s,r.v7_relativeSplatPath)),l=k.useRef(!1);return DO(()=>{l.current=!0}),k.useCallback(function(u,d){if(d===void 0&&(d={}),!l.current)return;if(typeof u=="number"){i.go(u);return}let p=Nq(u,JSON.parse(o),a,d.relative==="path");e==null&&n!=="/"&&(p.pathname=p.pathname==="/"?n:ko([n,p.pathname])),(d.replace?i.replace:i.push)(p,d.state,d)},[n,i,o,a,e])}function MO(){let{matches:e}=k.useContext(xa),n=e[e.length-1];return n?n.params:{}}function $O(e,n){let{relative:r}=n===void 0?{}:n,{future:i}=k.useContext(Ro),{matches:s}=k.useContext(xa),{pathname:a}=Do(),o=JSON.stringify(wq(s,i.v7_relativeSplatPath));return k.useMemo(()=>Nq(e,JSON.parse(o),a,r==="path"),[e,o,a,r])}function vG(e,n){return bG(e,n)}function bG(e,n,r,i){wd()||Mt(!1);let{navigator:s}=k.useContext(Ro),{matches:a}=k.useContext(xa),o=a[a.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let u=Do(),d;if(n){var p;let x=typeof n=="string"?jd(n):n;c==="/"||(p=x.pathname)!=null&&p.startsWith(c)||Mt(!1),d=x}else d=u;let m=d.pathname||"/",h=m;if(c!=="/"){let x=c.replace(/^\//,"").split("/");h="/"+m.replace(/^\//,"").split("/").slice(x.length).join("/")}let g=GH(e,{pathname:h}),f=kG(g&&g.map(x=>Object.assign({},x,{params:Object.assign({},l,x.params),pathname:ko([c,s.encodeLocation?s.encodeLocation(x.pathname).pathname:x.pathname]),pathnameBase:x.pathnameBase==="/"?c:ko([c,s.encodeLocation?s.encodeLocation(x.pathnameBase).pathname:x.pathnameBase])})),a,r,i);return n&&f?k.createElement(Ob.Provider,{value:{location:Rm({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:po.Pop}},f):f}function yG(){let e=PG(),n=mG(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,s={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return k.createElement(k.Fragment,null,k.createElement("h2",null,"Unexpected Application Error!"),k.createElement("h3",{style:{fontStyle:"italic"}},n),r?k.createElement("pre",{style:s},r):null,null)}const jG=k.createElement(yG,null);class wG extends k.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,r){return r.location!==n.location||r.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:r.error,location:r.location,revalidation:n.revalidation||r.revalidation}}componentDidCatch(n,r){console.error("React Router caught the following error during render",n,r)}render(){return this.state.error!==void 0?k.createElement(xa.Provider,{value:this.props.routeContext},k.createElement(RO.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function NG(e){let{routeContext:n,match:r,children:i}=e,s=k.useContext(kq);return s&&s.static&&s.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=r.route.id),k.createElement(xa.Provider,{value:n},i)}function kG(e,n,r,i){var s;if(n===void 0&&(n=[]),r===void 0&&(r=null),i===void 0&&(i=null),e==null){var a;if(!r)return null;if(r.errors)e=r.matches;else if((a=i)!=null&&a.v7_partialHydration&&n.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,l=(s=r)==null?void 0:s.errors;if(l!=null){let d=o.findIndex(p=>p.route.id&&(l==null?void 0:l[p.route.id])!==void 0);d>=0||Mt(!1),o=o.slice(0,Math.min(o.length,d+1))}let c=!1,u=-1;if(r&&i&&i.v7_partialHydration)for(let d=0;d<o.length;d++){let p=o[d];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(u=d),p.route.id){let{loaderData:m,errors:h}=r,g=p.route.loader&&m[p.route.id]===void 0&&(!h||h[p.route.id]===void 0);if(p.route.lazy||g){c=!0,u>=0?o=o.slice(0,u+1):o=[o[0]];break}}}return o.reduceRight((d,p,m)=>{let h,g=!1,f=null,x=null;r&&(h=l&&p.route.id?l[p.route.id]:void 0,f=p.route.errorElement||jG,c&&(u<0&&m===0?(g=!0,x=null):u===m&&(g=!0,x=p.route.hydrateFallbackElement||null)));let v=n.concat(o.slice(0,m+1)),b=()=>{let y;return h?y=f:g?y=x:p.route.Component?y=k.createElement(p.route.Component,null):p.route.element?y=p.route.element:y=d,
58k.createElement(NG,{match:p,routeContext:{outlet:d,matches:v,isDataRoute:r!=null},children:y})};return r&&(p.route.ErrorBoundary||p.route.errorElement||m===0)?k.createElement(wG,{location:r.location,revalidation:r.revalidation,component:f,error:h,children:b(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):b()},null)}var BO=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(BO||{}),Hx=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Hx||{});function qG(e){let n=k.useContext(kq);return n||Mt(!1),n}function SG(e){let n=k.useContext(fG);return n||Mt(!1),n}function CG(e){let n=k.useContext(xa);return n||Mt(!1),n}function zO(e){let n=CG(),r=n.matches[n.matches.length-1];return r.route.id||Mt(!1),r.route.id}function PG(){var e;let n=k.useContext(RO),r=SG(Hx.UseRouteError),i=zO(Hx.UseRouteError);return n!==void 0?n:(e=r.errors)==null?void 0:e[i]}function EG(){let{router:e}=qG(BO.UseNavigateStable),n=zO(Hx.UseNavigateStable),r=k.useRef(!1);return DO(()=>{r.current=!0}),k.useCallback(function(s,a){a===void 0&&(a={}),r.current&&(typeof s=="number"?e.navigate(s):e.navigate(s,Rm({fromRouteId:n},a)))},[e,n])}function TG(e,n){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function O0(e){let{to:n,replace:r,state:i,relative:s}=e;wd()||Mt(!1);let{future:a,static:o}=k.useContext(Ro),{matches:l}=k.useContext(xa),{pathname:c}=Do(),u=qq(),d=Nq(n,wq(l,a.v7_relativeSplatPath),c,s==="path"),p=JSON.stringify(d);return k.useEffect(()=>u(JSON.parse(p),{replace:r,state:i,relative:s}),[u,p,s,r,i]),null}function X(e){Mt(!1)}function IG(e){let{basename:n="/",children:r=null,location:i,navigationType:s=po.Pop,navigator:a,static:o=!1,future:l}=e;wd()&&Mt(!1);let c=n.replace(/^\/*/,"/"),u=k.useMemo(()=>({basename:c,navigator:a,static:o,future:Rm({v7_relativeSplatPath:!1},l)}),[c,l,a,o]);typeof i=="string"&&(i=jd(i));let{pathname:d="/",search:p="",hash:m="",state:h=null,key:g="default"}=i,f=k.useMemo(()=>{let x=jq(d,c);return x==null?null:{location:{pathname:x,search:p,hash:m,state:h,key:g},navigationType:s}},[c,d,p,m,h,g,s]);return f==null?null:k.createElement(Ro.Provider,{value:u},k.createElement(Ob.Provider,{children:r,value:f}))}function AG(e){let{children:n,location:r}=e;return vG(V1(n),r)}new Promise(()=>{});function V1(e,n){n===void 0&&(n=[]);let r=[];return k.Children.forEach(e,(i,s)=>{if(!k.isValidElement(i))return;let a=[...n,s];if(i.type===k.Fragment){r.push.apply(r,V1(i.props.children,a));return}i.type!==X&&Mt(!1),!i.props.index||!i.props.children||Mt(!1);let o={id:i.props.id||a.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,loader:i.props.loader,action:i.props.action,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(o.children=V1(i.props.children,a)),r.push(o)}),r}/**
59 * React Router DOM v6.30.1
60 *
61 * Copyright (c) Remix Software Inc.
62 *
63 * This source code is licensed under the MIT license found in the
64 * LICENSE.md file in the root directory of this source tree.
65 *
66 * @license MIT
67 */function W1(){return W1=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},W1.apply(this,arguments)}function LG(e,n){if(e==null)return{};var r={},i=Object.keys(e),s,a;for(a=0;a<i.length;a++)s=i[a],!(n.indexOf(s)>=0)&&(r[s]=e[s]);return r}function FG(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function _G(e,n){return e.button===0&&(!n||n==="_self")&&!FG(e)}const OG=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],RG="6";try{window.__reactRouterVersion=RG}catch{}const DG="startTransition",BE=qk[DG];function MG(e){let{basename:n,children:r,future:i,window:s}=e,a=k.useRef();a.current==null&&(a.current=VH({window:s,v5Compat:!0}));let o=a.current,[l,c]=k.useState({action:o.action,location:o.location}),{v7_startTransition:u}=i||{},d=k.useCallback(p=>{u&&BE?BE(()=>c(p)):c(p)},[c,u]);return k.useLayoutEffect(()=>o.listen(d),[o,d]),k.useEffect(()=>TG(i),[i]),k.createElement(IG,{basename:n,children:r,location:l.location,navigationType:l.action,navigator:o,future:i})}const $G=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",BG=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,C=k.forwardRef(function(n,r){let{onClick:i,relative:s,reloadDocument:a,replace:o,state:l,target:c,to:u,preventScrollReset:d,viewTransition:p}=n,m=LG(n,OG),{basename:h}=k.useContext(Ro),g,f=!1;if(typeof u=="string"&&BG.test(u)&&(g=u,$G))try{let y=new URL(window.location.href),N=u.startsWith("//")?new URL(y.protocol+u):new URL(u),j=jq(N.pathname,h);N.origin===y.origin&&j!=null?u=j+N.search+N.hash:f=!0}catch{}let x=gG(u,{relative:s}),v=zG(u,{replace:o,state:l,target:c,preventScrollReset:d,relative:s,viewTransition:p});function b(y){i&&i(y),y.defaultPrevented||v(y)}return k.createElement("a",W1({},m,{href:g||x,onClick:f||a?i:b,ref:r,target:c}))});var zE;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(zE||(zE={}));var UE;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(UE||(UE={}));function zG(e,n){let{target:r,replace:i,state:s,preventScrollReset:a,relative:o,viewTransition:l}=n===void 0?{}:n,c=qq(),u=Do(),d=$O(e,{relative:o});return k.useCallback(p=>{if(_G(p,r)){p.preventDefault();let m=i!==void 0?i:Wx(u)===Wx(d);c(e,{replace:m,state:s,preventScrollReset:a,relative:o,viewTransition:l})}},[u,c,d,i,s,r,e,a,o,l])}var VE=["light","dark"],UG="(prefers-color-scheme: dark)",VG=k.createContext(void 0),WG={setTheme:e=>{},themes:[]},HG=()=>{var e;return(e=k.useContext(VG))!=null?e:WG};k.memo(({forcedTheme:e,storageKey:n,attribute:r,enableSystem:i,enableColorScheme:s,defaultTheme:a,value:o,attrs:l,nonce:c})=>{let u=a==="system",d=r==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${l.map(g=>`'${g}'`).join(",")})`};`:`var d=document.documentElement,n='${r}',s='setAttribute';`,p=s?VE.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",m=(g,f=!1,x=!0)=>{let v=o?o[g]:g,b=f?g+"|| ''":`'${v}'`,y="";return s&&x&&!f&&VE.includes(g)&&(y+=`d.style.colorScheme = '${g}';`),r==="class"?f||v?y+=`c.add(${b})`:y+="null":v&&(y+=`d[s](n,${b})`),y},h=e?`!function(){${d}${m(e)}}()`:i?`!function(){try{${d}var e=localStorage.getItem('${n}');if('system'===e||(!e&&${u})){var t='${UG}',m=window.matchMedia(t);if(m.media!==t||m.matches){${m("dark")}}else{${m("light")}}}else if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}${u?"":"else{"+m(a,!1,!1)+"}"}${p}}catch(e){}}()`:`!function(){try{${d}var e=localStorage.getItem('${n}');if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}else{${m(a,!1,!1)};}${p}}catch(t){}}();`;return k.createElement("script",{nonce:c,dangerouslySetInnerHTML:{__html:h}})});var GG=e=>{switch(e){case"success":return YG;case"info":return XG;case"warning":return JG;case"error":return ZG;default:return null}},KG=Array(12).fill(0),QG=({visible:e,className:n})=>L.createElement("div",{className:["sonner-loading-wrapper",n].filter(
67Boolean).join(" "),"data-visible":e},L.createElement("div",{className:"sonner-spinner"},KG.map((r,i)=>L.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),YG=L.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},L.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),JG=L.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},L.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),XG=L.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},L.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),ZG=L.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},L.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),eK=L.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},L.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),L.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),tK=()=>{let[e,n]=L.useState(document.hidden);return L.useEffect(()=>{let r=()=>{n(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e},H1=1,nK=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let n=this.subscribers.indexOf(e);this.subscribers.splice(n,1)}),this.publish=e=>{this.subscribers.forEach(n=>n(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var n;let{message:r,...i}=e,s=typeof(e==null?void 0:e.id)=="number"||((n=e.id)==null?void 0:n.length)>0?e.id:H1++,a=this.toasts.find(l=>l.id===s),o=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),a?this.toasts=this.toasts.map(l=>l.id===s?(this.publish({...l,...e,id:s,title:r}),{...l,...e,id:s,dismissible:o,title:r}):l):this.addToast({title:r,...i,dismissible:o,id:s}),s},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(n=>{this.subscribers.forEach(r=>r({id:n.id,dismiss:!0}))}),this.subscribers.forEach(n=>n({id:e,dismiss:!0})),e),this.message=(e,n)=>this.create({...n,message:e}),this.error=(e,n)=>this.create({...n,message:e,type:"error"}),this.success=(e,n)=>this.create({...n,type:"success",message:e}),this.info=(e,n)=>this.create({...n,type:"info",message:e}),this.warning=(e,n)=>this.create({...n,type:"warning",message:e}),this.loading=(e,n)=>this.create({...n,type:"loading",message:e}),this.promise=(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));let i=e instanceof Promise?e:e(),s=r!==void 0,a,o=i.then(async c=>{if(a=["resolve",c],L.isValidElement(c))s=!1,this.create({id:r,type:"default",message:c});else if(iK(c)&&!c.ok){s=!1;let u=typeof n.error=="function"?await n.error(`HTTP error! status: ${c.status}`):n.error,d=typeof n.description=="function"?await n.description(`HTTP error! status: ${c.status}`):n.description;this.create({id:r,type:"error",message:u,description:d})}else if(n.success!==void 0){s=!1;let u=typeof n.success=="function"?await n.success(c):n.success,d=typeof n.description=="function"?await n.description(c):n.description;this.create({id:r,type:"success",message:u,description:d})}}).catch(async c=>{if(a=["reject",c],n.error!==void 0){s=!1;let u=typeof n.error=="function"?await n.error(c):n.error,d=typeof n.description=="function"?await n.description(c):n.description;this.create({id:r,type:"error",message:u,description:d})}}).finally(()=>{var c;s&&(this.dismiss(r),r=void 0),(c=n.finally)==null||c.call(n)}),l=()=>new Promise((c,u)=>o.then(()=>a[0]==="reject"?u(a[1]):c(a[1])).catch(u));return typeof r!="string"&&typeof r!="number"?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(e,n)=>{let r=(n==null?void 0:n.id)||H1++;return this.create({jsx:e(r),id:r,...n}),r},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},nr=new nK,rK=(e,n)=>{let r=(n==null?void 0:n.id)||H1++;return nr.addToast({title:e,...n,id:r}),r},iK=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",sK=rK,aK=()=>nr.toasts,oK=()=>nr.getActiveToasts();Object.assign(sK,{success:nr.success,info:nr.info,warning:nr.warning,error:nr.error,custom:nr.custom,message:nr.message,promise:nr.promise,dismiss:nr.dismiss,loading:nr.loading},{getHistory:aK,getToasts:oK});function lK(e,{insertAt:n}={}){if(typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");
67i.type="text/css",n==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}lK(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
67left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
67:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
67--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
68`);function Uf(e){return e.label!==void 0}var cK=3,uK="32px",dK="16px",WE=4e3,pK=356,mK=14,hK=20,fK=200;function bi(...e){return e.filter(Boolean).join(" ")}function gK(e){let[n,r]=e.split("-"),i=[];return n&&i.push(n),r&&i.push(r),i}var xK=e=>{var n,r,i,s,a,o,l,c,u,d,p;let{invert:m,toast:h,unstyled:g,interacting:f,setHeights:x,visibleToasts:v,heights:b,index:y,toasts:N,expanded:j,removeToast:w,defaultRichColors:q,closeButton:P,style:T,cancelButtonStyle:E,actionButtonStyle:A,className:_="",descriptionClassName:D="",duration:R,position:M,gap:U,loadingIcon:z,expandByDefault:O,classNames:$,icons:I,closeButtonAriaLabel:Y="Close toast",pauseWhenPageIsHidden:W}=e,[F,ae]=L.useState(null),[ge,be]=L.useState(null),[Ne,Me]=L.useState(!1),[te,me]=L.useState(!1),[fe,Q]=L.useState(!1),[$e,Ee]=L.useState(!1),[at,tt]=L.useState(!1),[_t,yn]=L.useState(0),[jn,Yi]=L.useState(0),Dn=L.useRef(h.duration||R||WE),Br=L.useRef(null),gr=L.useRef(null),vc=y===0,bc=y+1<=v,H=h.type,se=h.dismissible!==!1,ke=h.className||"",Te=h.descriptionClassName||"",Ve=L.useMemo(()=>b.findIndex(Se=>Se.toastId===h.id)||0,[b,h.id]),xr=L.useMemo(()=>{var Se;return(Se=h.closeButton)!=null?Se:P},[h.closeButton,P]),Ji=L.useMemo(()=>h.duration||R||WE,[h.duration,R]),vr=L.useRef(0),zr=L.useRef(0),ka=L.useRef(0),Bt=L.useRef(null),[qa,hi]=M.split("-"),lP=L.useMemo(()=>b.reduce((Se,Ze,bt)=>bt>=Ve?Se:Se+Ze.height,0),[b,Ve]),cP=tK(),s9=h.invert||m,n0=H==="loading";zr.current=L.useMemo(()=>Ve*U+lP,[Ve,lP]),L.useEffect(()=>{Dn.current=Ji},[Ji]),L.useEffect(()=>{Me(!0)},[]),L.useEffect(()=>{let Se=gr.current;if(Se){let Ze=Se.getBoundingClientRect().height;return Yi(Ze),x(bt=>[{toastId:h.id,height:Ze,position:h.position},...bt]),()=>x(bt=>bt.filter(fi=>fi.toastId!==h.id))}},[x,h.id]),L.useLayoutEffect(()=>{if(!Ne)return;let Se=gr.current,Ze=Se.style.height;Se.style.height="auto";let bt=Se.getBoundingClientRect().height;Se.style.height=Ze,Yi(bt),x(fi=>fi.find(gi=>gi.toastId===h.id)?fi.map(gi=>gi.toastId===h.id?{...gi,height:bt}:gi):[{toastId:h.id,height:bt,position:h.position},...fi])},[Ne,h.title,h.description,x,h.id]);let Sa=L.useCallback(()=>{me(!0),yn(zr.current),x(Se=>
68Se.filter(Ze=>Ze.toastId!==h.id)),setTimeout(()=>{w(h)},fK)},[h,w,x,zr]);L.useEffect(()=>{if(h.promise&&H==="loading"||h.duration===1/0||h.type==="loading")return;let Se;return j||f||W&&cP?(()=>{if(ka.current<vr.current){let Ze=new Date().getTime()-vr.current;Dn.current=Dn.current-Ze}ka.current=new Date().getTime()})():Dn.current!==1/0&&(vr.current=new Date().getTime(),Se=setTimeout(()=>{var Ze;(Ze=h.onAutoClose)==null||Ze.call(h,h),Sa()},Dn.current)),()=>clearTimeout(Se)},[j,f,h,H,W,cP,Sa]),L.useEffect(()=>{h.delete&&Sa()},[Sa,h.delete]);function a9(){var Se,Ze,bt;return I!=null&&I.loading?L.createElement("div",{className:bi($==null?void 0:$.loader,(Se=h==null?void 0:h.classNames)==null?void 0:Se.loader,"sonner-loader"),"data-visible":H==="loading"},I.loading):z?L.createElement("div",{className:bi($==null?void 0:$.loader,(Ze=h==null?void 0:h.classNames)==null?void 0:Ze.loader,"sonner-loader"),"data-visible":H==="loading"},z):L.createElement(QG,{className:bi($==null?void 0:$.loader,(bt=h==null?void 0:h.classNames)==null?void 0:bt.loader),visible:H==="loading"})}return L.createElement("li",{tabIndex:0,ref:gr,className:bi(_,ke,$==null?void 0:$.toast,(n=h==null?void 0:h.classNames)==null?void 0:n.toast,$==null?void 0:$.default,$==null?void 0:$[H],(r=h==null?void 0:h.classNames)==null?void 0:r[H]),"data-sonner-toast":"","data-rich-colors":(i=h.richColors)!=null?i:q,"data-styled":!(h.jsx||h.unstyled||g),"data-mounted":Ne,"data-promise":!!h.promise,"data-swiped":at,"data-removed":te,"data-visible":bc,"data-y-position":qa,"data-x-position":hi,"data-index":y,"data-front":vc,"data-swiping":fe,"data-dismissible":se,"data-type":H,"data-invert":s9,"data-swipe-out":$e,"data-swipe-direction":ge,"data-expanded":!!(j||O&&Ne),style:{"--index":y,"--toasts-before":y,"--z-index":N.length-y,"--offset":`${te?_t:zr.current}px`,"--initial-height":O?"auto":`${jn}px`,...T,...h.style},onDragEnd:()=>{Q(!1),ae(null),Bt.current=null},onPointerDown:Se=>{n0||!se||(Br.current=new Date,yn(zr.current),Se.target.setPointerCapture(Se.pointerId),Se.target.tagName!=="BUTTON"&&(Q(!0),Bt.current={x:Se.clientX,y:Se.clientY}))},onPointerUp:()=>{var Se,Ze,bt,fi;if($e||!se)return;Bt.current=null;let gi=Number(((Se=gr.current)==null?void 0:Se.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Ca=Number(((Ze=gr.current)==null?void 0:Ze.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Go=new Date().getTime()-((bt=Br.current)==null?void 0:bt.getTime()),xi=F==="x"?gi:Ca,Pa=Math.abs(xi)/Go;if(Math.abs(xi)>=hK||Pa>.11){yn(zr.current),(fi=h.onDismiss)==null||fi.call(h,h),be(F==="x"?gi>0?"right":"left":Ca>0?"down":"up"),Sa(),Ee(!0),tt(!1);return}Q(!1),ae(null)},onPointerMove:Se=>{var Ze,bt,fi,gi;if(!Bt.current||!se||((Ze=window.getSelection())==null?void 0:Ze.toString().length)>0)return;let Ca=Se.clientY-Bt.current.y,Go=Se.clientX-Bt.current.x,xi=(bt=e.swipeDirections)!=null?bt:gK(M);!F&&(Math.abs(Go)>1||Math.abs(Ca)>1)&&ae(Math.abs(Go)>Math.abs(Ca)?"x":"y");let Pa={x:0,y:0};F==="y"?(xi.includes("top")||xi.includes("bottom"))&&(xi.includes("top")&&Ca<0||xi.includes("bottom")&&Ca>0)&&(Pa.y=Ca):F==="x"&&(xi.includes("left")||xi.includes("right"))&&(xi.includes("left")&&Go<0||xi.includes("right")&&Go>0)&&(Pa.x=Go),(Math.abs(Pa.x)>0||Math.abs(Pa.y)>0)&&tt(!0),(fi=gr.current)==null||fi.style.setProperty("--swipe-amount-x",`${Pa.x}px`),(gi=gr.current)==null||gi.style.setProperty("--swipe-amount-y",`${Pa.y}px`)}},xr&&!h.jsx?L.createElement("button",{"aria-label":Y,"data-disabled":n0,"data-close-button":!0,onClick:n0||!se?()=>{}:()=>{var Se;Sa(),(Se=h.onDismiss)==null||Se.call(h,h)},className:bi($==null?void 0:$.closeButton,(s=h==null?void 0:h.classNames)==null?void 0:s.closeButton)},(a=I==null?void 0:I.close)!=null?a:eK):null,h.jsx||k.isValidElement(h.title)?h.jsx?h.jsx:typeof h.title=="function"?h.title():h.title:L.createElement(L.Fragment,null,H||h.icon||h.promise?L.createElement("div",{"data-icon":"",className:bi($==null?void 0:$.icon,(o=h==null?void 0:h.classNames)==null?void 0:o.icon)},h.promise||h.type==="loading"&&!h.icon?h.icon||a9():null,h.type!=="loading"?h.icon||(I==null?void 0:I[H])||GG(H):null):null,
vendor: 6,030 bytes, line 68
68L.createElement("div",{"data-content":"",className:bi($==null?void 0:$.content,(l=h==null?void 0:h.classNames)==null?void 0:l.content)},L.createElement("div",{"data-title":"",className:bi($==null?void 0:$.title,(c=h==null?void 0:h.classNames)==null?void 0:c.title)},typeof h.title=="function"?h.title():h.title),h.description?L.createElement("div",{"data-description":"",className:bi(D,Te,$==null?void 0:$.description,(u=h==null?void 0:h.classNames)==null?void 0:u.description)},typeof h.description=="function"?h.description():h.description):null),k.isValidElement(h.cancel)?h.cancel:h.cancel&&Uf(h.cancel)?L.createElement("button",{"data-button":!0,"data-cancel":!0,style:h.cancelButtonStyle||E,onClick:Se=>{var Ze,bt;Uf(h.cancel)&&se&&((bt=(Ze=h.cancel).onClick)==null||bt.call(Ze,Se),Sa())},className:bi($==null?void 0:$.cancelButton,(d=h==null?void 0:h.classNames)==null?void 0:d.cancelButton)},h.cancel.label):null,k.isValidElement(h.action)?h.action:h.action&&Uf(h.action)?L.createElement("button",{"data-button":!0,"data-action":!0,style:h.actionButtonStyle||A,onClick:Se=>{var Ze,bt;Uf(h.action)&&((bt=(Ze=h.action).onClick)==null||bt.call(Ze,Se),!Se.defaultPrevented&&Sa())},className:bi($==null?void 0:$.actionButton,(p=h==null?void 0:h.classNames)==null?void 0:p.actionButton)},h.action.label):null))};function HE(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function vK(e,n){let r={};return[e,n].forEach((i,s)=>{let a=s===1,o=a?"--mobile-offset":"--offset",l=a?dK:uK;function c(u){["top","right","bottom","left"].forEach(d=>{r[`${o}-${d}`]=typeof u=="number"?`${u}px`:u})}typeof i=="number"||typeof i=="string"?c(i):typeof i=="object"?["top","right","bottom","left"].forEach(u=>{i[u]===void 0?r[`${o}-${u}`]=l:r[`${o}-${u}`]=typeof i[u]=="number"?`${i[u]}px`:i[u]}):c(l)}),r}var bK=k.forwardRef(function(e,n){let{invert:r,position:i="bottom-right",hotkey:s=["altKey","KeyT"],expand:a,closeButton:o,className:l,offset:c,mobileOffset:u,theme:d="light",richColors:p,duration:m,style:h,visibleToasts:g=cK,toastOptions:f,dir:x=HE(),gap:v=mK,loadingIcon:b,icons:y,containerAriaLabel:N="Notifications",pauseWhenPageIsHidden:j}=e,[w,q]=L.useState([]),P=L.useMemo(()=>Array.from(new Set([i].concat(w.filter(W=>W.position).map(W=>W.position)))),[w,i]),[T,E]=L.useState([]),[A,_]=L.useState(!1),[D,R]=L.useState(!1),[M,U]=L.useState(d!=="system"?d:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),z=L.useRef(null),O=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),$=L.useRef(null),I=L.useRef(!1),Y=L.useCallback(W=>{q(F=>{var ae;return(ae=F.find(ge=>ge.id===W.id))!=null&&ae.delete||nr.dismiss(W.id),F.filter(({id:ge})=>ge!==W.id)})},[]);return L.useEffect(()=>nr.subscribe(W=>{if(W.dismiss){q(F=>F.map(ae=>ae.id===W.id?{...ae,delete:!0}:ae));return}setTimeout(()=>{mO.flushSync(()=>{q(F=>{let ae=F.findIndex(ge=>ge.id===W.id);return ae!==-1?[...F.slice(0,ae),{...F[ae],...W},...F.slice(ae+1)]:[W,...F]})})})}),[]),L.useEffect(()=>{if(d!=="system"){U(d);return}if(d==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?U("dark"):U("light")),typeof window>"u")return;let W=window.matchMedia("(prefers-color-scheme: dark)");try{W.addEventListener("change",({matches:F})=>{U(F?"dark":"light")})}catch{W.addListener(({matches:ae})=>{try{U(ae?"dark":"light")}catch(ge){console.error(ge)}})}},[d]),L.useEffect(()=>{w.length<=1&&_(!1)},[w]),L.useEffect(()=>{let W=F=>{var ae,ge;s.every(be=>F[be]||F.code===be)&&(_(!0),(ae=z.current)==null||ae.focus()),F.code==="Escape"&&(document.activeElement===z.current||(ge=z.current)!=null&&ge.contains(document.activeElement))&&_(!1)};return document.addEventListener("keydown",W),()=>document.removeEventListener("keydown",W)},[s]),L.useEffect(()=>{if(z.current)return()=>{$.current&&($.current.focus({preventScroll:!0}),$.current=null,I.current=!1)}},[z.current]),L.createElement("section",{ref:n,"aria-label":`${N} ${O}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},P.map((W,F)=>{var ae;let[ge,be]=W.split("-");return w.length?L.createElement("ol",{key:W,dir:x==="auto"?HE():x,tabIndex:-1,ref:z,className:l,"data-sonner-toaster":!0,"data-theme":M,"data-y-position":ge,"data-lifted":A&&w.length>1&&!a,"data-x-position":be,style:{"--front-toast-height":`${((ae=T[0])==null?void 0:ae.height)||0}px`,"--width":`${pK}px`,"--gap":`${v}px`,...h,...vK(c,u)},onBlur:Ne=>{I.current&&!Ne.currentTarget.contains(Ne.relatedTarget)&&(I.current=!1,$.current&&($.current.focus({preventScroll:!0}),$.current=null))},onFocus:Ne=>{Ne.target instanceof HTMLElement&&Ne.target.dataset.dismissible==="false"||I.current||(I.current=!0,$.current=Ne.relatedTarget)},onMouseEnter:()=>_(!0),onMouseMove:()=>_(!0),onMouseLeave:()=>{D||_(!1)},onDragEnd:()=>_(!1),onPointerDown:Ne=>{Ne.target instanceof HTMLElement&&Ne.target.dataset.dismissible==="false"||R(!0)},onPointerUp:()=>R(!1)},w.filter(Ne=>!Ne.position&&F===0||Ne.position===W).map((Ne,Me)=>{var te,me;return L.createElement(xK,{key:Ne.id,icons:y,index:Me,toast:Ne,defaultRichColors:p,duration:(te=f==null?void 0:f.duration)!=null?te:m,className:f==null?void 0:f.className,descriptionClassName:f==null?void 0:f.descriptionClassName,invert:r,visibleToasts:g,closeButton:(me=f==null?void 0:f.closeButton)!=null?me:o,interacting:D,position:W,style:f==null?void 0:f.style,unstyled:f==null?void 0:f.unstyled,classNames:f==null?void 0:f.classNames,cancelButtonStyle:f==null?void 0:f.cancelButtonStyle,actionButtonStyle:f==null?void 0:f.actionButtonStyle,removeToast:Y,toasts:w.filter(fe=>fe.position==Ne.position),heights:T.filter(fe=>fe.position==Ne.position),setHeights:E,expandByDefault:a,gap:v,loadingIcon:b,expanded:A,pauseWhenPageIsHidden:j,swipeDirections:e.swipeDirections})})):null}))});const yK=({...e})=>{const{theme:n="system"}=HG();
68return t.jsx(bK,{theme:n,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},jK=1,wK=1e6;let R0=0;function NK(){return R0=(R0+1)%Number.MAX_SAFE_INTEGER,R0.toString()}const D0=new Map,GE=e=>{if(D0.has(e))return;const n=setTimeout(()=>{D0.delete(e),tm({type:"REMOVE_TOAST",toastId:e})},wK);D0.set(e,n)},kK=(e,n)=>{switch(n.type){case"ADD_TOAST":return{...e,toasts:[n.toast,...e.toasts].slice(0,jK)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===n.toast.id?{...r,...n.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=n;return r?GE(r):e.toasts.forEach(i=>{GE(i.id)}),{...e,toasts:e.toasts.map(i=>i.id===r||r===void 0?{...i,open:!1}:i)}}case"REMOVE_TOAST":return n.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==n.toastId)}}},ax=[];let ox={toasts:[]};function tm(e){ox=kK(ox,e),ax.forEach(n=>{n(ox)})}function qK({...e}){const n=NK(),r=s=>tm({type:"UPDATE_TOAST",toast:{...s,id:n}}),i=()=>tm({type:"DISMISS_TOAST",toastId:n});return tm({type:"ADD_TOAST",toast:{...e,id:n,open:!0,onOpenChange:s=>{s||i()}}}),{id:n,dismiss:i,update:r}}function SK(){const[e,n]=k.useState(ox);return k.useEffect(()=>(ax.push(n),()=>{const r=ax.indexOf(n);r>-1&&ax.splice(r,1)}),[e]),{...e,toast:qK,dismiss:r=>tm({type:"DISMISS_TOAST",toastId:r})}}function Ke(e,n,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e==null||e(s),r===!1||!s.defaultPrevented)return n==null?void 0:n(s)}}function KE(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function UO(...e){return n=>{let r=!1;const i=e.map(s=>{const a=KE(s,n);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let s=0;s<i.length;s++){const a=i[s];typeof a=="function"?a():KE(e[s],null)}}}}function $t(...e){return k.useCallback(UO(...e),e)}function CK(e,n){const r=k.createContext(n),i=a=>{const{children:o,...l}=a,c=k.useMemo(()=>l,Object.values(l));return t.jsx(r.Provider,{value:c,children:o})};i.displayName=e+"Provider";function s(a){const o=k.useContext(r);if(o)return o;if(n!==void 0)return n;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[i,s]}function Nd(e,n=[]){let r=[];function i(a,o){const l=k.createContext(o),c=r.length;r=[...r,o];const u=p=>{var v;const{scope:m,children:h,...g}=p,f=((v=m==null?void 0:m[e])==null?void 0:v[c])||l,x=k.useMemo(()=>g,Object.values(g));return t.jsx(f.Provider,{value:x,children:h})};u.displayName=a+"Provider";function d(p,m){var f;const h=((f=m==null?void 0:m[e])==null?void 0:f[c])||l,g=k.useContext(h);if(g)return g;if(o!==void 0)return o;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[u,d]}const s=()=>{const a=r.map(o=>k.createContext(o));return function(l){const c=(l==null?void 0:l[e])||a;return k.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};
vendor: 8,502 bytes, line 68
68return s.scopeName=e,[i,PK(s,...n)]}function PK(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const i=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(a){const o=i.reduce((l,{useScope:c,scopeName:u})=>{const p=c(a)[`__scope${u}`];return{...l,...p}},{});return k.useMemo(()=>({[`__scope${n.scopeName}`]:o}),[o])}};return r.scopeName=n.scopeName,r}function Gx(e){const n=EK(e),r=k.forwardRef((i,s)=>{const{children:a,...o}=i,l=k.Children.toArray(a),c=l.find(IK);if(c){const u=c.props.children,d=l.map(p=>p===c?k.Children.count(u)>1?k.Children.only(null):k.isValidElement(u)?u.props.children:null:p);return t.jsx(n,{...o,ref:s,children:k.isValidElement(u)?k.cloneElement(u,void 0,d):null})}return t.jsx(n,{...o,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}function EK(e){const n=k.forwardRef((r,i)=>{const{children:s,...a}=r;if(k.isValidElement(s)){const o=LK(s),l=AK(a,s.props);return s.type!==k.Fragment&&(l.ref=i?UO(i,o):o),k.cloneElement(s,l)}return k.Children.count(s)>1?k.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var VO=Symbol("radix.slottable");function TK(e){const n=({children:r})=>t.jsx(t.Fragment,{children:r});return n.displayName=`${e}.Slottable`,n.__radixId=VO,n}function IK(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===VO}function AK(e,n){const r={...n};for(const i in n){const s=e[i],a=n[i];/^on[A-Z]/.test(i)?s&&a?r[i]=(...l)=>{const c=a(...l);return s(...l),c}:s&&(r[i]=s):i==="style"?r[i]={...s,...a}:i==="className"&&(r[i]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function LK(e){var i,s;let n=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function WO(e){const n=e+"CollectionProvider",[r,i]=Nd(n),[s,a]=r(n,{collectionRef:{current:null},itemMap:new Map}),o=f=>{const{scope:x,children:v}=f,b=L.useRef(null),y=L.useRef(new Map).current;return t.jsx(s,{scope:x,itemMap:y,collectionRef:b,children:v})};o.displayName=n;const l=e+"CollectionSlot",c=Gx(l),u=L.forwardRef((f,x)=>{const{scope:v,children:b}=f,y=a(l,v),N=$t(x,y.collectionRef);return t.jsx(c,{ref:N,children:b})});u.displayName=l;const d=e+"CollectionItemSlot",p="data-radix-collection-item",m=Gx(d),h=L.forwardRef((f,x)=>{const{scope:v,children:b,...y}=f,N=L.useRef(null),j=$t(x,N),w=a(d,v);return L.useEffect(()=>(w.itemMap.set(N,{ref:N,...y}),()=>void w.itemMap.delete(N))),t.jsx(m,{[p]:"",ref:j,children:b})});h.displayName=d;function g(f){const x=a(e+"CollectionConsumer",f);return L.useCallback(()=>{const b=x.collectionRef.current;if(!b)return[];const y=Array.from(b.querySelectorAll(`[${p}]`));return Array.from(x.itemMap.values()).sort((w,q)=>y.indexOf(w.ref.current)-y.indexOf(q.ref.current))},[x.collectionRef,x.itemMap])}return[{Provider:o,Slot:u,ItemSlot:h},g,i]}var FK=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],vt=FK.reduce((e,n)=>{const r=Gx(`Primitive.${n}`),i=k.forwardRef((s,a)=>{const{asChild:o,...l}=s,c=o?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),t.jsx(c,{...l,ref:a})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{});function HO(e,n){e&&Kh.flushSync(()=>e.dispatchEvent(n))}function js(e){const n=k.useRef(e);return k.useEffect(()=>{n.current=e}),k.useMemo(()=>(...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},[])}function _K(e,n=globalThis==null?void 0:globalThis.document){const r=js(e);k.useEffect(()=>{const i=s=>{s.key==="Escape"&&r(s)};return n.addEventListener("keydown",i,{capture:!0}),()=>n.removeEventListener("keydown",i,{capture:!0})},[r,n])}var OK="DismissableLayer",G1="dismissableLayer.update",RK="dismissableLayer.pointerDownOutside",DK="dismissableLayer.focusOutside",QE,GO=k.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Rb=k.forwardRef((e,n)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:o,onDismiss:l,...c}=e,u=k.useContext(GO),[d,p]=k.useState(null),m=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,h]=k.useState({}),g=$t(n,q=>p(q)),f=Array.from(u.layers),[x]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=f.indexOf(x),b=d?f.indexOf(d):-1,y=u.layersWithOutsidePointerEventsDisabled.size>0,N=b>=v,j=$K(q=>{const P=q.target,T=[...u.branches].some(E=>E.contains(P));!N||T||(s==null||s(q),o==null||o(q),q.defaultPrevented||l==null||l())},m),w=BK(q=>{const P=q.target;[...u.branches].some(E=>E.contains(P))||(a==null||a(q),o==null||o(q),q.defaultPrevented||l==null||l())},m);return _K(q=>{b===u.layers.size-1&&(i==null||i(q),!q.defaultPrevented&&l&&(q.preventDefault(),l()))},m),k.useEffect(()=>{if(d)return r&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(QE=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),YE(),()=>{r&&u.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=QE)}},[d,m,r,u]),k.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),YE())},[d,u]),k.useEffect(()=>{const q=()=>h({});return document.addEventListener(G1,q),()=>document.removeEventListener(G1,q)},[]),t.jsx(vt.div,{...c,ref:g,style:{pointerEvents:y?N?"auto":"none":void 0,...e.style},onFocusCapture:Ke(e.onFocusCapture,w.onFocusCapture),onBlurCapture:Ke(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:Ke(e.onPointerDownCapture,j.onPointerDownCapture)})});Rb.displayName=OK;var MK="DismissableLayerBranch",KO=k.forwardRef((e,n)=>{const r=k.useContext(GO),i=k.useRef(null),s=$t(n,i);return k.useEffect(()=>{const a=i.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),t.jsx(vt.div,{...e,ref:s})});KO.displayName=MK;function $K(e,n=globalThis==null?void 0:globalThis.document){const r=js(e),i=k.useRef(!1),s=k.useRef(()=>{});return k.useEffect(()=>{const a=l=>{if(l.target&&!i.current){let c=function(){QO(RK,r,u,{discrete:!0})};const u={originalEvent:l};l.pointerType==="touch"?(n.removeEventListener("click",s.current),s.current=c,n.addEventListener("click",s.current,{once:!0})):c()}else n.removeEventListener("click",s.current);i.current=!1},o=window.setTimeout(()=>{n.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(o),n.removeEventListener("pointerdown",a),n.removeEventListener("click",s.current)}},[n,r]),{onPointerDownCapture:()=>i.current=!0}}function BK(e,n=globalThis==null?void 0:globalThis.document){const r=js(e),i=k.useRef(!1);return k.useEffect(()=>{const s=a=>{a.target&&!i.current&&QO(DK,r,{originalEvent:a},{discrete:!1})};return n.addEventListener("focusin",s),()=>n.removeEventListener("focusin",s)},[n,r]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function YE(){const e=new CustomEvent(G1);document.dispatchEvent(e)}function QO(e,n,r,{discrete:i}){const s=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});n&&s.addEventListener(e,n,{once:!0}),i?HO(s,a):s.dispatchEvent(a)}var zK=Rb,UK=KO,aa=globalThis!=null&&globalThis.document?k.useLayoutEffect:()=>{},VK="Portal",Sq=k.forwardRef((e,n)=>{var l;const{container:r,...i}=e,[s,a]=k.useState(!1);aa(()=>a(!0),[]);const o=r||s&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?mO.createPortal(t.jsx(vt.div,{...i,ref:n}),o):null});Sq.displayName=VK;function WK(e,n){return k.useReducer((r,i)=>n[r][i]??r,e)}var kd=e=>{const{present:n,children:r}=e,i=HK(n),s=typeof r=="function"?r({present:i.isPresent}):k.Children.only(r),a=$t(i.ref,GK(s));return typeof r=="function"||i.isPresent?k.cloneElement(s,{ref:a}):null};kd.displayName="Presence";function HK(e){const[n,r]=k.useState(),i=k.useRef(null),s=k.useRef(e),a=k.useRef("none"),o=e?"mounted":"unmounted",[l,c]=WK(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return k.useEffect(()=>{const u=Vf(i.current);a.current=l==="mounted"?u:"none"},[l]),aa(()=>{const u=i.current,d=s.current;if(d!==e){const m=a.current,h=Vf(u);e?c("MOUNT"):h==="none"||(u==null?void 0:u.display)==="none"?c("UNMOUNT"):c(d&&m!==h?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,c]),aa(()=>
68{if(n){let u;const d=n.ownerDocument.defaultView??window,p=h=>{const f=Vf(i.current).includes(h.animationName);if(h.target===n&&f&&(c("ANIMATION_END"),!s.current)){const x=n.style.animationFillMode;n.style.animationFillMode="forwards",u=d.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=x)})}},m=h=>{h.target===n&&(a.current=Vf(i.current))};return n.addEventListener("animationstart",m),n.addEventListener("animationcancel",p),n.addEventListener("animationend",p),()=>{d.clearTimeout(u),n.removeEventListener("animationstart",m),n.removeEventListener("animationcancel",p),n.removeEventListener("animationend",p)}}else c("ANIMATION_END")},[n,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:k.useCallback(u=>{i.current=u?getComputedStyle(u):null,r(u)},[])}}function Vf(e){return(e==null?void 0:e.animationName)||"none"}function GK(e){var i,s;let n=(i=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:i.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var KK=qk[" useInsertionEffect ".trim().toString()]||aa;function Cq({prop:e,defaultProp:n,onChange:r=()=>{},caller:i}){const[s,a,o]=QK({defaultProp:n,onChange:r}),l=e!==void 0,c=l?e:s;{const d=k.useRef(e!==void 0);k.useEffect(()=>{const p=d.current;p!==l&&console.warn(`${i} is changing from ${p?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=l},[l,i])}const u=k.useCallback(d=>{var p;if(l){const m=YK(d)?d(e):d;m!==e&&((p=o.current)==null||p.call(o,m))}else a(d)},[l,e,a,o]);return[c,u]}function QK({defaultProp:e,onChange:n}){const[r,i]=k.useState(e),s=k.useRef(r),a=k.useRef(n);return KK(()=>{a.current=n},[n]),k.useEffect(()=>{var o;s.current!==r&&((o=a.current)==null||o.call(a,r),s.current=r)},[r,s]),[r,i,a]}function YK(e){return typeof e=="function"}var JK=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),XK="VisuallyHidden",Db=k.forwardRef((e,n)=>t.jsx(vt.span,{...e,ref:n,style:{...JK,...e.style}}));Db.displayName=XK;var ZK=Db,Pq="ToastProvider",[Eq,eQ,tQ]=WO("Toast"),[YO,YBe]=Nd("Toast",[tQ]),[nQ,Mb]=YO(Pq),JO=e=>{const{__scopeToast:n,label:r="Notification",duration:i=5e3,swipeDirection:s="right",swipeThreshold:a=50,children:o}=e,[l,c]=k.useState(null),[u,d]=k.useState(0),p=k.useRef(!1),m=k.useRef(!1);return r.trim()||console.error(`Invalid prop \`label\` supplied to \`${Pq}\`. Expected non-empty \`string\`.`),t.jsx(Eq.Provider,{scope:n,children:t.jsx(nQ,{scope:n,label:r,duration:i,swipeDirection:s,swipeThreshold:a,toastCount:u,viewport:l,onViewportChange:c,onToastAdd:k.useCallback(()=>d(h=>h+1),[]),onToastRemove:k.useCallback(()=>d(h=>h-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:m,children:o})})};JO.displayName=Pq;var XO="ToastViewport",rQ=["F8"],K1="toast.viewportPause",Q1="toast.viewportResume",ZO=k.forwardRef((e,n)=>{const{__scopeToast:r,hotkey:i=rQ,label:s="Notifications ({hotkey})",...a}=e,o=Mb(XO,r),l=eQ(r),c=k.useRef(null),u=k.useRef(null),d=k.useRef(null),p=k.useRef(null),m=$t(n,p,o.onViewportChange),h=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),g=o.toastCount>0;k.useEffect(()=>{const x=v=>{var y;i.length!==0&&i.every(N=>v[N]||v.code===N)&&((y=p.current)==null||y.focus())};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[i]),k.useEffect(()=>{const x=c.current,v=p.current;if(g&&x&&v){const b=()=>{if(!o.isClosePausedRef.current){const w=new CustomEvent(K1);v.dispatchEvent(w),o.isClosePausedRef.current=!0}},y=()=>{if(o.isClosePausedRef.current){const w=new CustomEvent(Q1);v.dispatchEvent(w),o.isClosePausedRef.current=!1}},N=w=>{!x.contains(w.relatedTarget)&&y()},j=()=>{x.contains(document.activeElement)||y()};return x.addEventListener("focusin",b),x.addEventListener("focusout",N),x.addEventListener("pointermove",b),x.addEventListener("pointerleave",j),window.addEventListener("blur",b),window.addEventListener("focus",y),()=>{x.removeEventListener("focusin",b),x.removeEventListener("focusout",N),x.removeEventListener("pointermove",b),x.removeEventListener("pointerleave",j),window.removeEventListener("blur",b),window.removeEventListener("focus",y)}}},[g,o.isClosePausedRef]);const f=k.useCallback(({tabbingDirection:x})=>{const b=l().map(y=>{const N=y.ref.current,j=[N,...gQ(N)];return x==="forwards"?j:j.reverse()});return(x==="forwards"?b.reverse():b).flat()},[l]);return k.useEffect(()=>{const x=p.current;if(x){const v=b=>{var j,w,q;const y=b.altKey||b.ctrlKey||b.metaKey;if(b.key==="Tab"&&!y){const P=document.activeElement,T=b.shiftKey;if(b.target===x&&T){(j=u.current)==null||j.focus();return}const _=f({tabbingDirection:T?"backwards":"forwards"}),D=_.findIndex(R=>R===P);M0(_.slice(D+1))?b.preventDefault():T?(w=u.current)==null||w.focus():(q=d.current)==null||q.focus()}};return x.addEventListener("keydown",v),()=>x.removeEventListener("keydown",v)}},[l,f]),t.jsxs(UK,{ref:c,role:"region","aria-label":s.replace("{hotkey}",h),tabIndex:-1,style:{pointerEvents:g?void 0:"none"},children:[g&&t.jsx(Y1,{ref:u,onFocusFromOutsideViewport:()=>{const x=f({tabbingDirection:"forwards"});M0(x)}}),t.jsx(Eq.Slot,{scope:r,children:t.jsx(vt.ol,{tabIndex:-1,...a,ref:m})}),g&&t.jsx(Y1,{ref:d,onFocusFromOutsideViewport:()=>{const x=f({tabbingDirection:"backwards"});M0(x)}})]})});ZO.displayName=XO;
68var eR="ToastFocusProxy",Y1=k.forwardRef((e,n)=>{const{__scopeToast:r,onFocusFromOutsideViewport:i,...s}=e,a=Mb(eR,r);return t.jsx(Db,{"aria-hidden":!0,tabIndex:0,...s,ref:n,style:{position:"fixed"},onFocus:o=>{var u;const l=o.relatedTarget;!((u=a.viewport)!=null&&u.contains(l))&&i()}})});Y1.displayName=eR;var Yh="Toast",iQ="toast.swipeStart",sQ="toast.swipeMove",aQ="toast.swipeCancel",oQ="toast.swipeEnd",tR=k.forwardRef((e,n)=>{const{forceMount:r,open:i,defaultOpen:s,onOpenChange:a,...o}=e,[l,c]=Cq({prop:i,defaultProp:s??!0,onChange:a,caller:Yh});return t.jsx(kd,{present:r||l,children:t.jsx(uQ,{open:l,...o,ref:n,onClose:()=>c(!1),onPause:js(e.onPause),onResume:js(e.onResume),onSwipeStart:Ke(e.onSwipeStart,u=>{u.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Ke(e.onSwipeMove,u=>{const{x:d,y:p}=u.detail.delta;u.currentTarget.setAttribute("data-swipe","move"),u.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${d}px`),u.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:Ke(e.onSwipeCancel,u=>{u.currentTarget.setAttribute("data-swipe","cancel"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),u.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),u.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Ke(e.onSwipeEnd,u=>{const{x:d,y:p}=u.detail.delta;u.currentTarget.setAttribute("data-swipe","end"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),u.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${d}px`),u.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),c(!1)})})})});tR.displayName=Yh;var[lQ,cQ]=YO(Yh,{onClose(){}}),uQ=k.forwardRef((e,n)=>{const{__scopeToast:r,type:i="foreground",duration:s,open:a,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:u,onSwipeStart:d,onSwipeMove:p,onSwipeCancel:m,onSwipeEnd:h,...g}=e,f=Mb(Yh,r),[x,v]=k.useState(null),b=$t(n,R=>v(R)),y=k.useRef(null),N=k.useRef(null),j=s||f.duration,w=k.useRef(0),q=k.useRef(j),P=k.useRef(0),{onToastAdd:T,onToastRemove:E}=f,A=js(()=>{var M;(x==null?void 0:x.contains(document.activeElement))&&((M=f.viewport)==null||M.focus()),o()}),_=k.useCallback(R=>{!R||R===1/0||(window.clearTimeout(P.current),w.current=new Date().getTime(),P.current=window.setTimeout(A,R))},[A]);k.useEffect(()=>{const R=f.viewport;if(R){const M=()=>{_(q.current),u==null||u()},U=()=>{const z=new Date().getTime()-w.current;q.current=q.current-z,window.clearTimeout(P.current),c==null||c()};return R.addEventListener(K1,U),R.addEventListener(Q1,M),()=>{R.removeEventListener(K1,U),R.removeEventListener(Q1,M)}}},[f.viewport,j,c,u,_]),k.useEffect(()=>{a&&!f.isClosePausedRef.current&&_(j)},[a,j,f.isClosePausedRef,_]),k.useEffect(()=>(T(),()=>E()),[T,E]);const D=k.useMemo(()=>x?lR(x):null,[x]);return f.viewport?t.jsxs(t.Fragment,{children:[D&&t.jsx(dQ,{__scopeToast:r,role:"status","aria-live":i==="foreground"?"assertive":"polite","aria-atomic":!0,children:D}),t.jsx(lQ,{scope:r,onClose:A,children:Kh.createPortal(t.jsx(Eq.ItemSlot,{scope:r,children:t.jsx(zK,{asChild:!0,onEscapeKeyDown:Ke(l,()=>{f.isFocusedToastEscapeKeyDownRef.current||A(),f.isFocusedToastEscapeKeyDownRef.current=!1}),children:t.jsx(vt.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":a?"open":"closed","data-swipe-direction":f.swipeDirection,...g,ref:b,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Ke(e.onKeyDown,R=>{R.key==="Escape"&&(l==null||l(R.nativeEvent),R.nativeEvent.defaultPrevented||(f.isFocusedToastEscapeKeyDownRef.current=!0,A()))}),onPointerDown:Ke(e.onPointerDown,R=>{R.button===0&&(y.current={x:R.clientX,y:R.clientY})}),onPointerMove:Ke(e.onPointerMove,R=>{if(!y.current)return;const M=R.clientX-y.current.x,U=R.clientY-y.current.y,z=!!N.current,O=["left","right"].includes(f.swipeDirection),$=["left","up"].includes(f.swipeDirection)?Math.min:Math.max,I=O?$(0,M):0,Y=O?0:$(0,U),W=R.pointerType==="touch"?10:2,F={x:I,y:Y},ae={originalEvent:R,delta:F};z?(N.current=F,Wf(sQ,p,ae,{discrete:!1})):JE(F,f.swipeDirection,W)?(N.current=F,Wf(iQ,d,ae,{discrete:!1}),R.target.setPointerCapture(R.pointerId)):(Math.abs(M)>W||Math.abs(U)>W)&&(y.current=null)}),onPointerUp:Ke(e.onPointerUp,R=>{const M=N.current,U=R.target;if(U.hasPointerCapture(R.pointerId)&&U.releasePointerCapture(R.pointerId),N.current=null,y.current=null,M){const z=R.currentTarget,O={originalEvent:R,delta:M};JE(M,f.swipeDirection,f.swipeThreshold)?Wf(oQ,h,O,{discrete:!0}):Wf(aQ,m,O,{discrete:!0}),z.addEventListener("click",$=>$.preventDefault(),{once:!0})}})})})}),f.viewport)})]}):null}),dQ=e=>{const{__scopeToast:n,children:r,...i}=e,s=Mb(Yh,n),[a,o]=k.useState(!1),[l,c]=k.useState(!1);return hQ(()=>o(!0)),k.useEffect(()=>{const u=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(u)},[]),l?null:t.jsx(Sq,{asChild:!0,children:t.jsx(Db,{...i,children:a&&t.jsxs(t.Fragment,{children:[s.label," ",r]})})})}
vendor: 4,763 bytes, lines 68-87
68,pQ="ToastTitle",nR=k.forwardRef((e,n)=>{const{__scopeToast:r,...i}=e;return t.jsx(vt.div,{...i,ref:n})});nR.displayName=pQ;var mQ="ToastDescription",rR=k.forwardRef((e,n)=>{const{__scopeToast:r,...i}=e;return t.jsx(vt.div,{...i,ref:n})});rR.displayName=mQ;var iR="ToastAction",sR=k.forwardRef((e,n)=>{const{altText:r,...i}=e;return r.trim()?t.jsx(oR,{altText:r,asChild:!0,children:t.jsx(Tq,{...i,ref:n})}):(console.error(`Invalid prop \`altText\` supplied to \`${iR}\`. Expected non-empty \`string\`.`),null)});sR.displayName=iR;var aR="ToastClose",Tq=k.forwardRef((e,n)=>{const{__scopeToast:r,...i}=e,s=cQ(aR,r);return t.jsx(oR,{asChild:!0,children:t.jsx(vt.button,{type:"button",...i,ref:n,onClick:Ke(e.onClick,s.onClose)})})});Tq.displayName=aR;var oR=k.forwardRef((e,n)=>{const{__scopeToast:r,altText:i,...s}=e;return t.jsx(vt.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":i||void 0,...s,ref:n})});function lR(e){const n=[];return Array.from(e.childNodes).forEach(i=>{if(i.nodeType===i.TEXT_NODE&&i.textContent&&n.push(i.textContent),fQ(i)){const s=i.ariaHidden||i.hidden||i.style.display==="none",a=i.dataset.radixToastAnnounceExclude==="";if(!s)if(a){const o=i.dataset.radixToastAnnounceAlt;o&&n.push(o)}else n.push(...lR(i))}}),n}function Wf(e,n,r,{discrete:i}){const s=r.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});n&&s.addEventListener(e,n,{once:!0}),i?HO(s,a):s.dispatchEvent(a)}var JE=(e,n,r=0)=>{const i=Math.abs(e.x),s=Math.abs(e.y),a=i>s;return n==="left"||n==="right"?a&&i>r:!a&&s>r};function hQ(e=()=>{}){const n=js(e);aa(()=>{let r=0,i=0;return r=window.requestAnimationFrame(()=>i=window.requestAnimationFrame(n)),()=>{window.cancelAnimationFrame(r),window.cancelAnimationFrame(i)}},[n])}function fQ(e){return e.nodeType===e.ELEMENT_NODE}function gQ(e){const n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function M0(e){const n=document.activeElement;return e.some(r=>r===n?!0:(r.focus(),document.activeElement!==n))}var xQ=JO,cR=ZO,uR=tR,dR=nR,pR=rR,mR=sR,hR=Tq;function fR(e){var n,r,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(r=fR(e[n]))&&(i&&(i+=" "),i+=r)}else for(r in e)e[r]&&(i&&(i+=" "),i+=r);return i}function Re(){for(var e,n,r=0,i="",s=arguments.length;r<s;r++)(e=arguments[r])&&(n=fR(e))&&(i&&(i+=" "),i+=n);return i}const XE=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ZE=Re,vQ=(e,n)=>r=>{var i;if((n==null?void 0:n.variants)==null)return ZE(e,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:s,defaultVariants:a}=n,o=Object.keys(s).map(u=>{const d=r==null?void 0:r[u],p=a==null?void 0:a[u];if(d===null)return null;const m=XE(d)||XE(p);return s[u][m]}),l=r&&Object.entries(r).reduce((u,d)=>{let[p,m]=d;return m===void 0||(u[p]=m),u},{}),c=n==null||(i=n.compoundVariants)===null||i===void 0?void 0:i.reduce((u,d)=>{let{class:p,className:m,...h}=d;return Object.entries(h).every(g=>{let[f,x]=g;return Array.isArray(x)?x.includes({...a,...l}[f]):{...a,...l}[f]===x})?[...u,p,m]:u},[]);return ZE(e,o,c,r==null?void 0:r.class,r==null?void 0:r.className)};/**
69 * @license lucide-react v0.462.0 - ISC
70 *
71 * This source code is licensed under the ISC license.
72 * See the LICENSE file in the root directory of this source tree.
73 */const bQ=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),gR=(...e)=>e.filter((n,r,i)=>!!n&&n.trim()!==""&&i.indexOf(n)===r).join(" ").trim();/**
74 * @license lucide-react v0.462.0 - ISC
75 *
76 * This source code is licensed under the ISC license.
77 * See the LICENSE file in the root directory of this source tree.
78 */var yQ={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"};/**
79 * @license lucide-react v0.462.0 - ISC
80 *
81 * This source code is licensed under the ISC license.
82 * See the LICENSE file in the root directory of this source tree.
83 */const jQ=k.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:r=2,absoluteStrokeWidth:i,className:s="",children:a,iconNode:o,...l},c)=>k.createElement("svg",{ref:c,...yQ,width:n,height:n,stroke:e,strokeWidth:i?Number(r)*24/Number(n):r,className:gR("lucide",s),...l},[...o.map(([u,d])=>k.createElement(u,d)),...Array.isArray(a)?a:[a]]));/**
84 * @license lucide-react v0.462.0 - ISC
85 *
86 * This source code is licensed under the ISC license.
87 * See the LICENSE file in the root directory of this source tree.
88 */const J=(e,n)=>{const r=k.forwardRef(({className:i,...s},a)=>k.createElement(jQ,{ref:a,iconNode:n,className:gR(`lucide-${bQ(e)}`,i),...s}));return r.displayName=`${e}`,r};/**
89 * @license lucide-react v0.462.0 - ISC
90 *
91 * This source code is licensed under the ISC license.
92 * See the LICENSE file in the root directory of this source tree.
93 */const wQ=J("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/**
94 * @license lucide-react v0.462.0 - ISC
95 *
96 * This source code is licensed under the ISC license.
97 * See the LICENSE file in the root directory of this source tree.
98 */const pe=J("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
99 * @license lucide-react v0.462.0 - ISC
100 *
101 * This source code is licensed under the ISC license.
102 * See the LICENSE file in the root directory of this source tree.
103 */const V=J("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
104 * @license lucide-react v0.462.0 - ISC
105 *
106 * This source code is licensed under the ISC license.
107 * See the LICENSE file in the root directory of this source tree.
108 */const $b=J("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/**
109 * @license lucide-react v0.462.0 - ISC
110 *
111 * This source code is licensed under the ISC license.
112 * See the LICENSE file in the root directory of this source tree.
113 */const xR=J("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);/**
114 * @license lucide-react v0.462.0 - ISC
115 *
116 * This source code is licensed under the ISC license.
117 * See the LICENSE file in the root directory of this source tree.
118 */const NQ=J("Baby",[["path",{d:"M9 12h.01",key:"157uk2"}],["path",{d:"M15 12h.01",key:"1k8ypt"}],["path",{d:"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5",key:"1u7htd"}],["path",{d:"M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1",key:"5yv0yz"}]]);/**
119 * @license lucide-react v0.462.0 - ISC
120 *
121 * This source code is licensed under the ISC license.
122 * See the LICENSE file in the root directory of this source tree.
123 */const kQ=J("BadgeEuro",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"M7 12h5",key:"gblrwe"}],["path",{d:"M15 9.4a4 4 0 1 0 0 5.2",key:"1makmb"}]]);/**
124 * @license lucide-react v0.462.0 - ISC
125 *
126 * This source code is licensed under the ISC license.
127 * See the LICENSE file in the root directory of this source tree.
128 */const vR=J("Banknote",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M6 12h.01M18 12h.01",key:"113zkx"}]]);/**
129 * @license lucide-react v0.462.0 - ISC
130 *
131 * This source code is licensed under the ISC license.
132 * See the LICENSE file in the root directory of this source tree.
133 */const qQ=J("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/**
134 * @license lucide-react v0.462.0 - ISC
135 *
136 * This source code is licensed under the ISC license.
137 * See the LICENSE file in the root directory of this source tree.
138 */const Gi=J("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/**
139 * @license lucide-react v0.462.0 - ISC
140 *
141 * This source code is licensed under the ISC license.
142 * See the LICENSE file in the root directory of this source tree.
143 */const SQ=J("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"}]]);/**
144 * @license lucide-react v0.462.0 - ISC
145 *
146 * This source code is licensed under the ISC license.
147 * See the LICENSE file in the root directory of this source tree.
148 */const va=J("Briefcase",[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]);/**
149 * @license lucide-react v0.462.0 - ISC
150 *
151 * This source code is licensed under the ISC license.
152 * See the LICENSE file in the root directory of this source tree.
153 */const rn=J("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"}
153],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
154 * @license lucide-react v0.462.0 - ISC
155 *
156 * This source code is licensed under the ISC license.
157 * See the LICENSE file in the root directory of this source tree.
158 */const bR=J("Building",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["path",{d:"M9 22v-4h6v4",key:"r93iot"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}]]);/**
159 * @license lucide-react v0.462.0 - ISC
160 *
161 * This source code is licensed under the ISC license.
162 * See the LICENSE file in the root directory of this source tree.
163 */const oa=J("Calculator",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["line",{x1:"8",x2:"16",y1:"6",y2:"6",key:"x4nwl0"}],["line",{x1:"16",x2:"16",y1:"14",y2:"18",key:"wjye3r"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M8 18h.01",key:"lrp35t"}]]);/**
164 * @license lucide-react v0.462.0 - ISC
165 *
166 * This source code is licensed under the ISC license.
167 * See the LICENSE file in the root directory of this source tree.
168 */const CQ=J("CalendarDays",[["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"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);/**
169 * @license lucide-react v0.462.0 - ISC
170 *
171 * This source code is licensed under the ISC license.
172 * See the LICENSE file in the root directory of this source tree.
173 */const PQ=J("CalendarHeart",[["path",{d:"M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7",key:"136lmk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z",key:"1t7hil"}]]);/**
174 * @license lucide-react v0.462.0 - ISC
175 *
176 * This source code is licensed under the ISC license.
177 * See the LICENSE file in the root directory of this source tree.
178 */const Kx=J("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"}]]);/**
179 * @license lucide-react v0.462.0 - ISC
180 *
181 * This source code is licensed under the ISC license.
182 * See the LICENSE file in the root directory of this source tree.
183 */const qd=J("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/**
184 * @license lucide-react v0.462.0 - ISC
185 *
186 * This source code is licensed under the ISC license.
187 * See the LICENSE file in the root directory of this source tree.
188 */const Jl=J("ChartLine",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]);/**
189 * @license lucide-react v0.462.0 - ISC
190 *
191 * This source code is licensed under the ISC license.
192 * See the LICENSE file in the root directory of this source tree.
193 */const yR=J("ChartPie",[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]]);/**
194 * @license lucide-react v0.462.0 - ISC
195 *
196 * This source code is licensed under the ISC license.
197 * See the LICENSE file in the root directory of this source tree.
198 */const Xl=J("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
199 * @license lucide-react v0.462.0 - ISC
200 *
201 * This source code is licensed under the ISC license.
202 * See the LICENSE file in the root directory of this source tree.
203 */const rt=J("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
204 * @license lucide-react v0.462.0 - ISC
205 *
206 * This source code is licensed under the ISC license.
207 * See the LICENSE file in the root directory of this source tree.
208 */const EQ=J("CircleAlert",[["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"}]]);/**
209 * @license lucide-react v0.462.0 - ISC
210 *
211 * This source code is licensed under the ISC license.
212 * See the LICENSE file in the root directory of this source tree.
213 */const dr=J("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
214 * @license lucide-react v0.462.0 - ISC
215 *
216 * This source code is licensed under the ISC license.
217 * See the LICENSE file in the root directory of this source tree.
218 */const gu=J("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
219 * @license lucide-react v0.462.0 - ISC
220 *
221 * This source code is licensed under the ISC license.
222 * See the LICENSE file in the root directory of this source tree.
223 */const TQ=J("CircleMinus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]);/**
224 * @license lucide-react v0.462.0 - ISC
225 *
226 * This source code is licensed under the ISC license.
227 * See the LICENSE file in the root directory of this source tree.
228 */const Sd=J("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
229 * @license lucide-react v0.462.0 - ISC
230 *
231 * This source code is licensed under the ISC license.
232 * See the LICENSE file in the root directory of this source tree.
233 */const Bb=J("Coins",[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]]);/**
234 * @license lucide-react v0.462.0 - ISC
235 *
236 * This source code is licensed under the ISC license.
237 * See the LICENSE file in the root directory of this source tree.
238 */const zb=J("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",ke
238y:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
239 * @license lucide-react v0.462.0 - ISC
240 *
241 * This source code is licensed under the ISC license.
242 * See the LICENSE file in the root directory of this source tree.
243 */const Qx=J("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/**
244 * @license lucide-react v0.462.0 - ISC
245 *
246 * This source code is licensed under the ISC license.
247 * See the LICENSE file in the root directory of this source tree.
248 */const eT=J("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);/**
249 * @license lucide-react v0.462.0 - ISC
250 *
251 * This source code is licensed under the ISC license.
252 * See the LICENSE file in the root directory of this source tree.
253 */const jR=J("Crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]);/**
254 * @license lucide-react v0.462.0 - ISC
255 *
256 * This source code is licensed under the ISC license.
257 * See the LICENSE file in the root directory of this source tree.
258 */const Iq=J("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"}]]);/**
259 * @license lucide-react v0.462.0 - ISC
260 *
261 * This source code is licensed under the ISC license.
262 * See the LICENSE file in the root directory of this source tree.
263 */const wR=J("Earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
264 * @license lucide-react v0.462.0 - ISC
265 *
266 * This source code is licensed under the ISC license.
267 * See the LICENSE file in the root directory of this source tree.
268 */const Wn=J("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
269 * @license lucide-react v0.462.0 - ISC
270 *
271 * This source code is licensed under the ISC license.
272 * See the LICENSE file in the root directory of this source tree.
273 */const NR=J("Factory",[["path",{d:"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"159hny"}],["path",{d:"M17 18h1",key:"uldtlt"}],["path",{d:"M12 18h1",key:"s9uhes"}],["path",{d:"M7 18h1",key:"1neino"}]]);/**
274 * @license lucide-react v0.462.0 - ISC
275 *
276 * This source code is licensed under the ISC license.
277 * See the LICENSE file in the root directory of this source tree.
278 */const kR=J("FileCheck",[["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:"m9 15 2 2 4-4",key:"1grp1n"}]]);/**
279 * @license lucide-react v0.462.0 - ISC
280 *
281 * This source code is licensed under the ISC license.
282 * See the LICENSE file in the root directory of this source tree.
283 */const J1=J("FileSearch",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]]);/**
284 * @license lucide-react v0.462.0 - ISC
285 *
286 * This source code is licensed under the ISC license.
287 * See the LICENSE file in the root directory of this source tree.
288 */const pr=J("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"}]]);/**
289 * @license lucide-react v0.462.0 - ISC
290 *
291 * This source code is licensed under the ISC license.
292 * See the LICENSE file in the root directory of this source tree.
293 */const qR=J("Film",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]]);/**
294 * @license lucide-react v0.462.0 - ISC
295 *
296 * This source code is licensed under the ISC license.
297 * See the LICENSE file in the root directory of this source tree.
298 */const IQ=J("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/**
299 * @license lucide-react v0.462.0 - ISC
300 *
301 * This source code is licensed under the ISC license.
302 * See the LICENSE file in the root directory of this source tree.
303 */const SR=J("Gavel",[["path",{d:"m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8",key:"15492f"}],["path",{d:"m16 16 6-6",key:"vzrcl6"}],["path",{d:"m8 8 6-6",key:"18bi4p"}],["path",{d:"m9 7 8 8",key:"5jnvq1"}],["path",{d:"m21 11-8-8",key:"z4y7zo"}]]);/**
304 * @license lucide-react v0.462.0 - ISC
305 *
306 * This source code is licensed under the ISC license.
307 * See the LICENSE file in the root directory of this source tree.
308 */const mr=J("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"}]]);/**
309 * @license lucide-react v0.462.0 - ISC
310 *
311 * This source code is licensed under the ISC license.
312 * See the LICENSE file in the root directory of this source tree.
313 */const CR=J("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"}]]);/**
314 * @license lucide-react v0.462.0 - ISC
315 *
316 * This source code is licensed under the ISC license.
317 * See the LICENSE file in the root directory of this source tree.
318 */const tT=J("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);/**
319 * @license lucide-react v0.462.0 - ISC
320 *
321 * This source code is licensed under the ISC license.
322 * See the LICENSE file in the root directory of this source tree.
323 */const AQ=J("HandCoins",[["path",{d:"M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17",key:"geh8rc"}],["path",{d:"m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9",key:"1fto5m"}],["path",{d:"m2 16 6 6",key:"1pfhp9"}],["circle",{cx:"16",cy:"9",r:"2.9",key:"1n0dlu"}],["circle",{cx:"6",cy:"5",r:"3",key:"151irh"}]]);/**
324 * @license lucide-react v0.462.0 - ISC
325 *
326 * This source code is licensed under the ISC license.
327 * See the LICENSE file in the root directory of this source tree.
328 */const LQ=J("Headphones",[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]]);/**
329 * @license lucide-react v0.462.0 - ISC
330 *
331 * This source code is licensed under the ISC license.
332 * See the LICENSE file in the root directory of this source tree.
333 */const FQ=J("HeartHandshake",[["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"}],["path",{d:"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66",key:"4oyue0"}],["path",{d:"m18 15-2-2",key:"60u0ii"}],["path",{d:"m15 18-2-2",key:"6p76be"}]]);/**
334 * @license lucide-react v0.462.0 - ISC
335 *
336 * This source code is licensed under the ISC license.
337 * See the LICENSE file in the root directory of this source tree.
338 */const Eo=J("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
339 * @license lucide-react v0.462.0 - ISC
340 *
341 * This source code is licensed under the ISC license.
342 * See the LICENSE file in the root directory of this source tree.
343 */const Aq=J("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
344 * @license lucide-react v0.462.0 - ISC
345 *
346 * This source code is licensed under the ISC license.
347 * See the LICENSE file in the root directory of this source tree.
348 */const Lq=J("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);/**
349 * @license lucide-react v0.462.0 - ISC
350 *
351 * This source code is licensed under the ISC license.
352 * See the LICENSE file in the root directory of this source tree.
353 */const St=J("Landmark",[["line",{x1:"3",x2:"21",y1:"22",y2:"22",key:"j8o0r"}],["line",{x1:"6",x2:"6",y1:"18",y2:"11",key:"10tf0k"}],["line",{x1:"10",x2:"10",y1:"18",y2:"11",key:"54lgf6"}],["line",{x1:"14",x2:"14",y1:"18",y2:"11",key:"380y"}],["line",{x1:"18",x2:"18",y1:"18",y2:"11",key:"1kevvc"}],["polygon",{points:"12 2 20 7 4 7",key:"jkujk7"}]]);/**
354 * @license lucide-react v0.462.0 - ISC
355 *
356 * This source code is licensed under the ISC license.
357 * See the LICENSE file in the root directory of this source tree.
358 */const la=J("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/**
359 * @license lucide-react v0.462.0 - ISC
360 *
361 * This source code is licensed under the ISC license.
362 * See the LICENSE file in the root directory of this source tree.
363 */const nT=J("Leaf",[["path",{d:"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z",key:"nnexq3"}],["path",{d:"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12",key:"mt58a7"}]]);/**
364 * @license lucide-react v0.462.0 - ISC
365 *
366 * This source code is licensed under the ISC license.
367 * See the LICENSE file in the root directory of this source tree.
368 */const _Q=J("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"}]]);/**
369 * @license lucide-react v0.462.0 - ISC
370 *
371 * This source code is licensed under the ISC license.
372 * See the LICENSE file in the root directory of this source tree.
373 */const OQ=J("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"}]]);/**
374 * @license lucide-react v0.462.0 - ISC
375 *
376 * This source code is licensed under the ISC license.
377 * See the LICENSE file in the root directory of this source tree.
378 */const PR=J("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
379 * @license lucide-react v0.462.0 - ISC
380 *
381 * This source code is licensed under the ISC license.
382 * See the LICENSE file in the root directory of this source tree.
383 */const RQ=J("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
384 * @license lucide-react v0.462.0 - ISC
385 *
386 * This source code is licensed under the ISC license.
387 * See the LICENSE file in the root directory of this source tree.
388 */const DQ=J("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);/**
389 * @license lucide-react v0.462.0 - ISC
390 *
391 * This source code is licensed under the ISC license.
392 * See the LICENSE file in the root directory of this source tree.
393 */const Ub=J("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
394 * @license lucide-react v0.462.0 - ISC
395 *
396 * This source code is licensed under the ISC license.
397 * See the LICENSE file in the root directory of this source tree.
398 */const Xc=J("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);/**
399 * @license lucide-react v0.462.0 - ISC
400 *
401 * This source code is licensed under the ISC license.
402 * See the LICENSE file in the root directory of this source tree.
403 */const MQ=J("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"}]]);/**
404 * @license lucide-react v0.462.0 - ISC
405 *
406 * This source code is licensed under the ISC license.
407 * See the LICENSE file in the root directory of this source tree.
408 */const X1=J("Mountain",[["path",{d:"m8 3 4 8 5-5 5 15H2L8 3z",key:"otkl63"}]]);/**
409 * @license lucide-react v0.462.0 - ISC
410 *
411 * This source code is licensed under the ISC license.
412 * See the LICENSE file in the root directory of this source tree.
413 */const $Q=J("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/**
414 * @license lucide-react v0.462.0 - ISC
415 *
416 * This source code is licensed under the ISC license.
417 * See the LICENSE file in the root directory of this source tree.
418 */const BQ=J("Newspaper",[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]]);/**
419 * @license lucide-react v0.462.0 - ISC
420 *
421 * This source code is licensed under the ISC license.
422 * See the LICENSE file in the root directory of this source tree.
423 */const rT=J("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/**
424 * @license lucide-react v0.462.0 - ISC
425 *
426 * This source code is licensed under the ISC license.
427 * See the LICENSE file in the root directory of this source tree.
428 */const Zl=J("Percent",[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]]);/**
429 * @license lucide-react v0.462.0 - ISC
430 *
431 * This source code is licensed under the ISC license.
432 * See the LICENSE file in the root directory of this source tree.
433 */const Jh=J("PiggyBank",[["path",{d:"M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2V5z",key:"1ivx2i"}],["path",{d:"M2 9v1c0 1.1.9 2 2 2h1",key:"nm575m"}],["path",{d:"M16 11h.01",key:"xkw8gn"}]]);/**
434 * @license lucide-react v0.462.0 - ISC
435 *
436 * This source code is licensed under the ISC license.
437 * See the LICENSE file in the root directory of this source tree.
438 */const Xh=J("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
439 * @license lucide-react v0.462.0 - ISC
440 *
441 * This source code is licensed under the ISC license.
442 * See the LICENSE file in the root directory of this source tree.
443 */const Fq=J("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);/**
444 * @license lucide-react v0.462.0 - ISC
445 *
446 * This source code is licensed under the ISC license.
447 * See the LICENSE file in the root directory of this source tree.
448 */const zQ=J("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}
448],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]);/**
449 * @license lucide-react v0.462.0 - ISC
450 *
451 * This source code is licensed under the ISC license.
452 * See the LICENSE file in the root directory of this source tree.
453 */const UQ=J("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);/**
454 * @license lucide-react v0.462.0 - ISC
455 *
456 * This source code is licensed under the ISC license.
457 * See the LICENSE file in the root directory of this source tree.
458 */const VQ=J("Receipt",[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 17.5v-11",key:"1jc1ny"}]]);/**
459 * @license lucide-react v0.462.0 - ISC
460 *
461 * This source code is licensed under the ISC license.
462 * See the LICENSE file in the root directory of this source tree.
463 */const Z1=J("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
464 * @license lucide-react v0.462.0 - ISC
465 *
466 * This source code is licensed under the ISC license.
467 * See the LICENSE file in the root directory of this source tree.
468 */const WQ=J("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/**
469 * @license lucide-react v0.462.0 - ISC
470 *
471 * This source code is licensed under the ISC license.
472 * See the LICENSE file in the root directory of this source tree.
473 */const HQ=J("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"}]]);/**
474 * @license lucide-react v0.462.0 - ISC
475 *
476 * This source code is licensed under the ISC license.
477 * See the LICENSE file in the root directory of this source tree.
478 */const uc=J("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"}]]);/**
479 * @license lucide-react v0.462.0 - ISC
480 *
481 * This source code is licensed under the ISC license.
482 * See the LICENSE file in the root directory of this source tree.
483 */const GQ=J("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/**
484 * @license lucide-react v0.462.0 - ISC
485 *
486 * This source code is licensed under the ISC license.
487 * See the LICENSE file in the root directory of this source tree.
488 */const _q=J("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
489 * @license lucide-react v0.462.0 - ISC
490 *
491 * This source code is licensed under the ISC license.
492 * See the LICENSE file in the root directory of this source tree.
493 */const e2=J("ShieldAlert",[["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",ke
493y:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
494 * @license lucide-react v0.462.0 - ISC
495 *
496 * This source code is licensed under the ISC license.
497 * See the LICENSE file in the root directory of this source tree.
498 */const dc=J("ShieldCheck",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
499 * @license lucide-react v0.462.0 - ISC
500 *
501 * This source code is licensed under the ISC license.
502 * See the LICENSE file in the root directory of this source tree.
503 */const We=J("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"}]]);/**
504 * @license lucide-react v0.462.0 - ISC
505 *
506 * This source code is licensed under the ISC license.
507 * See the LICENSE file in the root directory of this source tree.
508 */const ui=J("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
509 * @license lucide-react v0.462.0 - ISC
510 *
511 * This source code is licensed under the ISC license.
512 * See the LICENSE file in the root directory of this source tree.
513 */const KQ=J("Sprout",[["path",{d:"M7 20h10",key:"e6iznv"}],["path",{d:"M10 20c5.5-2.5.8-6.4 3-10",key:"161w41"}],["path",{d:"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z",key:"9gtqwd"}],["path",{d:"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z",key:"bkxnd2"}]]);/**
514 * @license lucide-react v0.462.0 - ISC
515 *
516 * This source code is licensed under the ISC license.
517 * See the LICENSE file in the root directory of this source tree.
518 */const t2=J("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
519 * @license lucide-react v0.462.0 - ISC
520 *
521 * This source code is licensed under the ISC license.
522 * See the LICENSE file in the root directory of this source tree.
523 */const ER=J("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"}]]);/**
524 * @license lucide-react v0.462.0 - ISC
525 *
526 * This source code is licensed under the ISC license.
527 * See the LICENSE file in the root directory of this source tree.
528 */const TR=J("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);/**
529 * @license lucide-react v0.462.0 - ISC
530 *
531 * This source code is licensed under the ISC license.
532 * See the LICENSE file in the root directory of this source tree.
533 */const IR=J("TreePine",[["path",{d:"m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z",key:"cpyugq"}],["path",{d:"M12 22v-3",key:"kmzjlo"}]]);/**
534 * @license lucide-react v0.462.0 - ISC
535 *
536 * This source code is licensed under the ISC license.
537 * See the LICENSE file in the root directory of this source tree.
538 */const QQ=J("Trees",[["path",{d:"M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z",key:"1l6gj6"}],["path",{d:"M7 16v6",key:"1a82de"}],["path",{d:"M13 19v3",key:"13sx9i"}],["path",{d:"M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5",key:"1sj9kv"}]]);/**
539 * @license lucide-react v0.462.0 - ISC
540 *
541 * This source code is licensed under the ISC license.
542 * See the LICENSE file in the root directory of this source tree.
543 */const YQ=J("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]]);/**
544 * @license lucide-react v0.462.0 - ISC
545 *
546 * This source code is licensed under the ISC license.
547 * See the LICENSE file in the root directory of this source tree.
548 */const Lt=J("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/**
549 * @license lucide-react v0.462.0 - ISC
550 *
551 * This source code is licensed under the ISC license.
552 * See the LICENSE file in the root directory of this source tree.
553 */const Kt=J("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
554 * @license lucide-react v0.462.0 - ISC
555 *
556 * This source code is licensed under the ISC license.
557 * See the LICENSE file in the root directory of this source tree.
558 */const JQ=J("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}
vendor: 9,924 bytes, lines 558-588
558],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]);/**
559 * @license lucide-react v0.462.0 - ISC
560 *
561 * This source code is licensed under the ISC license.
562 * See the LICENSE file in the root directory of this source tree.
563 */const iT=J("UserX",[["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"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]);/**
564 * @license lucide-react v0.462.0 - ISC
565 *
566 * This source code is licensed under the ISC license.
567 * See the LICENSE file in the root directory of this source tree.
568 */const ba=J("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"}]]);/**
569 * @license lucide-react v0.462.0 - ISC
570 *
571 * This source code is licensed under the ISC license.
572 * See the LICENSE file in the root directory of this source tree.
573 */const XQ=J("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);/**
574 * @license lucide-react v0.462.0 - ISC
575 *
576 * This source code is licensed under the ISC license.
577 * See the LICENSE file in the root directory of this source tree.
578 */const Vb=J("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);/**
579 * @license lucide-react v0.462.0 - ISC
580 *
581 * This source code is licensed under the ISC license.
582 * See the LICENSE file in the root directory of this source tree.
583 */const Cd=J("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
584 * @license lucide-react v0.462.0 - ISC
585 *
586 * This source code is licensed under the ISC license.
587 * See the LICENSE file in the root directory of this source tree.
588 */const ZQ=J("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Oq="-",eY=e=>{const n=nY(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:o=>{const l=o.split(Oq);return l[0]===""&&l.length!==1&&l.shift(),AR(l,n)||tY(o)},getConflictingClassGroupIds:(o,l)=>{const c=r[o]||[];return l&&i[o]?[...c,...i[o]]:c}}},AR=(e,n)=>{var o;if(e.length===0)return n.classGroupId;const r=e[0],i=n.nextPart.get(r),s=i?AR(e.slice(1),i):void 0;if(s)return s;if(n.validators.length===0)return;const a=e.join(Oq);return(o=n.validators.find(({validator:l})=>l(a)))==null?void 0:o.classGroupId},sT=/^\[(.+)\]$/,tY=e=>{if(sT.test(e)){const n=sT.exec(e)[1],r=n==null?void 0:n.substring(0,n.indexOf(":"));if(r)return"arbitrary.."+r}},nY=e=>{const{theme:n,prefix:r}=e,i={nextPart:new Map,validators:[]};return iY(Object.entries(e.classGroups),r).forEach(([a,o])=>{n2(o,i,a,n)}),i},n2=(e,n,r,i)=>{e.forEach(s=>{if(typeof s=="string"){const a=s===""?n:aT(n,s);a.classGroupId=r;return}if(typeof s=="function"){if(rY(s)){n2(s(i),n,r,i);return}n.validators.push({validator:s,classGroupId:r});return}Object.entries(s).forEach(([a,o])=>{n2(o,aT(n,a),r,i)})})},aT=(e,n)=>{let r=e;return n.split(Oq).forEach(i=>{r.nextPart.has(i)||r.nextPart.set(i,{nextPart:new Map,validators:[]}),r=r.nextPart.get(i)}),r},rY=e=>e.isThemeGetter,iY=(e,n)=>n?e.map(([r,i])=>{const s=i.map(a=>typeof a=="string"?n+a:typeof a=="object"?Object.fromEntries(Object.entries(a).map(([o,l])=>[n+o,l])):a);return[r,s]}):e,sY=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=new Map,i=new Map;const s=(a,o)=>{r.set(a,o),n++,n>e&&(n=0,i=r,r=new Map)};return{get(a){let o=r.get(a);if(o!==void 0)return o;if((o=i.get(a))!==void 0)return s(a,o),o},set(a,o){r.has(a)?r.set(a,o):s(a,o)}}},LR="!",aY=e=>{const{separator:n,experimentalParseClassName:r}=e,i=n.length===1,s=n[0],a=n.length,o=l=>{const c=[];let u=0,d=0,p;for(let x=0;x<l.length;x++){let v=l[x];if(u===0){if(v===s&&(i||l.slice(x,x+a)===n)){c.push(l.slice(d,x)),d=x+a;continue}if(v==="/"){p=x;continue}}v==="["?u++:v==="]"&&u--}const m=c.length===0?l:l.substring(d),h=m.startsWith(LR),g=h?m.substring(1):m,f=p&&p>d?p-d:void 0;return{modifiers:c,hasImportantModifier:h,baseClassName:g,maybePostfixModifierPosition:f}};return r?l=>r({className:l,parseClassName:o}):o},oY=e=>{if(e.length<=1)return e;const n=[];let r=[];return e.forEach(i=>{i[0]==="["?(n.push(...r.sort(),i),r=[]):r.push(i)}),n.push(...r.sort()),n},lY=e=>({cache:sY(e.cacheSize),parseClassName:aY(e),...eY(e)}),cY=/\s+/,uY=(e,n)=>{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:s}=n,a=[],o=e.trim().split(cY);let l="";for(let c=o.length-1;c>=0;c-=1){const u=o[c],{modifiers:d,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:h}=r(u);let g=!!h,f=i(g?m.substring(0,h):m);if(!f){if(!g){l=u+(l.length>0?" "+l:l);continue}if(f=i(m),!f){l=u+(l.length>0?" "+l:l);continue}g=!1}const x=oY(d).join(":"),v=p?x+LR:x,b=v+f;if(a.includes(b))continue;a.push(b);const y=s(f,g);for(let N=0;N<y.length;++N){const j=y[N];a.push(v+j)}l=u+(l.length>0?" "+l:l)}return l};function dY(){let e=0,n,r,i="";for(;e<arguments.length;)(n=arguments[e++])&&(r=FR(n))&&(i&&(i+=" "),i+=r);return i}const FR=e=>{if(typeof e=="string")return e;let n,r="";for(let i=0;i<e.length;i++)e[i]&&(n=FR(e[i]))&&(r&&(r+=" "),r+=n);return r};function pY(e,...n){let r,i,s,a=o;function o(c){const u=n.reduce((d,p)=>p(d),e());return r=lY(u),i=r.cache.get,s=r.cache.set,a=l,l(c)}function l(c){const u=i(c);if(u)return u;const d=uY(c,r);return s(c,d),d}return function(){return a(dY.apply(null,arguments))}}const dt=e=>{const n=r=>r[e]||[];return n.isThemeGetter=!0,n},_R=/^\[(?:([a-z-]+):)?(.+)\]$/i,mY=/^\d+\/\d+$/,hY=new Set(["px","full","screen"]),fY=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,gY=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xY=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,vY=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,bY=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Es=e=>xu(e)||hY.has(e)||mY.test(e),Ta=e=>Pd(e,"length",CY),xu=e=>!!e&&!Number.isNaN(Number(e)),$0=e=>Pd(e,"number",xu),ap=e=>!!e&&Number.isInteger(Number(e)),yY=e=>e.endsWith("%")&&xu(e.slice(0,-1)),Ce=e=>_R.test(e),Ia=e=>fY.test(e),jY=new Set(["length","size","percentage"]),wY=e=>Pd(e,jY,OR),NY=e=>Pd(e,"position",OR),kY=new Set(["image","url"]),qY=e=>Pd(e,kY,EY),SY=e=>Pd(e,"",PY),op=()=>!0,Pd=(e,n,r)=>{const i=_R.exec(e);return i?i[1]?typeof n=="string"?i[1]===n:n.has(i[1]):r(i[2]):!1},CY=e=>gY.test(e)&&!xY.test(e),OR=()=>!1,PY=e=>vY.test(e),EY=e=>bY.test(e),TY=()=>{const e=dt("colors"),n=dt("spacing"),r=dt("blur"),i=dt("brightness"),s=dt("borderColor"),a=dt("borderRadius"),o=dt("borderSpacing"),l=dt("borderWidth"),c=dt("contrast"),u=dt("grayscale"),d=dt("hueRotate"),p=dt("invert"),m=dt("gap"),h=dt("gradientColorStops"),g=dt("gradientColorStopPositions"),f=dt("inset"),x=dt("margin"),v=dt("opacity"),b=dt("padding"),y=dt("saturate"),N=dt("scale"),j=dt("sepia"),w=dt("skew"),q=dt("space"),P=dt("translate"),T=()=>["auto","contain","none"],E=()=>["auto","hidden","clip","visible","scroll"],A=()=>["auto",Ce,n],_=()=>[Ce,n],D=()=>["",Es,Ta],R=()=>["auto",xu,Ce],M=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],U=()=>["solid","dashed","dotted","double","none"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],O=()=>["start","end","center","between","around","evenly","stretch"],$=()=>["","0",Ce],I=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Y=()=>[xu,Ce];return{cacheSize:500,separator:":",theme:{colors:[op],spacing:[Es,Ta],blur:["none","",Ia,Ce],brightness:Y(),borderColor:[e],borderRadius:["none","","full",Ia,Ce],borderSpacing:_(),borderWidth:D(),contrast:Y(),grayscale:$(),hueRotate:Y(),invert:$(),gap:_(),gradientColorStops:[e],gradientColorStopPositions:[yY,Ta],inset:A(),margin:A(),opacity:Y(),padding:_(),saturate:Y(),scale:Y(),sepia:$(),skew:Y(),space:_(),translate:_()},classGroups:{aspect:[{aspect:["auto","square","video",Ce]}],container:["container"],columns:[{columns:[Ia]}],"break-after":[{"break-after":I()}],"break-before":[{"break-before":I()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...M(),Ce]}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[f]}],"inset-x":[{"inset-x":[f]}],"inset-y":[{"inset-y":[f]}],start:[{start:[f]}],end:[{end:[f]}],top:[{top:[f]}
vendor: 9,947 bytes, line 588
588],right:[{right:[f]}],bottom:[{bottom:[f]}],left:[{left:[f]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ap,Ce]}],basis:[{basis:A()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Ce]}],grow:[{grow:$()}],shrink:[{shrink:$()}],order:[{order:["first","last","none",ap,Ce]}],"grid-cols":[{"grid-cols":[op]}],"col-start-end":[{col:["auto",{span:["full",ap,Ce]},Ce]}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":[op]}],"row-start-end":[{row:["auto",{span:[ap,Ce]},Ce]}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Ce]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Ce]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...O()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...O(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...O(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[b]}],px:[{px:[b]}],py:[{py:[b]}],ps:[{ps:[b]}],pe:[{pe:[b]}],pt:[{pt:[b]}],pr:[{pr:[b]}],pb:[{pb:[b]}],pl:[{pl:[b]}],m:[{m:[x]}],mx:[{mx:[x]}],my:[{my:[x]}],ms:[{ms:[x]}],me:[{me:[x]}],mt:[{mt:[x]}],mr:[{mr:[x]}],mb:[{mb:[x]}],ml:[{ml:[x]}],"space-x":[{"space-x":[q]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[q]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Ce,n]}],"min-w":[{"min-w":[Ce,n,"min","max","fit"]}],"max-w":[{"max-w":[Ce,n,"none","full","min","max","fit","prose",{screen:[Ia]},Ia]}],h:[{h:[Ce,n,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Ce,n,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Ce,n,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Ce,n,"auto","min","max","fit"]}],"font-size":[{text:["base",Ia,Ta]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",$0]}],"font-family":[{font:[op]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Ce]}],"line-clamp":[{"line-clamp":["none",xu,$0]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Es,Ce]}],"list-image":[{"list-image":["none",Ce]}],"list-style-type":[{list:["none","disc","decimal",Ce]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[v]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[v]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Es,Ta]}],"underline-offset":[{"underline-offset":["auto",Es,Ce]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:_()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[v]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...M(),NY]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",wY]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},qY]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[h]}],"gradient-via":[{via:[h]}],"gradient-to":[{to:[h]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[v]}],"border-style":[{border:[...U(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[v]}],"divide-style":[{divide:U()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...U()]}],"outline-offset":[{"outline-offset":[Es,Ce]}],"outline-w":[{outline:[Es,Ta]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[v]}],"ring-offset-w":[{"ring-offset":[Es,Ta]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Ia,SY]}],"shadow-color":[{shadow:[op]}],opacity:[{opacity:[v]}],"mix-blend":[{"mix-blend":[...z(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":z()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[i]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Ia,Ce]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[p]}],saturate:[{saturate:[y]}],sepia:[{sepia:[j]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[i]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[v]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[j]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Ce]}],duration:[{duration:Y()}],ease:[{ease:["linear","in","out","in-out",Ce]}],delay:[{delay:Y()}],animate:[{animate:["none","spin","ping","pulse","bounce",Ce]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[N]}],"scale-x":[{"scale-x":[N]}],"scale-y":[{"scale-y":[N]}],rotate:[{rotate:[ap,Ce]}],"translate-x":[{"translate-x":[P]}],"translate-y":[{"translate-y":[P]}],"skew-x":[{"skew-x":[w]}],"skew-y":[{"skew-y":[w]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Ce]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}
vendor: 4,647 bytes, line 588
588],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Es,Ta,$0]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},IY=pY(TY);function Yt(...e){return IY(Re(e))}const AY=xQ,RR=k.forwardRef(({className:e,...n},r)=>t.jsx(cR,{ref:r,className:Yt("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...n}));RR.displayName=cR.displayName;const LY=vQ("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),DR=k.forwardRef(({className:e,variant:n,...r},i)=>t.jsx(uR,{ref:i,className:Yt(LY({variant:n}),e),...r}));DR.displayName=uR.displayName;const FY=k.forwardRef(({className:e,...n},r)=>t.jsx(mR,{ref:r,className:Yt("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",e),...n}));FY.displayName=mR.displayName;const MR=k.forwardRef(({className:e,...n},r)=>t.jsx(hR,{ref:r,className:Yt("absolute right-2 top-2 rounded-md p-1 text-foreground
588/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...n,children:t.jsx(Cd,{className:"h-4 w-4"})}));MR.displayName=hR.displayName;const $R=k.forwardRef(({className:e,...n},r)=>t.jsx(dR,{ref:r,className:Yt("text-sm font-semibold",e),...n}));$R.displayName=dR.displayName;const BR=k.forwardRef(({className:e,...n},r)=>t.jsx(pR,{ref:r,className:Yt("text-sm opacity-90",e),...n}));BR.displayName=pR.displayName;function _Y(){const{toasts:e}=SK();return t.jsxs(AY,{children:[e.map(function({id:n,title:r,description:i,action:s,...a}){return t.jsxs(DR,{...a,children:[t.jsxs("div",{className:"grid gap-1",children:[r&&t.jsx($R,{children:r}),i&&t.jsx(BR,{children:i})]}),s,t.jsx(MR,{})]},n)}),t.jsx(RR,{})]})}var OY=qk[" useId ".trim().toString()]||(()=>{}),RY=0;function B0(e){const[n,r]=k.useState(OY());return aa(()=>{e||r(i=>i??String(RY++))},[e]),e||(n?`radix-${n}`:"")}const DY=["top","right","bottom","left"],To=Math.min,Cr=Math.max,Yx=Math.round,Hf=Math.floor,fs=e=>({x:e,y:e}
vendor: 9,399 bytes, line 588
588),MY={left:"right",right:"left",bottom:"top",top:"bottom"},$Y={start:"end",end:"start"};function r2(e,n,r){return Cr(e,To(n,r))}function ca(e,n){return typeof e=="function"?e(n):e}function ua(e){return e.split("-")[0]}function Ed(e){return e.split("-")[1]}function Rq(e){return e==="x"?"y":"x"}function Dq(e){return e==="y"?"height":"width"}const BY=new Set(["top","bottom"]);function us(e){return BY.has(ua(e))?"y":"x"}function Mq(e){return Rq(us(e))}function zY(e,n,r){r===void 0&&(r=!1);const i=Ed(e),s=Mq(e),a=Dq(s);let o=s==="x"?i===(r?"end":"start")?"right":"left":i==="start"?"bottom":"top";return n.reference[a]>n.floating[a]&&(o=Jx(o)),[o,Jx(o)]}function UY(e){const n=Jx(e);return[i2(e),n,i2(n)]}function i2(e){return e.replace(/start|end/g,n=>$Y[n])}const oT=["left","right"],lT=["right","left"],VY=["top","bottom"],WY=["bottom","top"];function HY(e,n,r){switch(e){case"top":case"bottom":return r?n?lT:oT:n?oT:lT;case"left":case"right":return n?VY:WY;default:return[]}}function GY(e,n,r,i){const s=Ed(e);let a=HY(ua(e),r==="start",i);return s&&(a=a.map(o=>o+"-"+s),n&&(a=a.concat(a.map(i2)))),a}function Jx(e){return e.replace(/left|right|bottom|top/g,n=>MY[n])}function KY(e){return{top:0,right:0,bottom:0,left:0,...e}}function zR(e){return typeof e!="number"?KY(e):{top:e,right:e,bottom:e,left:e}}function Xx(e){const{x:n,y:r,width:i,height:s}=e;return{width:i,height:s,top:r,left:n,right:n+i,bottom:r+s,x:n,y:r}}function cT(e,n,r){let{reference:i,floating:s}=e;const a=us(n),o=Mq(n),l=Dq(o),c=ua(n),u=a==="y",d=i.x+i.width/2-s.width/2,p=i.y+i.height/2-s.height/2,m=i[l]/2-s[l]/2;let h;switch(c){case"top":h={x:d,y:i.y-s.height};break;case"bottom":h={x:d,y:i.y+i.height};break;case"right":h={x:i.x+i.width,y:p};break;case"left":h={x:i.x-s.width,y:p};break;default:h={x:i.x,y:i.y}}switch(Ed(n)){case"start":h[o]-=m*(r&&u?-1:1);break;case"end":h[o]+=m*(r&&u?-1:1);break}return h}const QY=async(e,n,r)=>{const{placement:i="bottom",strategy:s="absolute",middleware:a=[],platform:o}=r,l=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(n));let u=await o.getElementRects({reference:e,floating:n,strategy:s}),{x:d,y:p}=cT(u,i,c),m=i,h={},g=0;for(let f=0;f<l.length;f++){const{name:x,fn:v}=l[f],{x:b,y,data:N,reset:j}=await v({x:d,y:p,initialPlacement:i,placement:m,strategy:s,middlewareData:h,rects:u,platform:o,elements:{reference:e,floating:n}});d=b??d,p=y??p,h={...h,[x]:{...h[x],...N}},j&&g<=50&&(g++,typeof j=="object"&&(j.placement&&(m=j.placement),j.rects&&(u=j.rects===!0?await o.getElementRects({reference:e,floating:n,strategy:s}):j.rects),{x:d,y:p}=cT(u,m,c)),f=-1)}return{x:d,y:p,placement:m,strategy:s,middlewareData:h}};async function Dm(e,n){var r;n===void 0&&(n={});const{x:i,y:s,platform:a,rects:o,elements:l,strategy:c}=e,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:p="floating",altBoundary:m=!1,padding:h=0}=ca(n,e),g=zR(h),x=l[m?p==="floating"?"reference":"floating":p],v=Xx(await a.getClippingRect({element:(r=await(a.isElement==null?void 0:a.isElement(x)))==null||r?x:x.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:u,rootBoundary:d,strategy:c})),b=p==="floating"?{x:i,y:s,width:o.floating.width,height:o.floating.height}:o.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),N=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},j=Xx(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:b,offsetParent:y,strategy:c}):b);return{top:(v.top-j.top+g.top)/N.y,bottom:(j.bottom-v.bottom+g.bottom)/N.y,left:(v.left-j.left+g.left)/N.x,right:(j.right-v.right+g.right)/N.x}}const YY=e=>({name:"arrow",options:e,async fn(n){const{x:r,y:i,placement:s,rects:a,platform:o,elements:l,middlewareData:c}=n,{element:u,padding:d=0}=ca(e,n)||{};if(u==null)return{};const p=zR(d),m={x:r,y:i},h=Mq(s),g=Dq(h),f=await o.getDimensions(u),x=h==="y",v=x?"top":"left",b=x?"bottom":"right",y=x?"clientHeight":"clientWidth",N=a.reference[g]+a.reference[h]-m[h]-a.floating[g],j=m[h]-a.reference[h],w=await(o.getOffsetParent==null?void 0:o.getOffsetParent(u));let q=w?w[y]:0;(!q||!await(o.isElement==null?void 0:o.isElement(w)))&&(q=l.floating[y]||a.floating[g]);const P=N/2-j/2,T=q/2-f[g]/2-1,E=To(p[v],T),A=To(p[b],T),_=E,D=q-f[g]-A,R=q/2-f[g]/2+P,M=r2(_,R,D),U=!c.arrow&&Ed(s)!=null&&R!==M&&a.reference[g]/2-(R<_?E:A)-f[g]/2<0,z=U?R<_?R-_:R-D:0;return{[h]:m[h]+z,data:{[h]:M,centerOffset:R-M-z,...U&&{alignmentOffset:z}},reset:U}}}),JY=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(n){var r,i;const{placement:s,middlewareData:a,rects:o,initialPlacement:l,platform:c,elements:u}=n,{mainAxis:d=!0,crossAxis:p=!0,fallbackPlacements:m,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:f=!0,...x}=ca(e,n);if((r=a.arrow)!=null&&r.alignmentOffset)return{};const v=ua(s),b=us(l),y=ua(l)===l,N=await(c.isRTL==null?void 0:c.isRTL(u.floating)),j=m||(y||!f?[Jx(l)]:UY(l)),w=g!=="none";!m&&w&&j.push(...GY(l,f,g,N));const q=[l,...j],P=await Dm(n,x),T=[];let E=((i=a.flip)==null?void 0:i.overflows)||[];if(d&&T.push(P[v]),p){const R=zY(s,o,N);T.push(P[R[0]],P[R[1]])}if(E=[...E,{placement:s,overflows:T}],!T.every(R=>R<=0)){var A,_;const R=(((A=a.flip)==null?void 0:A.index)||0)+1,M=q[R];if(M&&(!(p==="alignment"?b!==us(M):!1)||E.every(O=>O.overflows[0]>0&&us(O.placement)===b)))return{data:{index:R,overflows:E},reset:{placement:M}};let U=(_=E.filter(z=>z.overflows[0]<=0).sort((z,O)=>z.overflows[1]-O.overflows[1])[0])==null?void 0:_.placement;if(!U)switch(h){case"bestFit":{var D;const z=(D=E.filter(O=>{if(w){const $=us(O.placement);return $===b||$==="y"}return!0}).map(O=>[O.placement,O.overflows.filter($=>$>0).reduce(($,I)=>$+I,0)]).sort((O,$)=>O[1]-$[1])[0])==null?void 0:D[0];z&&(U=z);break}case"initialPlacement":U=l;break}if(s!==U)return{reset:{placement:U}}}return{}}}};function uT(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function dT(e){return DY.some(n=>e[n]>=0)}const XY=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:r}=n,{strategy:i="referenceHidden",...s}=ca(e,n);switch(i){case"referenceHidden":{const a=await Dm(n,{...s,elementContext:"reference"}),o=uT(a,r.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:dT(o)}}}case"escaped":{const a=await Dm(n,{...s,altBoundary:!0}),o=uT(a,r.floating);return{data:{escapedOffsets:o,escaped:dT(o)}}}default:return{}}}}},UR=new Set(["left","top"]);async function ZY(e,n){const{placement:r,platform:i,elements:s}=e,a=await(i.isRTL==null?void 0:i.isRTL(s.floating)),o=ua(r),l=Ed(r),c=us(r)==="y",u=UR.has(o)?-1:1,d=a&&c?-1:1,p=ca(n,e);let{mainAxis:m,crossAxis:h,alignmentAxis:g}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return l&&typeof g=="number"&&(h=l==="end"?g*-1:g),c?{x:h*d,y:m*u}:{x:m*u,y:h*d}}const eJ=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var r,i;const{x:s,y:a,placement:o,middlewareData:l}=n,c=await ZY(n,e);return o===((r=l.offset)==null?void 0:r.placement)&&(i=l.arrow)!=null&&i.alignmentOffset?{}:{x:s+c.x,y:a+c.y,data:{...c,placement:o}}}}},tJ=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:r,y:i,placement:s}=n,{mainAxis:a=!0,crossAxis:o=!1,limiter:l={fn:x=>{let{x:v,y:b}=x;return{x:v,y:b}}},...c}=ca(e,n),u={x:r,y:i},d=await Dm(n,c),p=us(ua(s)),m=Rq(p);let h=u[m],g=u[p];if(a){const x=m==="y"?"top":"left",v=m==="y"?"bottom":"right",b=h+d[x],y=h-d[v];h=r2(b,h,y)}if(o){const x=p==="y"?"top":"left",v=p==="y"?"bottom":"right",b=g+d[x],y=g-d[v];g=r2(b,g,y)}const f=l.fn({...n,[m]:h,[p]:g});return{...f,data:{x:f.x-r,y:f.y-i,enabled:{[m]:a,[p]:o}}}}}},nJ=function(e){return e===void 0&&(e={}),{options:e,fn(n){const{x:r,y:i,placement:s,rects:a,middlewareData:o}=n,{offset:l=0,mainAxis:c=!0,crossAxis:u=!0}=ca(e,n),d={x:r,y:i},p=us(s),m=Rq(p);let h=d[m],g=d[p];const f=ca(l,n),x=typeof f=="number"?{mainAxis:f,crossAxis:0}:{mainAxis:0,crossAxis:0,...f};if(c){const y=m==="y"?"height":"width",N=a.reference[m]-a.floating[y]+x.mainAxis,j=a.reference[m]+a.reference[y]-x.mainAxis;h<N?h=N:h>j&&(h=j)}if(u){var v,b;const y=m==="y"?"width":"height",N=UR.has(ua(s)),j=a.reference[p]-a.floating[y]+(N&&((v=o.offset)==null?void 0:v[p])||0)+(N?0:x.crossAxis),w=a.reference[p]+a.reference[y]+(N?0:((b=o.offset)==null?void 0:b[p])||0)-(N?x.crossAxis:0);g<j?g=j:g>w&&(g=w)}return{[m]:h,[p]:g}}}},rJ=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){var r,i;const{placement:s,rects:a,platform:o,elements:l}=n,{apply:c=()=>{},...u}=ca(e,n),d=await Dm(n,u),p=ua(s),m=Ed(s),h=us(s)==="y",{width:g,height:f}=a.floating;let x,v;p==="top"||p==="bottom"?(x=p,v=m===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(v=p,x=m==="end"?"top":"bottom");const b=f-d.top-d.bottom,y=g-d.left-d.right,N=To(f-d[x],b),j=To(g-d[v],y),w=!n.middlewareData.shift;let q=N,P=j;if((r=n.middlewareData.shift)!=null&&r.enabled.x&&(P=y),(i=n.middlewareData.shift)!=null&&i.enabled.y&&(q=b),w&&!m){const E=Cr(d.left,0),A=Cr(d.right,0),_=Cr(d.top,0),D=Cr(d.bottom,0);h?P=g-2*(E!==0||A!==0?E+A:Cr(d.left,d.right)):q=f-2*(_!==0||D!==0?_+D:Cr(
vendor: 5,066 bytes, line 588
588d.top,d.bottom))}await c({...n,availableWidth:P,availableHeight:q});const T=await o.getDimensions(l.floating);return g!==T.width||f!==T.height?{reset:{rects:!0}}:{}}}};function Wb(){return typeof window<"u"}function Td(e){return VR(e)?(e.nodeName||"").toLowerCase():"#document"}function Ar(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function ks(e){var n;return(n=(VR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function VR(e){return Wb()?e instanceof Node||e instanceof Ar(e).Node:!1}function Wi(e){return Wb()?e instanceof Element||e instanceof Ar(e).Element:!1}function ws(e){return Wb()?e instanceof HTMLElement||e instanceof Ar(e).HTMLElement:!1}function pT(e){return!Wb()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ar(e).ShadowRoot}const iJ=new Set(["inline","contents"]);function Zh(e){const{overflow:n,overflowX:r,overflowY:i,display:s}=Hi(e);return/auto|scroll|overlay|hidden|clip/.test(n+i+r)&&!iJ.has(s)}const sJ=new Set(["table","td","th"]);function aJ(e){return sJ.has(Td(e))}const oJ=[":popover-open",":modal"];function Hb(e){return oJ.some(n=>{try{return e.matches(n)}catch{return!1}})}const lJ=["transform","translate","scale","rotate","perspective"],cJ=["transform","translate","scale","rotate","perspective","filter"],uJ=["paint","layout","strict","content"];function $q(e){const n=Bq(),r=Wi(e)?Hi(e):e;return lJ.some(i=>r[i]?r[i]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!n&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!n&&(r.filter?r.filter!=="none":!1)||cJ.some(i=>(r.willChange||"").includes(i))||uJ.some(i=>(r.contain||"").includes(i))}function dJ(e){let n=Io(e);for(;ws(n)&&!Vu(n);){if($q(n))return n;if(Hb(n))return null;n=Io(n)}return null}function Bq(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const pJ=new Set(["html","body","#document"]);function Vu(e){return pJ.has(Td(e))}function Hi(e){return Ar(e).getComputedStyle(e)}function Gb(e){return Wi(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Io(e){if(Td(e)==="html")return e;const n=e.assignedSlot||e.parentNode||pT(e)&&e.host||ks(e);return pT(n)?n.host:n}function WR(e){const n=Io(e);return Vu(n)?e.ownerDocument?e.ownerDocument.body:e.body:ws(n)&&Zh(n)?n:WR(n)}function Mm(e,n,r){var i;n===void 0&&(n=[]),r===void 0&&(r=!0);const s=WR(e),a=s===((i=e.ownerDocument)==null?void 0:i.body),o=Ar(s);if(a){const l=s2(o);return n.concat(o,o.visualViewport||[],Zh(s)?s:[],l&&r?Mm(l):[])}return n.concat(s,Mm(s,[],r))}function s2(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function HR(e){const n=Hi(e);let r=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const s=ws(e),a=s?e.offsetWidth:r,o=s?e.offsetHeight:i,l=Yx(r)!==a||Yx(i)!==o;return l&&(r=a,i=o),{width:r,height:i,$:l}}function zq(e){return Wi(e)?e:e.contextElement}function vu(e){const n=zq(e);if(!ws(n))return fs(1);const r=n.getBoundingClientRect(),{width:i,height:s,$:a}=HR(n);let o=(a?Yx(r.width):r.width)/i,l=(a?Yx(r.height):r.height)/s;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const mJ=fs(0);function GR(e){const n=Ar(e);return!Bq()||!n.visualViewport?mJ:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function hJ(e,n,r){return n===void 0&&(n=!1),!r||n&&r!==Ar(e)?!1:n}function ec(e,n,r,i){n===void 0&&(n=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),a=zq(e);let o=fs(1);n&&(i?Wi(i)&&(o=vu(i)):o=vu(e));const l=hJ(a,r,i)?GR(a):fs(0);let c=(s.left+l.x)/o.x,u=(s.top+l.y)/o.y,d=s.width/o.x,p=s.height/o.y;if(a){const m=Ar(a),h=i&&Wi(i)?Ar(i):i;let g=m,f=s2(g);for(;f&&i&&h!==g;){const x=vu(f),v=f.getBoundingClientRect(),b=Hi(f),y=v.left+(f.clientLeft+parseFloat(b.paddingLeft))*x.x,N=v.top+(f.clientTop+parseFloat(b.paddingTop))*x.y;c*=x.x,u*=x.y,d*=x.x,p*=x.y,c+=y,u+=N,g=Ar(f),f=s2(g)}}return Xx({width:d,height:p,x:c,y:u})}function Uq(e,n){const r=Gb(e).scrollLeft;return n?n.left+r:ec(ks(e)).left+r}function KR(e,n,r){r===void 0&&(r=!1);const i=e.getBoundingClientRect(),s=i.left+n.scrollLeft-(r?0:Uq(e,i)),a=i.top+n.scrollTop;return{x:s,y:a}}function fJ(e){let{elements:n,rect:r,offsetParent:i,strategy:s}=e;const a=s==="fixed",o=ks(i),l=n?Hb(n.floating):!1;if(i===o||l&&a)return r;let c={scrollLeft:0,scrollTop:0},u=fs(1);const d=fs(0),p=ws(i);if((p||!p&&!a)&&((Td(i)!=="body"||Zh(o))&&(c=Gb(i)),ws(i))){const h=ec(i);u=vu(i),d.x=h.x+i.clientLeft,d.y=h.y+i.clientTop}const m=o&&!p&&!a?KR(o,c,!0):fs(0);return{width:r.width*u.x,height:r.height*u.y,x:r.x*u.x-c.scrollLeft*u.x+d.x+m.x,y:r.y*u.y-c.scrollTop*u.y+d.y+m.y}}function gJ(e){return Array.from(e.getClientRects())}function xJ(e){const n=ks(e),r=Gb(e),i=e.ownerDocument.body,s=Cr(n.scrollWidth,n.clientWidth,i.scrollWidth,i.clientWidth),a=Cr(n.scrollHeight,n.clientHeight,i.scrollHeight,i.clientHeight);let o=-r.scrollLeft+Uq(e);const l=-r.scrollTop;return Hi(i).direction==="rtl"&&(o+=Cr(n.clientWidth,i.clientWidth)-s),{width:s,height:a,x:o,y:l}}
vendor: 11,214 bytes, line 588
588function vJ(e,n){const r=Ar(e),i=ks(e),s=r.visualViewport;let a=i.clientWidth,o=i.clientHeight,l=0,c=0;if(s){a=s.width,o=s.height;const u=Bq();(!u||u&&n==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:a,height:o,x:l,y:c}}const bJ=new Set(["absolute","fixed"]);function yJ(e,n){const r=ec(e,!0,n==="fixed"),i=r.top+e.clientTop,s=r.left+e.clientLeft,a=ws(e)?vu(e):fs(1),o=e.clientWidth*a.x,l=e.clientHeight*a.y,c=s*a.x,u=i*a.y;return{width:o,height:l,x:c,y:u}}function mT(e,n,r){let i;if(n==="viewport")i=vJ(e,r);else if(n==="document")i=xJ(ks(e));else if(Wi(n))i=yJ(n,r);else{const s=GR(e);i={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return Xx(i)}function QR(e,n){const r=Io(e);return r===n||!Wi(r)||Vu(r)?!1:Hi(r).position==="fixed"||QR(r,n)}function jJ(e,n){const r=n.get(e);if(r)return r;let i=Mm(e,[],!1).filter(l=>Wi(l)&&Td(l)!=="body"),s=null;const a=Hi(e).position==="fixed";let o=a?Io(e):e;for(;Wi(o)&&!Vu(o);){const l=Hi(o),c=$q(o);!c&&l.position==="fixed"&&(s=null),(a?!c&&!s:!c&&l.position==="static"&&!!s&&bJ.has(s.position)||Zh(o)&&!c&&QR(e,o))?i=i.filter(d=>d!==o):s=l,o=Io(o)}return n.set(e,i),i}function wJ(e){let{element:n,boundary:r,rootBoundary:i,strategy:s}=e;const o=[...r==="clippingAncestors"?Hb(n)?[]:jJ(n,this._c):[].concat(r),i],l=o[0],c=o.reduce((u,d)=>{const p=mT(n,d,s);return u.top=Cr(p.top,u.top),u.right=To(p.right,u.right),u.bottom=To(p.bottom,u.bottom),u.left=Cr(p.left,u.left),u},mT(n,l,s));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function NJ(e){const{width:n,height:r}=HR(e);return{width:n,height:r}}function kJ(e,n,r){const i=ws(n),s=ks(n),a=r==="fixed",o=ec(e,!0,a,n);let l={scrollLeft:0,scrollTop:0};const c=fs(0);function u(){c.x=Uq(s)}if(i||!i&&!a)if((Td(n)!=="body"||Zh(s))&&(l=Gb(n)),i){const h=ec(n,!0,a,n);c.x=h.x+n.clientLeft,c.y=h.y+n.clientTop}else s&&u();a&&!i&&s&&u();const d=s&&!i&&!a?KR(s,l):fs(0),p=o.left+l.scrollLeft-c.x-d.x,m=o.top+l.scrollTop-c.y-d.y;return{x:p,y:m,width:o.width,height:o.height}}function z0(e){return Hi(e).position==="static"}function hT(e,n){if(!ws(e)||Hi(e).position==="fixed")return null;if(n)return n(e);let r=e.offsetParent;return ks(e)===r&&(r=r.ownerDocument.body),r}function YR(e,n){const r=Ar(e);if(Hb(e))return r;if(!ws(e)){let s=Io(e);for(;s&&!Vu(s);){if(Wi(s)&&!z0(s))return s;s=Io(s)}return r}let i=hT(e,n);for(;i&&aJ(i)&&z0(i);)i=hT(i,n);return i&&Vu(i)&&z0(i)&&!$q(i)?r:i||dJ(e)||r}const qJ=async function(e){const n=this.getOffsetParent||YR,r=this.getDimensions,i=await r(e.floating);return{reference:kJ(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function SJ(e){return Hi(e).direction==="rtl"}const CJ={convertOffsetParentRelativeRectToViewportRelativeRect:fJ,getDocumentElement:ks,getClippingRect:wJ,getOffsetParent:YR,getElementRects:qJ,getClientRects:gJ,getDimensions:NJ,getScale:vu,isElement:Wi,isRTL:SJ};function JR(e,n){return e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height}function PJ(e,n){let r=null,i;const s=ks(e);function a(){var l;clearTimeout(i),(l=r)==null||l.disconnect(),r=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),a();const u=e.getBoundingClientRect(),{left:d,top:p,width:m,height:h}=u;if(l||n(),!m||!h)return;const g=Hf(p),f=Hf(s.clientWidth-(d+m)),x=Hf(s.clientHeight-(p+h)),v=Hf(d),y={rootMargin:-g+"px "+-f+"px "+-x+"px "+-v+"px",threshold:Cr(0,To(1,c))||1};let N=!0;function j(w){const q=w[0].intersectionRatio;if(q!==c){if(!N)return o();q?o(!1,q):i=setTimeout(()=>{o(!1,1e-7)},1e3)}q===1&&!JR(u,e.getBoundingClientRect())&&o(),N=!1}try{r=new IntersectionObserver(j,{...y,root:s.ownerDocument})}catch{r=new IntersectionObserver(j,y)}r.observe(e)}return o(!0),a}function EJ(e,n,r,i){i===void 0&&(i={});const{ancestorScroll:s=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=i,u=zq(e),d=s||a?[...u?Mm(u):[],...Mm(n)]:[];d.forEach(v=>{s&&v.addEventListener("scroll",r,{passive:!0}),a&&v.addEventListener("resize",r)});const p=u&&l?PJ(u,r):null;let m=-1,h=null;o&&(h=new ResizeObserver(v=>{let[b]=v;b&&b.target===u&&h&&(h.unobserve(n),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var y;(y=h)==null||y.observe(n)})),r()}),u&&!c&&h.observe(u),h.observe(n));let g,f=c?ec(e):null;c&&x();function x(){const v=ec(e);f&&!JR(f,v)&&r(),f=v,g=requestAnimationFrame(x)}return r(),()=>{var v;d.forEach(b=>{s&&b.removeEventListener("scroll",r),a&&b.removeEventListener("resize",r)}),p==null||p(),(v=h)==null||v.disconnect(),h=null,c&&cancelAnimationFrame(g)}}const TJ=eJ,IJ=tJ,AJ=JY,LJ=rJ,FJ=XY,fT=YY,_J=nJ,OJ=(e,n,r)=>{const i=new Map,s={platform:CJ,...r},a={...s.platform,_c:i};return QY(e,n,{...s,platform:a})};var RJ=typeof document<"u",DJ=function(){},lx=RJ?k.useLayoutEffect:DJ;function Zx(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let r,i,s;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==n.length)return!1;for(i=r;i--!==0;)if(!Zx(e[i],n[i]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!{}.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){const a=s[i];if(!(a==="_owner"&&e.$$typeof)&&!Zx(e[a],n[a]))return!1}return!0}return e!==e&&n!==n}function XR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function gT(e,n){const r=XR(e);return Math.round(n*r)/r}function U0(e){const n=k.useRef(e);return lx(()=>{n.current=e}),n}function MJ(e){e===void 0&&(e={});const{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:s,elements:{reference:a,floating:o}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,p]=k.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[m,h]=k.useState(i);Zx(m,i)||h(i);const[g,f]=k.useState(null),[x,v]=k.useState(null),b=k.useCallback(O=>{O!==w.current&&(w.current=O,f(O))},[]),y=k.useCallback(O=>{O!==q.current&&(q.current=O,v(O))},[]),N=a||g,j=o||x,w=k.useRef(null),q=k.useRef(null),P=k.useRef(d),T=c!=null,E=U0(c),A=U0(s),_=U0(u),D=k.useCallback(()=>{if(!w.current||!q.current)return;const O={placement:n,strategy:r,middleware:m};A.current&&(O.platform=A.current),OJ(w.current,q.current,O).then($=>{const I={...$,isPositioned:_.current!==!1};R.current&&!Zx(P.current,I)&&(P.current=I,Kh.flushSync(()=>{p(I)}))})},[m,n,r,A,_]);lx(()=>{u===!1&&P.current.isPositioned&&(P.current.isPositioned=!1,p(O=>({...O,isPositioned:!1})))},[u]);const R=k.useRef(!1);lx(()=>(R.current=!0,()=>{R.current=!1}),[]),lx(()=>{if(N&&(w.current=N),j&&(q.current=j),N&&j){if(E.current)return E.current(N,j,D);D()}},[N,j,D,E,T]);const M=k.useMemo(()=>({reference:w,floating:q,setReference:b,setFloating:y}),[b,y]),U=k.useMemo(()=>({reference:N,floating:j}),[N,j]),z=k.useMemo(()=>{const O={position:r,left:0,top:0};if(!U.floating)return O;const $=gT(U.floating,d.x),I=gT(U.floating,d.y);return l?{...O,transform:"translate("+$+"px, "+I+"px)",...XR(U.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:$,top:I}},[r,l,U.floating,d.x,d.y]);return k.useMemo(()=>({...d,update:D,refs:M,elements:U,floatingStyles:z}),[d,D,M,U,z])}const $J=e=>{function n(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:i,padding:s}=typeof e=="function"?e(r):e;return i&&n(i)?i.current!=null?fT({element:i.current,padding:s}).fn(r):{}:i?fT({element:i,padding:s}).fn(r):{}}}},BJ=(e,n)=>({...TJ(e),options:[e,n]}),zJ=(e,n)=>({...IJ(e),options:[e,n]}),UJ=(e,n)=>({..._J(e),options:[e,n]}),VJ=(e,n)=>({...AJ(e),options:[e,n]}),WJ=(e,n)=>({...LJ(e),options:[e,n]}),HJ=(e,n)=>({...FJ(e),options:[e,n]}),GJ=(e,n)=>({...$J(e),options:[e,n]});var KJ="Arrow",ZR=k.forwardRef((e,n)=>{const{children:r,width:i=10,height:s=5,...a}=e;return t.jsx(vt.svg,{...a,ref:n,width:i,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:t.jsx("polygon",{points:"0,0 30,0 15,10"})})});ZR.displayName=KJ;var QJ=ZR;function eD(e){const[n,r]=k.useState(void 0);return aa(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const a=s[0];let o,l;if("borderBoxSize"in a){const c=a.borderBoxSize,u=Array.isArray(c)?c[0]:c;o=u.inlineSize,l=u.blockSize}else o=e.offsetWidth,l=e.offsetHeight;r({width:o,height:l})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else r(void 0)},[e]),n}var tD="Popper",[nD,rD]=Nd(tD),[JBe,iD]=nD(tD),sD="PopperAnchor",aD=k.forwardRef((e,n)=>{const{__scopePopper:r,virtualRef:i,...s}=e,a=iD(sD,r),o=k.useRef(null),l=$t(n,o);return k.useEffect(()=>{a.onAnchorChange((i==null?void 0:i.current)||o.current)}),i?null:t.jsx(vt.div,{...s,ref:l})});aD.displayName=sD;var Vq="PopperContent",[YJ,JJ]=nD(Vq),oD=k.forwardRef((e,n)=>{var Ne,Me,te,me,fe,Q;const{__scopePopper:r,side:i="bottom",sideOffset:s=0,align:a="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:p="partial",hideWhenDetached:m=!1,updatePositionStrategy:h="optimized",onPlaced:g,...f}=e,x=iD(Vq,r),[v,b]=k.useState(null),y=$t(n,$e=>b($e)),[N,j]=k.useState(null),w=eD(N),q=(w==null?void 0:w.width)??0,P=(w==null?void 0:w.height)??0,T=i+(a!=="center"?"-"+a:""),E=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},A=Array.isArray(u)?u:[u],_=A.length>0,D={padding:E,boundary:A.filter(ZJ),altBoundary:_},{refs:R,floatingStyles:M,placement:U,isPositioned:z,middlewareData:O}=MJ({strategy:"fixed",placement:T,whileElementsMounted:(...$e)=>EJ(...$e,{animationFrame:h==="always"}),elements:{reference:x.anchor},middleware:[BJ({mainAxis:s+P,alignmentAxis:o}),c&&zJ({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?UJ():void 0,...D}),c&&VJ({...D}),WJ({...D,apply:({elements:$e,rects:Ee,availableWidth:at,availableHeight:tt})=>{const{width:_t,height:yn}=Ee.reference,jn=$e.floating.style;jn.setProperty("--radix-popper-available-width",`${at}px`),jn.setProperty("--radix-popper-available-height",`${tt}px`),jn.setProperty("--radix-popper-anchor-width",`${_t}px`),jn.setProperty("--radix-popper-anchor-height",`${yn}px`)}}),N&&GJ({element:N,padding:l}),eX({arrowWidth:q,arrowHeight:P}),m&&HJ({strategy:"referenceHidden",...D})]}),[$,I]=uD(U),Y=js(g);aa(()=>{z&&(Y==null||Y())},[z,Y]);const W=(Ne=O.arrow)==null?void 0:Ne.x,F=(Me=O.arrow)==null?void 0:Me.y,ae=((te=O.arrow)==null?void 0:te.centerOffset)!==0,[ge,be]=k.useState();return aa(()=>{v&&be(window.getComputedStyle(v).zIndex)},[v]),t.jsx("div",{ref:R.setFloating,"data-radix-popper-content-wrapper":"",style:{...M,transform:z?M.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ge,"--radix-popper-transform-origin":[(me=O.transformOrigin)==null?void 0:me.x,(fe=O.transformOrigin)==null?void 0:fe.y].join(" "),...((Q=O.hide)==null?void 0:Q.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:t.jsx(YJ,{scope:r,placedSide:$,onArrowChange:j,arrowX:W,arrowY:F,shouldHideArrow:ae,children:t.jsx(vt.div,{"data-side":$,"data-align":I,...f,ref:y,style:{...f.style,animation:z?void 0:"none"}})})})});oD.displayName=Vq;var lD="PopperArrow",XJ={top:"bottom",right:"left",bottom:"top",left:"r
588ight"},cD=k.forwardRef(function(n,r){const{__scopePopper:i,...s}=n,a=JJ(lD,i),o=XJ[a.placedSide];return t.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:t.jsx(QJ,{...s,ref:r,style:{...s.style,display:"block"}})})});cD.displayName=lD;function ZJ(e){return e!==null}var eX=e=>({name:"transformOrigin",options:e,fn(n){var x,v,b;const{placement:r,rects:i,middlewareData:s}=n,o=((x=s.arrow)==null?void 0:x.centerOffset)!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[u,d]=uD(r),p={start:"0%",center:"50%",end:"100%"}[d],m=(((v=s.arrow)==null?void 0:v.x)??0)+l/2,h=(((b=s.arrow)==null?void 0:b.y)??0)+c/2;let g="",f="";return u==="bottom"?(g=o?p:`${m}px`,f=`${-c}px`):u==="top"?(g=o?p:`${m}px`,f=`${i.floating.height+c}px`):u==="right"?(g=`${-c}px`,f=o?p:`${h}px`):u==="left"&&(g=`${i.floating.width+c}px`,f=o?p:`${h}px`),{data:{x:g,y:f}}}});function uD(e){const[n,r="center"]=e.split("-");return[n,r]}var tX=aD,nX=oD,rX=cD,[Kb,XBe]=Nd("Tooltip",[rD]),Wq=rD(),dD="TooltipProvider",iX=700,xT="tooltip.open",[sX,pD]=Kb(dD),mD=e=>{const{__scopeTooltip:n,delayDuration:r=iX,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:a}=e,o=k.useRef(!0),l=k.useRef(!1),c=k.useRef(0);return k.useEffect(()=>{const u=c.current;return()=>window.clearTimeout(u)},[]),t.jsx(sX,{scope:n,isOpenDelayedRef:o,delayDuration:r,onOpen:k.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:k.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,i)},[i]),isPointerInTransitRef:l,onPointerInTransitChange:k.useCallback(u=>{l.current=u},[]),disableHoverableContent:s,children:a})};mD.displayName=dD;var hD="Tooltip",[ZBe,Qb]=Kb(hD),a2="TooltipTrigger",aX=k.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=Qb(a2,r),a=pD(a2,r),o=Wq(r),l=k.useRef(null),c=$t(n,l,s.onTriggerChange),u=k.useRef(!1),d=k.useRef(!1),p=k.useCallback(()=>u.current=!1,[]);return k.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),t.jsx(tX,{asChild:!0,...o,children:t.jsx(vt.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:c,onPointerMove:Ke(e.onPointerMove,m=>{m.pointerType!=="touch"&&!d.current&&!a.isPointerInTransitRef.current&&(s.onTriggerEnter(),d.current=!0)}),onPointerLeave:Ke(e.onPointerLeave,()=>{s.onTriggerLeave(),d.current=!1}),onPointerDown:Ke(e.onPointerDown,()=>{s.open&&s.onClose(),u.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:Ke(e.onFocus,()=>{u.current||s.onOpen()}),onBlur:Ke(e.onBlur,s.onClose),onClick:Ke(e.onClick,s.onClose)})})});aX.displayName=a2;var oX="TooltipPortal",[eze,lX]=Kb(oX,{forceMount:void 0}),Wu="TooltipContent",fD=k.forwardRef((e,n)=>{const r=lX(Wu,e.__scopeTooltip),{forceMount:i=r.forceMount,side:s="top",...a}=e,o=Qb(Wu,e.__scopeTooltip);return t.jsx(kd,{present:i||o.open,children:o.disableHoverableContent?t.jsx(gD,{side:s,...a,ref:n}):t.jsx(cX,{side:s,...a,ref:n})})}),cX=k.forwardRef((e,n)=>{const r=Qb(Wu,e.__scopeTooltip),i=pD(Wu,e.__scopeTooltip),s=k.useRef(null),a=$t(n,s),[o,l]=k.useState(null),{trigger:c,onClose:u}=r,d=s.current,{onPointerInTransitChange:p}=i,m=k.useCallback(()=>{l(null),p(!1)},[p]),h=k.useCallback((g,f)=>{const x=g.currentTarget,v={x:g.clientX,y:g.clientY},b=hX(v,x.getBoundingClientRect()),y=fX(v,b),N=gX(f.getBoundingClientRect()),j=vX([...y,...N]);l(j),p(!0)},[p]);return k.useEffect(()=>()=>m(),[m]),k.useEffect(()=>{if(c&&d){const g=x=>h(x,d),f=x=>h(x,c);return c.addEventListener("pointerleave",g),d.addEventListener("pointerleave",f),()=>{c.removeEventListener("pointerleave",g),d.removeEventListener("pointerleave",f)}}},[c,d,h,m]),k.useEffect(()=>{if(o){const g=f=>{const x=f.target,v={x:f.clientX,y:f.clientY},b=(c==null?void 0:c.contains(x))||(d==null?void 0:d.contains(x)),y=!xX(v,o);b?m():y&&(m(),u())};return document.addEventListener("pointermove",g),()=>document.removeEventListener("pointermove",g)}},[c,d,o,u,m]),t.jsx(gD,{...e,ref:a})}),[uX,dX]=Kb(hD,{isInside:!1}
588),pX=TK("TooltipContent"),gD=k.forwardRef((e,n)=>{const{__scopeTooltip:r,children:i,"aria-label":s,onEscapeKeyDown:a,onPointerDownOutside:o,...l}=e,c=Qb(Wu,r),u=Wq(r),{onClose:d}=c;return k.useEffect(()=>(document.addEventListener(xT,d),()=>document.removeEventListener(xT,d)),[d]),k.useEffect(()=>{if(c.trigger){const p=m=>{const h=m.target;h!=null&&h.contains(c.trigger)&&d()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[c.trigger,d]),t.jsx(Rb,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:p=>p.preventDefault(),onDismiss:d,children:t.jsxs(nX,{"data-state":c.stateAttribute,...u,...l,ref:n,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[t.jsx(pX,{children:i}),t.jsx(uX,{scope:r,isInside:!0,children:t.jsx(ZK,{id:c.contentId,role:"tooltip",children:s||i})})]})})});fD.displayName=Wu;var xD="TooltipArrow",mX=k.forwardRef((e,n)=>{const{__scopeTooltip:r,...i}=e,s=Wq(r);return dX(xD,r).isInside?null:t.jsx(rX,{...s,...i,ref:n})});mX.displayName=xD;function hX(e,n){const r=Math.abs(n.top-e.y),i=Math.abs(n.bottom-e.y),s=Math.abs(n.right-e.x),a=Math.abs(n.left-e.x);switch(Math.min(r,i,s,a)){case a:return"left";case s:return"right";case r:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function fX(e,n,r=5){const i=[];switch(n){case"top":i.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":i.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":i.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":i.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return i}function gX(e){const{top:n,right:r,bottom:i,left:s}=e;return[{x:s,y:n},{x:r,y:n},{x:r,y:i},{x:s,y:i}]}function xX(e,n){const{x:r,y:i}=e;let s=!1;for(let a=0,o=n.length-1;a<n.length;o=a++){const l=n[a],c=n[o],u=l.x,d=l.y,p=c.x,m=c.y;d>i!=m>i&&r<(p-u)*(i-d)/(m-d)+u&&(s=!s)}return s}function vX(e){const n=e.slice();return n.sort((r,i)=>r.x<i.x?-1:r.x>i.x?1:r.y<i.y?-1:r.y>i.y?1:0),bX(n)}function bX(e){if(e.length<=1)return e.slice();const n=[];for(let i=0;i<e.length;i++){const s=e[i];for(;n.length>=2;){const a=n[n.length-1],o=n[n.length-2];if((a.x-o.x)*(s.y-o.y)>=(a.y-o.y)*(s.x-o.x))n.pop();else break}n.push(s)}n.pop();const r=[];for(let i=e.length-1;i>=0;i--){const s=e[i];for(;r.length>=2;){const a=r[r.length-1],o=r[r.length-2];if((a.x-o.x)*(s.y-o.y)>=(a.y-o.y)*(s.x-o.x))r.pop();else break}r.push(s)}return r.pop(),n.length===1&&r.length===1&&n[0].x===r[0].x&&n[0].y===r[0].y?n:n.concat(r)}var yX=mD,vD=fD;const jX=yX,wX=k.forwardRef(({className:e,sideOffset:n=4,...r},i)=>t.jsx(vD,{ref:i,sideOffset:n,className:Yt("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r}));wX.displayName=vD.displayName;const Hq=k.createContext({});function Gq(e){const n=k.useRef(null);return n.current===null&&(n.current=e()),n.current}const Yb=k.createContext(null),Kq=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class NX extends k.Component{getSnapshotBeforeUpdate(n){const r=this.props.childRef.current;if(r&&n.isPresent&&!this.props.isPresent){const i=this.props.sizeRef.current;i.height=r.offsetHeight||0,i.width=r.offsetWidth||0,i.top=r.offsetTop,i.left=r.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function kX({children:e,isPresent:n}){const r=k.useId(),i=k.useRef(null),s=k.useRef({width:0,height:0,top:0,left:0}),{nonce:a}=k.useContext(Kq);return k.useInsertionEffect(()=>{const{width:o,height:l,top:c,left:u}=s.current;if(n||!i.current||!o||!l)return;i.current.dataset.motionPopId=r;const d=document.createElement("style");return a&&(d.nonce=a),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(`
589          [data-motion-pop-id="${r}"] {
590            position: absolute !important;
591            width: ${o}px !important;
592            height: ${l}px !important;
593            top: ${c}px !important;
594            left: ${u}px !important;
595          }
596        `),()=>{document.head.removeChild(d)}},[n]),t.jsx(NX,{isPresent:n,childRef:i,sizeRef:s,children:k.cloneElement(e,{ref:i})})}const qX=({children:e,initial:n,isPresent:r,onExitComplete:i,custom:s,presenceAffectsLayout:a,mode:o})=>{const l=Gq(SX),c=k.useId(),u=k.useCallback(p=>{l.set(p,!0);for(const m of l.values())if(!m)return;i&&i()},[l,i]),d=k.useMemo(()=>({id:c,initial:n,isPresent:r,custom:s,onExitComplete:u,register:p=>(l.set(p,!1),()=>l.delete(p))}),a?[Math.random(),u]:[r,u]);return k.useMemo(()=>{l.forEach((p,m)=>l.set(m,!1))},[r]),k.useEffect(()=>{!r&&!l.size&&i&&i()},[r]),o==="popLayout"&&(e=t.jsx(kX,{isPresent:r,children:e})),t.jsx(Yb.Provider,{value:d,children:e})};function SX(){return new Map}function bD(e=!0){const n=k.useContext(Yb);if(n===null)return[!0,null];const{isPresent:r,onExitComplete:i,register:s}=n,a=k.useId();k.useEffect(()=>{e&&s(a)},[e]);const o=k.useCallback(()=>e&&i&&i(a),[a,i,e]);return!r&&i?[!1,o]:[!0]}const Gf=e=>e.key||"";function vT(e){const n=[];
vendor: 30,130 bytes, line 596
596return k.Children.forEach(e,r=>{k.isValidElement(r)&&n.push(r)}),n}const Qq=typeof window<"u",yD=Qq?k.useLayoutEffect:k.useEffect,cx=({children:e,custom:n,initial:r=!0,onExitComplete:i,presenceAffectsLayout:s=!0,mode:a="sync",propagate:o=!1})=>{const[l,c]=bD(o),u=k.useMemo(()=>vT(e),[e]),d=o&&!l?[]:u.map(Gf),p=k.useRef(!0),m=k.useRef(u),h=Gq(()=>new Map),[g,f]=k.useState(u),[x,v]=k.useState(u);yD(()=>{p.current=!1,m.current=u;for(let N=0;N<x.length;N++){const j=Gf(x[N]);d.includes(j)?h.delete(j):h.get(j)!==!0&&h.set(j,!1)}},[x,d.length,d.join("-")]);const b=[];if(u!==g){let N=[...u];for(let j=0;j<x.length;j++){const w=x[j],q=Gf(w);d.includes(q)||(N.splice(j,0,w),b.push(w))}a==="wait"&&b.length&&(N=b),v(vT(N)),f(u);return}const{forceRender:y}=k.useContext(Hq);return t.jsx(t.Fragment,{children:x.map(N=>{const j=Gf(N),w=o&&!l?!1:u===x||d.includes(j),q=()=>{if(h.has(j))h.set(j,!0);else return;let P=!0;h.forEach(T=>{T||(P=!1)}),P&&(y==null||y(),v(m.current),o&&(c==null||c()),i&&i())};return t.jsx(qX,{isPresent:w,initial:!p.current||r?void 0:!1,custom:w?void 0:n,presenceAffectsLayout:s,mode:a,onExitComplete:w?void 0:q,children:N},j)})})},Lr=e=>e;let o2=Lr;function Yq(e){let n;return()=>(n===void 0&&(n=e()),n)}const Hu=(e,n,r)=>{const i=n-e;return i===0?1:(r-e)/i},Qs=e=>e*1e3,Ys=e=>e/1e3,CX={skipAnimations:!1,useManualTiming:!1};function PX(e){let n=new Set,r=new Set,i=!1,s=!1;const a=new WeakSet;let o={delta:0,timestamp:0,isProcessing:!1};function l(u){a.has(u)&&(c.schedule(u),e()),u(o)}const c={schedule:(u,d=!1,p=!1)=>{const h=p&&i?n:r;return d&&a.add(u),h.has(u)||h.add(u),u},cancel:u=>{r.delete(u),a.delete(u)},process:u=>{if(o=u,i){s=!0;return}i=!0,[n,r]=[r,n],n.forEach(l),n.clear(),i=!1,s&&(s=!1,c.process(u))}};return c}const Kf=["read","resolveKeyframes","update","preRender","render","postRender"],EX=40;function jD(e,n){let r=!1,i=!0;const s={delta:0,timestamp:0,isProcessing:!1},a=()=>r=!0,o=Kf.reduce((v,b)=>(v[b]=PX(a),v),{}),{read:l,resolveKeyframes:c,update:u,preRender:d,render:p,postRender:m}=o,h=()=>{const v=performance.now();r=!1,s.delta=i?1e3/60:Math.max(Math.min(v-s.timestamp,EX),1),s.timestamp=v,s.isProcessing=!0,l.process(s),c.process(s),u.process(s),d.process(s),p.process(s),m.process(s),s.isProcessing=!1,r&&n&&(i=!1,e(h))},g=()=>{r=!0,i=!0,s.isProcessing||e(h)};return{schedule:Kf.reduce((v,b)=>{const y=o[b];return v[b]=(N,j=!1,w=!1)=>(r||g(),y.schedule(N,j,w)),v},{}),cancel:v=>{for(let b=0;b<Kf.length;b++)o[Kf[b]].cancel(v)},state:s,steps:o}}const{schedule:gt,cancel:Ao,state:fn,steps:V0}=jD(typeof requestAnimationFrame<"u"?requestAnimationFrame:Lr,!0),wD=k.createContext({strict:!1}),bT={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Gu={};for(const e in bT)Gu[e]={isEnabled:n=>bT[e].some(r=>!!n[r])};function TX(e){for(const n in e)Gu[n]={...Gu[n],...e[n]}}const IX=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function ev(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||IX.has(e)}let ND=e=>!ev(e);function AX(e){e&&(ND=n=>n.startsWith("on")?!ev(n):e(n))}try{AX(require("@emotion/is-prop-valid").default)}catch{}function LX(e,n,r){const i={};for(const s in e)s==="values"&&typeof e.values=="object"||(ND(s)||r===!0&&ev(s)||!n&&!ev(s)||e.draggable&&s.startsWith("onDrag"))&&(i[s]=e[s]);return i}function FX(e){if(typeof Proxy>"u")return e;const n=new Map,r=(...i)=>e(...i);return new Proxy(r,{get:(i,s)=>s==="create"?e:(n.has(s)||n.set(s,e(s)),n.get(s))})}const Jb=k.createContext({});function $m(e){return typeof e=="string"||Array.isArray(e)}function Xb(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const Jq=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Xq=["initial",...Jq];function Zb(e){return Xb(e.animate)||Xq.some(n=>$m(e[n]))}function kD(e){return!!(Zb(e)||e.variants)}function _X(e,n){if(Zb(e)){const{initial:r,animate:i}=e;return{initial:r===!1||$m(r)?r:void 0,animate:$m(i)?i:void 0}}return e.inherit!==!1?n:{}}function OX(e){const{initial:n,animate:r}=_X(e,k.useContext(Jb));return k.useMemo(()=>({initial:n,animate:r}),[yT(n),yT(r)])}function yT(e){return Array.isArray(e)?e.join(" "):e}const RX=Symbol.for("motionComponentSymbol");function Zc(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function DX(e,n,r){return k.useCallback(i=>{i&&e.onMount&&e.onMount(i),n&&(i?n.mount(i):n.unmount()),r&&(typeof r=="function"?r(i):Zc(r)&&(r.current=i))},[n])}const Zq=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),MX="framerAppearId",qD="data-"+Zq(MX),{schedule:eS,cancel:tze}=jD(queueMicrotask,!1),SD=k.createContext({});function $X(e,n,r,i,s){var a,o;const{visualElement:l}=k.useContext(Jb),c=k.useContext(wD),u=k.useContext(Yb),d=k.useContext(Kq).reducedMotion,p=k.useRef(null);i=i||c.renderer,!p.current&&i&&(p.current=i(e,{visualState:n,parent:l,props:r,presenceContext:u,blockInitialAnimation:u?u.initial===!1:!1,reducedMotionConfig:d}));const m=p.current,h=k.useContext(SD);m&&!m.projection&&s&&(m.type==="html"||m.type==="svg")&&BX(p.current,r,s,h);const g=k.useRef(!1);k.useInsertionEffect(()=>{m&&g.current&&m.update(r,u)});const f=r[qD],x=k.useRef(!!f&&!(!((a=window.MotionHandoffIsComplete)===null||a===void 0)&&a.call(window,f))&&((o=window.MotionHasOptimisedAnimation)===null||o===void 0?void 0:o.call(window,f)));return yD(()=>{m&&(g.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),eS.render(m.render),x.current&&m.animationState&&m.animationState.animateChanges())}),k.useEffect(()=>{m&&(!x.current&&m.animationState&&m.animationState.animateChanges(),x.current&&(queueMicrotask(()=>{var v;(v=window.MotionHandoffMarkAsComplete)===null||v===void 0||v.call(window,f)}),x.current=!1))}),m}function BX(e,n,r,i){const{layoutId:s,layout:a,drag:o,dragConstraints:l,layoutScroll:c,layoutRoot:u}=n;e.projection=new r(e.latestValues,n["data-framer-portal-id"]?void 0:CD(e.parent)),e.projection.setOptions({layoutId:s,layout:a,alwaysMeasureLayout:!!o||l&&Zc(l),visualElement:e,animationType:typeof a=="string"?a:"both",initialPromotionConfig:i,layoutScroll:c,layoutRoot:u})}function CD(e){if(e)return e.options.allowProjection!==!1?e.projection:CD(e.parent)}function zX({preloadedFeatures:e,createVisualElement:n,useRender:r,useVisualState:i,Component:s}){var a,o;e&&TX(e);function l(u,d){let p;const m={...k.useContext(Kq),...u,layoutId:UX(u)},{isStatic:h}=m,g=OX(u),f=i(u,h);if(!h&&Qq){VX();const x=WX(m);p=x.MeasureLayout,g.visualElement=$X(s,f,m,n,x.ProjectionNode)}return t.jsxs(Jb.Provider,{value:g,children:[p&&g.visualElement?t.jsx(p,{visualElement:g.visualElement,...m}):null,r(s,u,DX(f,g.visualElement,d),f,h,g.visualElement)]})}l.displayName=`motion.${typeof s=="string"?s:`create(${(o=(a=s.displayName)!==null&&a!==void 0?a:s.name)!==null&&o!==void 0?o:""})`}`;const c=k.forwardRef(l);return c[RX]=s,c}function UX({layoutId:e}){const n=k.useContext(Hq).id;return n&&e!==void 0?n+"-"+e:e}function VX(e,n){k.useContext(wD).strict}function WX(e){const{drag:n,layout:r}=Gu;if(!n&&!r)return{};const i={...n,...r};return{MeasureLayout:n!=null&&n.isEnabled(e)||r!=null&&r.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}const HX=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function tS(e){return typeof e!="string"||e.includes("-")?!1:!!(HX.indexOf(e)>-1||/[A-Z]/u.test(e))}function jT(e){const n=[{},{}];return e==null||e.values.forEach((r,i)=>{n[0][i]=r.get(),n[1][i]=r.getVelocity()}),n}function nS(e,n,r,i){if(typeof n=="function"){const[s,a]=jT(i);n=n(r!==void 0?r:e.custom,s,a)}if(typeof n=="string"&&(n=e.variants&&e.variants[n]),typeof n=="function"){const[s,a]=jT(i);n=n(r!==void 0?r:e.custom,s,a)}return n}const l2=e=>Array.isArray(e),GX=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),KX=e=>l2(e)?e[e.length-1]||0:e,Fn=e=>!!(e&&e.getVelocity);function ux(e){const n=Fn(e)?e.get():e;return GX(n)?n.toValue():n}function QX({scrapeMotionValuesFromProps:e,createRenderState:n,onUpdate:r},i,s,a){const o={latestValues:YX(i,s,a,e),renderState:n()};return r&&(o.onMount=l=>r({props:i,current:l,...o}),o.onUpdate=l=>r(l)),o}const PD=e=>(n,r)=>{const i=k.useContext(Jb),s=k.useContext(Yb),a=()=>QX(e,n,i,s);return r?a():Gq(a)};function YX(e,n,r,i){const s={},a=i(e,{});for(const m in a)s[m]=ux(a[m]);let{initial:o,animate:l}=e;const c=Zb(e),u=kD(e);n&&u&&!c&&e.inherit!==!1&&(o===void 0&&(o=n.initial),l===void 0&&(l=n.animate));let d=r?r.initial===!1:!1;d=d||o===!1;const p=d?l:o;if(p&&typeof p!="boolean"&&!Xb(p)){const m=Array.isArray(p)?p:[p];for(let h=0;h<m.length;h++){const g=nS(e,m[h]);if(g){const{transitionEnd:f,transition:x,...v}=g;for(const b in v){let y=v[b];if(Array.isArray(y)){const N=d?y.length-1:0;y=y[N]}y!==null&&(s[b]=y)}for(const b in f)s[b]=f[b]}}}return s}const Id=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],pc=new Set(Id),ED=e=>n=>typeof n=="string"&&n.startsWith(e),TD=ED("--"),JX=ED("var(--"),rS=e=>JX(e)?XX.test(e.split("/*")[0].trim()):!1,XX=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,ID=(e,n)=>n&&typeof e=="number"?n.transform(e):e,da=(e,n,r)=>r>n?n:r<e?e:r,Ad={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Bm={...Ad,transform:e=>da(0,1,e)},Qf={...Ad,default:1},ef=e=>({test:n=>typeof n=="string"&&n.endsWith(e)&&n.split(" ").length===1,parse:parseFloat,transform:n=>`${n}${e}`}),Ua=ef("deg"),gs=ef("%"),je=ef("px"),ZX=ef("vh"),eZ=ef("vw"),wT={...gs,parse:e=>gs.parse(e)/100,transform:e=>gs.transform(e*100)},tZ={borderWidth:je,borderTopWidth:je,borderRightWidth:je,borderBottomWidth:je,borderLeftWidth:je,borderRadius:je,radius:je,borderTopLeftRadius:je,borderTopRightRadius:je,borderBottomRightRadius:je,borderBottomLeftRadius:je,width:je,maxWidth:je,height:je,maxHeight:je,top:je,right:je,bottom:je,left:je,padding:je,paddingTop:je,paddingRight:je,paddingBottom:je,paddingLeft:je,margin:je,marginTop:je,marginRight:je,marginBottom:je,marginLeft:je,backgroundPositionX:je,backgroundPositionY:je},nZ={rotate:Ua,rotateX:Ua,rotateY:Ua,rotateZ:Ua,scale:Qf,scaleX:Qf,scaleY:Qf,scaleZ:Qf,skew:Ua,skewX:Ua,skewY:Ua,distance:je,translateX:je,translateY:je,translateZ:je,x:je,y:je,z:je,perspective:je,transformPerspective:je,opacity:Bm,originX:wT,originY:wT,originZ:je},NT={...Ad,transform:Math.round},iS={...tZ,...nZ,zIndex:NT,size:je,fillOpacity:Bm,strokeOpacity:Bm,numOctaves:NT},rZ={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},iZ=Id.length;function sZ(e,n,r){let i="",s=!0;for(let a=0;a<iZ;a++){const o=Id[a],l=e[o];if(l===void 0)continue;let c=!0;if(typeof l=="number"?c=l===(o.startsWith("scale")?1:0):c=parseFloat(l)===0,!c||r){const u=ID(l,iS[o]);if(!c){s=!1;const d=rZ[o]||o;i+=`${d}(${u}) `}r&&(n[o]=u)}}return i=i.trim(),r?i=r(n,s?"":i):s&&(i="none"),i}function sS(e,n,r){const{style:i,vars:s,transformOrigin:a}=e;let o=!1,l=!1;for(const c in n){const u=n[c];if(pc.has(c)){o=!0;continue}else if(TD(c)){s[c]=u;continue}else{const d=ID(u,iS[c]);c.startsWith("origin")?(l=!0,a[c]=d):i[c]=d}}if(n.transform||(o||r?i.transform=sZ(n,e.transform,r):i.transform&&(i.transform="none")),l){const{originX:c="50%",originY:u="50%",originZ:d=0}=a;i.transformOrigin=`${c} ${u} ${d}`}}const aZ={offset:"stroke-dashoffset",array:"stroke-dasharray"},oZ={offset:"strokeDashoffset",array:"strokeDasharray"};function lZ(e,n,r=1,i=0,s=!0){e.pathLength=1;const a=s?aZ:oZ;e[a.offset]=je.transform(-i);const o=je.transform(n),l=je.transform(r);e[a.array]=`${o} ${l}`}function kT(e,n,r){return typeof e=="string"?e:je.transform(n+r*e)}function cZ(e,n,r){const i=kT(n,e.x,e.width),s=kT(r,e.y,e.height);return`${i} ${s}`}function aS(e,{attrX:n,attrY:r,attrScale:i,originX:s,originY:a,pathLength:o,pathSpacing:l=1,pathOffset:c=0,...u},d,p){if(sS(e,u,p),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:m,style:h,dimensions:g}=e;m.transform&&(g&&(h.transform=m.transform),delete m.transform),g&&(s!==void 0||a!==void 0||h.transform)&&(h.transformOrigin=cZ(g,s!==void 0?s:.5,a!==void 0?a:.5)),n!==void 0&&(m.x=n),r!==void 0&&(m.y=r),i!==void 0&&(m.scale=i),o!==void 0&&lZ(m,o,l,c,!1)}const oS=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),AD=()=>({...oS(),attrs:{}}),lS=e=>typeof e=="string"&&e.toLowerCase()==="svg";function LD(e,{style:n,vars:r},i,s){Object.assign(e.style,n,s&&s.getProjectionStyles(i));for(const a in r)e.style.setProperty(a,r[a])}const FD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function _D(e,n,r,i){LD(e,n,void 0,i);for(const s in n.attrs)e.setAttribute(FD.has(s)?s:Zq(s),n.attrs[s])}const tv={};function uZ(e){Object.assign(tv,e)}function OD(e,{layout:n,layoutId:r}){return pc.has(e)||e.startsWith("origin")||(n||r!==void 0)&&(!!tv[e]||e==="opacity")}function cS(e,n,r){var i;const{style:s}=e,a={};for(const o in s)(Fn(s[o])||n.style&&Fn(n.style[o])||OD(o,e)||((i=r==null?void 0:r.getValue(o))===null||i===void 0?void 0:i.liveStyle)!==void 0)&&(a[o]=s[o]);return a}function RD(e,n,r){const i=cS(e,n,r);for(const s in e)if(Fn(e[s])||Fn(n[s])){const a=Id.indexOf(s)!==-1?"attr"+s.charAt(0).toUpperCase()+s.substring(1):s;i[a]=e[s]}return i}function dZ(e,n){try{n.dimensions=typeof e.getBBox=="function"?e.getBBox():e.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}}const qT=["x","y","width","height","cx","cy","r"],pZ={useVisualState:PD({scrapeMotionValuesFromProps:RD,createRenderState:AD,onUpdate:({props:e,prevProps:n,current:r,renderState:i,latestValues:s})=>{if(!r)return;let a=!!e.drag;if(!a){for(const l in s)if(pc.has(l)){a=!0;break}}if(!a)return;let o=!n;if(n)for(let l=0;l<qT.length;l++){const c=qT[l];e[c]!==n[c]&&(o=!0)}o&&gt.read(()=>{dZ(r,i),gt.render(()=>{aS(i,s,lS(r.tagName),e.transformTemplate),_D(r,i)})})}})},mZ={useVisualState:PD({scrapeMotionValuesFromProps:cS,createRenderState:oS})};function DD(e,n,r){for(const i in n)!Fn(n[i])&&!OD(i,r)&&(e[i]=n[i])}function hZ({transformTemplate:e},n){return k.useMemo(()=>{const r=oS();return sS(r,n,e),Object.assign({},r.vars,r.style)},[n])}function fZ(e,n){const r=e.style||{},i={};return DD(i,r,e),Object.assign(i,hZ(e,n)),i}function gZ(e,n){const r={},i=fZ(e,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}function xZ(e,n,r,i){const s=k.useMemo(()=>{const a=AD();return aS(a,n,lS(i),e.transformTemplate),{...a.attrs,style:{...a.style}}},[n]);if(e.style){const a={};DD(a,e.style,e),s.style={...a,...s.style}}return s}function vZ(e=!1){return(r,i,s,{latestValues:a},o)=>{const c=(tS(r)?xZ:gZ)(i,a,o,r),u=LX(i,typeof r=="string",e),d=r!==k.Fragment?{...u,...c,ref:s}:{},{children:p}=i,m=k.useMemo(()=>Fn(p)?p.get():p,[p]);return k.createElement(r,{...d,children:m})}}function bZ(e,n){return function(i,{forwardMotionProps:s}={forwardMotionProps:!1}){const o={...tS(i)?pZ:mZ,preloadedFeatures:e,useRender:vZ(s),createVisualElement:n,Component:i};return zX(o)}}function MD(e,n){if(!Array.isArray(n))return!1;const r=n.length;if(r!==e.length)return!1;for(let i=0;i<r;i++)if(n[i]!==e[i])return!1;return!0}function ey(e,n,r){const i=e.getProps();return nS(i,n,r!==void 0?r:i.custom,e)}const yZ=Yq(()=>window.ScrollTimeline!==void 0);class jZ{constructor(n){this.stop=()=>this.runAll("stop"),this.animations=n.filter(Boolean)}get finished(){return Promise.all(this.animations.map(n=>"finished"in n?n.finished:n))}getAll(n){return this.animations[0][n]}setAll(n,r){for(let i=0;i<this.animations.length;i++)this.animations[i][n]=r}attachTimeline(n,r){const i=this.animations.map(s=>{if(yZ()&&s.attachTimeline)return s.attachTimeline(n);if(typeof r=="function")return r(s)});return()=>{i.forEach((s,a)=>{s&&s(),this.animations[a].stop()})}}get time(){return this.getAll("time")}set time(n){this.setAll("time",n)}get speed(){return this.getAll("speed")}set speed(n){this.setAll("speed",n)}get startTime(){return this.getAll("startTime")}get duration(){let n=0;for(let r=0;r<this.animations.length;r++)n=Math.max(n,this.animations[r].duration);return n}runAll(n){this.animations.forEach(r=>r[n]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class wZ extends jZ{then(n,r){return Promise.all(this.animations).then(n).catch(r)}}function uS(e,n){return e?e[n]||e.default||e:void 0}const c2=2e4;function $D(e){let n=0;const r=50;let i=e.next(n);for(;!i.done&&n<c2;)n+=r,i=e.next(n);return n>=c2?1/0:n}function dS(e){return typeof e=="function"}function ST(e,n){e.timeline=n,e.onfinish=null}const pS=e=>Array.isArray(e)&&typeof e[0]=="number",NZ={linearEasing:void 0};function kZ(e,n){const r=Yq(e);return()=>{var i;return(i=NZ[n])!==null&&i!==void 0?i:r()}}const nv=kZ(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),BD=(e,n,r=10)=>{let i="";const s=Math.max(Math.round(n/r),2);for(let a=0;a<s;a++)i+=e(Hu(0,s-1,a))+", ";return`linear(${i.substring(0,i.length-2)})`};function zD(e){return!!(typeof e=="function"&&nv()||!e||typeof e=="string"&&(e in u2||nv())||pS(e)||Array.isArray(e)&&e.every(zD))}const Mp=([e,n,r,i])=>`cubic-bezier(${e}, ${n}, ${r}, ${i})`,u2={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Mp([0,.65,.55,1]),circOut:Mp([.55,0,1,.45]),backIn:Mp([.31,.01,.66,-.59]),backOut:Mp([.33,1.53,.69,.99])};function UD(e,n){if(e)return typeof e=="function"&&nv()?BD(e,n):pS(e)?Mp(e):Array.isArray(e)?e.map(r=>UD(r,n)||u2.easeOut):u2[e]}const ki={x:!1,y:!1};function VD(){return ki.x||ki.y}function WD(e,n,r){var i;if(e instanceof Element)return[e];if(typeof e=="string"){let s=document;const a=(i=void 0)!==null&&i!==void 0?i:s.querySelectorAll(e);return a?Array.from(a):[]}return Array.from(e)}function HD(e,n){const r=WD(e),i=new AbortController,s={passive:!0,...n,signal:i.signal};return[r,s,()=>i.abort()]}function CT(e){return n=>{n.pointerType==="touch"||VD()||e(n)}}function qZ(e,n,r={}){const[i,s,a]=HD(e,r),o=CT(l=>{const{target:c}=l,u=n(l);if(typeof u!="function"||!c)return;const d=CT(p=>{u(p),c.removeEventListener("pointerleave",d)});c.addEventListener("pointerleave",d,s)});return i.forEach(l=>{l.addEventListener("pointerenter",o,s)}),a}const GD=(e,n)=>n?e===n?!0:GD(e,n.parentElement):!1,mS=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,SZ=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function CZ(e){return SZ.has(e.tagName)||e.tabIndex!==-1}const $p=new WeakSet;function PT(e){return n=>{n.key==="Enter"&&e(n)}}function W0(e,n){e.dispatchEvent(new PointerEvent("pointer"+n,{isPrimary:!0,bubbles:!0}))}const PZ=(e,n)=>{const r=e.currentTarget;if(!r)return;const i=PT(()=>{if($p.has(r))return;W0(r,"down");const s=PT(()=>{W0(r,"up")}),a=()=>W0(r,"cancel");r.addEventListener("keyup",s,n),r.addEventListener("blur",a,n)});r.addEventListener("keydown",i,n),r.addEventListener("blur",()=>r.removeEventListener("keydown",i),n)};function ET(e){return mS(e)&&!VD()}function EZ(e,n,r={}){const[i,s,a]=HD(e,r),o=l=>{const c=l.currentTarget;if(!ET(l)||$p.has(c))return;$p.add(c);const u=n(l),d=(h,g)=>{window.removeEventListener("pointerup",p),window.removeEventListener("pointercancel",m),!(!ET(h)||!$p.has(c))&&($p.delete(c),typeof u=="function"&&u(h,{success:g}))},p=h=>{d(h,r.useGlobalTarget||GD(c,h.target))},m=h=>{d(h,!1)};window.addEventListener("pointerup",p,s),window.addEventListener("pointercancel",m,s)};return i.forEach(l=>{!CZ(l)&&l.getAttribute("tabindex")===null&&(l.tabIndex=0),(r.useGlobalTarget?window:l).addEventListener("pointerdown",o,s),l.addEventListener("focus",u=>PZ(u,s),s)}),a}function TZ(e){return e==="x"||e==="y"?ki[e]?null:(ki[e]=!0,()=>{ki[e]=!1}):ki.x||ki.y?null:(ki.x=ki.y=!0,()=>{ki.x=ki.y=!1})}const KD=new Set(["width","height","top","left","right","bottom",...Id]);let dx;function IZ(){dx=void 0}const xs={now:()=>(dx===void 0&&xs.set(fn.isProcessing||CX.useManualTiming?fn.timestamp:performance.now()),dx),set:e=>{dx=e,queueMicrotask(IZ)}};function hS(e,n){e.indexOf(n)===-1&&e.push(n)}function fS(e,n){const r=e.indexOf(n);r>-1&&e.splice(r,1)}class gS{constructor(){this.subscriptions=[]}add(n){return hS(this.subscriptions,n),()=>fS(this.subscriptions,n)}notify(n,r,i){const s=this.subscriptions.length;if(s)if(s===1)this.subscriptions[0](n,r,i);else for(let a=0;a<s;a++){const o=this.subscriptions[a];o&&o(n,r,i)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function QD(e,n){return n?e*(1e3/n):0}const TT=30,AZ=e=>!isNaN(parseFloat(e));class LZ{constructor(n,r={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(i,s=!0)=>{const a=xs.now();this.updatedAt!==a&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(i),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),s&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(n),this.owner=r.owner}setCurrent(n){this.current=n,this.updatedAt=xs.now(),this.canTrackVelocity===null&&n!==void 0&&(this.canTrackVelocity=AZ(this.current))}setPrevFrameValue(n=this.current){this.prevFrameValue=n,this.prevUpdatedAt=this.updatedAt}onChange(n){return this.on("change",n)}on(n,r){this.events[n]||(this.events[n]=new gS);const i=this.events[n].add(r);return n==="change"?()=>{i(),gt.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const n in this.events)this.events[n].clear()}attach(n,r){this.passiveEffect=n,this.stopPassiveEffect=r}set(n,r=!0){!r||!this.passiveEffect?this.updateAndNotify(n,r):this.passiveEffect(n,this.updateAndNotify)}setWithVelocity(n,r,i){this.set(r),this.prev=void 0,this.prevFrameValue=n,this.prevUpdatedAt=this.updatedAt-i}jump(n,r=!0){this.updateAndNotify(n),this.prev=n,this.prevUpdatedAt=this.prevFrameValue=void 0,r&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const n=xs.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||n-this.updatedAt>TT)return 0;const r=Math.min(this.updatedAt-this.prevUpdatedAt,TT);return QD(parseFloat(this.current)-parseFloat(this.prevFrameValue),r)}start(n){return this.stop(),new Promise(r=>{this.hasAnimated=!0,this.animation=n(r),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function zm(e,n){return new LZ(e,n)}function FZ(e,n,r){e.hasValue(n)?e.getValue(n).set(r):e.addValue(n,zm(r))}function _Z(e,n){const r=ey(e,n);let{transitionEnd:i={},transition:s={},...a}=r||{};a={...a,...i};for(const o in a){const l=KX(a[o]);FZ(e,o,l)}}function OZ(e){return!!(Fn(e)&&e.add)}function d2(e,n){const r=e.getValue("willChange");if(OZ(r))return r.add(n)}function YD(e){return e.props[qD]}const JD=(e,n,r)=>(((1-3*r+3*n)*e+(3*r-6*n))*e+3*n)*e,RZ=1e-7,DZ=12;function MZ(e,n,r,i,s){let a,o,l=0;do o=n+(r-n)/2,a=JD(o,i,s)-e,a>0?r=o:n=o;while(Math.abs(a)>RZ&&++l<DZ);return o}function tf(e,n,r,i){if(e===n&&r===i)return Lr;const s=a=>MZ(a,0,1,e,r);return a=>a===0||a===1?a:JD(s(a),n,i)}const XD=e=>n=>n<=.5?e(2*n)/2:(2-e(2*(1-n)))/2,ZD=e=>n=>1-e(1-n),eM=tf(.33,1.53,.69,.99),xS=ZD(eM),tM=XD(xS),nM=e=>(e*=2)<1?.5*xS(e):.5*(2-Math.pow(2,-10*(e-1))),vS=e=>1-Math.sin(Math.acos(e)),rM=ZD(vS),iM=XD(vS),sM=e=>/^0[^.\s]+$/u.test(e);function $Z(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||sM(e):!0}const nm=e=>Math.round(e*1e5)/1e5,bS=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function BZ(e){return e==null}const zZ=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,yS=(e,n)=>r=>!!(typeof r=="string"&&zZ.test(r)&&r.startsWith(e)||n&&!BZ(r)&&Object.prototype.hasOwnProperty.call(r,n)),aM=(e,n,r)=>i=>{if(typeof i!="string")return i;const[s,a,o,l]=i.match(bS);return{[e]:parseFloat(s),[n]:parseFloat(a),[r]:parseFloat(o),alpha:l!==void 0?parseFloat(l):1}},UZ=e=>da(0,255,e),H0={...Ad,transform:e=>Math.round(UZ(e))},jl={test:yS("rgb","red"),parse:aM("red","green","blue"),transform:({red:e,green:n,blue:r,alpha:i=1})=>"rgba("+H0.transform(e)+", "+H0.transform(n)+", "+H0.transform(r)+", "+nm(Bm.transform(i))+")"};function VZ(e){let n="",r="",i="",s="";return e.length>5?(n=e.substring(1,3),r=e.substring(3,5),i=e.substring(5,7),s=e.substring(7,9)):(n=e.substring(1,2),r=e.substring(2,3),i=e.substring(3,4),s=e.substring(4,5),n+=n,r+=r,i+=i,s+=s),{red:parseInt(n,16),green:parseInt(r,16),blue:parseInt(i,16),alpha:s?parseInt(s,16)/255:1}}const p2={test:yS("#"),parse:VZ,transform:jl.transform},eu={test:yS("hsl","hue"),parse:aM("hue","saturation","lightness"),transform:({hue:e,saturation:n,lightness:r,alpha:i=1})=>"hsla("+Math.round(e)+", "+gs.transform(nm(n))+", "+gs.transform(nm(r))+", "+nm(Bm.transform(i))+")"},En={test:e=>jl.test(e)||p2.test(e)||eu.test(e),parse:e=>jl.test(e)?jl.parse(e):eu.test(e)?eu.parse(e):p2.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?jl.transform(e):eu.transform(e)},WZ=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function HZ(e){var n,r;return isNaN(e)&&typeof e=="string"&&(((n=e.match(bS))===null||n===void 0?void 0:n.length)||0)+(((r=e.match(WZ))===null||r===void 0?void 0:r.length)||0)>0}const oM="number",lM="color",GZ="var",KZ="var(",IT="${}",QZ=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Um(e){const n=e.toString(),r=[],i={color:[],number:[],var:[]},s=[];let a=0;const l=n.replace(QZ,c=>(En.test(c)?(i.color.push(a),s.push(lM),r.push(En.parse(c))):c.startsWith(KZ)?(i.var.push(a),s.push(GZ),r.push(c)):(i.number.push(a),s.push(oM),r.push(parseFloat(c))),++a,IT)).split(IT);return{values:r,split:l,indexes:i,types:s}}function cM(e){return Um(e).values}function uM(e){const{split:n,types:r}=Um(e),i=n.length;return s=>{let a="";for(let o=0;o<i;o++)if(a+=n[o],s[o]!==void 0){const l=r[o];l===oM?a+=nm(s[o]):l===lM?a+=En.transform(s[o]):a+=s[o]}return a}}const YZ=e=>typeof e=="number"?0:e;function JZ(e){const n=cM(e);return uM(e)(n.map(YZ))}const Lo={test:HZ,parse:cM,createTransformer:uM,getAnimatableNone:JZ},XZ=new Set(["brightness","contrast","saturate","opacity"]);function ZZ(e){const[n,r]=e.slice(0,-1).split("(");if(n==="drop-shadow")return e;const[i]=r.match(bS)||[];if(!i)return e;const s=r.replace(i,"");let a=XZ.has(n)?1:0;return i!==r&&(a*=100),n+"("+a+s+")"}const eee=/\b([a-z-]*)\(.*?\)/gu,m2={...Lo,getAnimatableNone:e=>{const n=e.match(eee);return n?n.map(ZZ).join(" "):e}},tee={...iS,color:En,backgroundColor:En,outlineColor:En,fill:En,stroke:En,borderColor:En,borderTopColor:En,borderRightColor:En,borderBottomColor:En,borderLeftColor:En,filter:m2,WebkitFilter:m2},jS=e=>tee[e];function dM(e,n){let r=jS(e);return r!==m2&&(r=Lo),r.getAnimatableNone?r.getAnimatableNone(n):void 0}const nee=new Set(["auto","none","0"]);function ree(e,n,r){let i=0,s;for(;i<e.length&&!s;){const a=e[i];typeof a=="string"&&!nee.has(a)&&Um(a).values.length&&(s=e[i]),i++}if(s&&r)for(const a of n)e[a]=dM(r,s)}const AT=e=>e===Ad||e===je,LT=(e,n)=>parseFloat(e.split(", ")[n]),FT=(e,n)=>(r,{transform:i})=>{if(i==="none"||!i)return 0;const s=i.match(/^matrix3d\((.+)\)$/u);if(s)return LT(s[1],n);{const a=i.match(/^matrix\((.+)\)$/u);return a?LT(a[1],e):0}},iee=new Set(["x","y","z"]),see=Id.filter(e=>!iee.has(e));function aee(e){const n=[];return see.forEach(r=>{const i=e.getValue(r);i!==void 0&&(n.push([r,i.get()]),i.set(r.startsWith("scale")?1:0))}),n}const Ku={width:({x:e},{paddingLeft:n="0",paddingRight:r="0"})=>e.max-e.min-parseFloat(n)-parseFloat(r),height:({y:e},{paddingTop:n="0",paddingBottom:r="0"})=>e.max-e.min-parseFloat(n)-parseFloat(r),top:(e,{top:n})=>parseFloat(n),left:(e,{left:n})=>parseFloat(n),bottom:({y:e},{top:n})=>parseFloat(n)+(e.max-e.min),right:({x:e},{left:n})=>parseFloat(n)+(e.max-e.min),x:FT(4,13),y:FT(5,14)};Ku.translateX=Ku.x;Ku.translateY=Ku.y;const $l=new Set;let h2=!1,f2=!1;function pM(){if(f2){const e=Array.from($l).filter(i=>i.needsMeasurement),n=new Set(e.map(i=>i.element)),r=new Map;
vendor: 15,389 bytes, line 596
596n.forEach(i=>{const s=aee(i);s.length&&(r.set(i,s),i.render())}),e.forEach(i=>i.measureInitialState()),n.forEach(i=>{i.render();const s=r.get(i);s&&s.forEach(([a,o])=>{var l;(l=i.getValue(a))===null||l===void 0||l.set(o)})}),e.forEach(i=>i.measureEndState()),e.forEach(i=>{i.suspendedScrollY!==void 0&&window.scrollTo(0,i.suspendedScrollY)})}f2=!1,h2=!1,$l.forEach(e=>e.complete()),$l.clear()}function mM(){$l.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(f2=!0)})}function oee(){mM(),pM()}class wS{constructor(n,r,i,s,a,o=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...n],this.onComplete=r,this.name=i,this.motionValue=s,this.element=a,this.isAsync=o}scheduleResolve(){this.isScheduled=!0,this.isAsync?($l.add(this),h2||(h2=!0,gt.read(mM),gt.resolveKeyframes(pM))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:n,name:r,element:i,motionValue:s}=this;for(let a=0;a<n.length;a++)if(n[a]===null)if(a===0){const o=s==null?void 0:s.get(),l=n[n.length-1];if(o!==void 0)n[0]=o;else if(i&&r){const c=i.readValue(r,l);c!=null&&(n[0]=c)}n[0]===void 0&&(n[0]=l),s&&o===void 0&&s.set(n[0])}else n[a]=n[a-1]}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),$l.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,$l.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const hM=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),lee=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function cee(e){const n=lee.exec(e);if(!n)return[,];const[,r,i,s]=n;return[`--${r??i}`,s]}function fM(e,n,r=1){const[i,s]=cee(e);if(!i)return;const a=window.getComputedStyle(n).getPropertyValue(i);if(a){const o=a.trim();return hM(o)?parseFloat(o):o}return rS(s)?fM(s,n,r+1):s}const gM=e=>n=>n.test(e),uee={test:e=>e==="auto",parse:e=>e},xM=[Ad,je,gs,Ua,eZ,ZX,uee],_T=e=>xM.find(gM(e));class vM extends wS{constructor(n,r,i,s,a){super(n,r,i,s,a,!0)}readKeyframes(){const{unresolvedKeyframes:n,element:r,name:i}=this;if(!r||!r.current)return;super.readKeyframes();for(let c=0;c<n.length;c++){let u=n[c];if(typeof u=="string"&&(u=u.trim(),rS(u))){const d=fM(u,r.current);d!==void 0&&(n[c]=d),c===n.length-1&&(this.finalKeyframe=u)}}if(this.resolveNoneKeyframes(),!KD.has(i)||n.length!==2)return;const[s,a]=n,o=_T(s),l=_T(a);if(o!==l)if(AT(o)&&AT(l))for(let c=0;c<n.length;c++){const u=n[c];typeof u=="string"&&(n[c]=parseFloat(u))}else this.needsMeasurement=!0}resolveNoneKeyframes(){const{unresolvedKeyframes:n,name:r}=this,i=[];for(let s=0;s<n.length;s++)$Z(n[s])&&i.push(s);i.length&&ree(n,i,r)}measureInitialState(){const{element:n,unresolvedKeyframes:r,name:i}=this;if(!n||!n.current)return;i==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Ku[i](n.measureViewportBox(),window.getComputedStyle(n.current)),r[0]=this.measuredOrigin;const s=r[r.length-1];s!==void 0&&n.getValue(i,s).jump(s,!1)}measureEndState(){var n;const{element:r,name:i,unresolvedKeyframes:s}=this;if(!r||!r.current)return;const a=r.getValue(i);a&&a.jump(this.measuredOrigin,!1);const o=s.length-1,l=s[o];s[o]=Ku[i](r.measureViewportBox(),window.getComputedStyle(r.current)),l!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=l),!((n=this.removedTransforms)===null||n===void 0)&&n.length&&this.removedTransforms.forEach(([c,u])=>{r.getValue(c).set(u)}),this.resolveNoneKeyframes()}}const OT=(e,n)=>n==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Lo.test(e)||e==="0")&&!e.startsWith("url("));function dee(e){const n=e[0];if(e.length===1)return!0;for(let r=0;r<e.length;r++)if(e[r]!==n)return!0}function pee(e,n,r,i){const s=e[0];if(s===null)return!1;if(n==="display"||n==="visibility")return!0;const a=e[e.length-1],o=OT(s,n),l=OT(a,n);return!o||!l?!1:dee(e)||(r==="spring"||dS(r))&&i}const mee=e=>e!==null;function ty(e,{repeat:n,repeatType:r="loop"},i){const s=e.filter(mee),a=n&&r!=="loop"&&n%2===1?0:s.length-1;return!a||i===void 0?s[a]:i}const hee=40;class bM{constructor({autoplay:n=!0,delay:r=0,type:i="keyframes",repeat:s=0,repeatDelay:a=0,repeatType:o="loop",...l}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=xs.now(),this.options={autoplay:n,delay:r,type:i,repeat:s,repeatDelay:a,repeatType:o,...l},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>hee?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&oee(),this._resolved}onKeyframesResolved(n,r){this.resolvedAt=xs.now(),this.hasAttemptedResolve=!0;const{name:i,type:s,velocity:a,delay:o,onComplete:l,onUpdate:c,isGenerator:u}=this.options;if(!u&&!pee(n,i,s,a))if(o)this.options.duration=0;else{c&&c(ty(n,this.options,r)),l&&l(),this.resolveFinishedPromise();return}const d=this.initPlayback(n,r);d!==!1&&(this._resolved={keyframes:n,finalKeyframe:r,...d},this.onPostResolved())}onPostResolved(){}then(n,r){return this.currentFinishedPromise.then(n,r)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(n=>{this.resolveFinishedPromise=n})}}const Nt=(e,n,r)=>e+(n-e)*r;function G0(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}function fee({hue:e,saturation:n,lightness:r,alpha:i}){e/=360,n/=100,r/=100;let s=0,a=0,o=0;if(!n)s=a=o=r;else{const l=r<.5?r*(1+n):r+n-r*n,c=2*r-l;s=G0(c,l,e+1/3),a=G0(c,l,e),o=G0(c,l,e-1/3)}return{red:Math.round(s*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:i}}function rv(e,n){return r=>r>0?n:e}const K0=(e,n,r)=>{const i=e*e,s=r*(n*n-i)+i;return s<0?0:Math.sqrt(s)},gee=[p2,jl,eu],xee=e=>gee.find(n=>n.test(e));function RT(e){const n=xee(e);if(!n)return!1;let r=n.parse(e);return n===eu&&(r=fee(r)),r}const DT=(e,n)=>{const r=RT(e),i=RT(n);if(!r||!i)return rv(e,n);const s={...r};return a=>(s.red=K0(r.red,i.red,a),s.green=K0(r.green,i.green,a),s.blue=K0(r.blue,i.blue,a),s.alpha=Nt(r.alpha,i.alpha,a),jl.transform(s))},vee=(e,n)=>r=>n(e(r)),nf=(...e)=>e.reduce(vee),g2=new Set(["none","hidden"]);function bee(e,n){return g2.has(e)?r=>r<=0?e:n:r=>r>=1?n:e}function yee(e,n){return r=>Nt(e,n,r)}function NS(e){return typeof e=="number"?yee:typeof e=="string"?rS(e)?rv:En.test(e)?DT:Nee:Array.isArray(e)?yM:typeof e=="object"?En.test(e)?DT:jee:rv}function yM(e,n){const r=[...e],i=r.length,s=e.map((a,o)=>NS(a)(a,n[o]));return a=>{for(let o=0;o<i;o++)r[o]=s[o](a);return r}}function jee(e,n){const r={...e,...n},i={};for(const s in r)e[s]!==void 0&&n[s]!==void 0&&(i[s]=NS(e[s])(e[s],n[s]));return s=>{for(const a in i)r[a]=i[a](s);return r}}function wee(e,n){var r;const i=[],s={color:0,var:0,number:0};for(let a=0;a<n.values.length;a++){const o=n.types[a],l=e.indexes[o][s[o]],c=(r=e.values[l])!==null&&r!==void 0?r:0;i[a]=c,s[o]++}return i}const Nee=(e,n)=>{const r=Lo.createTransformer(n),i=Um(e),s=Um(n);return i.indexes.var.length===s.indexes.var.length&&i.indexes.color.length===s.indexes.color.length&&i.indexes.number.length>=s.indexes.number.length?g2.has(e)&&!s.values.length||g2.has(n)&&!i.values.length?bee(e,n):nf(yM(wee(i,s),s.values),r):rv(e,n)};function jM(e,n,r){return typeof e=="number"&&typeof n=="number"&&typeof r=="number"?Nt(e,n,r):NS(e)(e,n)}const kee=5;function wM(e,n,r){const i=Math.max(n-kee,0);return QD(r-e(i),n-i)}const Tt={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Q0=.001;function qee({duration:e=Tt.duration,bounce:n=Tt.bounce,velocity:r=Tt.velocity,mass:i=Tt.mass}){let s,a,o=1-n;o=da(Tt.minDamping,Tt.maxDamping,o),e=da(Tt.minDuration,Tt.maxDuration,Ys(e)),o<1?(s=u=>{const d=u*o,p=d*e,m=d-r,h=x2(u,o),g=Math.exp(-p);return Q0-m/h*g},a=u=>{const p=u*o*e,m=p*r+r,h=Math.pow(o,2)*Math.pow(u,2)*e,g=Math.exp(-p),f=x2(Math.pow(u,2),o);return(-s(u)+Q0>0?-1:1)*((m-h)*g)/f}):(s=u=>{const d=Math.exp(-u*e),p=(u-r)*e+1;return-Q0+d*p},a=u=>{const d=Math.exp(-u*e),p=(r-u)*(e*e);return d*p});const l=5/e,c=Cee(s,a,l);if(e=Qs(e),isNaN(c))return{stiffness:Tt.stiffness,damping:Tt.damping,duration:e};{const u=Math.pow(c,2)*i;return{stiffness:u,damping:o*2*Math.sqrt(i*u),duration:e}}}const See=12;function Cee(e,n,r){let i=r;for(let s=1;s<See;s++)i=i-e(i)/n(i);return i}function x2(e,n){return e*Math.sqrt(1-n*n)}const Pee=["duration","bounce"],Eee=["stiffness","damping","mass"];function MT(e,n){return n.some(r=>e[r]!==void 0)}function Tee(e){let n={velocity:Tt.velocity,stiffness:Tt.stiffness,damping:Tt.damping,mass:Tt.mass,isResolvedFromDuration:!1,...e};if(!MT(e,Eee)&&MT(e,Pee))if(e.visualDuration){const r=e.visualDuration,i=2*Math.PI/(r*1.2),s=i*i,a=2*da(.05,1,1-(e.bounce||0))*Math.sqrt(s);n={...n,mass:Tt.mass,stiffness:s,damping:a}}else{const r=qee(e);n={...n,...r,mass:Tt.mass},n.isResolvedFromDuration=!0}return n}function NM(e=Tt.visualDuration,n=Tt.bounce){const r=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:n}:e;let{restSpeed:i,restDelta:s}=r;const a=r.keyframes[0],o=r.keyframes[r.keyframes.length-1],l={done:!1,value:a},{stiffness:c,damping:u,mass:d,duration:p,velocity:m,isResolvedFromDuration:h}=Tee({...r,velocity:-Ys(r.velocity||0)}),g=m||0,f=u/(2*Math.sqrt(c*d)),x=o-a,v=Ys(Math.sqrt(c/d)),b=Math.abs(x)<5;i||(i=b?Tt.restSpeed.granular:Tt.restSpeed.default),s||(s=b?Tt.restDelta.granular:Tt.restDelta.default);let y;if(f<1){const j=x2(v,f);y=w=>{const q=Math.exp(-f*v*w);return o-q*((g+f*v*x)/j*Math.sin(j*w)+x*Math.cos(j*w))}}else if(f===1)y=j=>o-Math.exp(-v*j)*(x+(g+v*x)*j);else{const j=v*Math.sqrt(f*f-1);y=w=>{const q=Math.exp(-f*v*w),P=Math.min(j*w,300);return o-q*((g+f*v*x)*Math.sinh(P)+j*x*Math.cosh(P))/j}}const N={calculatedDuration:h&&p||null,next:j=>{const w=y(j);if(h)l.done=j>=p;else{let q=0;f<1&&(q=j===0?Qs(g):wM(y,j,w));const P=Math.abs(q)<=i,T=Math.abs(o-w)<=s;l.done=P&&T}return l.value=l.done?o:w,l},toString:()=>{const j=Math.min($D(N),c2),w=BD(q=>N.next(j*q).value,j,30);return j+"ms "+w}};return N}function $T({keyframes:e,velocity:n=0,power:r=.8,timeConstant:i=325,bounceDamping:s=10,bounceStiffness:a=500,modifyTarget:o,min:l,max:c,restDelta:u=.5,restSpeed:d}){const p=e[0],m={done:!1,value:p},h=P=>l!==void 0&&P<l||c!==void 0&&P>c,g=P=>l===void 0?c:c===void 0||Math.abs(l-P)<Math.abs(c-P)?l:c;let f=r*n;const x=p+f,v=o===void 0?x:o(x);v!==x&&(f=v-p);const b=P=>-f*Math.exp(-P/i),y=P=>v+b(P),N=P=>{const T=b(P),E=y(P);m.done=Math.abs(T)<=u,m.value=m.done?v:E};let j,w;const q=P=>{h(m.value)&&(j=P,w=NM({keyframes:[m.value,g(m.value)],velocity:wM(y,P,m.value),damping:s,stiffness:a,restDelta:u,restSpeed:d}))};return q(0),{calculatedDuration:null,next:P=>{let T=!1;return!w&&j===void 0&&(T=!0,N(P),q(P)),j!==void 0&&P>=j?w.next(P-j):(!T&&N(P),m)}}}const Iee=tf(.42,0,1,1),Aee=tf(0,0,.58,1),kM=tf(.42,0,.58,1),Lee=e=>Array.isArray(e)&&typeof e[0]!="number",BT={linear:Lr,easeIn:Iee,easeInOut:kM,easeOut:Aee,circIn:vS,circInOut:iM,circOut:rM,backIn:xS,backInOut:tM,backOut:eM,anticipate:nM},zT=e=>{if(pS(e)){o2(e.length===4);const[n,r,i,s]=e;return tf(n,r,i,s)}else if(typeof e=="string")return o2(BT[e]!==void 0),BT[e];return e};function Fee(e,n,r){const i=[],s=r||jM,a=e.length-1;for(let o=0;o<a;o++){let l=s(e[o],e[o+1]);if(n){const c=Array.isArray(n)?n[o]||Lr:n;l=nf(c,l)}i.push(l)}return i}function _ee(e,n,{clamp:r=!0,ease:i,mixer:s}={}){const a=e.length;if(o2(a===n.length),a===1)return()=>n[0];if(a===2&&n[0]===n[1])return()=>n[1];const o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),n=[...n].reverse());const l=Fee(n,i,s),c=l.length,u=d=>{if(o&&d<e[0])return n[0];let p=0;if(c>1)for(;p<e.length-2&&!(d<e[p+1]);p++);const m=Hu(e[p],e[p+1],d);return l[p](m)};return r?d=>u(da(e[0],e[a-1],d)):u}function Oee(e,n){const r=e[e.length-1];for(let i=1;i<=n;i++){const s=Hu(0,n,i);e.push(Nt(r,1,s))}}function Ree(e){const n=[0];return Oee(n,e.length-1),n}function Dee(e,n){return e.map(r=>r*n)}function Mee(e,n){return e.map(()=>n||kM).splice(0,e.length-1)}function iv({duration:e=300,keyframes:n,times:r,ease:i="easeInOut"}){const s=Lee(i)?i.map(zT):zT(i),a={done:!1,value:n[0]},o=Dee(r&&r.length===n.length?r:Ree(n),e),l=_ee(o,n,{ease:Array.isArray(s)?s:Mee(n,s)});return{calculatedDuration:e,next:c=>(a.value=l(c),a.done=c>=e,a)}}const $ee=e=>{const n=({timestamp:r})=>e(r);return{start:()=>gt.update(n,!0),stop:()=>Ao(n),now:()=>fn.isProcessing?fn.timestamp:xs.now()}},Bee={decay:$T,inertia:$T,tween:iv,keyframes:iv,spring:NM},zee=e=>e/100;class kS extends bM{constructor(n){super(n),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.teardown();const{onStop:c}=this.options;c&&c()};const{name:r,motionValue:i,element:s,keyframes:a}=this.options,o=(s==null?void 0:s.KeyframeResolver)||wS,l=(c,u)=>this.onKeyframesResolved(c,u);this.resolver=new o(a,l,r,i,s),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(n){const{type:r="keyframes",repeat:i=0,repeatDelay:s=0,repeatType:a,velocity:o=0}=this.options,l=dS(r)?r:Bee[r]||iv;let c,u;l!==iv&&typeof n[0]!="number"&&(c=nf(zee,jM(n[0],n[1])),n=[0,100]);const d=l({...this.options,keyframes:n});a==="mirror"&&(u=l({...this.options,keyframes:[...n].reverse(),velocity:-o})),d.calculatedDuration===null&&(d.calculatedDuration=$D(d));const{calculatedDuration:p}=d,m=p+s,h=m*(i+1)-s;return{generator:d,mirroredGenerator:u,mapPercentToKeyframes:c,calculatedDuration:p,resolvedDuration:m,totalDuration:h}}onPostResolved(){const{autoplay:n=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!n?this.pause():this.state=this.pendingPlayState}tick(n,r=!1){const{resolved:i}=this;if(!i){const{keyframes:P}=this.options;return{done:!0,value:P[P.length-1]}}const{finalKeyframe:s,generator:a,mirroredGenerator:o,mapPercentToKeyframes:l,keyframes:c,calculatedDuration:u,totalDuration:d,resolvedDuration:p}=i;if(this.startTime===null)return a.next(0);const{delay:m,repeat:h,repeatType:g,repeatDelay:f,onUpdate:x}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,n):this.speed<0&&(this.startTime=Math.min(n-d/this.speed,this.startTime)),r?this.currentTime=n:this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=Math.round(n-this.startTime)*this.speed;const v=this.currentTime-m*(this.speed>=0?1:-1),b=this.speed>=0?v<0:v>d;this.currentTime=Math.max(v,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let y=this.currentTime,N=a;if(h){const P=Math.min(this.currentTime,d)/p;let T=Math.floor(P),E=P%1;!E&&P>=1&&(E=1),E===1&&T--,T=Math.min(T,h+1),!!(T%2)&&(g==="reverse"?(E=1-E,f&&(E-=f/p)):g==="mirror"&&(N=o)),y=da(0,1,E)*p}const j=b?{done:!1,value:c[0]}:N.next(y);l&&(j.value=l(j.value));let{done:w}=j;!b&&u!==null&&(w=this.speed>=0?this.currentTime>=d:this.currentTime<=0);const q=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&w);return q&&s!==void 0&&(j.value=ty(c,this.options,s)),x&&x(j.value),q&&this.finish(),j}get duration(){const{resolved:n}=this;return n?Ys(n.calculatedDuration):0}
vendor: 59,117 bytes, line 596
596get time(){return Ys(this.currentTime)}set time(n){n=Qs(n),this.currentTime=n,this.holdTime!==null||this.speed===0?this.holdTime=n:this.driver&&(this.startTime=this.driver.now()-n/this.speed)}get speed(){return this.playbackSpeed}set speed(n){const r=this.playbackSpeed!==n;this.playbackSpeed=n,r&&(this.time=Ys(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:n=$ee,onPlay:r,startTime:i}=this.options;this.driver||(this.driver=n(a=>this.tick(a))),r&&r();const s=this.driver.now();this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=s):this.startTime=i??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var n;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(n=this.currentTime)!==null&&n!==void 0?n:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:n}=this.options;n&&n()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(n){return this.startTime=0,this.tick(n,!0)}}const Uee=new Set(["opacity","clipPath","filter","transform"]);function Vee(e,n,r,{delay:i=0,duration:s=300,repeat:a=0,repeatType:o="loop",ease:l="easeInOut",times:c}={}){const u={[n]:r};c&&(u.offset=c);const d=UD(l,s);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:i,duration:s,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:a+1,direction:o==="reverse"?"alternate":"normal"})}const Wee=Yq(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),sv=10,Hee=2e4;function Gee(e){return dS(e.type)||e.type==="spring"||!zD(e.ease)}function Kee(e,n){const r=new kS({...n,keyframes:e,repeat:0,delay:0,isGenerator:!0});let i={done:!1,value:e[0]};const s=[];let a=0;for(;!i.done&&a<Hee;)i=r.sample(a),s.push(i.value),a+=sv;return{times:void 0,keyframes:s,duration:a-sv,ease:"linear"}}const qM={anticipate:nM,backInOut:tM,circInOut:iM};function Qee(e){return e in qM}class UT extends bM{constructor(n){super(n);const{name:r,motionValue:i,element:s,keyframes:a}=this.options;this.resolver=new vM(a,(o,l)=>this.onKeyframesResolved(o,l),r,i,s),this.resolver.scheduleResolve()}initPlayback(n,r){let{duration:i=300,times:s,ease:a,type:o,motionValue:l,name:c,startTime:u}=this.options;if(!l.owner||!l.owner.current)return!1;if(typeof a=="string"&&nv()&&Qee(a)&&(a=qM[a]),Gee(this.options)){const{onComplete:p,onUpdate:m,motionValue:h,element:g,...f}=this.options,x=Kee(n,f);n=x.keyframes,n.length===1&&(n[1]=n[0]),i=x.duration,s=x.times,a=x.ease,o="keyframes"}const d=Vee(l.owner.current,c,n,{...this.options,duration:i,times:s,ease:a});return d.startTime=u??this.calcStartTime(),this.pendingTimeline?(ST(d,this.pendingTimeline),this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:p}=this.options;l.set(ty(n,this.options,r)),p&&p(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:i,times:s,type:o,ease:a,keyframes:n}}get duration(){const{resolved:n}=this;if(!n)return 0;const{duration:r}=n;return Ys(r)}get time(){const{resolved:n}=this;if(!n)return 0;const{animation:r}=n;return Ys(r.currentTime||0)}set time(n){const{resolved:r}=this;if(!r)return;const{animation:i}=r;i.currentTime=Qs(n)}get speed(){const{resolved:n}=this;if(!n)return 1;const{animation:r}=n;return r.playbackRate}set speed(n){const{resolved:r}=this;if(!r)return;const{animation:i}=r;i.playbackRate=n}get state(){const{resolved:n}=this;if(!n)return"idle";const{animation:r}=n;return r.playState}get startTime(){const{resolved:n}=this;if(!n)return null;const{animation:r}=n;return r.startTime}attachTimeline(n){if(!this._resolved)this.pendingTimeline=n;else{const{resolved:r}=this;if(!r)return Lr;const{animation:i}=r;ST(i,n)}return Lr}play(){if(this.isStopped)return;const{resolved:n}=this;if(!n)return;const{animation:r}=n;r.playState==="finished"&&this.updateFinishedPromise(),r.play()}pause(){const{resolved:n}=this;if(!n)return;const{animation:r}=n;r.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:n}=this;if(!n)return;const{animation:r,keyframes:i,duration:s,type:a,ease:o,times:l}=n;if(r.playState==="idle"||r.playState==="finished")return;if(this.time){const{motionValue:u,onUpdate:d,onComplete:p,element:m,...h}=this.options,g=new kS({...h,keyframes:i,duration:s,type:a,ease:o,times:l,isGenerator:!0}),f=Qs(this.time);u.setWithVelocity(g.sample(f-sv).value,g.sample(f).value,sv)}const{onStop:c}=this.options;c&&c(),this.cancel()}complete(){const{resolved:n}=this;n&&n.animation.finish()}cancel(){const{resolved:n}=this;n&&n.animation.cancel()}static supports(n){const{motionValue:r,name:i,repeatDelay:s,repeatType:a,damping:o,type:l}=n;if(!r||!r.owner||!(r.owner.current instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=r.owner.getProps();return Wee()&&i&&Uee.has(i)&&!c&&!u&&!s&&a!=="mirror"&&o!==0&&l!=="inertia"}}const Yee={type:"spring",stiffness:500,damping:25,restSpeed:10},Jee=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Xee={type:"keyframes",duration:.8},Zee={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},ete=(e,{keyframes:n})=>n.length>2?Xee:pc.has(e)?e.startsWith("scale")?Jee(n[1]):Yee:Zee;function tte({when:e,delay:n,delayChildren:r,staggerChildren:i,staggerDirection:s,repeat:a,repeatType:o,repeatDelay:l,from:c,elapsed:u,...d}){return!!Object.keys(d).length}const qS=(e,n,r,i={},s,a)=>o=>{const l=uS(i,e)||{},c=l.delay||i.delay||0;let{elapsed:u=0}=i;u=u-Qs(c);let d={keyframes:Array.isArray(r)?r:[null,r],ease:"easeOut",velocity:n.getVelocity(),...l,delay:-u,onUpdate:m=>{n.set(m),l.onUpdate&&l.onUpdate(m)},onComplete:()=>{o(),l.onComplete&&l.onComplete()},name:e,motionValue:n,element:a?void 0:s};tte(l)||(d={...d,...ete(e,d)}),d.duration&&(d.duration=Qs(d.duration)),d.repeatDelay&&(d.repeatDelay=Qs(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let p=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(d.duration=0,d.delay===0&&(p=!0)),p&&!a&&n.get()!==void 0){const m=ty(d.keyframes,l);if(m!==void 0)return gt.update(()=>{d.onUpdate(m),d.onComplete()}),new wZ([])}return!a&&UT.supports(d)?new UT(d):new kS(d)};function nte({protectedKeys:e,needsAnimating:n},r){const i=e.hasOwnProperty(r)&&n[r]!==!0;return n[r]=!1,i}function SM(e,n,{delay:r=0,transitionOverride:i,type:s}={}){var a;let{transition:o=e.getDefaultTransition(),transitionEnd:l,...c}=n;i&&(o=i);const u=[],d=s&&e.animationState&&e.animationState.getState()[s];for(const p in c){const m=e.getValue(p,(a=e.latestValues[p])!==null&&a!==void 0?a:null),h=c[p];if(h===void 0||d&&nte(d,p))continue;const g={delay:r,...uS(o||{},p)};let f=!1;if(window.MotionHandoffAnimation){const v=YD(e);if(v){const b=window.MotionHandoffAnimation(v,p,gt);b!==null&&(g.startTime=b,f=!0)}}d2(e,p),m.start(qS(p,m,h,e.shouldReduceMotion&&KD.has(p)?{type:!1}:g,e,f));const x=m.animation;x&&u.push(x)}return l&&Promise.all(u).then(()=>{gt.update(()=>{l&&_Z(e,l)})}),u}function v2(e,n,r={}){var i;const s=ey(e,n,r.type==="exit"?(i=e.presenceContext)===null||i===void 0?void 0:i.custom:void 0);let{transition:a=e.getDefaultTransition()||{}}=s||{};r.transitionOverride&&(a=r.transitionOverride);const o=s?()=>Promise.all(SM(e,s,r)):()=>Promise.resolve(),l=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:p,staggerDirection:m}=a;return rte(e,n,d+u,p,m,r)}:()=>Promise.resolve(),{when:c}=a;if(c){const[u,d]=c==="beforeChildren"?[o,l]:[l,o];return u().then(()=>d())}else return Promise.all([o(),l(r.delay)])}function rte(e,n,r=0,i=0,s=1,a){const o=[],l=(e.variantChildren.size-1)*i,c=s===1?(u=0)=>u*i:(u=0)=>l-u*i;return Array.from(e.variantChildren).sort(ite).forEach((u,d)=>{u.notify("AnimationStart",n),o.push(v2(u,n,{...a,delay:r+c(d)}).then(()=>u.notify("AnimationComplete",n)))}),Promise.all(o)}function ite(e,n){return e.sortNodePosition(n)}function ste(e,n,r={}){e.notify("AnimationStart",n);let i;if(Array.isArray(n)){const s=n.map(a=>v2(e,a,r));i=Promise.all(s)}else if(typeof n=="string")i=v2(e,n,r);else{const s=typeof n=="function"?ey(e,n,r.custom):n;i=Promise.all(SM(e,s,r))}return i.then(()=>{e.notify("AnimationComplete",n)})}const ate=Xq.length;function CM(e){if(!e)return;if(!e.isControllingVariants){const r=e.parent?CM(e.parent)||{}:{};return e.props.initial!==void 0&&(r.initial=e.props.initial),r}const n={};for(let r=0;r<ate;r++){const i=Xq[r],s=e.props[i];($m(s)||s===!1)&&(n[i]=s)}return n}const ote=[...Jq].reverse(),lte=Jq.length;function cte(e){return n=>Promise.all(n.map(({animation:r,options:i})=>ste(e,r,i)))}function ute(e){let n=cte(e),r=VT(),i=!0;const s=c=>(u,d)=>{var p;const m=ey(e,d,c==="exit"?(p=e.presenceContext)===null||p===void 0?void 0:p.custom:void 0);if(m){const{transition:h,transitionEnd:g,...f}=m;u={...u,...f,...g}}return u};function a(c){n=c(e)}function o(c){const{props:u}=e,d=CM(e.parent)||{},p=[],m=new Set;let h={},g=1/0;for(let x=0;x<lte;x++){const v=ote[x],b=r[v],y=u[v]!==void 0?u[v]:d[v],N=$m(y),j=v===c?b.isActive:null;j===!1&&(g=x);let w=y===d[v]&&y!==u[v]&&N;if(w&&i&&e.manuallyAnimateOnMount&&(w=!1),b.protectedKeys={...h},!b.isActive&&j===null||!y&&!b.prevProp||Xb(y)||typeof y=="boolean")continue;const q=dte(b.prevProp,y);let P=q||v===c&&b.isActive&&!w&&N||x>g&&N,T=!1;const E=Array.isArray(y)?y:[y];let A=E.reduce(s(v),{});j===!1&&(A={});const{prevResolvedValues:_={}}=b,D={..._,...A},R=z=>{P=!0,m.has(z)&&(T=!0,m.delete(z)),b.needsAnimating[z]=!0;const O=e.getValue(z);O&&(O.liveStyle=!1)};for(const z in D){const O=A[z],$=_[z];if(h.hasOwnProperty(z))continue;let I=!1;l2(O)&&l2($)?I=!MD(O,$):I=O!==$,I?O!=null?R(z):m.add(z):O!==void 0&&m.has(z)?R(z):b.protectedKeys[z]=!0}b.prevProp=y,b.prevResolvedValues=A,b.isActive&&(h={...h,...A}),i&&e.blockInitialAnimation&&(P=!1),P&&(!(w&&q)||T)&&p.push(...E.map(z=>({animation:z,options:{type:v}})))}if(m.size){const x={};m.forEach(v=>{const b=e.getBaseTarget(v),y=e.getValue(v);y&&(y.liveStyle=!0),x[v]=b??null}),p.push({animation:x})}let f=!!p.length;return i&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(f=!1),i=!1,f?n(p):Promise.resolve()}function l(c,u){var d;if(r[c].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(m=>{var h;return(h=m.animationState)===null||h===void 0?void 0:h.setActive(c,u)}),r[c].isActive=u;const p=o(c);for(const m in r)r[m].protectedKeys={};return p}return{animateChanges:o,setActive:l,setAnimateFunction:a,getState:()=>r,reset:()=>{r=VT(),i=!0}}}function dte(e,n){return typeof n=="string"?n!==e:Array.isArray(n)?!MD(n,e):!1}function Qo(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function VT(){return{animate:Qo(!0),whileInView:Qo(),whileHover:Qo(),whileTap:Qo(),whileDrag:Qo(),whileFocus:Qo(),exit:Qo()}}class Mo{constructor(n){this.isMounted=!1,this.node=n}update(){}}class pte extends Mo{constructor(n){super(n),n.animationState||(n.animationState=ute(n))}updateAnimationControlsSubscription(){const{animate:n}=this.node.getProps();Xb(n)&&(this.unmountControls=n.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:n}=this.node.getProps(),{animate:r}=this.node.prevProps||{};n!==r&&this.updateAnimationControlsSubscription()}unmount(){var n;this.node.animationState.reset(),(n=this.unmountControls)===null||n===void 0||n.call(this)}}let mte=0;class hte extends Mo{constructor(){super(...arguments),this.id=mte++}update(){if(!this.node.presenceContext)return;const{isPresent:n,onExitComplete:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||n===i)return;const s=this.node.animationState.setActive("exit",!n);r&&!n&&s.then(()=>r(this.id))}mount(){const{register:n}=this.node.presenceContext||{};n&&(this.unmount=n(this.id))}unmount(){}}const fte={animation:{Feature:pte},exit:{Feature:hte}};function Vm(e,n,r,i={passive:!0}){return e.addEventListener(n,r,i),()=>e.removeEventListener(n,r)}function rf(e){return{point:{x:e.pageX,y:e.pageY}}}const gte=e=>n=>mS(n)&&e(n,rf(n));function rm(e,n,r,i){return Vm(e,n,gte(r),i)}const WT=(e,n)=>Math.abs(e-n);function xte(e,n){const r=WT(e.x,n.x),i=WT(e.y,n.y);return Math.sqrt(r**2+i**2)}class PM{constructor(n,r,{transformPagePoint:i,contextWindow:s,dragSnapToOrigin:a=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const p=J0(this.lastMoveEventInfo,this.history),m=this.startEvent!==null,h=xte(p.offset,{x:0,y:0})>=3;if(!m&&!h)return;const{point:g}=p,{timestamp:f}=fn;this.history.push({...g,timestamp:f});const{onStart:x,onMove:v}=this.handlers;m||(x&&x(this.lastMoveEvent,p),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,p)},this.handlePointerMove=(p,m)=>{this.lastMoveEvent=p,this.lastMoveEventInfo=Y0(m,this.transformPagePoint),gt.update(this.updatePoint,!0)},this.handlePointerUp=(p,m)=>{this.end();const{onEnd:h,onSessionEnd:g,resumeAnimation:f}=this.handlers;if(this.dragSnapToOrigin&&f&&f(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const x=J0(p.type==="pointercancel"?this.lastMoveEventInfo:Y0(m,this.transformPagePoint),this.history);this.startEvent&&h&&h(p,x),g&&g(p,x)},!mS(n))return;this.dragSnapToOrigin=a,this.handlers=r,this.transformPagePoint=i,this.contextWindow=s||window;const o=rf(n),l=Y0(o,this.transformPagePoint),{point:c}=l,{timestamp:u}=fn;this.history=[{...c,timestamp:u}];const{onSessionStart:d}=r;d&&d(n,J0(l,this.history)),this.removeListeners=nf(rm(this.contextWindow,"pointermove",this.handlePointerMove),rm(this.contextWindow,"pointerup",this.handlePointerUp),rm(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(n){this.handlers=n}end(){this.removeListeners&&this.removeListeners(),Ao(this.updatePoint)}}function Y0(e,n){return n?{point:n(e.point)}:e}function HT(e,n){return{x:e.x-n.x,y:e.y-n.y}}function J0({point:e},n){return{point:e,delta:HT(e,EM(n)),offset:HT(e,vte(n)),velocity:bte(n,.1)}}function vte(e){return e[0]}function EM(e){return e[e.length-1]}function bte(e,n){if(e.length<2)return{x:0,y:0};let r=e.length-1,i=null;const s=EM(e);for(;r>=0&&(i=e[r],!(s.timestamp-i.timestamp>Qs(n)));)r--;if(!i)return{x:0,y:0};const a=Ys(s.timestamp-i.timestamp);if(a===0)return{x:0,y:0};const o={x:(s.x-i.x)/a,y:(s.y-i.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}const TM=1e-4,yte=1-TM,jte=1+TM,IM=.01,wte=0-IM,Nte=0+IM;function Or(e){return e.max-e.min}function kte(e,n,r){return Math.abs(e-n)<=r}function GT(e,n,r,i=.5){e.origin=i,e.originPoint=Nt(n.min,n.max,e.origin),e.scale=Or(r)/Or(n),e.translate=Nt(r.min,r.max,e.origin)-e.originPoint,(e.scale>=yte&&e.scale<=jte||isNaN(e.scale))&&(e.scale=1),(e.translate>=wte&&e.translate<=Nte||isNaN(e.translate))&&(e.translate=0)}function im(e,n,r,i){GT(e.x,n.x,r.x,i?i.originX:void 0),GT(e.y,n.y,r.y,i?i.originY:void 0)}function KT(e,n,r){e.min=r.min+n.min,e.max=e.min+Or(n)}function qte(e,n,r){KT(e.x,n.x,r.x),KT(e.y,n.y,r.y)}function QT(e,n,r){e.min=n.min-r.min,e.max=e.min+Or(n)}function sm(e,n,r){QT(e.x,n.x,r.x),QT(e.y,n.y,r.y)}function Ste(e,{min:n,max:r},i){return n!==void 0&&e<n?e=i?Nt(n,e,i.min):Math.max(e,n):r!==void 0&&e>r&&(e=i?Nt(r,e,i.max):Math.min(e,r)),e}function YT(e,n,r){return{min:n!==void 0?e.min+n:void 0,max:r!==void 0?e.max+r-(e.max-e.min):void 0}}function Cte(e,{top:n,left:r,bottom:i,right:s}){return{x:YT(e.x,r,s),y:YT(e.y,n,i)}}function JT(e,n){let r=n.min-e.min,i=n.max-e.max;return n.max-n.min<e.max-e.min&&([r,i]=[i,r]),{min:r,max:i}}function Pte(e,n){return{x:JT(e.x,n.x),y:JT(e.y,n.y)}}function Ete(e,n){let r=.5;const i=Or(e),s=Or(n);return s>i?r=Hu(n.min,n.max-i,e.min):i>s&&(r=Hu(e.min,e.max-s,n.min)),da(0,1,r)}function Tte(e,n){const r={};return n.min!==void 0&&(r.min=n.min-e.min),n.max!==void 0&&(r.max=n.max-e.min),r}const b2=.35;function Ite(e=b2){return e===!1?e=0:e===!0&&(e=b2),{x:XT(e,"left","right"),y:XT(e,"top","bottom")}}function XT(e,n,r){return{min:ZT(e,n),max:ZT(e,r)}}function ZT(e,n){return typeof e=="number"?e:e[n]||0}const eI=()=>({translate:0,scale:1,origin:0,originPoint:0}),tu=()=>({x:eI(),y:eI()}),tI=()=>({min:0,max:0}),Rt=()=>({x:tI(),y:tI()});function Qr(e){return[e("x"),e("y")]}function AM({top:e,left:n,right:r,bottom:i}){return{x:{min:n,max:r},y:{min:e,max:i}}}function Ate({x:e,y:n}){return{top:n.min,right:e.max,bottom:n.max,left:e.min}}function Lte(e,n){if(!n)return e;const r=n({x:e.left,y:e.top}),i=n({x:e.right,y:e.bottom});return{top:r.y,left:r.x,bottom:i.y,right:i.x}}function X0(e){return e===void 0||e===1}function y2({scale:e,scaleX:n,scaleY:r}){return!X0(e)||!X0(n)||!X0(r)}function ul(e){return y2(e)||LM(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function LM(e){return nI(e.x)||nI(e.y)}function nI(e){return e&&e!=="0%"}function av(e,n,r){const i=e-r,s=n*i;return r+s}function rI(e,n,r,i,s){return s!==void 0&&(e=av(e,s,i)),av(e,r,i)+n}function j2(e,n=0,r=1,i,s){e.min=rI(e.min,n,r,i,s),e.max=rI(e.max,n,r,i,s)}function FM(e,{x:n,y:r}){j2(e.x,n.translate,n.scale,n.originPoint),j2(e.y,r.translate,r.scale,r.originPoint)}const iI=.999999999999,sI=1.0000000000001;function Fte(e,n,r,i=!1){const s=r.length;if(!s)return;n.x=n.y=1;let a,o;for(let l=0;l<s;l++){a=r[l],o=a.projectionDelta;const{visualElement:c}=a.options;c&&c.props.style&&c.props.style.display==="contents"||(i&&a.options.layoutScroll&&a.scroll&&a!==a.root&&ru(e,{x:-a.scroll.offset.x,y:-a.scroll.offset.y}),o&&(n.x*=o.x.scale,n.y*=o.y.scale,FM(e,o)),i&&ul(a.latestValues)&&ru(e,a.latestValues))}n.x<sI&&n.x>iI&&(n.x=1),n.y<sI&&n.y>iI&&(n.y=1)}function nu(e,n){e.min=e.min+n,e.max=e.max+n}function aI(e,n,r,i,s=.5){const a=Nt(e.min,e.max,s);j2(e,n,r,a,i)}function ru(e,n){aI(e.x,n.x,n.scaleX,n.scale,n.originX),aI(e.y,n.y,n.scaleY,n.scale,n.originY)}function _M(e,n){return AM(Lte(e.getBoundingClientRect(),n))}function _te(e,n,r){const i=_M(e,r),{scroll:s}=n;return s&&(nu(i.x,s.offset.x),nu(i.y,s.offset.y)),i}const OM=({current:e})=>e?e.ownerDocument.defaultView:null,Ote=new WeakMap;class Rte{constructor(n){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Rt(),this.visualElement=n}start(n,{snapToCursor:r=!1}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const s=d=>{const{dragSnapToOrigin:p}=this.getProps();p?this.pauseAnimation():this.stopAnimation(),r&&this.snapToCursor(rf(d).point)},a=(d,p)=>{const{drag:m,dragPropagation:h,onDragStart:g}=this.getProps();if(m&&!h&&(this.openDragLock&&this.openDragLock(),this.openDragLock=TZ(m),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Qr(x=>{let v=this.getAxisMotionValue(x).get()||0;if(gs.test(v)){const{projection:b}=this.visualElement;if(b&&b.layout){const y=b.layout.layoutBox[x];y&&(v=Or(y)*(parseFloat(v)/100))}}this.originPoint[x]=v}),g&&gt.postRender(()=>g(d,p)),d2(this.visualElement,"transform");const{animationState:f}=this.visualElement;f&&f.setActive("whileDrag",!0)},o=(d,p)=>{const{dragPropagation:m,dragDirectionLock:h,onDirectionLock:g,onDrag:f}=this.getProps();if(!m&&!this.openDragLock)return;const{offset:x}=p;if(h&&this.currentDirection===null){this.currentDirection=Dte(x),this.currentDirection!==null&&g&&g(this.currentDirection);return}this.updateAxis("x",p.point,x),this.updateAxis("y",p.point,x),this.visualElement.render(),f&&f(d,p)},l=(d,p)=>this.stop(d,p),c=()=>Qr(d=>{var p;return this.getAnimationState(d)==="paused"&&((p=this.getAxisMotionValue(d).animation)===null||p===void 0?void 0:p.play())}),{dragSnapToOrigin:u}=this.getProps();this.panSession=new PM(n,{onSessionStart:s,onStart:a,onMove:o,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,contextWindow:OM(this.visualElement)})}stop(n,r){const i=this.isDragging;if(this.cancel(),!i)return;const{velocity:s}=r;this.startAnimation(s);const{onDragEnd:a}=this.getProps();a&&gt.postRender(()=>a(n,r))}cancel(){this.isDragging=!1;const{projection:n,animationState:r}=this.visualElement;n&&(n.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),r&&r.setActive("whileDrag",!1)}updateAxis(n,r,i){const{drag:s}=this.getProps();if(!i||!Yf(n,s,this.currentDirection))return;const a=this.getAxisMotionValue(n);let o=this.originPoint[n]+i[n];this.constraints&&this.constraints[n]&&(o=Ste(o,this.constraints[n],this.elastic[n])),a.set(o)}resolveConstraints(){var n;const{dragConstraints:r,dragElastic:i}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(n=this.visualElement.projection)===null||n===void 0?void 0:n.layout,a=this.constraints;r&&Zc(r)?this.constraints||(this.constraints=this.resolveRefConstraints()):r&&s?this.constraints=Cte(s.layoutBox,r):this.constraints=!1,this.elastic=Ite(i),a!==this.constraints&&s&&this.constraints&&!this.hasMutatedConstraints&&Qr(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=Tte(s.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:n,onMeasureDragConstraints:r}=this.getProps();if(!n||!Zc(n))return!1;const i=n.current,{projection:s}=this.visualElement;if(!s||!s.layout)return!1;const a=_te(i,s.root,this.visualElement.getTransformPagePoint());let o=Pte(s.layout.layoutBox,a);if(r){const l=r(Ate(o));this.hasMutatedConstraints=!!l,l&&(o=AM(l))}return o}startAnimation(n){const{drag:r,dragMomentum:i,dragElastic:s,dragTransition:a,dragSnapToOrigin:o,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},u=Qr(d=>{if(!Yf(d,r,this.currentDirection))return;let p=c&&c[d]||{};o&&(p={min:0,max:0});const m=s?200:1e6,h=s?40:1e7,g={type:"inertia",velocity:i?n[d]:0,bounceStiffness:m,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...a,...p};return this.startAxisValueAnimation(d,g)});return Promise.all(u).then(l)}startAxisValueAnimation(n,r){const i=this.getAxisMotionValue(n);return d2(this.visualElement,n),i.start(qS(n,i,0,r,this.visualElement,!1))}stopAnimation(){Qr(n=>this.getAxisMotionValue(n).stop())}pauseAnimation(){Qr(n=>{var r;return(r=this.getAxisMotionValue(n).animation)===null||r===void 0?void 0:r.pause()})}getAnimationState(n){var r;return(r=this.getAxisMotionValue(n).animation)===null||r===void 0?void 0:r.state}getAxisMotionValue(n){const r=`_drag${n.toUpperCase()}`,i=this.visualElement.getProps(),s=i[r];return s||this.visualElement.getValue(n,(i.initial?i.initial[n]:void 0)||0)}snapToCursor(n){Qr(r=>{const{drag:i}=this.getProps();if(!Yf(r,i,this.currentDirection))return;const{projection:s}=this.visualElement,a=this.getAxisMotionValue(r);if(s&&s.layout){const{min:o,max:l}=s.layout.layoutBox[r];a.set(n[r]-Nt(o,l,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:n,dragConstraints:r}=this.getProps(),{projection:i}=this.visualElement;if(!Zc(r)||!i||!this.constraints)return;this.stopAnimation();const s={x:0,y:0};Qr(o=>{const l=this.getAxisMotionValue(o);if(l&&this.constraints!==!1){const c=l.get();s[o]=Ete({min:c,max:c},this.constraints[o])}});const{transformTemplate:a}=this.visualElement.getProps();this.visualElement.current.style.transform=a?a({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),Qr(o=>{if(!Yf(o,n,null))return;const l=this.getAxisMotionValue(o),{min:c,max:u}=this.constraints[o];l.set(Nt(c,u,s[o]))})}addListeners(){if(!this.visualElement.current)return;Ote.set(this.visualElement,this);const n=this.visualElement.current,r=rm(n,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(c)}),i=()=>{const{dragConstraints:c}=this.getProps();Zc(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:s}=this.visualElement,a=s.addEventListener("measure",i);s&&!s.layout&&(s.root&&s.root.updateScroll(),s.updateLayout()),gt.read(i);const o=Vm(window,"resize",()=>this.scalePositionWithinConstraints()),l=s.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(Qr(d=>{const p=this.getAxisMotionValue(d);p&&(this.originPoint[d]+=c[d].translate,p.set(p.get()+c[d].translate))}),this.visualElement.render())});return()=>{o(),r(),a(),l&&l()}}getProps(){const n=this.visualElement.getProps(),{drag:r=!1,dragDirectionLock:i=!1,dragPropagation:s=!1,dragConstraints:a=!1,dragElastic:o=b2,dragMomentum:l=!0}=n;return{...n,drag:r,dragDirectionLock:i,dragPropagation:s,dragConstraints:a,dragElastic:o,dragMomentum:l}}}function Yf(e,n,r){return(n===!0||n===e)&&(r===null||r===e)}function Dte(e,n=10){let r=null;return Math.abs(e.y)>n?r="y":Math.abs(e.x)>n&&(r="x"),r}class Mte extends Mo{constructor(n){super(n),this.removeGroupControls=Lr,this.removeListeners=Lr,this.controls=new Rte(n)}mount(){const{dragControls:n}=this.node.getProps();n&&(this.removeGroupControls=n.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Lr}unmount(){this.removeGroupControls(),this.removeListeners()}}const oI=e=>(n,r)=>{e&&gt.postRender(()=>e(n,r))};class $te extends Mo{constructor(){super(...arguments),this.removePointerDownListener=Lr}onPointerDown(n){this.session=new PM(n,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:OM(this.node)})}createPanHandlers(){const{onPanSessionStart:n,onPanStart:r,onPan:i,onPanEnd:s}=this.node.getProps();return{onSessionStart:oI(n),onStart:oI(r),onMove:i,onEnd:(a,o)=>{delete this.session,s&&gt.postRender(()=>s(a,o))}}}mount(){this.removePointerDownListener=rm(this.node.current,"pointerdown",n=>this.onPointerDown(n))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const px={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function lI(e,n){return n.max===n.min?0:e/(n.max-n.min)*100}const lp={correct:(e,n)=>{if(!n.target)return e;if(typeof e=="string")if(je.test(e))e=parseFloat(e);else return e;const r=lI(e,n.target.x),i=lI(e,n.target.y);return`${r}% ${i}%`}},Bte={correct:(e,{treeScale:n,projectionDelta:r})=>{const i=e,s=Lo.parse(e);if(s.length>5)return i;const a=Lo.createTransformer(e),o=typeof s[0]!="number"?1:0,l=r.x.scale*n.x,c=r.y.scale*n.y;s[0+o]/=l,s[1+o]/=c;const u=Nt(l,c,.5);return typeof s[2+o]=="number"&&(s[2+o]/=u),typeof s[3+o]=="number"&&(s[3+o]/=u),a(s)}};class zte extends k.Component{componentDidMount(){const{visualElement:n,layoutGroup:r,switchLayoutGroup:i,layoutId:s}=this.props,{projection:a}=n;uZ(Ute),a&&(r.group&&r.group.add(a),i&&i.register&&s&&i.register(a),a.root.didUpdate(),a.addEventListener("animationComplete",()=>{this.safeToRemove()}),a.setOptions({...a.options,onExitComplete:()=>this.safeToRemove()})),px.hasEverUpdated=!0}getSnapshotBeforeUpdate(n){const{layoutDependency:r,visualElement:i,drag:s,isPresent:a}=this.props,o=i.projection;return o&&(o.isPresent=a,s||n.layoutDependency!==r||r===void 0?o.willUpdate():this.safeToRemove(),n.isPresent!==a&&(a?o.promote():o.relegate()||gt.postRender(()=>{const l=o.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:n}=this.props.visualElement;n&&(n.root.didUpdate(),eS.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:n,layoutGroup:r,switchLayoutGroup:i}=this.props,{projection:s}=n;s&&(s.scheduleCheckAfterUnmount(),r&&r.group&&r.group.remove(s),i&&i.deregister&&i.deregister(s))}safeToRemove(){const{safeToRemove:n}=this.props;n&&n()}render(){return null}}function RM(e){const[n,r]=bD(),i=k.useContext(Hq);return t.jsx(zte,{...e,layoutGroup:i,switchLayoutGroup:k.useContext(SD),isPresent:n,safeToRemove:r})}const Ute={borderRadius:{...lp,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:lp,borderTopRightRadius:lp,borderBottomLeftRadius:lp,borderBottomRightRadius:lp,boxShadow:Bte};function Vte(e,n,r){const i=Fn(e)?e:zm(e);return i.start(qS("",i,n,r)),i.animation}function Wte(e){return e instanceof SVGElement&&e.tagName!=="svg"}const Hte=(e,n)=>e.depth-n.depth;class Gte{constructor(){this.children=[],this.isDirty=!1}add(n){hS(this.children,n),this.isDirty=!0}remove(n){fS(this.children,n),this.isDirty=!0}forEach(n){this.isDirty&&this.children.sort(Hte),this.isDirty=!1,this.children.forEach(n)}}function Kte(e,n){const r=xs.now(),i=({timestamp:s})=>{const a=s-r;a>=n&&(Ao(i),e(a-n))};return gt.read(i,!0),()=>Ao(i)}const DM=["TopLeft","TopRight","BottomLeft","BottomRight"],Qte=DM.length,cI=e=>typeof e=="string"?parseFloat(e):e,uI=e=>typeof e=="number"||je.test(e);function Yte(e,n,r,i,s,a){s?(e.opacity=Nt(0,r.opacity!==void 0?r.opacity:1,Jte(i)),e.opacityExit=Nt(n.opacity!==void 0?n.opacity:1,0,Xte(i))):a&&(e.opacity=Nt(n.opacity!==void 0?n.opacity:1,r.opacity!==void 0?r.opacity:1,i));for(let o=0;o<Qte;o++){const l=`border${DM[o]}Radius`;let c=dI(n,l),u=dI(r,l);if(c===void 0&&u===void 0)continue;c||(c=0),u||(u=0),c===0||u===0||uI(c)===uI(u)?(e[l]=Math.max(Nt(cI(c),cI(u),i),0),(gs.test(u)||gs.test(c))&&(e[l]+="%")):e[l]=u}(n.rotate||r.rotate)&&(e.rotate=Nt(n.rotate||0,r.rotate||0,i))}function dI(e,n){return e[n]!==void 0?e[n]:e.borderRadius}const Jte=MM(0,.5,rM),Xte=MM(.5,.95,Lr);function MM(e,n,r){return i=>i<e?0:i>n?1:r(Hu(e,n,i))}function pI(e,n){e.min=n.min,e.max=n.max}function Ur(e,n){pI(e.x,n.x),pI(e.y,n.y)}function mI(e,n){e.translate=n.translate,e.scale=n.scale,e.originPoint=n.originPoint,e.origin=n.origin}function hI(e,n,r,i,s){return e-=n,e=av(e,1/r,i),s!==void 0&&(e=av(e,1/s,i)),e}function Zte(e,n=0,r=1,i=.5,s,a=e,o=e){if(gs.test(n)&&(n=parseFloat(n),n=Nt(o.min,o.max,n/100)-o.min),typeof n!="number")return;let l=Nt(a.min,a.max,i);e===a&&(l-=n),e.min=hI(e.min,n,r,l,s),e.max=hI(e.max,n,r,l,s)}function fI(e,n,[r,i,s],a,o){Zte(e,n[r],n[i],n[s],n.scale,a,o)}const ene=["x","scaleX","originX"],tne=["y","scaleY","originY"];function gI(e,n,r,i){fI(e.x,n,ene,r?r.x:void 0,i?i.x:void 0),fI(e.y,n,tne,r?r.y:void 0,i?i.y:void 0)}function xI(e){return e.translate===0&&e.scale===1}function $M(e){return xI(e.x)&&xI(e.y)}function vI(e,n){return e.min===n.min&&e.max===n.max}function nne(e,n){return vI(e.x,n.x)&&vI(e.y,n.y)}function bI(e,n){return Math.round(e.min)===Math.round(n.min)&&Math.round(e.max)===Math.round(n.max)}function BM(e,n){return bI(e.x,n.x)&&bI(e.y,n.y)}function yI(e){return Or(e.x)/Or(e.y)}function jI(e,n){return e.translate===n.translate&&e.scale===n.scale&&e.originPoint===n.originPoint}class rne{constructor(){this.members=[]}add(n){hS(this.members,n),n.scheduleRender()}remove(n){if(fS(this.members,n),n===this.prevLead&&(this.prevLead=void 0),n===this.lead){const r=this.members[this.members.length-1];r&&this.promote(r)}}relegate(n){const r=this.members.findIndex(s=>n===s);if(r===0)return!1;let i;for(let s=r;s>=0;s--){const a=this.members[s];if(a.isPresent!==!1){i=a;break}}return i?(this.promote(i),!0):!1}promote(n,r){const i=this.lead;if(n!==i&&(this.prevLead=i,this.lead=n,n.show(),i)){i.instance&&i.scheduleRender(),n.scheduleRender(),n.resumeFrom=i,r&&(n.resumeFrom.preserveOpacity=!0),i.snapshot&&(n.snapshot=i.snapshot,n.snapshot.latestValues=i.animationValues||i.latestValues),n.root&&n.root.isUpdating&&(n.isLayoutDirty=!0);const{crossfade:s}=n.options;s===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(n=>{const{options:r,resumingFrom:i}=n;r.onExitComplete&&r.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(n=>{n.instance&&n.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function ine(e,n,r){let i="";const s=e.x.translate/n.x,a=e.y.translate/n.y,o=(r==null?void 0:r.z)||0;if((s||a||o)&&(i=`translate3d(${s}px, ${a}px, ${o}px) `),(n.x!==1||n.y!==1)&&(i+=`scale(${1/n.x}, ${1/n.y}) `),r){const{transformPerspective:u,rotate:d,rotateX:p,rotateY:m,skewX:h,skewY:g}=r;u&&(i=`perspective(${u}px) ${i}`),d&&(i+=`rotate(${d}deg) `),p&&(i+=`rotateX(${p}deg) `),m&&(i+=`rotateY(${m}deg) `),h&&(i+=`skewX(${h}deg) `),g&&(i+=`skewY(${g}deg) `)}const l=e.x.scale*n.x,c=e.y.scale*n.y;return(l!==1||c!==1)&&(i+=`scale(${l}, ${c})`),i||"none"}const dl={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},Bp=typeof window<"u"&&window.MotionDebug!==void 0,Z0=["","X","Y","Z"],sne={visibility:"hidden"},wI=1e3;let ane=0;function ej(e,n,r,i){const{latestValues:s}=n;s[e]&&(r[e]=s[e],n.setStaticValue(e,0),i&&(i[e]=0))}function zM(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:n}=e.options;if(!n)return;const r=YD(n);if(window.MotionHasOptimisedAnimation(r,"transform")){const{layout:s,layoutId:a}=e.options;window.MotionCancelOptimisedAnimation(r,"transform",gt,!(s||a))}const{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&zM(i)}function UM({attachResizeListener:e,defaultParent:n,measureScroll:r,checkIsScrollRoot:i,resetTransform:s}){return class{constructor(o={},l=n==null?void 0:n()){this.id=ane++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,Bp&&(dl.totalNodes=dl.resolvedTargetDeltas=dl.recalculatedProjection=0),this.nodes.forEach(cne),this.nodes.forEach(hne),this.nodes.forEach(fne),this.nodes.forEach(une),Bp&&window.MotionDebug.record(dl)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;c<this.path.length;c++)this.path[c].shouldResetTransform=!0;this.root===this&&(this.nodes=new Gte)}addEventListener(o,l){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new gS),this.eventHandlers.get(o).add(l)}notifyListeners(o,...l){const c=this.eventHandlers.get(o);c&&c.notify(...l)}hasListeners(o){return this.eventHandlers.has(o)}mount(o,l=this.root.hasTreeAnimated){if(this.instance)return;this.isSVG=Wte(o),this.instance=o;const{layoutId:c,layout:u,visualElement:d}=this.options;if(d&&!d.current&&d.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),l&&(u||c)&&(this.isLayoutDirty=!0),e){let p;const m=()=>this.root.updateBlockedByResize=!1;e(o,()=>{this.root.updateBlockedByResize=!0,p&&p(),p=Kte(m,250),px.hasAnimatedSinceResize&&(px.hasAnimatedSinceResize=!1,this.nodes.forEach(kI))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&d&&(c||u)&&this.addEventListener("didUpdate",({delta:p,hasLayoutChanged:m,hasRelativeTargetChanged:h,layout:g})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const f=this.options.transition||d.getDefaultTransition()||yne,{onLayoutAnimationStart:x,onLayoutAnimationComplete:v}=d.getProps(),b=!this.targetLayout||!BM(this.targetLayout,g)||h,y=!m&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||m&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(p,y);const N={...uS(f,"layout"),onPlay:x,onComplete:v};(d.shouldReduceMotion||this.options.layoutRoot)&&(N.delay=0,N.type=!1),this.startAnimation(N)}else m||kI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=g})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ao(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(gne),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&zM(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d<this.path.length;d++){const p=this.path[d];p.shouldResetTransform=!0,p.updateScroll("snapshot"),p.options.layoutRoot&&p.willUpdate(!1)}const{layoutId:l,layout:c}=this.options;if(l===void 0&&!c)return;const u=this.getTransformTemplate();this.prevTransformTemplateValue=u?u(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(NI);return}this.isUpdating||this.nodes.forEach(pne),this.isUpdating=!1,this.nodes.forEach(mne),this.nodes.forEach(one),this.nodes.forEach(lne),this.clearAllSnapshots();const l=xs.now();fn.delta=da(0,1e3/60,l-fn.timestamp),fn.timestamp=l,fn.isProcessing=!0,V0.update.process(fn),V0.preRender.process(fn),V0.render.process(fn),fn.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,eS.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(dne),this.sharedNodes.forEach(xne)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,gt.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){gt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let c=0;c<this.path.length;c++)this.path[c].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutCorrected=Rt(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:l}=this.options;l&&l.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let l=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(l=!1),l){const c=i(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:c,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:c}}}resetTransform(){if(!s)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,l=this.projectionDelta&&!$M(this.projectionDelta),c=this.getTransformTemplate(),u=c?c(this.latestValues,""):void 0,d=u!==this.prevTransformTemplateValue;o&&(l||ul(this.latestValues)||d)&&(s(this.instance,u),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const l=this.measurePageBox();let c=this.removeElementScroll(l);return o&&(c=this.removeTransform(c)),jne(c),{animationId:this.root.animationId,measuredBox:l,layoutBox:c,latestValues:{},source:this.id}}measurePageBox(){var o;const{visualElement:l}=this.options;if(!l)return Rt();const c=l.measureViewportBox();if(!(((o=this.scroll)===null||o===void 0?void 0:o.wasRoot)||this.path.some(wne))){const{scroll:d}=this.root;d&&(nu(c.x,d.offset.x),nu(c.y,d.offset.y))}return c}removeElementScroll(o){var l;const c=Rt();if(Ur(c,o),!((l=this.scroll)===null||l===void 0)&&l.wasRoot)return c;for(let u=0;u<this.path.length;u++){const d=this.path[u],{scroll:p,options:m}=d;d!==this.root&&p&&m.layoutScroll&&(p.wasRoot&&Ur(c,o),nu(c.x,p.offset.x),nu(c.y,p.offset.y))}return c}applyTransform(o,l=!1){const c=Rt();Ur(c,o);for(let u=0;u<this.path.length;u++){const d=this.path[u];!l&&d.options.layoutScroll&&d.scroll&&d!==d.root&&ru(c,{x:-d.scroll.offset.x,y:-d.scroll.offset.y}),ul(d.latestValues)&&ru(c,d.latestValues)}return ul(this.latestValues)&&ru(c,this.latestValues),c}removeTransform(o){const l=Rt();Ur(l,o);for(let c=0;c<this.path.length;c++){const u=this.path[c];if(!u.instance||!ul(u.latestValues))continue;y2(u.latestValues)&&u.updateSnapshot();const d=Rt(),p=u.measurePageBox();Ur(d,p),gI(l,u.latestValues,u.snapshot?u.snapshot.layoutBox:void 0,d)}return ul(this.latestValues)&&gI(l,this.latestValues),l}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==fn.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var l;const c=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=c.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=c.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=c.isSharedProjectionDirty);const u=!!this.resumingFrom||this!==c;if(!(o||u&&this.isSharedProjectionDirty||this.isProjectionDirty||!((l=this.parent)===null||l===void 0)&&l.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:p,layoutId:m}=this.options;if(!(!this.layout||!(p||m))){if(this.resolvedRelativeTargetAt=fn.timestamp,!this.targetDelta&&!this.relativeTarget){const h=this.getClosestProjectingParent();h&&h.layout&&this.animationProgress!==1?(this.relativeParent=h,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Rt(),this.relativeTargetOrigin=Rt(),sm(this.relativeTargetOrigin,this.layout.layoutBox,h.layout.layoutBox),Ur(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)){if(this.target||(this.target=Rt(),this.targetWithTransforms=Rt()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),qte(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Ur(this.target,this.layout.layoutBox),FM(this.target,this.targetDelta)):Ur(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const h=this.getClosestProjectingParent();h&&!!h.resumingFrom==!!this.resumingFrom&&!h.options.layoutScroll&&h.target&&this.animationProgress!==1?(this.relativeParent=h,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Rt(),this.relativeTargetOrigin=Rt(),sm(this.relativeTargetOrigin,this.target,h.target),Ur(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}Bp&&dl.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(!(!this.parent||y2(this.parent.latestValues)||LM(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var o;const l=this.getLead(),c=!!this.resumingFrom||this!==l;let u=!0;if((this.isProjectionDirty||!((o=this.parent)===null||o===void 0)&&o.isProjectionDirty)&&(u=!1),c&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(u=!1),this.resolvedRelativeTargetAt===fn.timestamp&&(u=!1),u)return;const{layout:d,layoutId:p}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||p))return;Ur(this.layoutCorrected,this.layout.layoutBox);const m=this.treeScale.x,h=this.treeScale.y;Fte(this.layoutCorrected,this.treeScale,this.path,c),l.layout&&!l.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(l.target=l.layout.layoutBox,l.targetWithTransforms=Rt());const{target:g}=l;if(!g){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(mI(this.prevProjectionDelta.x,this.projectionDelta.x),mI(this.prevProjectionDelta.y,this.projectionDelta.y)),im(this.projectionDelta,this.layoutCorrected,g,this.latestValues),(this.treeScale.x!==m||this.treeScale.y!==h||!jI(this.projectionDelta.x,this.prevProjectionDelta.x)||!jI(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",g)),Bp&&dl.recalculatedProjection++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){var l;if((l=this.options.visualElement)===null||l===void 0||l.scheduleRender(),o){const c=this.getStack();c&&c.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=tu(),this.projectionDelta=tu(),this.projectionDeltaWithTransform=tu()}setAnimationOrigin(o,l=!1){const c=this.snapshot,u=c?c.latestValues:{},d={...this.latestValues},p=tu();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!l;const m=Rt(),h=c?c.source:void 0,g=this.layout?this.layout.source:void 0,f=h!==g,x=this.getStack(),v=!x||x.members.length<=1,b=!!(f&&!v&&this.options.crossfade===!0&&!this.path.some(bne));this.animationProgress=0;let y;this.mixTargetDelta=N=>{const j=N/1e3;qI(p.x,o.x,j),qI(p.y,o.y,j),this.setTargetDelta(p),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(sm(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox),vne(this.relativeTarget,this.relativeTargetOrigin,m,j),y&&nne(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Rt()),Ur(y,this.relativeTarget)),f&&(this.animationValues=d,Yte(d,u,this.latestValues,j,b,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=j},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ao(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=gt.update(()=>{px.hasAnimatedSinceResize=!0,this.currentAnimation=Vte(0,wI,{...o,onUpdate:l=>{this.mixTargetDelta(l),o.onUpdate&&o.onUpdate(l)},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(wI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:l,target:c,layout:u,latestValues:d}=o;if(!(!l||!c||!u)){if(this!==o&&this.layout&&u&&VM(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||Rt();const p=Or(this.layout.layoutBox.x);c.x.min=o.target.x.min,c.x.max=c.x.min+p;const m=Or(this.layout.layoutBox.y);c.y.min=o.target.y.min,c.y.max=c.y.min+m}Ur(l,c),ru(l,d),im(this.projectionDeltaWithTransform,this.layoutCorrected,l,d)}}registerSharedNode(o,l){this.sharedNodes.has(o)||this.sharedNodes.set(o,new rne),this.sharedNodes.get(o).add(l);const u=l.options.initialPromotionConfig;l.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(l):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var o;const{layoutId:l}=this.options;return l?((o=this.getStack())===null||o===void 0?void 0:o.lead)||this:this}getPrevLead(){var o;const{layoutId:l}=this.options;return l?(o=this.getStack())===null||o===void 0?void 0:o.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:l,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),o&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let l=!1;const{latestValues:c}=o;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const u={};c.z&&ej("z",o,u,this.animationValues);for(let d=0;d<Z0.length;d++)ej(`rotate${Z0[d]}`,o,u,this.animationValues),ej(`skew${Z0[d]}`,o,u,this.animationValues);o.render();for(const d in u)o.setStaticValue(d,u[d]),this.animationValues&&(this.animationValues[d]=u[d]);o.scheduleRender()}getProjectionStyles(o){var l,c;if(!this.instance||this.isSVG)return;if(!this.isVisible)return sne;const u={visibility:""},d=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,u.opacity="",u.pointerEvents=ux(o==null?void 0:o.pointerEvents)||"",u.transform=d?d(this.latestValues,""):"none",u;const p=this.getLead();if(!this.projectionDelta||!this.layout||!p.target){const f={};return this.options.layoutId&&(f.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,f.pointerEvents=ux(o==null?void 0:o.pointerEvents)||""),this.hasProjected&&!ul(this.latestValues)&&(f.transform=d?d({},""):"none",this.hasProjected=!1),f}const m=p.animationValues||p.latestValues;this.applyTransformsToTarget(),u.transform=ine(this.projectionDeltaWithTransform,this.treeScale,m),d&&(u.transform=d(m,u.transform));const{x:h,y:g}=this.projectionDelta;u.transformOrigin=`${h.origin*100}% ${g.origin*100}% 0`,p.animationValues?u.opacity=p===this?(c=(l=m.opacity)!==null&&l!==void 0?l:this.latestValues.opacity)!==null&&c!==void 0?c:1:this.preserveOpacity?this.latestValues.opacity:m.opacityExit:u.opacity=p===this?m.opacity!==void 0?m.opacity:"":m.opacityExit!==void 0?m.opacityExit:0;for(const f in tv){if(m[f]===void 0)continue;const{correct:x,applyTo:v}=tv[f],b=u.transform==="none"?m[f]:x(m[f],p);if(v){const y=v.length;for(let N=0;N<y;N++)u[v[N]]=b}else u[f]=b}return this.options.layoutId&&(u.pointerEvents=p===this?ux(o==null?void 0:o.pointerEvents)||"":"none"),u}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var l;return(l=o.currentAnimation)===null||l===void 0?void 0:l.stop()}),this.root.nodes.forEach(NI),this.root.sharedNodes.clear()}}}function one(e){e.updateLayout()}function lne(e){var n;const r=((n=e.resumeFrom)===null||n===void 0?void 0:n.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&r&&e.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:s}=e.layout,{animationType:a}=e.options,o=r.source!==e.layout.source;a==="size"?Qr(p=>{const m=o?r.measuredBox[p]:r.layoutBox[p],h=Or(m);m.min=i[p].min,m.max=m.min+h}):VM(a,r.layoutBox,i)&&Qr(p=>{const m=o?r.measuredBox[p]:r.layoutBox[p],h=Or(i[p]);m.max=m.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[p].max=e.relativeTarget[p].min+h)});const l=tu();im(l,i,r.layoutBox);const c=tu();o?im(c,e.applyTransform(s,!0),r.measuredBox):im(c,i,r.layoutBox);const u=!$M(l);let d=!1;if(!e.resumeFrom){const p=e.getClosestProjectingParent();if(p&&!p.resumeFrom){const{snapshot:m,layout:h}=p;if(m&&h){const g=Rt();sm(g,r.layoutBox,m.layoutBox);const f=Rt();sm(f,i,h.layoutBox),BM(g,f)||(d=!0),p.options.layoutRoot&&(e.relativeTarget=f,e.relativeTargetOrigin=g,e.relativeParent=p)}}}e.notifyListeners("didUpdate",{layout:i,snapshot:r,delta:c,layoutDelta:l,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:i}=e.options;i&&i()}e.options.transition=void 0}function cne(e){Bp&&dl.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function une(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function dne(e){e.clearSnapshot()}function NI(e){e.clearMeasurements()}function pne(e){e.isLayoutDirty=!1}function mne(e){const{visualElement:n}=e.options;n&&n.getProps().onBeforeLayoutMeasure&&n.notify("BeforeLayoutMeasure"),e.resetTransform()}function kI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function hne(e){e.resolveTargetDelta()}function fne(e){e.calcProjection()}function gne(e){e.resetSkewAndRotation()}function xne(e){e.removeLeadSnapshot()}function qI(e,n,r){e.translate=Nt(n.translate,0,r),e.scale=Nt(n.scale,1,r),e.origin=n.origin,e.originPoint=n.originPoint}function SI(e,n,r,i){e.min=Nt(n.min,r.min,i),e.max=Nt(n.max,r.max,i)}function vne(e,n,r,i){SI(e.x,n.x,r.x,i),SI(e.y,n.y,r.y,i)}function bne(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const yne={duration:.45,ease:[.4,0,.1,1]},CI=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),PI=CI("applewebkit/")&&!CI("chrome/")?Math.round:Lr;function EI(e){e.min=PI(e.min),e.max=PI(e.max)}function jne(e){EI(e.x),EI(e.y)}function VM(e,n,r){return e==="position"||e==="preserve-aspect"&&!kte(yI(n),yI(r),.2)}function wne(e){var n;return e!==e.root&&((n=e.scroll)===null||n===void 0?void 0:n.wasRoot)}const Nne=UM({attachResizeListener:(e,n)=>Vm(e,"resize",n),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),tj={current:void 0},WM=UM({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!tj.current){const e=new Nne({});e.mount(window),e.setOptions({layoutScroll:!0}),tj.current=e}return tj.current},resetTransform:(e,n)=>{e.style.transform=n!==void 0?n:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),kne={pan:{Feature:$te},drag:{Feature:Mte,ProjectionNode:WM,MeasureLayout:RM}};function TI(e,n,r){const{props:i}=e;e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",r==="Start");const s="onHover"+r,a=i[s];a&&gt.postRender(()=>a(n,rf(n)))}class qne extends Mo{mount(){const{current:n}=this.node;n&&(this.unmount=qZ(n,r=>(TI(this.node,r,"Start"),i=>TI(this.node,i,"End"))))}unmount(){}}class Sne extends Mo{constructor(){super(...arguments),this.isActive=!1}onFocus(){let n=!1;try{n=this.node.current.matches(":focus-visible")}catch{n=!0}!n||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=nf(Vm(this.node.current,"focus",()=>this.onFocus()),Vm(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function II(e,n,r){const{props:i}=e;e.animationState&&i.whileTap&&e.animationState.setActive("whileTap",r==="Start");const s="onTap"+(r==="End"?"":r),a=i[s];a&&gt.postRender(()=>a(n,rf(n)))}class Cne extends Mo{mount(){const{current:n}=this.node;n&&(this.unmount=EZ(n,r=>(II(this.node,r,"Start"),(i,{success:s})=>II(this.node,i,s?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const w2=new WeakMap,nj=new WeakMap,Pne=e=>{const n=w2.get(e.target);n&&n(e)},Ene=e=>{e.forEach(Pne)};function Tne({root:e,...n}){const r=e||document;nj.has(r)||nj.set(r,{});const i=nj.get(r),s=JSON.stringify(n);return i[s]||(i[s]=new IntersectionObserver(Ene,{root:e,...n})),i[s]}function Ine(e,n,r){const i=Tne(n);return w2.set(e,r),i.observe(e),()=>{w2.delete(e),i.unobserve(e)}}const Ane={some:0,all:1};class Lne extends Mo{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:n={}}=this.node.getProps(),{root:r,margin:i,amount:s="some",once:a}=n,o={root:r?r.current:void 0,rootMargin:i,threshold:typeof s=="number"?s:Ane[s]},l=c=>{const{isIntersecting:u}=c;if(this.isInView===u||(this.isInView=u,a&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:p}=this.node.getProps(),m=u?d:p;m&&m(c)};return Ine(this.node.current,o,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:n,prevProps:r}=this.node;["amount","margin","root"].some(Fne(n,r))&&this.startObserver()}unmount(){}}function Fne({viewport:e={}},{viewport:n={}}={}){return r=>e[r]!==n[r]}const _ne={inView:{Feature:Lne},tap:{Feature:Cne},focus:{Feature:Sne},hover:{Feature:qne}},One={layout:{ProjectionNode:WM,MeasureLayout:RM}},N2={current:null},HM={current:!1};function Rne(){if(HM.current=!0,!!Qq)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),n=()=>N2.current=e.matches;e.addListener(n),n()}else N2.current=!1}const Dne=[...xM,En,Lo],Mne=e=>Dne.find(gM(e)),AI=new WeakMap;function $ne(e,n,r){for(const i in n){const s=n[i],a=r[i];if(Fn(s))e.addValue(i,s);
vendor: 4,130 bytes, line 596
596else if(Fn(a))e.addValue(i,zm(s,{owner:e}));else if(a!==s)if(e.hasValue(i)){const o=e.getValue(i);o.liveStyle===!0?o.jump(s):o.hasAnimated||o.set(s)}else{const o=e.getStaticValue(i);e.addValue(i,zm(o!==void 0?o:s,{owner:e}))}}for(const i in r)n[i]===void 0&&e.removeValue(i);return n}const LI=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Bne{scrapeMotionValuesFromProps(n,r,i){return{}}constructor({parent:n,props:r,presenceContext:i,reducedMotionConfig:s,blockInitialAnimation:a,visualState:o},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=wS,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const h=xs.now();this.renderScheduledAt<h&&(this.renderScheduledAt=h,gt.render(this.render,!1,!0))};const{latestValues:c,renderState:u,onUpdate:d}=o;this.onUpdate=d,this.latestValues=c,this.baseTarget={...c},this.initialValues=r.initial?{...c}:{},this.renderState=u,this.parent=n,this.props=r,this.presenceContext=i,this.depth=n?n.depth+1:0,this.reducedMotionConfig=s,this.options=l,this.blockInitialAnimation=!!a,this.isControllingVariants=Zb(r),this.isVariantNode=kD(r),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(n&&n.current);const{willChange:p,...m}=this.scrapeMotionValuesFromProps(r,{},this);for(const h in m){const g=m[h];c[h]!==void 0&&Fn(g)&&g.set(c[h],!1)}}mount(n){this.current=n,AI.set(n,this),this.projection&&!this.projection.instance&&this.projection.mount(n),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((r,i)=>this.bindToMotionValue(i,r)),HM.current||Rne(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:N2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){AI.delete(this.current),this.projection&&this.projection.unmount(),Ao(this.notifyUpdate),Ao(this.render),this.valueSubscriptions.forEach(n=>n()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const n in this.events)this.events[n].clear();for(const n in this.features){const r=this.features[n];r&&(r.unmount(),r.isMounted=!1)}this.current=null}bindToMotionValue(n,r){this.valueSubscriptions.has(n)&&this.valueSubscriptions.get(n)();const i=pc.has(n),s=r.on("change",l=>{this.latestValues[n]=l,this.props.onUpdate&&gt.preRender(this.notifyUpdate),i&&this.projection&&(this.projection.isTransformDirty=!0)}),a=r.on("renderRequest",this.scheduleRender);let o;window.MotionCheckAppearSync&&(o=window.MotionCheckAppearSync(this,n,r)),this.valueSubscriptions.set(n,()=>{s(),a(),o&&o(),r.owner&&r.stop()})}sortNodePosition(n){return!this.current||!this.sortInstanceNodePosition||this.type!==n.type?0:this.sortInstanceNodePosition(this.current,n.current)}updateFeatures(){let n="animation";for(n in Gu){const r=Gu[n];if(!r)continue;const{isEnabled:i,Feature:s}=r;if(!this.features[n]&&s&&i(this.props)&&(this.features[n]=new s(this)),this.features[n]){const a=this.features[n];a.isMounted?a.update():(a.mount(),a.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Rt()}getStaticValue(n){return this.latestValues[n]}setStaticValue(n,r){this.latestValues[n]=r}update(n,r){(n.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=n,this.prevPresenceContext=this.presenceContext,this.presenceContext=r;
vendor: 4,160 bytes, line 596
596for(let i=0;i<LI.length;i++){const s=LI[i];this.propEventSubscriptions[s]&&(this.propEventSubscriptions[s](),delete this.propEventSubscriptions[s]);const a="on"+s,o=n[a];o&&(this.propEventSubscriptions[s]=this.on(s,o))}this.prevMotionValues=$ne(this,this.scrapeMotionValuesFromProps(n,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue(),this.onUpdate&&this.onUpdate(this)}getProps(){return this.props}getVariant(n){return this.props.variants?this.props.variants[n]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(n){const r=this.getClosestVariantNode();if(r)return r.variantChildren&&r.variantChildren.add(n),()=>r.variantChildren.delete(n)}addValue(n,r){const i=this.values.get(n);r!==i&&(i&&this.removeValue(n),this.bindToMotionValue(n,r),this.values.set(n,r),this.latestValues[n]=r.get())}removeValue(n){this.values.delete(n);const r=this.valueSubscriptions.get(n);r&&(r(),this.valueSubscriptions.delete(n)),delete this.latestValues[n],this.removeValueFromRenderState(n,this.renderState)}hasValue(n){return this.values.has(n)}getValue(n,r){if(this.props.values&&this.props.values[n])return this.props.values[n];let i=this.values.get(n);return i===void 0&&r!==void 0&&(i=zm(r===null?void 0:r,{owner:this}),this.addValue(n,i)),i}readValue(n,r){var i;let s=this.latestValues[n]!==void 0||!this.current?this.latestValues[n]:(i=this.getBaseTargetFromProps(this.props,n))!==null&&i!==void 0?i:this.readValueFromInstance(this.current,n,this.options);return s!=null&&(typeof s=="string"&&(hM(s)||sM(s))?s=parseFloat(s):!Mne(s)&&Lo.test(r)&&(s=dM(n,r)),this.setBaseTarget(n,Fn(s)?s.get():s)),Fn(s)?s.get():s}setBaseTarget(n,r){this.baseTarget[n]=r}getBaseTarget(n){var r;const{initial:i}=this.props;let s;if(typeof i=="string"||typeof i=="object"){const o=nS(this.props,i,(r=this.presenceContext)===null||r===void 0?void 0:r.custom);o&&(s=o[n])}if(i&&s!==void 0)return s;const a=this.getBaseTargetFromProps(this.props,n);return a!==void 0&&!Fn(a)?a:this.initialValues[n]!==void 0&&s===void 0?void 0:this.baseTarget[n]}on(n,r){return this.events[n]||(this.events[n]=new gS),this.events[n].add(r)}notify(n,...r){this.events[n]&&this.events[n].notify(...r)}}class GM extends Bne{constructor(){super(...arguments),this.KeyframeResolver=vM}sortInstanceNodePosition(n,r){return n.compareDocumentPosition(r)&2?1:-1}getBaseTargetFromProps(n,r){return n.style?n.style[r]:void 0}removeValueFromRenderState(n,{vars:r,style:i}){delete r[n],delete i[n]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:n}=this.props;Fn(n)&&(this.childSubscription=n.on("change",r=>{this.current&&(this.current.textContent=`${r}`)}))}}function zne(e){return window.getComputedStyle(e)}class Une extends GM{constructor(){super(...arguments),this.type="html",this.renderInstance=LD}readValueFromInstance(n,r){if(pc.has(r)){const i=jS(r);return i&&i.default||0}else{const i=zne(n),s=(TD(r)?i.getPropertyValue(r):i[r])||0;return typeof s=="string"?s.trim():s}}measureInstanceViewportBox(n,{transformPagePoint:r}){return _M(n,r)}build(n,r,i){sS(n,r,i.transformTemplate)}scrapeMotionValuesFromProps(n,r,i){return cS(n,r,i)}}class Vne extends GM{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Rt}getBaseTargetFromProps(n,r){return n[r]}readValueFromInstance(n,r){if(pc.has(r)){const i=jS(r);return i&&i.default||0}return r=FD.has(r)?r:Zq(r),n.getAttribute(r)}scrapeMotionValuesFromProps(n,r,i){return RD(n,r,i)}build(n,r,i){aS(n,r,this.isSVGTag,i.transformTemplate)}renderInstance(n,r,i,s){_D(n,r,i,s)}mount(n){this.isSVGTag=lS(n.tagName),super.mount(n)}}const Wne=(e,n)=>tS(e)?new Vne(n):new Une(n,{allowProjection:e!==k.Fragment}),Hne=bZ({...fte,..._ne,...kne,...One},Wne),S=FX(Hne),Gne={some:0,all:1};function Kne(e,n,{root:r,margin:i,amount:s="some"}={}){const a=WD(e),o=new WeakMap,l=u=>{u.forEach(d=>{const p=o.get(d.target);
596if(d.isIntersecting!==!!p)if(d.isIntersecting){const m=n(d);typeof m=="function"?o.set(d.target,m):c.unobserve(d.target)}else typeof p=="function"&&(p(d),o.delete(d.target))})},c=new IntersectionObserver(l,{root:r,rootMargin:i,threshold:typeof s=="number"?s:Gne[s]});return a.forEach(u=>c.observe(u)),()=>c.disconnect()}function Qne(e,{root:n,margin:r,amount:i,once:s=!1}={}){const[a,o]=k.useState(!1);return k.useEffect(()=>{if(!e.current||s&&a)return;const l=()=>(o(!0),s?void 0:()=>o(!1)),c={root:n&&n.current||void 0,margin:r,amount:i};return Kne(e.current,l,c)},[n,e,r,s,i]),a}const Yne="/assets/logo-colbr-tg0QQXGG.png",KM=k.createContext(null),QM="colbr.lang";function Jne(){if(typeof window>"u")return"fr";const e=window.localStorage.getItem(QM);return e==="fr"||e==="en"?e:(window.navigator.language||"fr").toLowerCase().startsWith("fr")?"fr":"en"}function Xne({children:e}){const[n,r]=k.useState(Jne);k.useEffect(()=>{typeof document<"u"&&(document.documentElement.lang=n)},[n]);const i=a=>{r(a);try{window.localStorage.setItem(QM,a)}catch{}},s=(a,o)=>n==="en"?o:a;return t.jsx(KM.Provider,{value:{lang:n,setLang:i,tr:s},children:e})}function K(){const e=k.useContext(KM);if(!e)throw new Error("useLang must be used within a LanguageProvider");return e}const FI=({variant:e="navbar"})=>{const{lang:n,setLang:r}=K(),i=[{value:"fr",label:"FR"},{value:"en",label:"EN"}];return e==="mobile"?t.jsxs("div",{className:"inline-flex items-center gap-2 mt-2 text-[11px] tracking-[0.15em] uppercase text-foreground/60",children:[t.jsx(mr,{className:"w-3 h-3","aria-hidden":!0}),i.map((s,a)=>t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx("button",{type:"button",onClick:()=>r(s.value),"aria-pressed":n===s.value,className:`transition-colors ${n===s.value?"text-foreground font-semibold":"hover:text-foreground"}`,children:s.label}),a===0&&t.jsx("span",{className:"text-foreground/20",children:"/"})]},s.value))]}):t.jsxs("div",{role:"group","aria-label":"Language selector",className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-full border border-border/60 bg-background/40 backdrop-blur-sm",children:[t.jsx(mr,{className:"w-3 h-3 text-foreground/50","aria-hidden":!0}),i.map((s,a)=>t.jsxs("span",{className:"flex items-center",children:[t.jsx("button",{type:"button",onClick:()=>r(s.value),"aria-pressed":n===s.value,className:`text-[11px] font-semibold tracking-wider transition-colors px-1 ${n===s.value?"text-secondary":"text-foreground/50 hover:text-foreground"}`,children:s.label}),a===0&&t.jsx("span",{className:"text-foreground/20 text-[11px]",children:"·"})]},s.value))]})},rj="group inline-flex items-center gap-1.5 py-2 text-[15px] font-medium leading-6 text-foreground/80 hover:text-foreground focus-visible:outline-none focus-visible:text-foreground transition-colors duration-200",ij="w-3.5 h-3.5 shrink-0 transition-transform duration-200",sj="bg-card/95 backdrop-blur-xl border border-border/60 rounded-2xl shadow-[0_20px_60px_-15px_rgba(28,51,127,0.25)] overflow-hidden",wc="group/item relative block px-4 py-3 rounded-xl hover:bg-muted/60 focus-visible:outline-none focus-visible:bg-muted/60 transition-colors duration-200",Yo="text-[14px] font-semibold leading-5 text-foreground group-hover/item:text-secondary transition-colors duration-200",Aa="block text-[12px] leading-[1.5] text-muted-foreground mt-1",Jf="block text-[10px] font-semibold leading-4 tracking-[0.18em] uppercase text-secondary mb-3 pb-2 border-b border-border/50",Jo="shrink-0 text-[9px] leading-none tracking-[0.14em] uppercase font-semibold px-1.5 py-1 rounded-full",_I="w-3 h-3 shrink-0 text-foreground/40 ml-auto group-hover/item:text-secondary group-hover/item:translate-x-0.5 group-hover/item:-translate-y-0.5 transition-all duration-200",aj="flex items-center justify-between w-full min-h-[44px] py-1 text-[14px] font-semibold leading-5 text-foreground hover:text-secondary transition-colors duration-200",Xo="block py-2 group/item",Zo="text-[14px] font-medium leading-5 text-foreground group-hover/item:text-secondary transition-colors duration-200",La="block text-[12px] leading-[1.5] text-muted-foreground mt-0.5",ne=()=>{const{tr:e}=K(),n=[{label:e("Family Office","Family Office"),to:"/family-office",desc:e("À partir de 5 M€","From €5M"),detail:e("Un dispositif complet pour structurer, protéger et transmettre un patrimoine d'exception.","A complete framework to 
596structure, protect and pass on exceptional wealth.")},{label:e("Gestion Privée","Private Wealth"),to:"/gestion-privee",desc:e("À partir de 50 000 €","From €50,000"),detail:e("Un conseiller dédié pour construire et piloter une stratégie patrimoniale sur mesure.","A dedicated advisor to build and steer a bespoke wealth strategy.")},{label:e("Investissement","Investing"),to:"/essentiel",desc:"—",detail:e("Construisez et pilotez votre patrimoine en toute autonomie, avec une sélection rigoureuse de placements et des outils digitaux.","Build and steer your wealth independently, with a rigorous selection of investments and digital tools.")},{label:e("Ingénierie patrimoniale","Wealth Engineering"),to:"/ingenierie-patrimoniale",desc:e("Structuration & fiscalité","Structuring & taxation"),detail:e("Holding, apport-cession, démembrement, expatriation : un ingénieur patrimonial construit le cadre juridique et fiscal de vos opérations, en amont de tout placement.","Holding structures, rollover relief, dismemberment, expatriation: a wealth engineer builds the legal and tax framework of your operations, ahead of any investment.")},{label:e("Impôt & déclaration","Tax & filing"),to:"/impot-declaration",desc:e("Optimisation & conformité","Optimisation & compliance"),detail:e("Réduisez votre pression fiscale et sécurisez vos déclarations avec l'appui de nos ingénieurs patrimoniaux.","Reduce your tax burden and secure your filings with the support of our wealth engineers.")}],r=[{title:e("ENVELOPPES","WRAPPERS"),items:[{label:e("Assurance-vie","Life Insurance"),to:"/assurance-vie",desc:e("Le socle de l'épargne","The savings foundation")},{label:"Colbr Life",to:"/colbr-life",badge:e("Nouveau","New"),desc:e("Gestion pilotée Suravenir","Suravenir managed allocation")},{label:e("Assurance-vie mineur","Minor Life Insurance"),to:"/assurance-vie-mineur",desc:e("Capital pour vos enfants","Capital for your children")},{label:e("PEA","PEA (Equity Plan)"),to:"/plan-epargne-actions",desc:e("Actions européennes","European equities")},{label:e("Compte-titres","Securities Account"),to:"/compte-titres",desc:e("Marchés mondiaux, sans plafond","Global markets, no ceiling")}]},{title:e("INVESTISSEMENT","INVESTING"),items:[{label:"Private Equity",to:"/private-equity",desc:e("Fonds institutionnels","Institutional funds")},{label:e("SCPI","SCPI (Real Estate)"),to:"/scpi",desc:e("Immobilier de rendement","Income real estate")},{label:e("Club deal","Club Deal"),to:"/club-deal",desc:e("Opérations sélectionnées","Selected operations")},{label:"Crypto",to:"/crypto",badge:e("Nouveau","New"),desc:e("Actifs numériques encadrés","Framed digital assets")},{label:e("Sur Mesure","Bespoke"),to:"/produits-structures",desc:e("Produits structurés sur mesure","Bespoke structured products")}]},{title:e("INTERNATIONAL","INTERNATIONAL"),items:[{label:"Luxembourg",to:"/assurance-vie-luxembourgeoise",desc:e("Contrat d'assurance-vie luxembourgeois","Luxembourg life insurance contract")},{label:e("Suisse","Switzerland"),to:"/suisse",desc:e("Détention bancaire sur demande","Bank custody on request")}]},{title:e("FISCALITÉ","TAXATION"),to:"/dispositifs-fiscaux",items:[{label:e("Plan Épargne Retraite","Retirement Plan (PER)"),to:"/plan-epargne-retraite",desc:e("Lissage de la tranche marginale","Smoothing the marginal bracket")},{label:e("Groupement forestier","Forestry Group"),to:"/groupement-forestier",desc:e("Actif réel & transmission","Real asset & transfer")},{label:e("FCPI","FCPI (Innovation Funds)"),to:"/fcpi",desc:e("Exposition non cotée encadrée","Framed private-market exposure")},{label:"Denormandie",to:"/denormandie",desc:e("Immobilier de rendement structuré","Structured income property")},{label:"Girardin",to:"/girardin",desc:e("Traitement d'une année exceptionnelle","Handling an exceptional year")}]},{title:e("FINANCEMENT","FINANCING"),items:[{label:e("Crédit Lombard","Lombard Credit"),to:"/credit-lombard",desc:e("Avance sur portefeuille","Advance on portfolio")},{label:e("Crédit hypothécaire","Mortgage Credit"),to:"/credit-hypothecaire",desc:e("La pierre comme levier","Property as leverage")},{label:e("Financements complexes","Complex Financing"),to:"/financements-complexes",desc:e("Holding, haut de bilan, actifs atypiques","Holdings, equity deals, atypical assets")},{label:e("Crédit SCPI","SCPI Credit"),to:"/simulateur-credit-scpi",desc:e("Simulateur d'acquisition à crédit","Leveraged purchase simulator")}]}],[i,s]=k.useState(!1),[a,o]=k.useState(!1),[l,c]=k.useState(!1),[u,d]=k.useState(!1),[p,m]=k.useState(!1),[h,g]=k.useState(!1),[f,x]=k.useState(!1),[v,b]=k.useState(!1),y=k.useRef(null),N=k.useRef(null),j=k.useRef(null);k.useEffect(()=>{const q=P=>{y.current&&!y.current.contains(P.target)&&o(!1),N.current&&!N.current.contains(P.target)&&c(!1),j.current&&!j.current.contains(P.target)&&d(!1)};return document.addEventListener("mousedown",q),()=>document.removeEventListener("mousedown",q)},[]),k.useEffect(()=>{const q=()=>b(window.scrollY>20);return window.addEventListener("scroll",q),()=>window.removeEventListener("scroll",q)},[]);const w=()=>{s(!1),m(!1),g(!1),x(!1)};return t.jsxs(S.nav,{initial:{opacity:0}
596,animate:{opacity:1},transition:{duration:.8,delay:.2},className:`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ${v?"bg-background/95 backdrop-blur-md border-b border-border/50 shadow-sm":"bg-transparent"}`,children:[t.jsxs("div",{className:"container flex items-center justify-between h-20 max-w-7xl mx-auto px-6",children:[t.jsx("div",{className:"flex-1 flex items-center",children:t.jsx(C,{to:"/",className:"flex items-center",children:t.jsx("img",{src:Yne,alt:e("Colbr — Gestion de patrimoine et Family Office","Colbr — Wealth Management and Family Office"),className:"h-8"})})}),t.jsxs("div",{className:"hidden md:flex items-center gap-10 text-[15px] font-medium text-foreground/85",children:[t.jsxs("div",{ref:y,className:"relative",children:[t.jsxs("button",{onClick:()=>{o(!a),c(!1)},className:rj,children:[t.jsxs("span",{className:"relative",children:[e("Services","Services"),t.jsx("span",{className:`absolute -bottom-1 left-0 h-[2px] bg-secondary transition-all duration-300 ${a?"w-full":"w-0 group-hover:w-full"}`})]}),t.jsx(rt,{className:`${ij} ${a?"rotate-180":""}`})]}),t.jsx(cx,{children:a&&t.jsxs(S.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:8},transition:{duration:.2},className:`absolute top-full left-1/2 -translate-x-1/2 mt-4 w-[380px] ${sj}`,children:[t.jsx("div",{className:"absolute inset-x-0 top-0 h-[2px] bg-gradient-signature"}),t.jsx("div",{className:"p-2 space-y-0.5",children:n.map(q=>t.jsxs(C,{to:q.to,onClick:()=>o(!1),className:wc,children:[t.jsx("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 h-0 w-[3px] rounded-r-full bg-gradient-signature group-hover/item:h-8 transition-all duration-300"}),t.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[t.jsx("span",{className:Yo,children:q.label}),t.jsx("span",{className:"shrink-0 text-[11px] leading-4 font-medium tracking-wide text-muted-foreground/80 whitespace-nowrap",children:q.desc})]}),t.jsx("span",{className:Aa,children:q.detail})]},q.label))})]})})]}),t.jsxs("div",{ref:N,className:"relative",children:[t.jsxs("button",{onClick:()=>{c(!l),o(!1)},className:rj,children:[t.jsxs("span",{className:"relative",children:[e("Produits","Products"),t.jsx("span",{className:`absolute -bottom-1 left-0 h-[2px] bg-secondary transition-all duration-300 ${l?"w-full":"w-0 group-hover:w-full"}`})]}),t.jsx(rt,{className:`${ij} ${l?"rotate-180":""}`})]}),t.jsx(cx,{children:l&&t.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 pt-4 w-[min(1080px,calc(100vw-3rem))]",children:t.jsxs(S.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:8},transition:{duration:.2},className:`relative w-full p-7 ${sj}`,children:[t.jsx("div",{className:"absolute inset-x-0 top-0 h-[2px] bg-gradient-signature"}),t.jsx("div",{className:"grid grid-cols-5 gap-x-6 gap-y-8 divide-x divide-border/40",children:r.map(q=>t.jsxs("div",{className:"relative px-4 first:pl-0 last:pr-0",children:[q.to?t.jsx(C,{to:q.to,onClick:()=>c(!1),className:`${Jf} hover:text-secondary/70 transition-colors duration-200`,children:q.title}):t.jsx("span",{className:Jf,children:q.title}),t.jsx("ul",{className:"space-y-0.5",children:q.items.map(P=>t.jsx("li",{children:P.to?t.jsxs(C,{to:P.to,onClick:()=>c(!1),className:"group/item block rounded-lg px-2.5 py-2 -mx-2.5 hover:bg-muted/60 focus-visible:outline-none focus-visible:bg-muted/60 transition-colors duration-200",children:[t.jsxs("span",{className:"flex items-center gap-2",children:[t.jsx("span",{className:Yo,children:P.label}),P.badge&&t.jsx("span",{className:`${Jo} text-primary/80 bg-primary/10`,children:P.badge})]}),P.desc&&t.jsx("span",{className:Aa,children:P.desc})]}):t.jsxs("div",{className:"block rounded-lg px-2.5 py-2 -mx-2.5 cursor-default",children:[t.jsxs("span",{className:"flex items-center gap-2 text-[14px] font-semibold leading-5 text-foreground/45",children:[P.label,t.jsx("span",{className:`${Jo} text-muted-foreground/80 bg-muted`,children:e("Sur demande","On request")})]}),P.desc&&t.jsx("span",{className:`${Aa} text-muted-foreground/70`,children:P.desc})]})},P.label))})]},q.title))})]})})})]}),t.jsxs("div",{ref:j,className:"relative",children:[t.jsxs("button",{onClick:()=>{d(!u),o(!1),c(!1)},className:rj,children:[t.jsxs("span",{className:"relative",children:[e("Ressources","Resources"),t.jsx("span",{className:`absolute -bottom-1 left-0 h-[2px] bg-secondary transition-all duration-300 ${u?"w-full":"w-0 group-hover:w-full"}`})]}),t.jsx(rt,{className:`${ij} ${u?"rotate-180":""}`})]}),t.jsx(cx,{children:u&&t.jsxs(S.div,{initial:{opacity:0,y:8}
596,animate:{opacity:1,y:0},exit:{opacity:0,y:8},transition:{duration:.2},className:`absolute top-full left-1/2 -translate-x-1/2 mt-4 w-[380px] ${sj}`,children:[t.jsx("div",{className:"absolute inset-x-0 top-0 h-[2px] bg-gradient-signature"}),t.jsxs("div",{className:"p-2 space-y-0.5",children:[t.jsxs("a",{href:"https://fiscaly.ai",target:"_blank",rel:"noopener noreferrer",onClick:()=>d(!1),className:wc,children:[t.jsx("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 h-0 w-[3px] rounded-r-full bg-gradient-signature group-hover/item:h-8 transition-all duration-300"}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:Yo,children:"Fiscaly.ai"}),t.jsx("span",{className:`${Jo} text-accent bg-accent/10`,children:"Beta"}),t.jsx("svg",{className:_I,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]}),t.jsx("span",{className:Aa,children:e("Votre copilote IA pour optimiser votre fiscalité.","Your AI copilot to optimise your taxes.")})]}),t.jsxs("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",onClick:()=>d(!1),className:wc,children:[t.jsx("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 h-0 w-[3px] rounded-r-full bg-gradient-signature group-hover/item:h-8 transition-all duration-300"}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:Yo,children:e("Plateforme Colbr","Colbr Platform")}),t.jsx("span",{className:`${Jo} text-secondary bg-secondary/10`,children:e("Gratuit","Free")}),t.jsx("svg",{className:_I,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]}),t.jsx("span",{className:Aa,children:e("Agrégez votre patrimoine et investissez en ligne.","Aggregate your wealth and invest online.")})]}),t.jsxs(C,{to:"/interventions-medias",onClick:()=>d(!1),className:wc,children:[t.jsx("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 h-0 w-[3px] rounded-r-full bg-gradient-signature group-hover/item:h-8 transition-all duration-300"}),t.jsx("span",{className:`block ${Yo}`,children:e("Interventions médias","Media Appearances")}),t.jsx("span",{className:Aa,children:e("Nos prises de parole sur BFM Business et Le Revenu.","Our appearances on BFM Business and Le Revenu.")})]}),t.jsxs(C,{to:"/equipe",onClick:()=>d(!1),className:wc,children:[t.jsx("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 h-0 w-[3px] rounded-r-full bg-gradient-signature group-hover/item:h-8 transition-all duration-300"}),t.jsx("span",{className:`block ${Yo}`,children:e("L'équipe","The team")}),t.jsx("span",{className:Aa,children:e("L'équipe et le board derrière Colbr.","The team and board behind Colbr.")})]}),t.jsxs(C,{to:"/blog",onClick:()=>d(!1),className:wc,children:[t.jsx("span",{className:"absolute left-0 top-1/2 -translate-y-1/2 h-0 w-[3px] rounded-r-full bg-gradient-signature group-hover/item:h-8 transition-all duration-300"}),t.jsx("span",{className:`block ${Yo}`,children:"Blog"}),t.jsx("span",{className:Aa,children:e("Nos analyses, décryptages et convictions.","Our analyses, insights and convictions.")})]})]})]})})]})]}),t.jsxs("div",{className:"flex-1 flex items-center justify-end gap-3",children:[t.jsxs("div",{className:"hidden md:flex items-center gap-3",children:[t.jsx(FI,{}),t.jsxs("a",{href:"https://www.colbr.pro/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 px-4 py-2 text-[13px] font-medium text-foreground/70 hover:text-foreground transition-all duration-300",title:e("Espace dédié aux entreprises","Dedicated space for companies"),children:["Pro",t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]}),t.jsx("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",className:"btn btn-secondary btn-sm",children:e("Se connecter","Sign in")})]}),t.jsx("button",{className:"md:hidden text-foreground",onClick:()=>s(!i),"aria-label":i?e("Fermer le menu","Close menu"):e("Ouvrir le menu","Open menu"),"aria-expanded":i,children:i?t.jsx(Cd,{className:"w-5 h-5"}):t.jsx(MQ,{className:"w-5 h-5"})})]})]}),i&&t.jsx(S.div,{initial:{opacity:0,height:0}
596,animate:{opacity:1,height:"auto"},className:"md:hidden border-t border-border/50 bg-background",children:t.jsxs("div",{className:"container px-6 py-6 flex flex-col divide-y divide-border/40",children:[t.jsxs("button",{onClick:()=>m(!p),className:aj,children:[e("Services","Services"),t.jsx(rt,{className:`w-4 h-4 transition-transform duration-200 ${p?"rotate-180":""}`})]}),p&&t.jsx("div",{className:"pl-4 pb-4 flex flex-col gap-1 border-l border-border/60",children:n.map(q=>t.jsxs(C,{to:q.to,className:Xo,onClick:w,children:[t.jsx("span",{className:`block ${Zo}`,children:q.label}),t.jsx("span",{className:La,children:q.desc})]},q.label))}),t.jsxs("button",{onClick:()=>g(!h),className:aj,children:[e("Produits","Products"),t.jsx(rt,{className:`w-4 h-4 transition-transform duration-200 ${h?"rotate-180":""}`})]}),h&&t.jsx("div",{className:"pl-4 pb-4 flex flex-col gap-5 border-l border-border/60",children:r.map(q=>t.jsxs("div",{children:[q.to?t.jsx(C,{to:q.to,onClick:w,className:`${Jf} border-b-0 pb-0 mb-2`,children:q.title}):t.jsx("span",{className:`${Jf} border-b-0 pb-0 mb-2`,children:q.title}),t.jsx("ul",{className:"space-y-1",children:q.items.map(P=>t.jsx("li",{children:P.to?t.jsxs(C,{to:P.to,onClick:w,className:Xo,children:[t.jsxs("span",{className:`flex items-center gap-2 ${Zo}`,children:[P.label,P.badge&&t.jsx("span",{className:`${Jo} text-primary/80 bg-primary/10`,children:P.badge})]}),P.desc&&t.jsx("span",{className:La,children:P.desc})]}):t.jsxs("div",{children:[t.jsx("span",{className:"text-[14px] font-medium leading-5 text-foreground/45",children:P.label}),P.desc&&t.jsx("span",{className:`${La} text-muted-foreground/70`,children:P.desc})]})},P.label))})]},q.title))}),t.jsxs("button",{onClick:()=>x(!f),className:aj,children:[e("Ressources","Resources"),t.jsx(rt,{className:`w-4 h-4 transition-transform duration-200 ${f?"rotate-180":""}`})]}),f&&t.jsxs("div",{className:"pl-4 pb-4 flex flex-col gap-1 border-l border-border/60",children:[t.jsxs("a",{href:"https://fiscaly.ai",target:"_blank",rel:"noopener noreferrer",onClick:w,className:Xo,children:[t.jsxs("span",{className:`inline-flex items-center gap-2 ${Zo}`,children:["Fiscaly.ai",t.jsx("span",{className:`${Jo} text-accent bg-accent/10`,children:"Beta"})]}),t.jsx("span",{className:La,children:e("Copilote fiscal IA","AI tax copilot")})]}),t.jsxs("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",onClick:w,className:Xo,children:[t.jsxs("span",{className:`inline-flex items-center gap-2 ${Zo}`,children:[e("Plateforme Colbr","Colbr Platform"),t.jsx("span",{className:`${Jo} text-secondary bg-secondary/10`,children:e("Gratuit","Free")}),t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]}),t.jsx("span",{className:La,children:e("Agréger & investir","Aggregate & invest")})]}),t.jsxs(C,{to:"/interventions-medias",onClick:w,className:Xo,children:[t.jsx("span",{className:`block ${Zo}`,children:e("Interventions médias","Media Appearances")}),t.jsx("span",{className:La,children:"BFM Business & Le Revenu"})]}),t.jsxs(C,{to:"/equipe",onClick:w,className:Xo,children:[t.jsx("span",{className:`block ${Zo}`,children:e("L'équipe","The team")}),t.jsx("span",{className:La,children:e("L'équipe et le board Colbr","The Colbr team and board")})]}),t.jsxs(C,{to:"/blog",onClick:w,className:Xo,children:[t.jsx("span",{className:`block ${Zo}`,children:"Blog"}),t.jsx("span",{className:La,children:e("Analyses & convictions","Analyses & convictions")})]})]}),t.jsx("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",className:"mt-5 inline-flex items-center justify-center px-6 py-3 min-h-[44px] text-[14px] font-medium leading-5 border border-foreground
596/15 text-foreground rounded-full w-fit",onClick:w,children:e("Se connecter","Sign in")}),t.jsxs("a",{href:"https://www.colbr.pro/",target:"_blank",rel:"noopener noreferrer",className:"mt-3 inline-flex items-center gap-1.5 min-h-[44px] text-[11px] font-semibold tracking-[0.18em] uppercase text-foreground/60 hover:text-foreground transition-colors w-fit",onClick:w,children:[e("Espace Pro","Pro Area"),t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]}),t.jsx(FI,{variant:"mobile"})]})})]})},Xf=[.16,1,.3,1],Zne=()=>{const{tr:e,lang:n}=K();return t.jsxs("section",{className:"relative overflow-hidden pt-36 md:pt-52 lg:pt-60 pb-32 md:pb-48 lg:pb-56 bg-background",children:[t.jsx("div",{"aria-hidden":!0,className:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(70% 50% at 75% 5%, hsl(38 55% 55% / 0.07), transparent 60%), radial-gradient(60% 50% at 18% 95%, hsl(35 30% 80% / 0.16), transparent 65%)"}}),t.jsx("div",{"aria-hidden":!0,className:"absolute inset-0 opacity-[0.025] pointer-events-none mix-blend-multiply",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`,backgroundSize:"220px 220px"}}),t.jsxs("div",{className:"relative z-10 w-full max-w-5xl mx-auto px-6 md:px-10 text-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.9,ease:Xf,delay:.2},className:"mb-10 flex items-center justify-center gap-3",children:[t.jsx("span",{className:"h-px w-8 bg-foreground
596/30"}),t.jsx("span",{className:"text-[10.5px] tracking-[0.32em] uppercase text-foreground/60 font-medium",children:e("MULTI FAMILY OFFICE & GESTION DE PATRIMOINE INDÉPENDANTE","Independent Multi Family Office & Wealth Management")}),t.jsx("span",{className:"h-px w-8 bg-foreground/30"})]}),t.jsx(S.h1,{initial:{opacity:0,y:24,filter:"blur(8px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:1.1,ease:Xf,delay:.3},className:"font-display text-[2.75rem] sm:text-6xl lg:text-[5rem] xl:text-[5.5rem] leading-[1.02] tracking-[-0.02em] text-foreground",children:n==="en"?t.jsxs(t.Fragment,{children:["Your wealth deserves",t.jsx("br",{}),t.jsx("span",{className:"text-gradient-rose",children:"more than an algorithm."})]}):t.jsxs(t.Fragment,{children:["Votre patrimoine mérite",t.jsx("br",{}),t.jsx("span",{className:"text-gradient-rose",children:"plus qu'un algorithme."})]})}),t.jsx(S.p,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.8,ease:Xf,delay:.5},className:"mt-10 text-foreground/65 text-base md:text-[17px] leading-[1.65] max-w-[54ch] mx-auto",children:e("Chez Colbr, votre patrimoine est piloté par des experts dédiés qui prennent le temps de vous connaître et d'aligner vos investissements sur vos objectifs.","At Colbr, your wealth is led by dedicated experts who take the time to know you and align your investments with your goals.")}),t.jsxs(S.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.7,ease:Xf,delay:.65},className:"mt-12 flex flex-col sm:flex-row items-center justify-center gap-3 sm:gap-4",children:[t.jsxs("a",{href:"#rdv",className:"btn btn-primary btn-md group",children:[e("Réserver un entretien privé","Book a private meeting"),t.jsx(V,{className:"w-3.5 h-3.5 transition-transform duration-500 group-hover:translate-x-1"})]}),t.jsxs("a",{href:"#approche",className:"btn btn-secondary btn-md group",children:[e("Découvrir l'approche","Discover our approach"),t.jsx($b,{className:"w-3.5 h-3.5 transition-transform duration-500 group-hover:translate-x-0.5 group-hover:-translate-y-0.5"})]})]})]})]})},ere="/assets/logo-bfm-business-BQ6vT5VW.png",tre="/assets/logo-le-revenu-CatDx0Dj.png",Zf=[.16,1,.3,1],OI=({video:e,large:n=!1,onPlay:r,playing:i=!1})=>i?t.jsx("div",{className:"aspect-video rounded-xl overflow-hidden",children:t.jsx("iframe",{src:`https://www.youtube.com/embed/${e.youtubeId}?autoplay=1&rel=0`,title:e.title,className:"w-full h-full",allow:"autoplay; encrypted-media",allowFullScreen:!0})}):t.jsxs("div",{className:`group relative cursor-pointer overflow-hidden rounded-xl aspect-video ${n?"":"opacity-80 hover:opacity-100 transition-opacity duration-500"}`,onClick:()=>r(e.youtubeId),children:[t.jsx("img",{src:e.thumbnail||`https://img.youtube.com/vi/${e.youtubeId}/maxresdefault.jpg`,alt:e.title,className:`absolute inset-0 w-full h-full object-cover transition-all duration-700 group-hover:scale-[1.02] ${n?"[filter:saturate(0.9)_contrast(1.02)]":"[filter:saturate(0.45)_brightness(0.85)_blur(1.5px)] group-hover:[filter:saturate(0.9)_brightness(1)_blur(0px)]"}`}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/75 via-black/15 to-transparent"}),t.jsx("div",{className:"absolute inset-0 mix-blend-soft-light bg-[hsl(var(--brand-violet)/0.25)]"}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx("div",{className:`${n?"w-16 h-16":"w-11 h-11"} rounded-full bg-white/20 backdrop-blur-sm flex items-center justify-center group-hover:bg-white/40 transition-all duration-300`,children:t.jsx(Xh,{className:`${n?"w-6 h-6":"w-4 h-4"} text-white fill-white ml-0.5`})})}),t.jsxs("div",{className:"absolute bottom-0 left-0 right-0 p-4 md:p-5",children:[t.jsx("p",{className:"text-[10px] tracking-[0.15em] uppercase text-white/60 mb-1.5",children:e.date}),t.jsx("h4",{className:`${n?"text-base md:text-lg":"text-sm"} font-medium text-white leading-snug`,children:e.title})]})]}),nre=()=>{const{tr:e}=K(),n={id:"bourdin-featured",title:e("De la finance à l’entrepreneuriat : Gustav Sondén invité de BOURDIN","From finance to entrepreneurship: Gustav Sondén joins BOURDIN"),date:e("Septembre 2026","September 2026"),youtubeId:"d_e0TtIwvNg",thumbnail:"/images/bourdin-gustav-sonden.jpg"},r={featured:{label:e("À la une","Featured"),icon:"featured",eyebrow:e("Sélection éditoriale","Editorial selection"),heading:e("Notre entretien","Our featured"),highlight:e("à la une.","interview."),intro:e("Une conversation de fond sur le parcours de Gustav Sondén et sa vision d’une gestion de patr
596imoine plus exigeante.","An in-depth conversation about Gustav Sondén's journey and his vision for more exacting wealth management."),featured:n,secondary:[]},bfm:{label:"BFM Business",logo:ere,eyebrow:e("Interventions médias","Media appearances"),heading:e("Chaque semaine sur","Every week on"),highlight:"BFM Business.",intro:e("Nos équipes décryptent les marchés et partagent leurs convictions d'investissement en direct des plateaux télévisés.","Our teams decode the markets and share their investment convictions live from the TV studios."),featured:{id:"bfm-featured",title:e("Pétrole : « Les marchés sont plus optimistes que la réalité physique »",'Oil: "Markets are more optimistic than physical reality"'),date:e("Juillet 2026","July 2026"),youtubeId:"Gr5wn5UTmoY",thumbnail:"/images/bfm-petrole-thumbnail.png"},featuredBelow:{id:"bfm-decryptage",title:e("IA : simple correction ou début de craquement ?","AI: simple correction or start of a crack?"),date:e("Juin 2026","June 2026"),youtubeId:"aCaDaBUJMnA"},secondary:[{id:"bfm-0",title:e("La finance bientôt à l'école ! D'accord, mais quel programme ?","Finance soon in schools! Fine — but what curriculum?"),date:e("Mai 2025","May 2025"),youtubeId:"5q_M86wYVW4"},{id:"bfm-1",title:e("Le déchiffrage : Les taux longs US au plus haut depuis 2007 !","Deciphering: US long-term rates at their highest since 2007!"),date:e("Mai 2025","May 2025"),youtubeId:"TMi7xzcsKIA"},{id:"bfm-2",title:e("SpaceX entre en bourse. Les marchés s'emballent déjà.","SpaceX goes public. Markets are already getting excited."),date:e("Juin 2026","June 2026"),youtubeId:"HjYn4ALz13o"},{id:"bfm-3",title:e("Les investisseurs français sont-ils des pigeons ?","Are French investors being taken for a ride?"),date:e("Janvier 2025","January 2025"),youtubeId:"KA5KWu9F5gI"}]},revenu:{label:"Le Revenu",logo:tre,eyebrow:e("Grands entretiens","In-depth interviews"),heading:e("Nos grands entretiens dans","Our in-depth interviews in"),highlight:"Le Revenu.",intro:e("Conversations approfondies avec nos experts sur les grands sujets patrimoniaux du moment.","In-depth conversations with our experts on the key wealth topics of the moment."),featured:{id:"revenu-featured",title:e('Matthias Baccino : "Ce que 90 % des investisseurs vont rater en 2026"','Matthias Baccino: "What 90% of investors will miss in 2026"'),date:"2025",youtubeId:"TLUCnoQs9bI"},secondary:[{id:"revenu-1",title:e("Produits structurés : comment investir pour viser 8 à 10 % par an","Structured products: how to invest targeting 8 to 10% per year"),date:"2025",youtubeId:"2wiE9YH2esY"}]},other:{label:e("Autres","Other"),icon:"other",eyebrow:e("Regards croisés","Other perspectives"),heading:e("À retrouver dans","Discover our"),highlight:e("d’autres médias.","other media."),intro:e("Podcasts et entretiens longs pour approfondir les enjeux de l’entrepreneuriat et du conseil patrimonial.","Podcasts and long-form interviews exploring entrepreneurship and wealth advisory in greater depth."),featured:n,secondary:[]}},[i,s]=k.useState(null),[a,o]=k.useState("featured"),l=r[a],c=l.featured,u=l.featuredBelow,d=l.secondary;return t.jsx("section",{className:"section-y relative",style:{background:"hsl(var(--surface-dark))"},children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.9,ease:Zf},className:"section-heading-gap",children:t.jsxs("div",{className:"flex flex-col md:flex-row md:items-end md:justify-between gap-6",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase",style:{color:"hsl(var(--surface-dark-muted))"},children:l.eyebrow}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mt-3",style:{color:"hsl(var(--surface-dark-foreground))"},children:[l.heading," ",t.jsx("span",{className:"text-gradient-gold",children:l.highlight})]}),t.jsx("p",{className:"text-sm leading-relaxed mt-4 max-w-lg",style:{color:"hsl(var(--surface-dark-muted))"},children:l.intro})]}),t.jsx("div",{className:"flex items-center gap-x-5 gap-y-3 flex-wrap",children:["featured","bfm","revenu","other"].map((p,m)=>{const h=a===p;return t.jsxs("span",{className:"flex items-center gap-x-5",children:[m>0&&t.jsx("span",{className:"w-px h-3.5",style:{background:"hsl(var(--surface-dark-foreground) / 0.15)"}}),t.jsxs("button",{type:"button",onClick:()=>{o(p),s(null)},className:"flex items-center gap-2.5 transition-opacity duration-300",style:{opacity:h?1:.4},children:[r[p].logo?t.jsx("img",{src:r[p].logo,alt:"",className:"h-5 w-5 object-contain rounded-sm"}
596):r[p].icon==="featured"?t.jsx(ui,{"aria-hidden":!0,className:"h-5 w-5"}):t.jsx(UQ,{"aria-hidden":!0,className:"h-5 w-5"}),t.jsx("span",{className:"text-sm font-medium tracking-wide",style:{color:"hsl(var(--surface-dark-foreground))"},children:r[p].label})]})]},p)})})]})}),t.jsxs(S.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.7,ease:Zf},className:"relative",children:[t.jsx("div",{"aria-hidden":!0,className:"pointer-events-none absolute -inset-x-10 -inset-y-8 rounded-[2rem] blur-3xl opacity-50",style:{background:"radial-gradient(60% 60% at 50% 50%, hsl(var(--brand-rose) / 0.35), hsl(var(--brand-violet) / 0.2) 55%, transparent 80%)"}}),t.jsx("div",{className:"relative rounded-2xl overflow-hidden ring-1 ring-[hsl(var(--surface-dark-foreground)/0.12)] shadow-[0_30px_80px_-30px_hsl(var(--brand-violet)/0.6)]",children:i===c.youtubeId?t.jsx("div",{className:"aspect-video overflow-hidden",children:t.jsx("iframe",{src:`https://www.youtube.com/embed/${c.youtubeId}?autoplay=1&rel=0`,title:c.title,className:"w-full h-full",allow:"autoplay; encrypted-media",allowFullScreen:!0})}):t.jsx(OI,{video:c,large:!0,onPlay:s})})]},a),(u?[u,...d]:d).length>0&&t.jsx(S.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.7,ease:Zf,delay:.1},className:"mt-5 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:(u?[u,...d]:d).map(p=>t.jsx(OI,{video:p,onPlay:s,playing:i===p.youtubeId},p.id))},`${a}-secondary`),t.jsxs(S.div,{initial:{opacity:0}
596,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.6,ease:Zf,delay:.3},className:"mt-12 flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4",children:[t.jsx("p",{className:"text-xs italic leading-relaxed max-w-lg",style:{color:"hsl(var(--surface-dark-muted) / 0.6)"},children:e("Les analyses partagées publiquement ne représentent qu'une partie de celles réservées à nos clients.","The analyses shared publicly are only a fraction of those reserved for our clients.")}),t.jsxs(C,{to:"/interventions-medias",className:"text-sm transition-colors duration-300 shrink-0 hover:opacity-80",style:{color:"hsl(var(--surface-dark-muted))"},children:[e("Voir toutes nos interventions","See all our appearances")," →"]})]})]})})},oj=[.16,1,.3,1],rre=()=>{const{tr:e,lang:n}=K();return t.jsx("section",{className:"section-y relative bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.9,ease:oj},className:"text-center section-heading-gap",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Deux univers, une même exigence","Two worlds, one standard")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mt-4 text-foreground",children:n==="en"?t.jsxs(t.Fragment,{children:["Choose the advisory",t.jsx("br",{}),"that fits you."]}):t.jsxs(t.Fragment,{children:["Choisissez l'accompagnement",t.jsx("br",{}),"qui vous correspond."]})})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8",children:[t.jsxs(S.div,{id:"gestion-privee",initial:{opacity:0,y:30,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.7,ease:oj},className:"bg-card border border-border rounded-xl p-10 md:p-14 flex flex-col",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-muted-foreground mb-6",children:e("À partir de 50 000 €","From €50,000")}),t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-4 text-foreground",children:e("Gestion Privée","Private Wealth")}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-8 max-w-md",children:e("Une gestion patrimoniale rigoureuse et accessible. Bénéficiez d'une allocation optimisée, de produits sélectionnés avec exigence et d'un suivi personnalisé.","Rigorous and accessible wealth management. Enjoy an optimised allocation, carefully selected products and personalised follow-up.")}),t.jsx("ul",{className:"space-y-3 mb-10 flex-1",children:[e("Assurance-vie française","French life insurance"),e("PEA & compte-titres","PEA & securities account"),e("SCPI & immobilier pierre-papier","SCPI & paper real estate"),e("Conseiller patrimonial dédié","Dedicated wealth advisor"),e("Reporting digital en temps réel","Real-time digital reporting")].map(r=>t.jsxs("li",{className:"flex items-start gap-3 text-sm text-muted-foreground",children:[t.jsx("span",{className:"mt-1.5 w-1 h-1 rounded-full bg-foreground
596/30 shrink-0"}),r]},r))}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 text-sm font-medium text-foreground hover:text-foreground/70 transition-colors group",children:[e("Découvrir la Gestion Privée","Discover Private Wealth"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform"})]})]}),t.jsxs(S.div,{id:"family-office",initial:{opacity:0,y:30,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.7,ease:oj,delay:.1},className:"border border-foreground/10 rounded-xl p-10 md:p-14 flex flex-col relative overflow-hidden",style:{background:"hsl(var(--surface-dark))"},children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase mb-6",style:{color:"hsl(var(--surface-dark-muted))"},children:e("À PARTIR DE 5 000 000 €","FROM €5,000,000")}),t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-4",style:{color:"hsl(var(--surface-dark-foreground))"},children:"Family Office"}),t.jsx("p",{className:"text-sm leading-relaxed mb-8 max-w-md",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Un service d'exception pour les patrimoines significatifs. Accédez à l'univers des grandes fortunes : produits exclusifs, ingénierie sophistiquée et accompagnement sans compromis.","An exceptional service for significant wealth. Access the world of high net worth: exclusive products, sophisticated engineering and uncompromising advisory.")}),t.jsx("ul",{className:"space-y-3 mb-10 flex-1",children:[e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),e("Private equity & dette privée","Private equity & private debt"),e("Produits structurés sur-mesure","Bespoke structured products"),e("Crédit lombard & financement","Lombard credit & financing"),e("Actifs alternatifs (art, litigation, late stage)","Alternative assets (art, litigation, late stage)"),e("Gouvernance & transmission","Governance & succession")].map(r=>t.jsxs("li",{className:"flex items-start gap-3 text-sm",style:{color:"hsl(var(--surface-dark-muted))"},children:[t.jsx("span",{className:"mt-1.5 w-1 h-1 rounded-full shrink-0",style:{background:"hsl(var(--surface-dark-foreground) / 0.4)"}}),r]},r))}),t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-sm font-medium transition-colors group",style:{color:"hsl(var(--surface-dark-foreground))"},children:[e("Découvrir le Family Office","Discover the Family Office"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform"})]})]})]})]})})},yi=[.16,1,.3,1],ire=()=>t.jsxs("svg",{viewBox:"0 0 520 220",className:"w-full h-auto",role:"img","aria-label":"Ligne de relation continue",children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"cont-line",x1:"0",x2:"1",y1:"0",y2:"0",children:[t.jsx("stop",{offset:"0%",stopColor:"hsl(var(--border))"}),t.jsx("stop",{offset:"50%",stopColor:"hsl(var(--secondary) / 0.6)"}),t.jsx("stop",{offset:"100%",stopColor:"hsl(var(--accent) / 0.6)"})]})}),t.jsxs("g",{opacity:"0.55",children:[t.jsx("text",{x:"0",y:"30",className:"fill-foreground/40",style:{fontSize:10,letterSpacing:2},children:"MODÈLE TRADITIONNEL"}),t.jsx("line",{x1:"0",y1:"55",x2:"520",y2:"55",stroke:"hsl(var(--border))",strokeDasharray:"2 6"}),[60,160,260,360,460].map((e,n)=>t.jsxs("g",{style:{opacity:.35+n%2*.25},children:[t.jsx("circle",{cx:e,cy:"55",r:"9",fill:"hsl(var(--muted))",stroke:"hsl(var(--border))"}),t.jsx("text",{x:e,y:"59",textAnchor:"middle",style:{fontSize:8},className:"fill-foreground/50",children:"?"})]},n))]}),t.jsxs("g",{transform:"translate(0, 110)",children:[t.jsx("text",{x:"0",y:"0",style:{fontSize:10,letterSpacing:2},className:"fill-secondary",children:"MODÈLE COLBR"}),t.jsx("line",{x1:"0",y1:"30",x2:"520",y2:"30",stroke:"url(#cont-line)",strokeWidth:"1.5"}),t.jsx("circle",{cx:"30",cy:"30",r:"10",fill:"hsl(var(--secondary))"}),[{x:110,label:"Premier investissement"},{x:220,label:"Projet immobilier"},{x:330,label:"Cession"},{x:440,label:"Transmission"}].map((e,n)=>t.jsxs("g",{children:[t.jsx("line",{x1:e.x,y1:"30",x2:e.x,y2:"50",stroke:"hsl(var(--secondary) / 0.45)",strokeWidth:"1"}),t.jsx("circle",{cx:e.x,cy:"30",r:"4",fill:"hsl(var(--background))",stroke:"hsl(var(--secondary))",strokeWidth:"1.5"}),t.jsx("text",{x:e.x,y:"68",textAnchor:"middle",style:{fontSize:9}
596,className:"fill-foreground/70",children:e.label})]},n))]})]}),sre=()=>{const e=(i,s)=>{const a=(-90+i*15)*(Math.PI/180);return{x:130+s*Math.cos(a),y:130+s*Math.sin(a)}},n=e(9,90),r=e(21,90);return t.jsxs("svg",{viewBox:"0 0 520 260",className:"w-full h-auto",role:"img","aria-label":"Disponibilité 9h à 21h, 6j/7",children:[t.jsx("circle",{cx:"130",cy:"130",r:"100",fill:"none",stroke:"hsl(var(--border))",strokeWidth:"1"}),t.jsx("circle",{cx:"130",cy:"130",r:"90",fill:"none",stroke:"hsl(var(--border))",strokeDasharray:"1 4"}),[0,6,12,18].map(i=>{const s=e(i,82),a=e(i,100),o=e(i,74);return t.jsxs("g",{children:[t.jsx("line",{x1:s.x,y1:s.y,x2:a.x,y2:a.y,stroke:"hsl(var(--border))"}),t.jsx("text",{x:o.x,y:o.y+3,textAnchor:"middle",style:{fontSize:9},className:"fill-foreground/50",children:i===0?"24h":`${i}h`})]},i)}),t.jsx("path",{d:`M ${n.x} ${n.y} A 90 90 0 1 1 ${r.x} ${r.y}`,fill:"none",stroke:"hsl(var(--secondary))",strokeWidth:"4",strokeLinecap:"round"}),t.jsx("circle",{cx:n.x,cy:n.y,r:"5",fill:"hsl(var(--secondary))"}),t.jsx("circle",{cx:r.x,cy:r.y,r:"5",fill:"hsl(var(--accent))"}),t.jsx("text",{x:"130",y:"128",textAnchor:"middle",className:"fill-foreground font-display",style:{fontSize:22},children:"9h — 21h"}),t.jsx("text",{x:"130",y:"148",textAnchor:"middle",style:{fontSize:10,letterSpacing:2},className:"fill-foreground/60",children:"6 JOURS / 7"}),t.jsxs("g",{transform:"translate(280, 30)",children:[t.jsx("rect",{x:"0",y:"0",width:"220",height:"200",rx:"14",fill:"hsl(var(--card))",stroke:"hsl(var(--border))"}),t.jsx("rect",{x:"0",y:"0",width:"220",height:"30",rx:"14",fill:"hsl(var(--muted))"}),t.jsx("circle",{cx:"18",cy:"15",r:"6",fill:"hsl(var(--secondary))"}),t.jsx("text",{x:"32",y:"19",style:{fontSize:10},className:"fill-foreground/80",children:"Votre conseiller Colbr"}),[{y:50,w:150,txt:"Disponible pour en parler ?",mine:!1},{y:88,w:170,txt:"Oui, je vous rappelle sous peu.",mine:!0},{y:126,w:120,txt:"Document bien reçu.",mine:!1},{y:164,w:165,txt:"Je regarde ce point avec vous.",mine:!0}].map((i,s)=>t.jsxs("g",{children:[t.jsx("rect",{x:i.mine?220-i.w-14:14,y:i.y,width:i.w,height:"22",rx:"10",fill:i.mine?"hsl(var(--secondary) / 0.12)":"hsl(var(--muted))",stroke:i.mine?"hsl(var(--secondary) / 0.3)":"transparent"}),t.jsx("text",{x:i.mine?220-i.w-14+10:24,y:i.y+15,style:{fontSize:9},className:"fill-foreground/80",children:i.txt})]},s))]})]})},are=()=>t.jsxs("svg",{viewBox:"0 0 560 260",className:"w-full h-auto",role:"img","aria-label":"Stock, flux et projets patrimoniaux",children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"traj-main",x1:"0",x2:"1",children:[t.jsx("stop",{offset:"0%",stopColor:"hsl(var(--primary))",stopOpacity:"0.15"}),t.jsx("stop",{offset:"50%",stopColor:"hsl(var(--secondary))",stopOpacity:"0.55"}),t.jsx("stop",{offset:"100%",stopColor:"hsl(var(--accent))",stopOpacity:"0.55"})]})}),t.jsx("text",{x:"10",y:"18",style:{fontSize:9,letterSpacing:2},className:"fill-foreground/50",children:"STOCK"}),["Liquidités","Placements","Immobilier","Participations","Dettes"].map((e,n)=>t.jsxs("g",{transform:`translate(10, ${34+n*34})`,children:[t.jsx("rect",{width:"110",height:"26",rx:"6",fill:"hsl(var(--card))",stroke:"hsl(var(--border))"}),t.jsx("circle",{cx:"12",cy:"13",r:"3",fill:"hsl(var(--primary))"}),t.jsx("text",{x:"22",y:"17",style:{fontSize:10},className:"fill-foreground/80",children:e}),t.jsx("path",{d:`M 120 13 C 160 13, 180 ${130-n*5}, 220 ${130-n*3}`,stroke:"hsl(var(--primary) / 0.25)",fill:"none",strokeWidth:"1"})]},e)),t.jsx("text",{x:"230",y:"18",style:{fontSize:9,letterSpacing:2},className:"fill-foreground/50",children:"FLUX"}),["Revenus","Dividendes","Cession","Héritage"].map((e,n)=>t.jsxs("g",{transform:`translate(${230+n*80}, 30)`,children:[t.jsx("rect",{width:"70",height:"22",rx:"11",fill:"hsl(var(--secondary) / 0.08)",stroke:"hsl(var(--secondary) / 0.35)"}),t.jsx("text",{x:"35",y:"15",textAnchor:"middle",style:{fontSize:9},className:"fill-foreground/80",children:e}),t.jsx("path",{d:`M 35 22 C 35 60, ${20+n*5} 90, 30 130`,stroke:"hsl(var(--secondary) / 0.35)",fill:"none",strokeDasharray:"3 3"})]},e)),t.jsx("path",{d:"M 230 132 C 320 100, 400 160, 540 130",stroke:"url
596(#traj-main)",strokeWidth:"4",fill:"none",strokeLinecap:"round"}),t.jsx("text",{x:"230",y:"122",style:{fontSize:9,letterSpacing:2},className:"fill-secondary",children:"TRAJECTOIRE PATRIMONIALE"}),t.jsx("text",{x:"440",y:"180",style:{fontSize:9,letterSpacing:2},className:"fill-foreground/50",children:"PROJETS"}),["Investir","Financer","Transmettre","Sécuriser"].map((e,n)=>t.jsxs("g",{transform:`translate(${240+n%2*160}, ${196+Math.floor(n/2)*30})`,children:[t.jsx("rect",{width:"140",height:"22",rx:"6",fill:"hsl(var(--accent) / 0.08)",stroke:"hsl(var(--accent) / 0.35)"}),t.jsx("text",{x:"70",y:"15",textAnchor:"middle",style:{fontSize:10},className:"fill-foreground/80",children:e})]},e))]}),ore=()=>t.jsxs("svg",{viewBox:"0 0 540 260",className:"w-full h-auto",role:"img","aria-label":"De la complexité à la décision",children:[t.jsxs("g",{children:[t.jsx("text",{x:"0",y:"14",style:{fontSize:9,letterSpacing:2},className:"fill-foreground/50",children:"DONNÉES BRUTES"}),[{t:"Rendement",x:10,y:40},{t:"Fiscalité",x:130,y:65},{t:"Liquidité",x:30,y:90},{t:"Frais",x:150,y:115},{t:"Risque",x:40,y:145},{t:"Horizon",x:130,y:170},{t:"Scénarios",x:20,y:200}].map((e,n)=>t.jsxs("g",{opacity:"0.7",children:[t.jsx("rect",{x:e.x,y:e.y-12,width:e.t.length*7+16,height:"20",rx:"10",fill:"hsl(var(--muted))",stroke:"hsl(var(--border))"}),t.jsx("text",{x:e.x+8,y:e.y+2,style:{fontSize:10},className:"fill-foreground/70",children:e.t})]},n))]}),t.jsxs("g",{transform:"translate(240, 120)",children:[t.jsx("line",{x1:"0",y1:"0",x2:"40",y2:"0",stroke:"hsl(var(--secondary))",strokeWidth:"1.5"}),t.jsx("path",{d:"M 36 -5 L 44 0 L 36 5 Z",fill:"hsl(var(--secondary))"})]}),t.jsxs("g",{transform:"translate(300, 20)",children:[t.jsx("rect",{width:"230",height:"220",rx:"12",fill:"hsl(var(--card))",stroke:"hsl(var(--border))"}),t.jsx("text",{x:"16",y:"26",style:{fontSize:9,letterSpacing:2},className:"fill-secondary",children:"FICHE DE DÉCISION"}),[{k:"Objectif",v:"Revenus réguliers"},{k:"Horizon",v:"5 ans et plus"},{k:"Risque",v:"Perte partielle possible"},{k:"Coût",v:"Présenté clairement"},{k:"Rôle",v:"Complément obligataire"}].map((e,n)=>t.jsxs("g",{transform:`translate(16, ${48+n*32})`,children:[t.jsx("text",{x:"0",y:"0",style:{fontSize:9,letterSpacing:1.5},className:"fill-foreground/50",children:e.k.toUpperCase()}),t.jsx("text",{x:"0",y:"16",style:{fontSize:11},className:"fill-foreground/90",children:e.v}),t.jsx("line",{x1:"0",y1:"24",x2:"198",y2:"24",stroke:"hsl(var(--border))"})]},n))]})]}),RI=[{eyebrow:{fr:"01 — Continuité",en:"01 — Continuity"},rupture:{fr:"Le conseiller change. Votre histoire reste.",en:"The adviser changes. Your story stays."},body:{fr:"Dans les grandes institutions, les interlocuteurs se succèdent et la relation doit régulièrement repartir de zéro. Chez Colbr, chaque client est accompagné par un conseiller dédié, inscrit dans la durée grâce à un modèle qui l'associe directement au développement de la société.",en:"In large institutions, points of contact rotate and the relationship must repeatedly start over. At Colbr, each client is followed by a dedicated adviser, embedded for the long term through a model that directly aligns them with the firm's growth."},proof:{fr:"Un interlocuteur qui vous connaît mieux année après année.",en:"One person who knows you better year after year."},facts:{fr:[{value:"1",label:"Conseiller dédié"},{value:"10 ans+",label:"Relation de long terme"},{value:"Partnership",label:"Modèle d'association"}],en:[{value:"1",label:"Dedicated adviser"},{value:"10 yrs+",label:"Long-term relationship"},{value:"Partnership",label:"Ownership model"}]},transition:{fr:"Une relation durable n'a de valeur que si elle est réellement accessible.",en:"A lasting relationship only matters if it is truly accessible."},Asset:ire},{eyebrow:{fr:"02 — Disponibilité",en:"02 — Availability"},rupture:{fr:"Votre patrimoine ne fonctionne pas de 9 heures à 17 heures.",en:"Your wealth doesn't run from nine to five."},body:{fr:"Une décision importante, une question fiscale ou une opportunité ne survient pas toujours pendant les horaires d'un standard bancaire. Votre conseiller Colbr est directement accessible, notamment par WhatsApp, de 9 heures à 21 heures, six jours sur sept.",en:"An important decision, a tax question or an opportunity rarely arrives during banking hours. Your Colbr adviser is directly reachable, notably on WhatsApp, from 9am to 9pm, six days a week."},proof:{fr:"Moins d'intermédiaires. Plus de disponibilité.",en:"Fewer intermediaries. More availability."},facts:{fr:[{value:"9 h – 21 h",label:"Amplitude quotidienne"},{value:"6 j / 7",label:"Disponibilité hebdomadaire"},{value:"Direct",label:"Sans passer par un standard"}],en:[{value:"9am – 9pm",label:"Daily availability"},{value:"6 d / 7",label:"Weekly coverage"},{value:"Direct",label:"No switchboard in between"}]},transition:{fr:"Être disponible ne suffit pas. Encore faut-il regarder au-delà du placement du moment.",en:"Being available is not enough. You still need to look beyond today's placement."},Asset:sre},{eyebrow:{fr:"03 — Planification patrimoniale",en:"03 — Wealth planning"},rupture:{fr:"Un patrimoine n'est pas une photographie.",en:"Wealth is not a snapshot."},body:{fr:"Nous ne travaillons pas uniquement sur les capitaux disponibles aujourd'hui. Nous organisons le stock déjà c
596onstitué et les flux à venir : revenus, dividendes, héritages, cash-outs, financements, projets immobiliers et transmission.",en:"We don't only work with the capital available today. We organise the stock already in place and the flows to come: income, dividends, inheritances, cash-outs, financing, real estate projects and transmission."},proof:{fr:"Une stratégie pensée comme une trajectoire, pas comme une succession de placements.",en:"A strategy designed as a trajectory, not as a sequence of placements."},facts:{fr:[{value:"Stock",label:"Patrimoine déjà constitué"},{value:"Flux",label:"Revenus et événements à venir"},{value:"Projets",label:"Immobilier, transmission, cession"}],en:[{value:"Stock",label:"Wealth already in place"},{value:"Flows",label:"Income and future events"},{value:"Projects",label:"Property, transmission, exits"}]},transition:{fr:"Une stratégie complète ne doit pas devenir une stratégie incompréhensible.",en:"A complete strategy must not become an opaque strategy."},Asset:are},{eyebrow:{fr:"04 — Clarté",en:"04 — Clarity"},rupture:{fr:"La technicité ne doit jamais remplacer la clarté.",en:"Technicality must never replace clarity."},body:{fr:"Chaque proposition doit pouvoir être comprise dans son objectif, son fonctionnement, ses coûts, ses risques et sa place dans la stratégie globale. Notre rôle n'est pas de vous demander de nous croire, mais de vous donner les moyens de décider.",en:"Every proposal must be understandable in its purpose, mechanics, cost, risks and role in the overall strategy. Our role is not to ask you to trust us, but to give you the means to decide."},proof:{fr:"Vous ne devez pas seulement savoir quoi faire. Vous devez comprendre pourquoi.",en:"You shouldn't just know what to do. You should understand why."},facts:{fr:[{value:"Objectifs",label:"Explicités et hiérarchisés"},{value:"Coûts",label:"Présentés en toute transparence"},{value:"Risques",label:"Scénarios détaillés"}],en:[{value:"Objectives",label:"Spelled out and ranked"},{value:"Costs",label:"Disclosed transparently"},{value:"Risks",label:"Detailed scenarios"}]},Asset:ore}],lre=()=>{const{tr:e,lang:n}=K(),r=i=>n==="en"?i.en:i.fr;return t.jsxs("section",{id:"approche",className:"section-y relative bg-background overflow-hidden",children:[t.jsx("div",{className:"relative min-h-[70vh] md:min-h-[80vh] flex items-center py-20 md:py-28",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6 relative z-10",children:[t.jsx(S.span,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.4},transition:{duration:.7,ease:yi},className:"block text-[11px] tracking-[0.28em] uppercase text-secondary font-medium",children:e("Notre modèle","Our model")}),t.jsx(S.h2,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.4},transition:{duration:.9,ease:yi,delay:.05},className:"font-display tracking-tight mt-5 text-foreground text-[clamp(2.25rem,5.2vw,4.5rem)] leading-[1.03] max-w-[15ch]",children:e("Une gestion privée pensée pour durer.","Private wealth built to last.")}),t.jsx(S.p,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.4},transition:{duration:.9,ease:yi,delay:.15},className:"mt-8 md:mt-10 text-foreground/75 text-[17px] md:text-[19px] leading-[1.55] max-w-[58ch]",children:e("Votre patrimoine évolue avec vos projets, votre famille et votre activité professionnelle. Nous avons construit un modèle fondé sur la continuité, la disponibilité, la planification et la compréhension.","Your wealth evolves with your projects, your family and your professional life. We have built a model founded on continuity, availability, planning and understanding.")})]})}),RI.map((i,s)=>{const a=s%2===1,o=i.Asset,l=s===RI.length-1;return t.jsx("div",{className:`relative min-h-[90vh] flex items-center py-24 md:py-32 ${s%2===0?"bg-background":"bg-muted/30"}`,children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6 relative z-10 w-full",children:[t.jsxs(S.article,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.25},transition:{duration:.9,ease:yi},className:"grid grid-cols-1 md:grid-cols-12 gap-x-12 gap-y-12 items-center",children:[t.jsxs("div",{className:`md:col-span-6 ${a?"md:order-2":""}`,children:[t.jsx(S.span,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.4},transition:{duration:.6,ease:yi},className:"block text-[11px] tracking-[0.28em] uppercase text-secondary font-medium",children:r(i.eyebrow)}),t.jsx(S.h3,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.4},transition:{duration:.8,ease:yi,delay:.05},className:"font-display tracking-tight mt-5 text-foreground text-[clamp(1.9rem,3.8vw,3.5rem)] leading-[1.05] max-w-[14ch]",children:r(i.rupture)}),t.jsx(S.p,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.35},transition:{duration:.8,ease:yi,delay:.15}
596,className:"mt-7 text-foreground/80 text-[17px] md:text-[19px] leading-[1.55] max-w-[38rem]",children:r(i.body)}),t.jsx(S.dl,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.8,ease:yi,delay:.25},className:"mt-10 grid grid-cols-3 gap-6 max-w-[38rem] border-t border-border pt-6",children:(n==="en"?i.facts.en:i.facts.fr).map((c,u)=>t.jsxs("div",{children:[t.jsx("dt",{className:"font-display text-foreground text-[clamp(1.4rem,2.2vw,2rem)] leading-[1.05] tracking-tight",children:c.value}),t.jsx("dd",{className:"mt-2 text-[13px] md:text-[14px] text-foreground/60 leading-snug",children:c.label})]},u))}),t.jsx(S.p,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.8,ease:yi,delay:.35},className:"mt-8 pl-4 border-l-2 border-secondary/60 font-display italic text-foreground/90 text-[clamp(1.05rem,1.6vw,1.35rem)] leading-snug max-w-[36rem]",children:r(i.proof)})]}),t.jsx(S.div,{initial:{opacity:0,scale:.97},whileInView:{opacity:1,scale:1},viewport:{once:!0,amount:.3},transition:{duration:1,ease:yi,delay:.1},className:`md:col-span-6 ${a?"md:order-1":""}`,children:t.jsx("div",{className:"rounded-2xl border border-border bg-card p-5 md:p-7 shadow-[0_1px_0_hsl(var(--border))]",children:t.jsx(o,{})})})]}),!l&&i.transition&&t.jsx(S.p,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.6},transition:{duration:.8,ease:yi},className:"mt-20 md:mt-24 text-center font-display italic text-foreground/55 text-[clamp(0.95rem,1.3vw,1.15rem)] max-w-[52ch] mx-auto",children:r(i.transition)})]})},s)})]})},DI=[.16,1,.3,1],cre=()=>{const{tr:e}=K(),n=[{title:e("Assurance-vie","Life Insurance"),subtitle:e("Française & Luxembourgeoise","French & Luxembourg"),description:e("Accédez aux meilleures enveloppes fiscales européennes avec une gestion déléguée ou conseillée.","Access the best European tax wrappers with delegated or advised management."),to:"/assurance-vie",linkLabel:e("Découvrir nos solutions d'assurance-vie","Discover our life insurance solutions")},{title:"Private Equity",subtitle:e("Fonds primaires & secondaires","Primary & secondary funds"),description:e("Investissez dans l'économie réelle aux côtés des meilleurs gérants mondiaux.","Invest in the real economy alongside the best global managers."),to:"/private-equity",linkLabel:e("Explorer le Private Equity","Explore Private Equity")},{title:e("Produits Structurés","Structured Products"),subtitle:e("Capital protégé & rendement","Protected capital & yield"),description:e("Des solutions sur-mesure calibrées selon votre profil de risque et vos objectifs.","Bespoke solutions calibrated to your risk profile and objectives."),to:"/produits-structures",linkLabel:e("Découvrir les produits structurés","Discover structured products")},{title:e("Crédit Patrimonial","Wealth Credit"),subtitle:e("Lombard & immobilier","Lombard & real estate"),description:e("Optimisez votre levier financier sans céder vos actifs grâce au crédit lombard.","Optimise your financial leverage without selling your assets thanks to Lombard credit."),to:"/simulateur-credit-scpi",linkLabel:e("Voir les détails du crédit SCPI","See SCPI credit details")},{title:e("Optimisation Fiscale","Tax Optimisation"),subtitle:e("Structuration & conformité","Structuring & compliance"),description:e("Réduisez votre pression fiscale en toute légalité avec nos ingénieurs patrimoniaux.","Reduce your tax burden lawfully with our wealth engineers."),to:"/ingenierie-patrimoniale",linkLabel:e("Découvrir l'ingénierie patrimoniale","Discover wealth engineering")},{title:e("Actifs Alternatifs","Alternative Assets"),subtitle:e("Art, litigation, late stage","Art, litigation, late stage"),description:e("Diversifiez avec des classes d'actifs décorrélées, accessibles via notre réseau.","Diversify with uncorrelated asset classes, accessible through our network."),to:"/art",linkLabel:e("Découvrir les actifs alternatifs","Discover alternative assets")}];return t.jsx("section",{id:"expertises",className:"section-y relative bg-muted",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.9,ease:DI},className:"section-heading-gap",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Nos expertises","Our expertise")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mt-4 text-foreground",children:e("Un univers complet d'investissement.","A complete investment universe.")})]}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 md:gap-8",children:n.map((r,i)=>t.jsx(C,{to:r.to,className:"block",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:DI,delay:i*.06},className:"bg-card border border-border rounded-xl p-8 md:p-10 h-full group hover:shadow-md hover:border-foreground
596/15 hover:-translate-y-0.5 transition-all duration-300",children:[t.jsx("p",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground mb-3",children:r.subtitle}),t.jsx("h3",{className:"text-lg font-semibold tracking-tight mb-3 text-foreground transition-colors duration-300",children:r.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-6",children:r.description}),t.jsxs("span",{className:"inline-flex items-center text-sm font-medium text-muted-foreground group-hover:text-foreground transition-colors duration-200",children:[r.linkLabel," ",t.jsx("span",{className:"ml-1 transition-transform duration-200 group-hover:translate-x-0.5",children:"→"})]})]})},r.title))})]})})},eg=[.16,1,.3,1],ure=({end:e,suffix:n,label:r,format:i})=>{const s=k.useRef(null),a=Qne(s,{once:!0,amount:.5}),[o,l]=k.useState(0),c=k.useRef(!1);k.useEffect(()=>{if(!a||c.current)return;c.current=!0;const d=2e3,p=performance.now(),m=h=>{const g=Math.min((h-p)/d,1),f=1-Math.pow(1-g,3);l(Math.round(f*e)),g<1&&requestAnimationFrame(m)};requestAnimationFrame(m)},[a,e]);const u=i?o.toLocaleString():o;return t.jsxs("div",{ref:s,className:"bg-card p-8 text-center",children:[t.jsxs("p",{className:"font-display text-2xl md:text-3xl text-foreground tabular-nums mb-2",children:[u,n]}),t.jsx("p",{className:"text-muted-foreground text-xs tracking-wide",children:r})]})},dre=()=>{const{tr:e}=K(),n=[{end:250,suffix:"M€+",label:e("Patrimoine conseillé","Wealth advised")},{end:500,suffix:"+",label:e("Clients accompagnés","Clients served"),format:!0},{end:15,suffix:"+",label:e("Années d'expérience moyenne /conseiller","Avg. years of experience / advisor")},{end:98,suffix:"%",label:e("Taux de satisfaction","Satisfaction rate")}];return t.jsx("section",{className:"section-y relative bg-background",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6 relative z-10",children:[t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.9,ease:eg},className:"section-heading-gap",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Crédibilité","Credibility")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mt-4 text-foreground",children:e("Ils nous font confiance.","They trust us.")})]}),t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:eg},className:"grid grid-cols-2 md:grid-cols-4 gap-px bg-border rounded-xl overflow-hidden mb-28 md:mb-32",children:n.map(r=>t.jsx(ure,{...r},r.label))}),t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0},transition:{duration:.7,ease:eg},className:"max-w-3xl mx-auto text-center mb-24",children:[t.jsx(Fq,{className:"w-8 h-8 text-foreground/20 mx-auto mb-6"}),t.jsx("p",{className:"font-display text-xl md:text-2xl leading-relaxed text-foreground/90 mb-8 italic",children:e("« L'équipe Colbr a fait une analyse détaillée de ma situation personnelle et proposé un projet d'investissement structuré et adapté à mes attentes et capacité. Ils ont une connaissance pointue du marché, des vrais passionnés. Aujourd'hui, j'ai une discipline d'épargne que je n'avais pas avant. C'est une équipe très proactive et à l'écoute. Je ne peux que les recommander. »","“The Colbr team carried out a detailed analysis of my personal situation and proposed a structured investment plan tailored to my expectations and capacity. They have deep market knowledge and a real passion for what they do. Today I have a savings discipline I did not have before. A proactive team that truly listens. I can only recommend them.”")}),t.jsxs("a",{href:"https://www.trustpilot.com/review/colbr.co",target:"_blank",rel:"noopener noreferrer",className:"inline-flex flex-col items-center gap-3 group","aria-label":e("Voir nos avis sur Trustpilot","See our Trustpilot reviews"),children:[t.jsx("div",{className:"flex items-center gap-1.5",children:[0,1,2,3,4].map(r=>
596t.jsx("span",{className:"w-7 h-7 flex items-center justify-center bg-[#00B67A]",children:t.jsx(t2,{className:"w-4 h-4 text-white fill-white",strokeWidth:0})},r))}),t.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[t.jsx("span",{className:"font-semibold text-foreground",children:e("4,8/5","4.8/5")}),t.jsx("span",{children:e("sur","on")}),t.jsxs("span",{className:"inline-flex items-center gap-1 font-semibold text-foreground group-hover:text-foreground/70 transition-colors",children:[t.jsx(t2,{className:"w-3.5 h-3.5 fill-[#00B67A] text-[#00B67A]",strokeWidth:0}),"Trustpilot"]})]})]})]}),t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:eg,delay:.1},className:"max-w-3xl mx-auto",children:t.jsxs(C,{to:"/equipe",className:"group flex flex-col sm:flex-row sm:items-center justify-between gap-4 p-6 md:p-8 rounded-2xl bg-card border border-border hover:border-primary/30 transition-all duration-300",children:[t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center shrink-0",children:t.jsx(ba,{className:"w-5 h-5 text-primary"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-lg md:text-xl tracking-tight text-foreground",children:e("Une équipe issue des marchés et de l'ingénierie patrimoniale","A team from the markets and wealth engineering")}),t.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:e("Découvrez les parcours qui pilotent Colbr au quotidien.","Discover the backgrounds steering Colbr every day.")})]})]}),t.jsxs("span",{className:"inline-flex items-center gap-2 text-sm font-medium text-primary group-hover:text-secondary transition-colors shrink-0",children:[e("L'équipe","The team"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform duration-300"})]})]})})]})})},cp=[.16,1,.3,1],pre=()=>{const{tr:e}=K(),n=[{category:e("Marché","Markets"),title:e("Perspectives 2025 : comment positionner son patrimoine","Outlook 2025: how to position your wealth"),excerpt:e("Analyse des tendances macroéconomiques et des opportunités d'allocation pour l'année à venir.","Analysis of macro trends and allocation opportunities for the year ahead.")},{category:e("Fiscalité","Tax"),title:e("Transmission : anticiper pour optimiser","Succession: plan ahead to optimise"),excerpt:e("Les stratégies de transmission patrimoniale les plus efficaces en 2025.","The most effective wealth succession strategies in 2025.")},{category:"Private Equity",title:e("Secondaires PE : l'opportunité méconnue","PE secondaries: the overlooked opportunity"),excerpt:e("Pourquoi le marché secondaire du private equity offre un profil risque/rendement attractif.","Why the private equity secondary market offers an attractive risk/return profile.")}];return t.jsx("section",{id:"ressources",className:"section-y relative bg-muted",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.9,ease:cp},className:"section-heading-gap",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Ressources","Resources")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mt-4 text-foreground",children:e("Outils & contenus pour aller plus loin.","Tools & content to go further.")})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8 mb-28 md:mb-32",children:[t.jsxs(S.div,{initial:{opacity:0,y:24,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.7,ease:cp},className:"bg-card border border-border rounded-xl p-10 md:p-14",children:[t.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center mb-6 text-foreground bg-muted",children:t.jsx(qd,{className:"w-6 h-6"})}),t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground",children:e("Plateforme Colbr","Colbr Platform")}),t.jsx("span",{className:"text-[9px] tracking-[0.18em] uppercase text-foreground
596/60 bg-foreground/[0.06] px-2 py-0.5 rounded-full font-medium",children:e("Gratuit","Free")})]}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-6 text-justify",children:e("Notre plateforme propriétaire vous permet d'agréger l'intégralité de votre patrimoine en un seul endroit, comptes bancaires, assurances-vie, immobilier, cryptoactifs, et, si vous le souhaitez, d'investir directement en ligne.","Our proprietary platform lets you aggregate your entire wealth in one place — bank accounts, life insurance, real estate, crypto assets — and, if you wish, invest directly online.")}),t.jsx("ul",{className:"space-y-2 mb-8",children:[e("Création de compte gratuite","Free account creation"),e("Agrégation multi-établissements en temps réel","Real-time multi-institution aggregation"),e("Investir en quelques clics","Invest in a few clicks")].map(r=>t.jsxs("li",{className:"flex items-start gap-3 text-sm text-muted-foreground",children:[t.jsx("span",{className:"mt-1.5 w-1 h-1 rounded-full bg-foreground
596/20 shrink-0"}),r]},r))}),t.jsxs("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm font-medium text-foreground hover:text-foreground/70 transition-colors group",children:[e("Créer mon compte gratuitement","Create my free account"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform"})]})]}),t.jsxs(S.div,{initial:{opacity:0,y:24,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.7,ease:cp,delay:.1},className:"bg-card border border-border rounded-xl p-10 md:p-14",children:[t.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center mb-6 text-foreground bg-muted",children:t.jsx(SQ,{className:"w-6 h-6"})}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight mb-3 text-foreground",children:"Fiscaly.ai"}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-6 text-justify",children:e("Notre intelligence artificielle fiscale analyse votre situation, détecte les optimisations possibles et vous guide vers les meilleures décisions en toute conformité.","Our tax AI analyses your situation, surfaces optimisation opportunities and guides you to the best decisions in full compliance.")}),t.jsx("ul",{className:"space-y-2 mb-8",children:[e("Analyse fiscale automatisée","Automated tax analysis"),e("Recommandations personnalisées","Personalised recommendations"),e("Conformité et veille réglementaire","Compliance and regulatory monitoring")].map(r=>t.jsxs("li",{className:"flex items-start gap-3 text-sm text-muted-foreground",children:[t.jsx("span",{className:"mt-1.5 w-1 h-1 rounded-full bg-foreground
596/20 shrink-0"}),r]},r))}),t.jsxs("a",{href:"https://fiscaly.ai",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm font-medium text-foreground hover:text-foreground/70 transition-colors group",children:[e("Découvrir Fiscaly","Discover Fiscaly"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform"})]})]})]}),t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:cp},className:"flex items-end justify-between mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(qQ,{className:"w-5 h-5 text-foreground/30"}),t.jsx("h3",{className:"font-display text-2xl tracking-tight text-foreground",children:e("Nos convictions","Our convictions")})]}),t.jsxs("a",{href:"/blog",className:"hidden md:inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[e("Tous les articles","All articles"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-5",children:n.map((r,i)=>t.jsxs(S.article,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:cp,delay:i*.08},className:"bg-card border border-border rounded-xl p-8 group cursor-pointer hover:shadow-md hover:border-foreground
596/15 hover:-translate-y-0.5 transition-all duration-300",children:[t.jsx("p",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground mb-4",children:r.category}),t.jsx("h4",{className:"text-base font-semibold tracking-tight mb-3 text-foreground transition-colors duration-300 leading-snug",children:r.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:r.excerpt})]},r.title))})]})})},mre=[.16,1,.3,1],hre=()=>{const{tr:e,lang:n}=K();return t.jsx("section",{id:"rdv",className:"section-y-lg relative",style:{background:"hsl(var(--surface-dark))"},children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 relative z-10 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:24,filter:"blur(6px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:1,ease:mre},children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase mb-6 block",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Réservé aux patrimoines exigeants","For discerning wealth")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mb-6",style:{color:"hsl(var(--surface-dark-foreground))"},children:n==="en"?t.jsxs(t.Fragment,{children:["Let's talk about",t.jsx("br",{}),"your wealth."]}):t.jsxs(t.Fragment,{children:["Échangeons sur",t.jsx("br",{}),"votre patrimoine."]})}),t.jsx("p",{className:"text-base max-w-lg mx-auto leading-relaxed mb-12",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Chaque patrimoine est unique. Nos conseillers prennent le temps de comprendre vos objectifs avant de proposer une stratégie sur-mesure. Premier entretien sans engagement.","Every estate is unique. Our advisors take the time to understand your goals before proposing a bespoke strategy. First meeting with no obligation.")}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsxs("a",{href:"mailto:[email protected]",className:"btn btn-lg group rounded-full",style:{background:"hsl(var(--surface-dark-foreground))",color:"hsl(var(--surface-dark))"},children:[e("Réserver un entretien privé","Book a private meeting"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform duration-300"})]}),t.jsxs("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",className:"btn btn-lg group border",style:{borderColor:"hsl(var(--surface-dark-foreground) / 0.2)",color:"hsl(var(--surface-dark-foreground) / 0.85)"},children:[e("Accéder à la plateforme","Access the platform"),t.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]})]}),t.jsx("p",{className:"text-xs mt-8",style:{color:"hsl(var(--surface-dark-muted) / 0.6)"},children:e("Entretien confidentiel · 30 minutes · Sans engagement · Création de compte gratuite","Confidential meeting · 30 minutes · No obligation · Free account creation")})]})})})},re=()=>{const{tr:e}=K();return t.jsx("footer",{className:"bg-background pt-20 pb-10 border-t border-border",children:t.jsxs("div",{className:"container max-w-7xl mx-auto px-6",children:[t.jsxs("div",{className:"flex flex-col lg:flex-row gap-16 lg:gap-8",children:[t.jsx("div",{className:"lg:w-1/6",children:t.jsx("span",{className:"font-display text-xl tracking-tight text-foreground",children:"Colbr"})}),t.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-5 gap-10 lg:gap-8 flex-1",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-xs font-medium tracking-widest uppercase text-muted-foreground mb-5",children:e("Solutions","Solutions")}),t.jsxs("ul",{className:"space-y-3 text-sm",children:[t.jsx("li",{children:t.jsx("a",{href:"/#gestion-privee",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("Gestion Privée","Private Wealth")})}),t.jsx("li",{children:t.jsx("a",{href:"/#family-office",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("Family Office","Family Office")})}),t.jsx("li",{children:t.jsx("a",{href:"/#expertises",className:"text-foreground
596/60 hover:text-foreground transition-colors",children:e("Expertises","Expertise")})})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs font-medium tracking-widest uppercase text-muted-foreground mb-5",children:e("Plateforme","Platform")}),t.jsxs("ul",{className:"space-y-3 text-sm",children:[t.jsx("li",{children:t.jsxs("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",className:"text-foreground/60 hover:text-foreground transition-colors inline-flex items-center gap-1",children:[e("Créer un compte","Create an account"),t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]})}),t.jsx("li",{children:t.jsx("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("Agrégateur patrimonial","Wealth aggregator")})}),t.jsx("li",{children:t.jsxs("a",{href:"https://fiscaly.ai",target:"_blank",rel:"noopener noreferrer",className:"text-foreground/60 hover:text-foreground transition-colors inline-flex items-center gap-1",children:["Fiscaly.ai",t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]})})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs font-medium tracking-widest uppercase text-muted-foreground mb-5",children:e("Ressources","Resources")}),t.jsxs("ul",{className:"space-y-3 text-sm",children:[t.jsx("li",{children:t.jsx("a",{href:"/#ressources",className:"text-foreground/60 hover:text-foreground transition-colors",children:"Insights"})}),t.jsx("li",{children:t.jsx("a",{href:"/club-deal#art",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("Art & Patrimoine","Art & Wealth")})}),t.jsx("li",{children:t.jsx("a",{href:"/interventions-medias",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("Interventions médias","Media appearances")})}),t.jsx("li",{children:t.jsx("a",{href:"/equipe",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("L'équipe","The team")})})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs font-medium tracking-widest uppercase text-muted-foreground mb-5",children:e("Contact","Contact")}),t.jsxs("ul",{className:"space-y-3 text-sm",children:[t.jsx("li",{children:t.jsx("a",{href:"mailto:[email protected]",className:"text-foreground/60 hover:text-foreground transition-colors",children:"[email protected]"})}),t.jsx("li",{children:t.jsx("a",{href:"https://www.linkedin.com/company/colbr",target:"_blank",rel:"noopener noreferrer",className:"text-foreground/60 hover:text-foreground transition-colors",children:"LinkedIn"})}),t.jsx("li",{children:t.jsxs("a",{href:"https://www.colbr.pro/",target:"_blank",rel:"noopener noreferrer",className:"text-foreground/60 hover:text-foreground transition-colors inline-flex items-center gap-1",children:[e("Espace Entreprises","Companies"),t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M7 17L17 7M7 7h10v10"})})]})})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-xs font-medium tracking-widest uppercase text-muted-foreground mb-5",children:e("Légal","Legal")}),t.jsxs("ul",{className:"space-y-3 text-sm",children:[t.jsx("li",{children:t.jsx("a",{href:"/mentions-legales",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("Mentions légales","Legal notice")})}),t.jsx("li",{children:t.jsx("a",{href:"/confidentialite",className:"text-foreground/60 hover:text-foreground transition-colors",children:e("Confidentialité","Privacy")})})]})]})]})]}),t.jsxs("div",{className:"mt-16 pt-6 border-t border-border flex flex-col md:flex-row items-center justify-between gap-3",children:[t.jsxs("p",{className:"text-muted-foreground text-xs",children:["© 2026 Colbr. ",e("Tous droits réservés.","All rights reserved.")]}
596),t.jsxs("p",{className:"text-muted-foreground/60 text-[11px] tracking-wide",children:[e("Conseiller en Investissements Financiers","Financial Investment Advisor")," · ORIAS n° 21001069"]})]})]})})},fre=()=>t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx(Zne,{}),t.jsx(nre,{}),t.jsx(rre,{}),t.jsx(lre,{}),t.jsx(cre,{}),t.jsx(dre,{}),t.jsx(pre,{}),t.jsx(hre,{}),t.jsx(re,{})]}),gre=()=>{const{pathname:e,hash:n}=Do();return k.useEffect(()=>{if(n){const r=document.getElementById(n.slice(1));if(r){requestAnimationFrame(()=>r.scrollIntoView({behavior:"smooth",block:"start"}));return}}window.scrollTo(0,0)},[e,n]),null},tg="https://colbr.co",xre={fr:{title:"Colbr — Gestion de patrimoine & Family Office indépendant",description:"Conseil indépendant en gestion de patrimoine, family office et ingénierie patrimoniale. Une approche discrète et sur mesure pour structurer, préserver et transmettre votre patrimoine."},en:{title:"Colbr — Independent Wealth & Family Office",description:"Independent wealth advisory, family office and wealth engineering. A discreet, bespoke approach to structure, preserve and transfer your wealth."}},vre={"/":{fr:{title:"Colbr — Gestion de patrimoine & Family Office indépendant",description:"Conseil indépendant en gestion de patrimoine, family office et ingénierie patrimoniale. Une approche discrète et sur mesure pour structurer, préserver et transmettre votre patrimoine."},en:{title:"Colbr — Independent Wealth & Family Office",description:"Independent wealth advisory, family office and wealth engineering. A discreet, bespoke approach to structure, preserve and transfer your wealth."}},"/gestion-privee":{fr:{title:"Gestion Privée — Colbr",description:"Un conseiller dédié et une stratégie patrimoniale sur mesure dès 50 000 €. Allocation, fiscalité, transmission."},en:{title:"Private Wealth — Colbr",description:"A dedicated advisor and a bespoke wealth strategy from €50,000. Allocation, tax, succession."}},"/family-office":{fr:{title:"Multi Family Office — Colbr",description:"Bancarisation internationale, financements complexes et gouvernance familiale pour patrimoines d'exception, dès 500 000 €."},en:{title:"Multi Family Office — Colbr",description:"International banking, complex financing and family governance for exceptional wealth, from €500,000."}},"/essentiel":{fr:{title:"L'Essentiel — Investir dès 1 000 € | Colbr",description:"Construisez et pilotez votre patrimoine en autonomie avec une sélection rigoureuse de placements, dès 1 000 €."},en:{title:"Essentials — Invest from €1,000 | Colbr",description:"Build and steer your wealth independently with a rigorous selection of investments, from €1,000."}},"/colbr-life":{fr:{title:"Colbr Life — La gestion pilotée qui bat la moyenne du marché | Colbr",description:"Profils de gestion pilotée Colbr Life (Suravenir) : de 7,96% à 15,02% annualisés depuis la création, nets de frais. 0% de frais d'entrée, 100% ETF, dès 50 000 €."},en:{title:"Colbr Life — Managed allocation that beats the market average | Colbr",description:"Colbr Life managed profiles (Suravenir): 7.96% to 15.02% annualised since inception, net of fees. 0% entry fees, 100% ETF, from €50,000."}},"/assurance-vie":{fr:{title:"Assurance-vie — Gestion libre et pilotée | Colbr",description:"Assurance-vie Suravenir : gestion libre ou pilotée, profils sur mesure, large univers d'investissement et fiscalité optimisée."},en:{title:"Life Insurance — Self-directed and managed | Colbr",description:"Suravenir life insurance: self-directed or managed, tailored profiles, broad investment universe and optimised taxation."}},"/assurance-vie-mineur":{fr:{title:"Assurance-vie mineur — Colbr",description:"Préparez l'avenir de vos enfants avec une assurance-vie dédiée aux mineurs : épargne longue, fiscalité douce et transmission."},en:{title:"Minor Life Insurance — Colbr",description:"Prepare your children's future with a life insurance plan for minors: long-term savings, soft taxation and succession."}},"/assurance-vie-luxembourgeoise":{fr:{title:"Assurance-vie luxembourgeoise — Colbr",description:"L'enveloppe de référence des grands patrimoines : triangle de sécurité, super-privilège et univers d'investissement étendu."},en:{title:"Luxembourg Life Insurance — Colbr",description:"The reference wrapper for high net worth: safety triangle, super-privilege and an extended investment universe."}},"/plan-epargne-retraite":{fr:{title:"Plan Épargne Retraite (PER
596) — Colbr",description:"PER Cardif et Suravenir : préparez votre retraite et réduisez vos impôts grâce à la déductibilité des versements."},en:{title:"Retirement Plan (PER) — Colbr",description:"Cardif and Suravenir PER: prepare your retirement and lower your taxes thanks to deductible contributions."}},"/plan-epargne-actions":{fr:{title:"PEA — Plan d'Épargne en Actions | Colbr",description:"PEA Nortia et Shares Pro : investissez sur les marchés actions européens avec 0 % de frais et une fiscalité avantageuse."},en:{title:"PEA — French Equity Savings Plan | Colbr",description:"Nortia and Shares Pro PEA: invest in European equity markets with 0% fees and favourable taxation."}},"/private-equity":{fr:{title:"Private Equity — Investir dans le non-coté | Colbr",description:"Accédez aux meilleurs fonds de Private Equity dès 50 000 € : gérants partenaires de référence et objectifs de performance élevés."},en:{title:"Private Equity — Invest in the unlisted | Colbr",description:"Access the best Private Equity funds from €50,000: reference partner managers and elevated return targets."}},"/scpi":{fr:{title:"SCPI — Investir dans l'immobilier | Colbr",description:"SCPI sélectionnées dès 1 000 € : rendement cible attractif, mutualisation et délégation totale de la gestion."},en:{title:"SCPI — Real Estate Investing | Colbr",description:"Selected SCPI funds from €1,000: attractive target yield, risk pooling and fully delegated management."}},"/simulateur-credit-scpi":{fr:{title:"Simulateur Crédit SCPI — Colbr",description:"Calculez l'effet de levier d'un investissement SCPI à crédit : économie d'impôt, mensualités et patrimoine net constitué."},en:{title:"SCPI Credit Simulator — Colbr",description:"Calculate the leverage of a credit-funded SCPI investment: tax savings, monthly payments and net wealth built."}},"/art":{fr:{title:"Investissement Art — Œuvres blue-chip | Colbr",description:"Investissez dans des œuvres d'art blue-chip avec un accompagnement sur-mesure. Diversification décorrélée des marchés financiers."},en:{title:"Art Investing — Blue-chip works | Colbr",description:"Invest in blue-chip artworks with a bespoke service. Diversification uncorrelated from financial markets."}},"/club-deal":{fr:{title:"Club Deal — Investissements exclusifs | Colbr",description:"Co-investissements et club deals immobiliers et entreprises réservés aux investisseurs avertis."},en:{title:"Club Deal — Exclusive investments | Colbr",description:"Real estate and corporate club deals and co-investments reserved for sophisticated investors."}},"/crypto":{fr:{title:"Investir dans les actifs numériques | ETP, Luxembourg | Colbr",description:"Découvrez comment intégrer les actifs numériques à votre patrimoine via des ETP, un contrat luxembourgeois, un compte suisse ou des produits structurés."},en:{title:"Investing in digital assets | ETP, Luxembourg | Colbr",description:"How to integrate digital assets into your wealth: listed ETPs, Luxembourg contract, Swiss account or structured products."}},"/produits-structures":{fr:{title:"Sur Mesure — Produits structurés | Colbr",description:"Produits structurés sur-mesure : couples rendement/risque calibrés, protection partielle du capital et coupons réguliers."},en:{title:"Bespoke — Structured Products | Colbr",description:"Bespoke structured products: calibrated risk/return profiles, partial capital protection and regular coupons."}},"/compte-titres":{fr:{title:"Compte-titres : investir sans plafond | Colbr",description:"Compte-titres Colbr : accès aux marchés mondiaux, aucun plafond de versement, dépositaires Swissquote, UBS, Nortia et CA Titres."},en:{title:"Securities account: invest without a ceiling | Colbr",description:"Colbr securities account: global market access, no contribution ceiling, custodians Swissquote, UBS, Nortia and CA Titres."}},"/suisse":{fr:{title:"Suisse : détention bancaire internationale | Colbr",description:"Diversifiez la détention de votre patrimoine en Suisse : UBS, Banque Héritage, ODDO BHF. Accès sur demande, après étude de dossier."},en:{title:"Switzerland: international bank custody | Colbr",description:"Diversify the custody of your wealth in Switzerland: UBS, Banque Héritage, ODDO BHF. Access on request, after case review."}},"/girardin":{fr:{title:"Girardin Industriel — Réduction d'impôt | Colbr",description:"Réduisez vos impôts grâce au dispositif Girardin Industriel : opération one-shot dans les DOM-TOM."},en:{title:"Girardin Industriel — Tax reduction | Colbr",description:"Reduce your French taxes with the Girardin Industriel scheme: a one-shot operation in French overseas territories."}},"/credit-lombard":{fr:{title:"Crédit Lombard : mobiliser sans vendre | Colbr",description:"Obtenez des liquidités en nantissant votre portefeuille, sans céder vos positions ni déclencher l'impôt. Étude sur mesure dès 100 000 €."},en:{title:"Lombard credit: liquidity without selling | Colbr",description:"Raise cash by pledging your portfolio, without selling positions or triggering tax. Bespoke review from €100,000."}},"/credit-hypothecaire":{fr:{title:"Crédit hypothécaire sur mesure | Colbr",description:"Financer ou refinancer un actif immobilier détenu : crédit hypothécaire haut de gamme, ouvert aux non-résidents et profils atypiques. Sur demande."},en:{title:"Bespoke mortgage credit | Colbr",description:"Finance or refinance a property you already own: premium mortgage credit, open to non-residents and atypical profiles. On request."}},"/financements-complexes":{fr:{title:"Financements complexes et montages sur mesure | Colbr",description:"Financement de holding, haut de bilan, c
596ollatéral multi-actifs, actifs atypiques : Colbr conçoit et négocie les montages de dette hors normes."},en:{title:"Complex financing and bespoke structures | Colbr",description:"Holding finance, equity transactions, multi-asset collateral, atypical assets: Colbr designs and negotiates out-of-the-ordinary debt structures."}},"/denormandie":{fr:{title:"Denormandie — Investissement immobilier locatif | Colbr",description:"Investissez dans l'ancien rénové et réduisez vos impôts jusqu'à 21 % avec le dispositif Denormandie."},en:{title:"Denormandie — Rental property investing | Colbr",description:"Invest in renovated French property and reduce your taxes by up to 21% with the Denormandie scheme."}},"/fcpi":{fr:{title:"FCPI — Réduire ses impôts en finançant l'innovation | Colbr",description:"FCPI : 25 % de réduction d'IR pour financer les PME innovantes françaises et européennes."},en:{title:"FCPI — Lower taxes by funding innovation | Colbr",description:"FCPI: 25% income tax reduction by funding innovative French and European SMEs."}},"/groupement-forestier":{fr:{title:"Groupement Forestier — Investir dans la forêt | Colbr",description:"Groupements forestiers : diversification tangible, fiscalité IFI et succession avantageuses, impact environnemental positif."},en:{title:"Forestry Group — Investing in forests | Colbr",description:"Forestry groups: tangible diversification, favourable IFI and inheritance taxation, positive environmental impact."}},"/ingenierie-patrimoniale":{fr:{title:"Ingénierie patrimoniale — Holding, apport-cession, transmission | Colbr",description:"Holding patrimoniale, apport-cession 150-0 B ter, démembrement, mobilité fiscale : nous construisons le cadre juridique et fiscal de vos opérations."},en:{title:"Wealth Engineering — Holdings, rollover relief, transfer | Colbr",description:"Wealth holdings, 150-0 B ter contribution-sale, dismemberment, tax mobility: we build the legal and tax framework of your operations."}},"/impot-declaration":{fr:{title:"Impôt & déclaration — Optimiser sa déclaration d'impôts | Colbr",description:"Un outil en ligne gratuit et un fiscaliste à vos côtés pour optimiser votre déclaration et activer toutes les réductions d'impôt."},en:{title:"Tax & filing — Optimise your tax return | Colbr",description:"A free online tool and a tax expert by your side to optimise your filing and activate every available tax credit."}},"/interventions-medias":{fr:{title:"Interventions médias — Colbr",description:"Retrouvez nos prises de parole sur BFM Business, Le Revenu et d'autres médias spécialisés en patrimoine."},en:{title:"Media Appearances — Colbr",description:"Discover our appearances on BFM Business, Le Revenu and other specialist wealth media."}},"/confidentialite":{fr:{title:"Politique de confidentialité — Colbr",description:"Politique de confidentialité et protection des données personnelles de Colbr Group."},en:{title:"Privacy Policy — Colbr",description:"Privacy policy and personal data protection at Colbr Group."}}};function bre(){const{pathname:e}=Do(),{lang:n}=K(),r=vre[e]??xre,i=r[n]??r.fr,s=`${tg}${e==="/"?"/":e}`,o=e.startsWith("/blog/")&&!e.startsWith("/blog/post/")&&!e.startsWith("/blog/theme/")?{"@context":"https://schema.org","@type":"BlogPosting",headline:i.title.split(" | ")[0].split(" — ")[0],description:i.description,url:s,mainEntityOfPage:{"@type":"WebPage","@id":s},inLanguage:n==="en"?"en":"fr-FR",author:{"@type":"Organization",name:"Colbr",url:tg},publisher:{"@type":"Organization",name:"Colbr",url:tg},isPartOf:{"@type":"Blog",name:"Le blog Colbr",url:`${tg}/blog`}}:null;return t.jsxs($r,{children:[t.jsx("html",{lang:n}),t.jsx("title",{children:i.title}),t.jsx("meta",{name:"description",content:i.description}),t.jsx("link",{rel:"canonical",href:s}),t.jsx("link",{rel:"alternate",hrefLang:"fr-FR",href:s}),t.jsx("link",{rel:"alternate",hrefLang:"en",href:s}),t.jsx("link",{rel:"alternate",hrefLang:"x-default",href:s}),t.jsx("meta",{property:"og:title",content:i.title}),t.jsx("meta",{property:"og:description",content:i.description}),t.jsx("meta",{property:"og:url",content:s}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{property:"og:locale",content:n==="en"?"en_US":"fr_FR"}),t.jsx("meta",{name:"twitter:title",content:i.title}),t.jsx("meta",{name:"twitter:description",content:i.description}),o&&t.jsx("script",{type:"application/ld+json",children:JSON.stringify(o)})]})}const MI=[.16,1,.3,1],Ft=({title:e,eyebrow:n,items:r,className:i=""})=>{const{tr:s}=K();if(!(r!=null&&r.length))return null;const a=e??s("Pour aller plus loin","Go further"),o=n??s("Solutions complémentaires","Complementary solutions");return t.jsx("section",{className:`py-24 bg-background border-t border-border/60 ${i}`,children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:MI},className:"mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:o}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight mt-3 text-foreground",children:a})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-5",children:r.map((l,c)=>t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:MI,delay:c*.07},children:t.jsxs(C,{to:l.to,className:`group block h-full bg-card border border-border rounded-xl p-8
597                           hover:border-foreground/20 hover:shadow-md hover:-translate-y-0.5
598                           transition-all duration-300`,children:[l.eyebrow&&t.jsx("p",{className:"text-[11px] tracking-[0.18em] uppercase text-muted-foreground mb-3",children:l.eyebrow}),t.jsx("h3",{className:"font-display text-lg tracking-tight text-foreground mb-3",children:l.label}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-6",children:l.description}),t.jsxs("span",{className:"inline-flex items-center gap-2 text-sm font-medium text-foreground",children:[s("Découvrir","Discover"),t.jsx(V,{className:"w-4 h-4 transition-transform duration-300 group-hover:translate-x-0.5"})]})]})},l.to+l.label))})]})})},br=[.16,1,.3,1],yre=()=>{const{tr:e}=K(),n=[{icon:t.jsx(jR,{className:"w-6 h-6"}),title:e("Private Equity & Club Deals","Private Equity & Club Deals"),description:e("Accédez aux fonds les plus prestigieux et à des opérations réservées à un cercle restreint d'investisseurs qualifiés. Tickets à partir de 50 000 €.","Access the most prestigious funds and transactions reserved for a select circle of qualified investors. Tickets from €50,000.")},{icon:t.jsx(We,{className:"w-6 h-6"}),title:e("Assurance-vie Luxembourgeoise","Luxembourg Life Insurance"),description:e("Bénéficiez de la neutralité fiscale, du Triangle de Sécurité et d'une architecture ouverte multi-devises pour une protection patrimoniale optimale.","Benefit from fiscal neutrality, the Triangle of Security and an open multi-currency architecture for optimal wealth protection.")},{icon:t.jsx(bR,{className:"w-6 h-6"}),title:e("Immobilier & Démembrement","Real Estate & Bare Ownership"),description:e("Stratégies immobilières sur-mesure : SCPI en démembrement, club deals immobiliers, optimisation de la détention et de la transmission.","Tailored real-estate strategies: split-ownership SCPI, real-estate club deals, optimisation of holding and transfer.")},{icon:t.jsx(pr,{className:"w-6 h-6"}),title:e("Optimisation fiscale 150-0 B Ter","150-0 B Ter tax optimisation"),description:e("Différez votre imposition en réinvestissant dans des fonds performants éligibles. Nous sélectionnons les meilleurs véhicules pour maximiser le report.","Defer taxation by reinvesting in eligible high-performing funds. We select the best vehicles to maximise the deferral."),link:"/gestion-privee/apport-cession-150-0-b-ter"}],r=[{title:e("Accès prioritaire","Priority access"),description:e("Soyez informé en avant-première de nos opportunités d'investissement : Club Deals, Private Equity, produits structurés exclusifs.","Be the first to hear about our investment opportunities: Club Deals, Private Equity, exclusive structured products.")},{title:e("Frais maîtrisés","Controlled fees"),description:e("Une tarification transparente et dégressive, sans frais cachés. Alignement total de nos intérêts avec les vôtres.","Transparent, tiered pricing with no hidden fees. Full alignment of our interests with yours.")},{title:e("Conseiller dédié","Dedicated adviser"),description:e("Un interlocuteur unique, expert en ingénierie patrimoniale, disponible et réactif pour piloter votre stratégie.","A single point of contact, expert in wealth engineering, available and responsive to steer your strategy.")},{title:e("Performance optimisée","Optimised performance"),description:e("Une allocation construite sur-mesure, combinant les meilleures classes d'actifs pour un rendement ajusté au risque optimal.","A bespoke allocation combining the best asset classes for an optimal risk-adjusted return.")}],i=[{number:"01",title:e("Entretien patrimonial","Wealth review"),description:e("Un premier échange confidentiel pour comprendre votre situation, vos objectifs et vos contraintes. Aucun engagement.","A first confidential conversation to understand your situation, goals and constraints. No commitment.")},{number:"02",title:e("Stratégie sur-mesure","Bespoke strategy"),description:e("Nos ingénieurs patrimoniaux élaborent une allocation personnalisée, optimisée fiscalement et adaptée à votre horizon.","Our wealth engineers design a personalised allocation, tax-optimised and aligned with your horizon.")},{number:"03",title:e("Accompagnement continu","Ongoing support"),description:e("Suivi régulier, reporting détaillé et ajustements proactifs. Votre conseiller dédié reste votre point de contact privilégié.","Regular monitoring, detailed reporting and proactive adjustments. Your dedicated adviser remains your primary contact.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden pt-16 bg-background",children:[t.jsx("div",{className:"absolute top-1/3 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[600px] bg-primary/[0.03] rounded-full blur-[180px] pointer-events-none"}),t.jsx("div",{className:"absolute top-16 left-0 right-0 line-gold"}),t.jsx("div",{className:"container relative z-10 max-w-5xl mx-auto px-6",children:t.jsxs("div",{className:"text-center",children:[t.jsx(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"}
598,animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.8,ease:br,delay:.3},className:"mb-8",children:t.jsxs("span",{className:"inline-flex items-center gap-3 text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:[t.jsx("span",{className:"w-8 h-px bg-primary/40"}),e("Colbr · Gestion Privée","Colbr · Private Wealth"),t.jsx("span",{className:"w-8 h-px bg-primary/40"})]})}),t.jsxs(S.h1,{initial:{opacity:0,y:24,filter:"blur(6px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.9,ease:br,delay:.4},className:"font-display text-4xl sm:text-5xl md:text-[4.2rem] leading-[1.1] tracking-tight mb-8",children:[e("Accédez à ce que la gestion privée","Access what private wealth management"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:e("offre de plus exigeant.","offers at its most discerning.")})]}),t.jsx(S.p,{initial:{opacity:0,y:16,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.7,ease:br,delay:.6},className:"text-muted-foreground text-base md:text-lg max-w-2xl mx-auto leading-relaxed mb-6",children:e("Une offre exclusive pour les patrimoines à partir de 50 000 €. Stratégie sur-mesure, accès aux meilleurs fonds et accompagnement d'un conseiller dédié.","An exclusive offering for wealth from €50,000. Bespoke strategy, access to the best funds and the guidance of a dedicated adviser.")}),t.jsx(S.p,{initial:{opacity:0}
598,animate:{opacity:1},transition:{duration:.5,delay:.8},className:"text-primary/70 text-sm font-display italic mb-10",children:e("À partir de 50 000 € d'encours","From €50,000 in assets")}),t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.6,ease:br,delay:.9},className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsx("a",{href:"#rdv",className:"inline-flex items-center px-8 py-3.5 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 active:scale-[0.98] transition-all duration-200",children:e("Devenir membre","Become a member")}),t.jsx("a",{href:"#services",className:"inline-flex items-center px-8 py-3.5 text-sm font-medium tracking-wide border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200",children:e("Découvrir l'offre","Explore the offering")})]})]})}),t.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-40 bg-gradient-to-t from-background to-transparent pointer-events-none"})]}),t.jsx("section",{id:"services",className:"py-36 bg-surface-warm",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:br},className:"text-center mb-20",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Nos expertises","Our expertise")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-warm-foreground))"},children:[e("Des solutions pensées pour les","Solutions designed for")," ",t.jsx("span",{className:"font-semibold",children:e("familles patrimoniales et dirigeants","wealth-owning families and executives")})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:n.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,y:24,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:br,delay:a*.1},className:"group relative p-8 md:p-10 rounded-2xl bg-white/60 backdrop-blur-sm border border-black/[0.06] hover:shadow-lg hover:shadow-black/[0.04] transition-all duration-300",children:[t.jsx("div",{className:"absolute top-0 left-8 right-8 h-px bg-gradient-to-r from-transparent via-primary/30 to-transparent"}),t.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center mb-6 bg-primary/10 text-primary",children:s.icon}),t.jsx("h3",{className:"text-xl font-semibold tracking-tight mb-3",style:{color:"hsl(var(--surface-warm-foreground))"},children:s.title}),t.jsx("p",{className:"text-sm leading-relaxed",style:{color:"hsl(var(--surface-warm-muted))"},children:s.description}),t.jsx("div",{className:"mt-6",children:s.link&&t.jsxs(C,{to:s.link,className:"inline-flex items-center gap-1.5 text-sm font-medium text-primary group-hover:gap-2.5 transition-all duration-200",children:[e("Découvrir","Discover")," ",s.title," ",t.jsx(V,{className:"w-3.5 h-3.5"})]})})]},s.title))})]})}),t.jsx("section",{className:"py-36 bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:br},className:"text-center mb-20",children:[t.jsx("p",{className:"text-muted-foreground text-sm tracking-[0.15em] uppercase mb-4",children:e("Pourquoi nous choisir","Why choose us")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",children:[e("L'exigence au service de","Excellence at the service of")," ",t.jsx("span",{className:"text-gradient-gold",children:e("votre patrimoine","your wealth")})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:r.map((s,a)=>t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.5,ease:br,delay:a*.08},className:"p-8 rounded-2xl bg-card border border-border/60 hover:border-primary/20 transition-all duration-300",children:t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx("div",{className:"mt-1 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center shrink-0",children:t.jsx(Xl,{className:"w-4 h-4 text-primary"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-semibold tracking-tight mb-2",children:s.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:s.description})]})]})},s.title))})]})}),t.jsx("section",{className:"py-36 bg-surface-taupe",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:br},className:"text-center mb-20",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-taupe-foreground) / 0.5)"},children:e("Nos offres","Our offerings")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-taupe-foreground))"},children:[e("Faites évoluer votre patrimoine","Grow your wealth")," ",t.jsx("span",{className:"font-semibold",children:e("avec exigence","with rigour")})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:e("Investissement","Investment"),threshold:e("Dès 1 000 €","From €
5981,000"),features:[e("Assurance-vie & PER optimisés","Optimised life insurance & retirement plans"),e("Allocation diversifiée","Diversified allocation"),e("Suivi en temps réel","Real-time monitoring"),e("Support client dédié","Dedicated client support"),e("Frais compétitifs","Competitive fees")],highlighted:!1,link:"/essentiel"},{name:e("Gestion Privée","Private Wealth"),threshold:e("À partir de 50 000 €","From €50,000"),features:[e("Tous les avantages Investissement","All Investment benefits"),e("Conseiller patrimonial dédié","Dedicated wealth adviser"),e("Private Equity & Club Deals","Private Equity & Club Deals"),e("Assurance-vie Luxembourgeoise","Luxembourg Life Insurance"),e("Optimisation fiscale avancée","Advanced tax optimisation"),e("Frais dégressifs","Tiered fees")],highlighted:!0,link:"#rdv"},{name:"Family Office",threshold:e("À partir de 5 M€","From €5M"),features:[e("Tous les avantages GP","All Private Wealth benefits"),e("Ingénierie patrimoniale globale","Holistic wealth engineering"),e("Accès prioritaire aux deals","Priority deal access"),e("Coordination multi-experts","Multi-expert coordination"),e("Reporting sur-mesure","Bespoke reporting"),e("Ligne directe prioritaire","Priority direct line")],highlighted:!1,link:"#rdv"}].map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:br,delay:a*.1},className:`relative p-8 rounded-2xl border transition-all duration-300 ${s.highlighted?"bg-background border-primary/30 shadow-lg shadow-primary/[0.08]":"bg-white/70 border-black/[0.06]"}`,children:[s.highlighted&&t.jsx("div",{className:"absolute -top-px left-8 right-8 h-px bg-gradient-to-r from-transparent via-primary to-transparent"}),t.jsx("p",{className:`text-xs tracking-[0.12em] uppercase mb-2 ${s.highlighted?"text-primary":""}`,style:s.highlighted?{}:{color:"hsl(var(--surface-taupe-foreground) / 0.4)"},children:s.threshold}),t.jsx("h3",{className:`font-display text-2xl tracking-tight mb-6 ${s.highlighted?"text-foreground":""}`,style:s.highlighted?{}:{color:"hsl(var(--surface-taupe-foreground))"},children:s.name}),t.jsx("ul",{className:"space-y-3 mb-8",children:s.features.map(o=>t.jsxs("li",{className:`flex items-start gap-2.5 text-sm ${s.highlighted?"text-muted-foreground":""}`,style:s.highlighted?{}:{color:"hsl(var(--surface-taupe-foreground) / 0.6)"},children:[t.jsx(Xl,{className:`w-4 h-4 mt-0.5 shrink-0 ${s.highlighted?"text-primary":"text-primary/60"}`}),o]},o))}),s.link.startsWith("/")?t.jsx(C,{to:s.link,className:`inline-flex items-center w-full justify-center px-6 py-3 text-sm font-medium tracking-wide transition-all duration-200 ${s.highlighted?"bg-primary text-primary-foreground hover:brightness-110":"border border-black/10 hover:border-black/20"}`,style:s.highlighted?{}:{color:"hsl(var(--surface-taupe-foreground))"},children:s.highlighted?e("Devenir membre","Become a member"):e("Découvrir","Discover")+" "+s.name}):t.jsx("a",{href:s.link,className:`inline-flex items-center w-full justify-center px-6 py-3 text-sm font-medium tracking-wide transition-all duration-200 ${s.highlighted?"bg-primary text-primary-foreground hover:brightness-110":"border border-black/10 hover:border-black/20"}`,style:s.highlighted?{}:{color:"hsl(var(--surface-taupe-foreground))"},children:s.highlighted?e("Devenir membre","Become a member"):e("Découvrir","Discover")+" "+s.name})]},s.name))})]})}),t.jsx("section",{className:"py-36 bg-background",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:br},className:"text-center mb-20",children:[t.jsx("p",{className:"text-muted-foreground text-sm tracking-[0.15em] uppercase mb-4",children:e("Processus","Process")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",children:[e("Comment ça","How it")," ",t.jsx("span",{className:"text-gradient-gold",children:e("fonctionne ?","works?")})]})]}),t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"hidden md:block absolute left-[28px] top-0 bottom-0 w-px bg-gradient-to-b from-primary/30 via-primary/10 to-transparent"}),t.jsx("div",{className:"space-y-12",children:i.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:br,delay:a*.12},className:"flex gap-8 items-start",children:[t.jsx("div",{className:"w-14 h-14 roun
598ded-full border border-primary/30 bg-card flex items-center justify-center shrink-0",children:t.jsx("span",{className:"text-primary font-display text-lg",children:s.number})}),t.jsxs("div",{className:"pt-2",children:[t.jsx("h3",{className:"text-xl font-semibold tracking-tight mb-2",children:s.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed max-w-lg",children:s.description})]})]},s.number))})]})]})}),t.jsx("section",{className:"py-36 bg-surface-warm",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:br},children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Prêt à commencer ?","Ready to begin?")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mb-6",style:{color:"hsl(var(--surface-warm-foreground))"},children:[e("Votre patrimoine mérite une attention","Your wealth deserves attention that is")," ",t.jsx("span",{className:"font-semibold",children:e("d'exception","exceptional")})]}),t.jsx("p",{className:"text-sm leading-relaxed max-w-xl mx-auto mb-10",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Échangez en toute confidentialité avec l'un de nos conseillers patrimoniaux. Premier entretien sans engagement.","Speak in full confidence with one of our wealth advisers. First meeting with no commitment.")}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center px-10 py-4 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 active:scale-[0.98] transition-all duration-200",children:e("Réserver un entretien privé","Book a private meeting")}),t.jsx("p",{className:"mt-6 text-xs italic",style:{color:"hsl(var(--surface-warm-muted) / 0.6)"},children:e("Les stratégies présentées ici ne reflètent qu'une partie de celles réservées à nos clients.","The strategies shown here represent only a fraction of those reserved for our clients.")})]})})}),t.jsx(Ft,{items:[{to:"/family-office",label:"Family Office",description:e("À partir de 5 M€, accédez à une approche Family Office complète.","From €5M, access a complete Family Office approach."),eyebrow:e("Aller plus loin","Go further")},{to:"/assurance-vie",label:e("Assurance-vie","Life Insurance"),description:e("L'enveloppe de référence de notre offre de Gestion Privée.","The benchmark wrapper of our Private Wealth offering."),eyebrow:e("Solution phare","Flagship solution")},{to:"/scpi",label:"SCPI",description:e("Diversifiez votre allocation vers l'immobilier de rendement.","Diversify your allocation into income-producing real estate."),eyebrow:e("Diversification","Diversification")}]}),t.jsx(re,{})]})},$o=({title:e,items:n})=>{const{tr:r}=K();if(!n.length)return null;const i=e??r("Pour aller plus loin","Explore further");return t.jsx("section",{className:"py-16 md:py-20 bg-background",children:t.jsxs("div",{className:"container mx-auto max-w-5xl px-6",children:[t.jsxs("div",{className:"mb-8 flex items-center gap-4",children:[t.jsx("h2",{className:"font-display text-[22px] md:text-2xl tracking-tight text-foreground",children:i}),t.jsx("span",{className:"h-px flex-1 bg-border"})]}),t.jsx("ul",{className:"grid gap-px overflow-hidden rounded-xl border border-border/70 bg-border/70 sm:grid-cols-2",children:n.map(s=>t.jsx("li",{className:"bg-background",children:t.jsxs(C,{to:s.to,className:"group flex h-full flex-col gap-2 px-6 py-6 transition-colors hover:bg-muted/40 focu
598s-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary/30",children:[t.jsx("span",{className:"text-[10px] uppercase tracking-[0.24em] text-muted-foreground",children:s.eyebrow}),t.jsxs("span",{className:"flex items-start justify-between gap-3 font-display text-[17px] leading-snug tracking-tight text-foreground",children:[s.title,t.jsx($b,{className:"mt-1 h-4 w-4 shrink-0 text-muted-foreground transition-colors group-hover:text-primary","aria-hidden":"true"})]}),s.description&&t.jsx("span",{className:"text-[13px] leading-relaxed text-muted-foreground",children:s.description})]})},s.to))})]})})};var lj="focusScope.autoFocusOnMount",cj="focusScope.autoFocusOnUnmount",$I={bubbles:!1,cancelable:!0},jre="FocusScope",YM=k.forwardRef((e,n)=>{const{loop:r=!1,trapped:i=!1,onMountAutoFocus:s,onUnmountAutoFocus:a,...o}=e,[l,c]=k.useState(null),u=js(s),d=js(a),p=k.useRef(null),m=$t(n,f=>c(f)),h=k.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;k.useEffect(()=>{if(i){let f=function(y){if(h.paused||!l)return;const N=y.target;l.contains(N)?p.current=N:Va(p.current,{select:!0})},x=function(y){if(h.paused||!l)return;const N=y.relatedTarget;N!==null&&(l.contains(N)||Va(p.current,{select:!0}))},v=function(y){if(document.activeElement===document.body)for(const j of y)j.removedNodes.length>0&&Va(l)};document.addEventListener("focusin",f),document.addEventListener("focusout",x);const b=new MutationObserver(v);return l&&b.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",x),b.disconnect()}}},[i,l,h.paused]),k.useEffect(()=>{if(l){zI.add(h);const f=document.activeElement;if(!l.contains(f)){const v=new CustomEvent(lj,$I);l.addEventListener(lj,u),l.dispatchEvent(v),v.defaultPrevented||(wre(Cre(JM(l)),{select:!0}
vendor: 4,723 bytes, line 598
598),document.activeElement===f&&Va(l))}return()=>{l.removeEventListener(lj,u),setTimeout(()=>{const v=new CustomEvent(cj,$I);l.addEventListener(cj,d),l.dispatchEvent(v),v.defaultPrevented||Va(f??document.body,{select:!0}),l.removeEventListener(cj,d),zI.remove(h)},0)}}},[l,u,d,h]);const g=k.useCallback(f=>{if(!r&&!i||h.paused)return;const x=f.key==="Tab"&&!f.altKey&&!f.ctrlKey&&!f.metaKey,v=document.activeElement;if(x&&v){const b=f.currentTarget,[y,N]=Nre(b);y&&N?!f.shiftKey&&v===N?(f.preventDefault(),r&&Va(y,{select:!0})):f.shiftKey&&v===y&&(f.preventDefault(),r&&Va(N,{select:!0})):v===b&&f.preventDefault()}},[r,i,h.paused]);return t.jsx(vt.div,{tabIndex:-1,...o,ref:m,onKeyDown:g})});YM.displayName=jre;function wre(e,{select:n=!1}={}){const r=document.activeElement;for(const i of e)if(Va(i,{select:n}),document.activeElement!==r)return}function Nre(e){const n=JM(e),r=BI(n,e),i=BI(n.reverse(),e);return[r,i]}function JM(e){const n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const s=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||s?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)n.push(r.currentNode);return n}function BI(e,n){for(const r of e)if(!kre(r,{upTo:n}))return r}function kre(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function qre(e){return e instanceof HTMLInputElement&&"select"in e}function Va(e,{select:n=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&qre(e)&&n&&e.select()}}var zI=Sre();function Sre(){let e=[];return{add(n){const r=e[0];n!==r&&(r==null||r.pause()),e=UI(e,n),e.unshift(n)},remove(n){var r;e=UI(e,n),(r=e[0])==null||r.resume()}}}function UI(e,n){const r=[...e],i=r.indexOf(n);return i!==-1&&r.splice(i,1),r}function Cre(e){return e.filter(n=>n.tagName!=="A")}var uj=0;function Pre(){k.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??VI()),document.body.insertAdjacentElement("beforeend",e[1]??VI()),uj++,()=>{uj===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),uj--}},[])}function VI(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var cs=function(){return cs=Object.assign||function(n){for(var r,i=1,s=arguments.length;i<s;i++){r=arguments[i];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[a]=r[a])}return n},cs.apply(this,arguments)};function XM(e,n){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&n.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++)n.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]]);return r}function Ere(e,n,r){if(r||arguments.length===2)for(var i=0,s=n.length,a;i<s;i++)(a||!(i in n))&&(a||(a=Array.prototype.slice.call(n,0,i)),a[i]=n[i]);return e.concat(a||Array.prototype.slice.call(n))}var mx="right-scroll-bar-position",hx="width-before-scroll-bar",Tre="with-scroll-bars-hidden",Ire="--removed-body-scroll-bar-size";function dj(e,n){return typeof e=="function"?e(n):e&&(e.current=n),e}function Are(e,n){var r=k.useState(function(){return{value:e,callback:n,facade:{get current(){return r.value},set current(i){var s=r.value;s!==i&&(r.value=i,r.callback(i,s))}}}})[0];return r.callback=n,r.facade}var Lre=typeof window<"u"?k.useLayoutEffect:k.useEffect,WI=new WeakMap;function Fre(e,n){var r=Are(null,function(i){return e.forEach(function(s){return dj(s,i)})});return Lre(function(){var i=WI.get(r);if(i){var s=new Set(i),a=new Set(e),o=r.current;s.forEach(function(l){a.has(l)||dj(l,null)}),a.forEach(function(l){s.has(l)||dj(l,o)})}WI.set(r,e)},[e]),r}function _re(e){return e}function Ore(e,n){n===void 0&&(n=_re);var r=[],i=!1,s={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(a){var o=n(a,i);return r.push(o),function(){r=r.filter(function(l){return l!==o})}},assignSyncMedium:function(a){for(i=!0;r.length;){var o=r;r=[],o.forEach(a)}r={push:function(l){return a(l)},filter:function(){return r}}},assignMedium:function(a){i=!0;var o=[];if(r.length){var l=r;r=[],l.forEach(a),o=r}var c=function(){var d=o;o=[],d.forEach(a)},u=function(){return Promise.resolve().then(c)};
vendor: 5,104 bytes, lines 598-635
598u(),r={push:function(d){o.push(d),u()},filter:function(d){return o=o.filter(d),r}}}};return s}function Rre(e){e===void 0&&(e={});var n=Ore(null);return n.options=cs({async:!0,ssr:!1},e),n}var ZM=function(e){var n=e.sideCar,r=XM(e,["sideCar"]);if(!n)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=n.read();if(!i)throw new Error("Sidecar medium not found");return k.createElement(i,cs({},r))};ZM.isSideCarExport=!0;function Dre(e,n){return e.useMedium(n),ZM}var e8=Rre(),pj=function(){},ny=k.forwardRef(function(e,n){var r=k.useRef(null),i=k.useState({onScrollCapture:pj,onWheelCapture:pj,onTouchMoveCapture:pj}),s=i[0],a=i[1],o=e.forwardProps,l=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,p=e.shards,m=e.sideCar,h=e.noRelative,g=e.noIsolation,f=e.inert,x=e.allowPinchZoom,v=e.as,b=v===void 0?"div":v,y=e.gapMode,N=XM(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),j=m,w=Fre([r,n]),q=cs(cs({},N),s);return k.createElement(k.Fragment,null,d&&k.createElement(j,{sideCar:e8,removeScrollBar:u,shards:p,noRelative:h,noIsolation:g,inert:f,setCallbacks:a,allowPinchZoom:!!x,lockRef:r,gapMode:y}),o?k.cloneElement(k.Children.only(l),cs(cs({},q),{ref:w})):k.createElement(b,cs({},q,{className:c,ref:w}),l))});ny.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ny.classNames={fullWidth:hx,zeroRight:mx};var Mre=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $re(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var n=Mre();return n&&e.setAttribute("nonce",n),e}function Bre(e,n){e.styleSheet?e.styleSheet.cssText=n:e.appendChild(document.createTextNode(n))}function zre(e){var n=document.head||document.getElementsByTagName("head")[0];n.appendChild(e)}var Ure=function(){var e=0,n=null;return{add:function(r){e==0&&(n=$re())&&(Bre(n,r),zre(n)),e++},remove:function(){e--,!e&&n&&(n.parentNode&&n.parentNode.removeChild(n),n=null)}}},Vre=function(){var e=Ure();return function(n,r){k.useEffect(function(){return e.add(n),function(){e.remove()}},[n&&r])}},t8=function(){var e=Vre(),n=function(r){var i=r.styles,s=r.dynamic;return e(i,s),null};return n},Wre={left:0,top:0,right:0,gap:0},mj=function(e){return parseInt(e||"",10)||0},Hre=function(e){var n=window.getComputedStyle(document.body),r=n[e==="padding"?"paddingLeft":"marginLeft"],i=n[e==="padding"?"paddingTop":"marginTop"],s=n[e==="padding"?"paddingRight":"marginRight"];return[mj(r),mj(i),mj(s)]},Gre=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Wre;var n=Hre(e),r=document.documentElement.clientWidth,i=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,i-r+n[2]-n[0])}},Kre=t8(),bu="data-scroll-locked",Qre=function(e,n,r,i){var s=e.left,a=e.top,o=e.right,l=e.gap;return r===void 0&&(r="margin"),`
599  .`.concat(Tre,` {
600   overflow: hidden `).concat(i,`;
601   padding-right: `).concat(l,"px ").concat(i,`;
602  }
603  body[`).concat(bu,`] {
604    overflow: hidden `).concat(i,`;
605    overscroll-behavior: contain;
606    `).concat([n&&"position: relative ".concat(i,";"),r==="margin"&&`
607    padding-left: `.concat(s,`px;
608    padding-top: `).concat(a,`px;
609    padding-right: `).concat(o,`px;
610    margin-left:0;
611    margin-top:0;
612    margin-right: `).concat(l,"px ").concat(i,`;
613    `),r==="padding"&&"padding-right: ".concat(l,"px ").concat(i,";")].filter(Boolean).join(""),`
614  }
615  
616  .`).concat(mx,` {
617    right: `).concat(l,"px ").concat(i,`;
618  }
619  
620  .`).concat(hx,` {
621    margin-right: `).concat(l,"px ").concat(i,`;
622  }
623  
624  .`).concat(mx," .").concat(mx,` {
625    right: 0 `).concat(i,`;
626  }
627  
628  .`).concat(hx," .").concat(hx,` {
629    margin-right: 0 `).concat(i,`;
630  }
631  
632  body[`).concat(bu,`] {
633    `).concat(Ire,": ").concat(l,`px;
634  }
635`)},HI=function(){var e=parseInt(document.body.getAttribute(bu)||"0",10);return isFinite(e)?e:0},Yre=function(){k.useEffect(function(){return document.body.setAttribute(bu,(HI()+1).toString()),function(){var e=HI()-1;e<=0?document.body.removeAttribute(bu):document.body.setAttribute(bu,e.toString())}},[])},Jre=function(e){var n=e.noRelative,r=e.noImportant,i=e.gapMode,s=i===void 0?"margin":i;Yre();var a=k.useMemo(function(){return Gre(s)},[s]);return k.createElement(Kre,{styles:Qre(a,!n,s,r?"":"!important")})},k2=!1;if(typeof window<"u")try{var ng=Object.defineProperty({},"passive",{get:function(){return k2=!0,!0}});window.addEventListener("test",ng,ng),window.removeEventListener("test",ng,ng)}catch{k2=!1}var Nc=k2?{passive:!1}:!1,Xre=function(e){return e.tagName==="TEXTAREA"},n8=function(e,n){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[n]!=="hidden"&&!(r.overflowY===r.overflowX&&!Xre(e)&&r[n]==="visible")},Zre=function(e){return n8(e,"overflowY")},eie=function(e){return n8(e,"overflowX")},GI=function(e,n){var r=n.ownerDocument,i=n;do{typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host);var s=r8(e,i);if(s){var a=i8(e,i),o=a[1],l=a[2];if(o>l)return!0}i=i.parentNode}while(i&&i!==r.body);return!1}
vendor: 4,695 bytes, lines 635-638
635,tie=function(e){var n=e.scrollTop,r=e.scrollHeight,i=e.clientHeight;return[n,r,i]},nie=function(e){var n=e.scrollLeft,r=e.scrollWidth,i=e.clientWidth;return[n,r,i]},r8=function(e,n){return e==="v"?Zre(n):eie(n)},i8=function(e,n){return e==="v"?tie(n):nie(n)},rie=function(e,n){return e==="h"&&n==="rtl"?-1:1},iie=function(e,n,r,i,s){var a=rie(e,window.getComputedStyle(n).direction),o=a*i,l=r.target,c=n.contains(l),u=!1,d=o>0,p=0,m=0;do{if(!l)break;var h=i8(e,l),g=h[0],f=h[1],x=h[2],v=f-x-a*g;(g||v)&&r8(e,l)&&(p+=v,m+=g);var b=l.parentNode;l=b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}while(!c&&l!==document.body||c&&(n.contains(l)||n===l));return(d&&(Math.abs(p)<1||!s)||!d&&(Math.abs(m)<1||!s))&&(u=!0),u},rg=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},KI=function(e){return[e.deltaX,e.deltaY]},QI=function(e){return e&&"current"in e?e.current:e},sie=function(e,n){return e[0]===n[0]&&e[1]===n[1]},aie=function(e){return`
636  .block-interactivity-`.concat(e,` {pointer-events: none;}
637  .allow-interactivity-`).concat(e,` {pointer-events: all;}
638`)},oie=0,kc=[];function lie(e){var n=k.useRef([]),r=k.useRef([0,0]),i=k.useRef(),s=k.useState(oie++)[0],a=k.useState(t8)[0],o=k.useRef(e);k.useEffect(function(){o.current=e},[e]),k.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var f=Ere([e.lockRef.current],(e.shards||[]).map(QI),!0).filter(Boolean);return f.forEach(function(x){return x.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),f.forEach(function(x){return x.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var l=k.useCallback(function(f,x){if("touches"in f&&f.touches.length===2||f.type==="wheel"&&f.ctrlKey)return!o.current.allowPinchZoom;var v=rg(f),b=r.current,y="deltaX"in f?f.deltaX:b[0]-v[0],N="deltaY"in f?f.deltaY:b[1]-v[1],j,w=f.target,q=Math.abs(y)>Math.abs(N)?"h":"v";if("touches"in f&&q==="h"&&w.type==="range")return!1;var P=GI(q,w);if(!P)return!0;if(P?j=q:(j=q==="v"?"h":"v",P=GI(q,w)),!P)return!1;if(!i.current&&"changedTouches"in f&&(y||N)&&(i.current=j),!j)return!0;var T=i.current||j;return iie(T,x,f,T==="h"?y:N,!0)},[]),c=k.useCallback(function(f){var x=f;if(!(!kc.length||kc[kc.length-1]!==a)){var v="deltaY"in x?KI(x):rg(x),b=n.current.filter(function(j){return j.name===x.type&&(j.target===x.target||x.target===j.shadowParent)&&sie(j.delta,v)})[0];if(b&&b.should){x.cancelable&&x.preventDefault();return}if(!b){var y=(o.current.shards||[]).map(QI).filter(Boolean).filter(function(j){return j.contains(x.target)}),N=y.length>0?l(x,y[0]):!o.current.noIsolation;N&&x.cancelable&&x.preventDefault()}}},[]),u=k.useCallback(function(f,x,v,b){var y={name:f,delta:x,target:v,should:b,shadowParent:cie(v)};n.current.push(y),setTimeout(function(){n.current=n.current.filter(function(N){return N!==y})},1)},[]),d=k.useCallback(function(f){r.current=rg(f),i.current=void 0},[]),p=k.useCallback(function(f){u(f.type,KI(f),f.target,l(f,e.lockRef.current))},[]),m=k.useCallback(function(f){u(f.type,rg(f),f.target,l(f,e.lockRef.current))},[]);k.useEffect(function(){return kc.push(a),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:m}),document.addEventListener("wheel",c,Nc),document.addEventListener("touchmove",c,Nc),document.addEventListener("touchstart",d,Nc),function(){kc=kc.filter(function(f){return f!==a}),document.removeEventListener("wheel",c,Nc),document.removeEventListener("touchmove",c,Nc),document.removeEventListener("touchstart",d,Nc)}},[]);var h=e.removeScrollBar,g=e.inert;return k.createElement(k.Fragment,null,g?k.createElement(a,{styles:aie(s)}):null,h?k.createElement(Jre,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function cie(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const uie=Dre(e8,lie);var s8=k.forwardRef(function(e,n){return k.createElement(ny,cs({},e,{ref:n,sideCar:uie}))});s8.classNames=ny.classNames;var die=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},qc=new WeakMap,ig=new WeakMap,sg={},hj=0,a8=function(e){return e&&(e.host||a8(e.parentNode))},pie=function(e,n){return n.map(function(r){if(e.contains(r))return r;var i=a8(r);return i&&e.contains(i)?i:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},mie=function(e,n,r,i){var s=pie(n,Array.isArray(e)?e:[e]);sg[r]||(sg[r]=new WeakMap);var a=sg[r],o=[],l=new Set,c=new Set(s),u=function(p){!p||l.has(p)||(l.add(p),u(p.parentNode))};
vendor: 6,982 bytes, lines 638-642
638s.forEach(u);var d=function(p){!p||c.has(p)||Array.prototype.forEach.call(p.children,function(m){if(l.has(m))d(m);else try{var h=m.getAttribute(i),g=h!==null&&h!=="false",f=(qc.get(m)||0)+1,x=(a.get(m)||0)+1;qc.set(m,f),a.set(m,x),o.push(m),f===1&&g&&ig.set(m,!0),x===1&&m.setAttribute(r,"true"),g||m.setAttribute(i,"true")}catch(v){console.error("aria-hidden: cannot operate on ",m,v)}})};return d(n),l.clear(),hj++,function(){o.forEach(function(p){var m=qc.get(p)-1,h=a.get(p)-1;qc.set(p,m),a.set(p,h),m||(ig.has(p)||p.removeAttribute(i),ig.delete(p)),h||p.removeAttribute(r)}),hj--,hj||(qc=new WeakMap,qc=new WeakMap,ig=new WeakMap,sg={})}},hie=function(e,n,r){r===void 0&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),s=die(e);return s?(i.push.apply(i,Array.from(s.querySelectorAll("[aria-live]"))),mie(i,s,r,"aria-hidden")):function(){return null}},ry="Dialog",[o8,rze]=Nd(ry),[fie,Ki]=o8(ry),l8=e=>{const{__scopeDialog:n,children:r,open:i,defaultOpen:s,onOpenChange:a,modal:o=!0}=e,l=k.useRef(null),c=k.useRef(null),[u,d]=Cq({prop:i,defaultProp:s??!1,onChange:a,caller:ry});return t.jsx(fie,{scope:n,triggerRef:l,contentRef:c,contentId:B0(),titleId:B0(),descriptionId:B0(),open:u,onOpenChange:d,onOpenToggle:k.useCallback(()=>d(p=>!p),[d]),modal:o,children:r})};l8.displayName=ry;var c8="DialogTrigger",u8=k.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=Ki(c8,r),a=$t(n,s.triggerRef);return t.jsx(vt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":PS(s.open),...i,ref:a,onClick:Ke(e.onClick,s.onOpenToggle)})});u8.displayName=c8;var SS="DialogPortal",[gie,d8]=o8(SS,{forceMount:void 0}),p8=e=>{const{__scopeDialog:n,forceMount:r,children:i,container:s}=e,a=Ki(SS,n);return t.jsx(gie,{scope:n,forceMount:r,children:k.Children.map(i,o=>t.jsx(kd,{present:r||a.open,children:t.jsx(Sq,{asChild:!0,container:s,children:o})}))})};p8.displayName=SS;var ov="DialogOverlay",m8=k.forwardRef((e,n)=>{const r=d8(ov,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,a=Ki(ov,e.__scopeDialog);return a.modal?t.jsx(kd,{present:i||a.open,children:t.jsx(vie,{...s,ref:n})}):null});m8.displayName=ov;var xie=Gx("DialogOverlay.RemoveScroll"),vie=k.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=Ki(ov,r);return t.jsx(s8,{as:xie,allowPinchZoom:!0,shards:[s.contentRef],children:t.jsx(vt.div,{"data-state":PS(s.open),...i,ref:n,style:{pointerEvents:"auto",...i.style}})})}),tc="DialogContent",h8=k.forwardRef((e,n)=>{const r=d8(tc,e.__scopeDialog),{forceMount:i=r.forceMount,...s}=e,a=Ki(tc,e.__scopeDialog);return t.jsx(kd,{present:i||a.open,children:a.modal?t.jsx(bie,{...s,ref:n}):t.jsx(yie,{...s,ref:n})})});h8.displayName=tc;var bie=k.forwardRef((e,n)=>{const r=Ki(tc,e.__scopeDialog),i=k.useRef(null),s=$t(n,r.contentRef,i);return k.useEffect(()=>{const a=i.current;if(a)return hie(a)},[]),t.jsx(f8,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ke(e.onCloseAutoFocus,a=>{var o;a.preventDefault(),(o=r.triggerRef.current)==null||o.focus()}),onPointerDownOutside:Ke(e.onPointerDownOutside,a=>{const o=a.detail.originalEvent,l=o.button===0&&o.ctrlKey===!0;(o.button===2||l)&&a.preventDefault()}),onFocusOutside:Ke(e.onFocusOutside,a=>a.preventDefault())})}),yie=k.forwardRef((e,n)=>{const r=Ki(tc,e.__scopeDialog),i=k.useRef(!1),s=k.useRef(!1);return t.jsx(f8,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var o,l;(o=e.onCloseAutoFocus)==null||o.call(e,a),a.defaultPrevented||(i.current||(l=r.triggerRef.current)==null||l.focus(),a.preventDefault()),i.current=!1,s.current=!1},onInteractOutside:a=>{var c,u;(c=e.onInteractOutside)==null||c.call(e,a),a.defaultPrevented||(i.current=!0,a.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=a.target;((u=r.triggerRef.current)==null?void 0:u.contains(o))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&s.current&&a.preventDefault()}})}),f8=k.forwardRef((e,n)=>{const{__scopeDialog:r,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:a,...o}=e,l=Ki(tc,r),c=k.useRef(null),u=$t(n,c);return Pre(),t.jsxs(t.Fragment,{children:[t.jsx(YM,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:s,onUnmountAutoFocus:a,children:t.jsx(Rb,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":PS(l.open),...o,ref:u,onDismiss:()=>l.onOpenChange(!1)})}),t.jsxs(t.Fragment,{children:[t.jsx(jie,{titleId:l.titleId}),t.jsx(Nie,{contentRef:c,descriptionId:l.descriptionId})]})]})}),CS="DialogTitle",g8=k.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=Ki(CS,r);return t.jsx(vt.h2,{id:s.titleId,...i,ref:n})});g8.displayName=CS;var x8="DialogDescription",v8=k.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=Ki(x8,r);return t.jsx(vt.p,{id:s.descriptionId,...i,ref:n})});v8.displayName=x8;var b8="DialogClose",y8=k.forwardRef((e,n)=>{const{__scopeDialog:r,...i}=e,s=Ki(b8,r);return t.jsx(vt.button,{type:"button",...i,ref:n,onClick:Ke(e.onClick,()=>s.onOpenChange(!1))})});y8.displayName=b8;function PS(e){return e?"open":"closed"}var j8="DialogTitleWarning",[ize,w8]=CK(j8,{contentName:tc,titleName:CS,docsSlug:"dialog"}),jie=({titleId:e})=>{const n=w8(j8),r=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
639
640If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
641
642For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return k.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},wie="DialogDescriptionWarning",Nie=({contentRef:e,descriptionId:n})=>{const i=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${w8(wie).contentName}}.`;return k.useEffect(()=>{var a;const s=(a=e.current)==null?void 0:a.getAttribute("aria-describedby");n&&s&&(document.getElementById(n)||console.warn(i))},[i,e,n]),null},kie=l8,qie=u8,Sie=p8,N8=m8,k8=h8,q8=g8,S8=v8,Cie=y8;const C8=kie,Pie=qie,Eie=Sie,P8=k.forwardRef(({className:e,...n},r)=>t.jsx(N8,{ref:r,className:Yt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n}));P8.displayName=N8.displayName;const ES=k.forwardRef(({className:e,children:n,...r},i)=>t.jsxs(Eie,{children:[t.jsx(P8,{}),t.jsxs(k8,{ref:i,className:Yt("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[n,t.jsxs(Cie,{className:"absolute right-4 top-4 roun
642ded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[t.jsx(Cd,{className:"h-4 w-4"}),t.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ES.displayName=k8.displayName;const E8=({className:e,...n})=>t.jsx("div",{className:Yt("flex flex-col space-y-1.5 text-center sm:text-left",e),...n});E8.displayName="DialogHeader";const TS=k.forwardRef(({className:e,...n},r)=>t.jsx(q8,{ref:r,className:Yt("text-lg font-semibold leading-none tracking-tight",e),...n}));TS.displayName=q8.displayName;const T8=k.forwardRef(({className:e,...n},r)=>t.jsx(S8,{ref:r,className:Yt("text-sm text-muted-foreground",e),...n}));T8.displayName=S8.displayName;const YI="https://js-eu1.hsforms.net/forms/embed/26317376.js",Tie="26317376",Iie="eu1",Aie="dc478d25-36da-4437-abb2-c6a307ff359d";let fj=!1;const Lie=()=>{if(fj||typeof document>"u")return;if(document.querySelector(`script[src="${YI}"]`)){fj=!0;return}const e=document.createElement("script");e.src=YI,e.defer=!0,document.body.appendChild(e),fj=!0},Fie=e=>{if(!(!e||typeof atob>"u"))try{const r=new URL(e).pathname.replace(/^\//,"").split("/")[0].slice(1,23).replace(/-/g,"+").replace(/_/g,"/"),i=r.padEnd(Math.ceil(r.length/4)*4,"="),s=Array.from(atob(i),a=>
642a.charCodeAt(0).toString(16).padStart(2,"0")).join("");return`${s.slice(0,8)}-${s.slice(8,12)}-${s.slice(12,16)}-${s.slice(16,20)}-${s.slice(20)}`}catch{return}},xt=({children:e,title:n,description:r,eyebrow:i,shareUrl:s,formId:a})=>{const[o,l]=k.useState(!1),{tr:c}=K(),u=n??c("Recevoir la brochure","Receive the brochure"),d=r??c("Renseignez vos coordonnées pour recevoir notre brochure confidentielle par e-mail. Aucune sollicitation commerciale.","Enter your details to receive our confidential brochure by email. No sales solicitations."),p=i??c("Document confidentiel","Confidential document"),m=a??Fie(s)??Aie;return k.useEffect(()=>{o&&Lie()},[o]),t.jsxs(C8,{open:o,onOpenChange:l,modal:!1,children:[t.jsx(Pie,{asChild:!0,children:e}),t.jsxs(ES,{className:"w-[calc(100vw-1rem)] max-w-2xl h-[calc(100dvh-1rem)] md:h-[min(900px,calc(100dvh-2rem))] p-0 overflow-hidden gap-0 flex flex-col rounded-[20px] border border-[hsl(225_40%_88%)] shadow-[0_50px_140px_-30px_hsl(225_70%_16%/0.35)] [&>button]:hidden",onOpenAutoFocus:h=>h.preventDefault(),style:{backgroundImage:"linear-gradient(180deg, #ffffff 0%, hsl(225 35% 98%) 100%)"},children:[t.jsxs("div",{className:"relative shrink-0 px-6 md:px-10 pt-7 md:pt-9 pb-6 md:pb-7 text-white overflow-hidden",style:{backgroundImage:"linear-gradient(135deg, hsl(225 70% 14%) 0%, hsl(225 64% 22%) 55%, hsl(225 55% 28%) 100%)"},children:[t.jsx("div",{"aria-hidden":!0,className:"pointer-events-none absolute -top-24 -right-24 w-72 h-72 rounded-full opacity-30 blur-3xl",style:{background:"radial-gradient(circle, hsl(225 90% 60% / 0.55), transparent 60%)"}}),t.jsx("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/40 to-transparent"}),t.jsx("button",{onClick:()=>l(!1),"aria-label":c("Fermer","Close"),className:"absolute top-4 right-4 w-9 h-9 rounded-full flex items-center justify-center text-white/70 hover:text-white hover:bg-white/10 transition-all duration-300 z-10",children:t.jsx(Cd,{className:"w-4 h-4"})}),t.jsxs("div",{className:"flex items-center gap-3 mb-4 relative",children:[t.jsx("span",{className:"h-px w-8 bg-white/40"}),t.jsx("span",{className:"text-[10px] tracking-[0.32em] uppercase text-white/80 font-medium",children:p})]}),t.jsx(TS,{className:"font-display text-[26px] md:text-[32px] leading-[1.12] text-white mb-2 font-normal relative",children:u}),t.jsx(T8,{className:"text-[13px] text-white/75 leading-[1.55] max-w-[64ch] relative",children:d})]}),t.jsxs("div",{className:"relative z-10 flex-1 min-h-0 px-4 md:px-8 py-5 md:py-7 overflow-y-auto pointer-events-auto",children:[t.jsx("div",{className:"rounded-2xl border border-[hsl(225_30%_90%)] bg-white shadow-[0_10px_30px_-15px_hsl(225_55%_14%/0.18)] p-2 md:p-4",children:t.jsx("div",{className:"hs-form-frame colbr-hs-form","data-region":Iie,"data-form-id":m,"data-portal-id":Tie},`${m}-${o?"open":"closed"}`)}),t.jsxs("div",{className:"mt-6 flex flex-col items-center gap-2 text-center",children:[t.jsxs("div",{className:"flex items-center gap-4 text-[10px] tracking-[0.22em] uppercase text-[hsl(225_55%_22%)] font-medium",children:[t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx(Ub,{className:"w-3 h-3"})," ",c("Chiffré","Encrypted")]}),t.jsx("span",{className:"h-3 w-px bg-[hsl(225_30%_80%)]"}),t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx(dc,{className:"w-3 h-3"})," ",c("Confidentiel","Confidential")]})]}),t.jsx("p",{className:"text-[10px] tracking-[0.06em] text-[hsl(225_18%_45%)] leading-relaxed max-w-[44ch]",children:c("Données traitées avec la plus stricte confidentialité · Désinscription possible à tout moment","Data handled with the strictest confidentiality · Unsubscribe at any time")})]})]})]})]})},Zi=[.16,1,.3,1],_ie=()=>{const{tr:e}=K(),n=[{icon:t.jsx(mr,{className:"w-5 h-5"}),title:e("Bancarisation internationale","International banking"),description:e("Ouverture et gestion de comptes dans les plus grandes banques privées mondiales : Suisse, Luxembourg, Singapour, Monaco.","Opening and management of accounts in the world's leading private banks: Switzerland, Luxembourg, Singapore, Monaco.")},{icon:t.jsx(SR,{className:"w-5 h-5"}),title:e("Appels d'offres multi-banques","Multi-bank tenders"),description:e("Mise en concurrence systématique des établissements pour obtenir les meilleures conditions de marché, de crédit et de custody.","Systematic competition between institutions to secure the best market, credit and custody conditions.")},{icon:t.jsx(eT,{className:"w-5 h-5"}),title:e("Financement complexe & levier","Complex financing & leverage"),description:e("Crédit lombard, financement in fine, leverage sur portefeuilles financiers et immobiliers. Structuration sur-mesure.","Lombard loans, interest-only financing, leverage on financial and real-estate portfolios. Tailored structuring.")},{icon:t.jsx(uc,{className:"w-5 h-5"}),title:e("Ingénierie patrimoniale","Wealth engineering"),description:e("Holdings, démembrement, pactes Dutreil, structuration civile et fiscale française et internationale.","Holdings, split ownership, Dutreil pacts, civil and tax structuring in France and internationally.")},{icon:t.jsx(ba,{className:"w-5 h-5"}),title:e("Gouvernance familiale","Family governance"),description:e("Charte familiale, conseil de famille, préparation des nouvelles générations, transmission intergénérationnelle.","Family charter, family council, preparing the next generations, intergenerational transfer.")},{icon:t.jsx(PQ,{className:"w-5 h-5"}),title:e("Événements privés","Private events"),description:e("Organisation d'événements exclusifs pour nos clients : dîners thématiques, rencontres avec des gérants, voyages patrimoniaux.","Organising exclusive events for our clients: themed dinners, meetings with managers, wealth-focused journeys.")}],r=[{icon:t.jsx(mr,{className:"w-6 h-6"}),title:e("Bancarisation & gestion de fortune","Banking & wealth management"),description:e("Accédez aux plus grandes banques privées mondiales grâce à notre réseau. Nous pilotons l'ouverture de comptes, la négociation des conditions et la supervision de la gestion via des appels d'offres multi-banques systématiques.","Access the world's leading private banks through our network. We oversee account openings, condition negotiation and management supervision via systematic multi-bank tenders."),items:[e("Comptes en Suisse, Luxembourg, Singapour, Monaco","Accounts in Switzerland, Luxembourg, Singapore, Monaco"),e("Appels d'offres et mise en concurrence des banques","Tenders and bank-to-bank competition"),e("Supervision et reporting consolidé multi-établissements","Supervision and consolidated multi-institution reporting"),e("Architecture ouverte et indépendance totale","Open architecture and complete independence")]},{icon:t.jsx(eT,{className:"w-6 h-6"}),title:e("Financement complexe & effet de levier","Complex financing & leverage"),description:e("Structuration de financements sophistiqués pour démultiplier la puissance de votre patrimoine. Crédit lombard, leverage sur portefeuilles, financement immobilier non-conventionnel, chaque opération est c
642onçue sur-mesure.","Sophisticated financing structures to amplify the strength of your wealth. Lombard credit, portfolio leverage, non-conventional real-estate financing — each transaction is designed bespoke."),items:[e("Crédit lombard & nantissement de portefeuilles","Lombard credit & portfolio pledging"),e("Financement in fine et bridge loans","Interest-only financing and bridge loans"),e("Leverage sur assurance-vie luxembourgeoise","Leverage on Luxembourg life insurance"),e("Montages immobiliers à effet de levier","Leveraged real-estate structures")]},{icon:t.jsx(Lt,{className:"w-6 h-6"}),title:e("Investissements exclusifs","Exclusive investments"),description:e("Private equity, dette privée, produits structurés sur-mesure, co-investissements : vous accédez à l'univers réservé aux investisseurs institutionnels et aux grandes fortunes.","Private equity, private debt, tailored structured products, co-investments: access the universe reserved for institutional investors and large estates."),items:[e("Private equity & co-investissements","Private equity & co-investments"),e("Produits structurés sur-mesure","Bespoke structured products"),e("Club deals immobiliers réservés","Reserved real-estate club deals"),e("Actifs alternatifs : art, litigation, late stage","Alternative assets: art, litigation, late stage")]}],i=[e("Être le garant des intérêts familiaux dans la durée","Safeguard family interests over the long term"),e("Piloter les appels d'offres auprès des banques privées mondiales","Steer tenders with global private banks"),e("Structurer les financements complexes et les effets de levier","Structure complex financing and leverage"),e("Coordonner l'ingénierie patrimoniale et fiscale","Coordinate wealth and tax engineering"),e("Accompagner les nouvelles générations dans la gouvernance","Guide the next generations in governance"),e("Organiser des événements privés et des rencontres exclusives","Organise private events and exclusive gatherings")];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-24 md:pt-44 md:pb-36 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-primary/[0.03] to-transparent pointer-events-none"}),t.jsx("div",{className:"container max-w-5xl mx-auto px-6 relative",children:t.jsxs(S.div,{initial:{opacity:0,y:30,filter:"blur(6px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.8,ease:Zi},children:[t.jsx("span",{className:"text-[11px] tracking-[0.3em] uppercase text-primary/80 mb-6 block",children:e("Multi Family Office · à partir de 5 M€","Multi Family Office · from €5M")}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl lg:text-7xl tracking-tight leading-[1.1] mb-8",children:[e("Family Office :","Family Office:"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:e("l'architecture dès 5M€+","architecture from €5M+")})]}),t.jsx("p",{className:"text-foreground text-lg md:text-xl leading-relaxed max-w-2xl mb-4 font-medium",children:e("Luxembourg, Suisse, Private Equity, Produits dédiés.","Luxembourg, Switzerland, Private Equity, Dedicated Products.")}),t.jsx("p",{className:"text-muted-foreground text-base md:text-lg leading-relaxed max-w-2xl mb-8",children:e("Structuration patrimoniale institutional-grade, de 5 M€ à plus de 100 M€.","Institutional-grade wealth structuring, from €5M to €100M+.")}),t.jsx("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3 mb-10 text-[12px] tracking-wide text-muted-foreground",children:[e("150 M€+ de patrimoine conseillé","€150M+ wealth advised"),e("300+ clients HNWI","300+ HNWI clients"),e("Expertise Luxembourg certifiée","Luxembourg certified")].map((s,a)=>t.jsxs("span",{className:"flex items-center gap-6",children:[a>0&&t.jsx("span",{className:"w-px h-3 bg-border"}),t.jsx("span",{children:s})]},s))}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[t.jsxs("a",{href:"#rdv",className:"inline-flex items-center justify-center gap-3 px-8 py-3.5 text-[13px] tracking-wide font-medium bg-primary text-primary-foreground hover:opacity-90 transition-all duration-300 group",children:[e("Prendre rendez-vous","Book a meeting"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform"})]}),t.jsx(xt,{eyebrow:e("Ressource réservée","Gated resource"),title:e("Guide Luxembourg 2026","Luxembourg Guide 2026"),description:e("Recevez notre guide sur l'assurance-vie luxembourgeoise et la structuration des patrimoines importants.","Receive our guide on Luxembourg life insurance and the structuring of substantial estates."),children:t.jsx("button",{type:"button",className:"inline-flex items-center justify-center gap-3 px-8 py-3.5 text-[13px] tracking-wide font-medium border border-primary/40 text-primary hover:bg-primary/5 transition-all duration-300",children:e("Télécharger le Guide Luxembourg 2026","Download the Luxembourg Guide 2026")})})]})]})})]}),t.jsx("section",{className:"py-24 bg-[hsl(var(--surface-warm))]",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Zi},className:"grid md:grid-cols-2 gap-16 items-start",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Une offre exclusive","An exclusive offering")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-warm-foreground))] leading-snug",children:[e("Un service opérationnel","An operational service"),t.jsx("br",{}),e("au service de votre","dedicated to your"),t.jsx("br",{}),t.jsx("span",{className:"text-primary",children:e("patrimoine familial.","fam
642ily wealth.")})]})]}),t.jsxs("div",{className:"space-y-5",children:[t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] text-sm leading-relaxed",children:e("Nous pilotons la bancarisation de votre patrimoine dans les plus grandes banques privées mondiales et menons des appels d'offres multi-banques pour obtenir les meilleures conditions, en toute indépendance.","We steer the banking of your wealth across the world's leading private banks and run multi-bank tenders to secure the best conditions, in complete independence.")}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] text-sm leading-relaxed",children:e("Notre expertise en financement complexe et en effet de levier vous permet de démultiplier la puissance de votre patrimoine, tandis que notre ingénierie patrimoniale structure chaque opération dans un cadre fiscal optimal.","Our expertise in complex financing and leverage amplifies the strength of your wealth, while our wealth engineering structures every transaction within an optimal tax framework.")}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-foreground))] text-sm font-medium italic border-l-2 border-primary/40 pl-4",children:e(`"Nous agissons comme le secrétaire général de vos intérêts privés, avec l'accès aux plus grandes banques et une indépendance totale."`,'"We act as the chief steward of your private interests, with access to the largest banks and complete independence."')})]})]})})}),t.jsx("section",{className:"py-28 bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Zi},className:"text-center mb-20",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Nos expertises","Our expertise")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",children:[e("Des compétences","A plural set of")," ",t.jsx("span",{className:"text-gradient-gold",children:e("plurielles","skills")}),t.jsx("br",{}),e("au service de vos ambitions.","in service of your ambitions.")]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:n.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:Zi,delay:a*.07},className:"bg-card/60 backdrop-blur-sm border border-border/40 rounded-lg p-8 hover:border-primary/20 transition-colors duration-300",children:[t.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center text-primary mb-5",children:s.icon}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:s.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:s.description})]},s.title))})]})}),t.jsx("section",{className:"py-28 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Zi},className:"text-center mb-20",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Investissements sur-mesure","Tailor-made investments")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Tout l'univers des","The entire universe of")," ",t.jsx("span",{className:"text-primary",children:e("grandes banques mondiales","global major banks")}),",",t.jsx("br",{}),e("accessible et maîtrisé.","accessible and mastered.")]})]}),t.jsx("div",{className:"space-y-8",children:r.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.7,ease:Zi,delay:a*.1},className:"bg-white/80 backdrop-blur-sm border border-black/[0.06] rounded-lg p-10 md:p-12",children:[t.jsxs("div",{className:"flex items-start gap-5 mb-6",children:[t.jsx("div",{className:"w-12 h-12 rounded-lg bg-primary/10 flex items-center justify-center text-primary shrink-0",children:s.icon}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-[hsl(var(--surface-taupe-foreground))] mb-3",children:s.title}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] text-sm leading-relaxed max-w-2xl",children:s.description})]})]}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 ml-0 md:ml-17",children:s.items.map(o=>t.jsxs("div",{className:"flex items-start gap-3 text-sm text-[hsl(var(--surface-warm-muted))]",children:[t.jsx("span",{className:"mt-1.5 w-1.5 h-1.5 rounded-full bg-primary/60 shrink-0"}),o]},o))})]},s.title))})]})}),t.jsx("section",{className:"py-28 bg-background",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Zi},className:"grid md:grid-cols-2 gap-16 items-start",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Gouvernance familiale","Family governance")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug mb-6",children:[e("Garantir une gestion","Ensuring management that is"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:e("durable et pérenne","lasting and enduring")}),t.jsx("br",{}),e("de vos intérêts.","of your interests.")]}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-8",children:e("La gouvernance familiale a pour objectif de garantir une gestion efficace et durable des intérêts d'une famille, en harmonie avec ses aspirations entrepreneuriales et patrimoniales, tout en bâtissant une relation de confiance dans le temps long.","Family governance aims to ensure efficient and lasting management of a family's interests, aligned with its entrepreneurial and wealth ambitions, while building a long-term relationship of trust.")}),t.jsxs(C,{to:"/family-office/gouvernance-familiale",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-foreground transition-colors group",children:[e("Découvrir la gouvernance familiale","Discover family governance"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform"})]})]}),t.jsxs("div",{className:"space-y-0",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-muted-foreground mb-6",children:e("Notre rôle en tant que Family Officer","Our role as Family Officer")}),i.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,x:10},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.4,ease:Zi,delay:a*.06},className:"flex items-start gap-4 py-4 border-b border-border/30 last:border-0",children:[t.jsx("span",{className:"mt-1 w-5 h-5 rounded-full bg-primary/10 flex items-center justify-center text-primary text-[10px] font-medium shrink-0",children:a+1}),t.jsx("span",{className:"text-sm text-muted-foreground leading-relaxed",children:s})]},s))]})]})})}),t.jsx("section",{className:"py-24 bg-[hsl(var(--surface-stone))]",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Zi},children:[t.jsx(pr,{className:"w-8 h-8 text-primary mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-stone-foreground))] mb-6",children:e("Secrétariat juridique & administratif","Legal & administrative secretariat")}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] text-sm leading-relaxed max-w-2xl mx-auto mb-4",children:e("Notre secrétariat vise à optimiser votre temps et la valorisation de vos actifs. Nos équipes interviennent comme mandataire de vos problématiques administratives, comptables et financières, acquisitions, cessions, représentation.","Our secretariat aims to optimise your time and the value of your assets. Our teams act as agent for your administrative, accounting and financial matters, acquisitions, disposals and representation.")}),t.jsx("p",{className:"text-[hsl(var(--surface-stone-foreground))] text-sm font-medium italic max-w-xl mx-auto",children:e("Pour un service personnalisé haut de gamme, Colbr s'appuie sur son réseau de professionnels du droit et du chiffre.","For a personalised premium service, Colbr draws on its network of legal and accounting professionals.")})]})})}),t.jsxs("section",{id:"rdv",className:"py-32 bg-background relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-primary/[0.02] to-transparent pointer-events-none"}),t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center relative",children:t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Zi},children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Nous contacter","Contact us")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mb-6",children:[e("Vous souhaitez disposer d'un conseil","Looking for advice that is"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:e("pérenne et sur-mesure ?","enduring and bespoke?")})]}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed max-w-xl mx-auto mb-10",children:e("Véritable secrétaire général de vos intérêts privés, notre Family Office offre une stratég
642ie imperméable aux aléas économiques et fiscaux. Échangeons sur vos objectifs.","A true chief steward of your private interests, our Family Office delivers a strategy resilient to economic and tax uncertainty. Let's discuss your goals.")}),t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-3 px-10 py-4 text-[13px] tracking-wide font-medium bg-primary text-primary-foreground hover:bg-primary/90 transition-all duration-300 group",children:[e("Prendre rendez-vous avec un conseiller","Book a meeting with an adviser"),t.jsx(V,{className:"w-4 h-4 group-hover:translate-x-0.5 transition-transform"})]})]})})]}),t.jsx(Ft,{items:[{to:"/gestion-privee",label:e("Gestion Privée","Private Wealth"),description:e("Notre offre patrimoniale dès 50 000 €, en complément du Family Office.","Our wealth offering from €50,000, complementing the Family Office."),eyebrow:e("Offre complémentaire","Complementary offering")},{to:"/assurance-vie-luxembourgeoise",label:e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),description:e("L'enveloppe de référence des grands patrimoines.","The benchmark wrapper for large estates."),eyebrow:e("Solution phare","Flagship solution")},{to:"/private-equity",label:e("Private Equity","Private Equity"),description:e("Accédez aux meilleurs fonds du non-coté.","Access the leading funds in private markets."),eyebrow:e("Non-coté","Private markets")}]}),t.jsx($o,{items:[{to:"/blog/family-office-complexite",eyebrow:"Comprendre",title:"Family Office et gestion privée : quelles différences ?",description:"Où s’arrête le conseil, où commence la coordination."},{to:"/blog/coordination-banque-privee",eyebrow:"Méthode",title:"Coordonner banque privée, notaire, avocat et expert-comptable",description:"Faire converger les conseils autour d’une même stratégie."},{to:"/family-office/gouvernance-familiale",eyebrow:"Solution",title:"La gouvernance familiale",description:"Charte, instances et transmission des décisions."},{to:"/blog/patrimoines-multigenerationnels",eyebrow:"Transmission",title:"Les patrimoines multigénérationnels",description:"Penser au-delà d’une génération."}]}),t.jsx(re,{})]})},gj=[.16,1,.3,1],Oie=()=>{const{tr:e}=K(),n=[{icon:t.jsx(pr,{className:"w-5 h-5"}),title:e("Charte familiale","Family charter"),description:e("Rédaction d'un document fondateur qui formalise les valeurs, la vision et les principes patrimoniaux partagés par tous les membres de la famille.","Drafting a founding document that formalises the values, vision and wealth principles shared by all family members.")},{icon:t.jsx(ba,{className:"w-5 h-5"}),title:e("Conseil de famille","Family council"),description:e("Mise en place d'instances de dialogue régulières permettant de prendre des décisions collectives, d'anticiper les conflits et de préserver l'unité.","Establishment of regular dialogue bodies enabling collective decision-making, anticipation of conflicts and preservation of unity.")},{icon:t.jsx(CR,{className:"w-5 h-5"}),title:e("Préparation des nouvelles générations","Preparing the next generations"),description:e("Programmes d'éducation patrimoniale, financière et entrepreneuriale destinés aux héritiers, pour qu'ils deviennent des actionnaires éclairés.","Wealth, financial and entrepreneurial education programmes for heirs so they become enlightened shareholders.")},{icon:t.jsx(FQ,{className:"w-5 h-5"}),title:e("Transmission intergénérationnelle","Intergenerational transfer"),description:e("Structuration juridique et fiscale de la transmission, en harmonie avec les valeurs familiales et les objectifs de long terme.","Legal and tax structuring of the transfer, aligned with family values and long-term objectives.")},{icon:t.jsx(uc,{className:"w-5 h-5"}),title:e("Prévention et résolution des conflits","Conflict prevention and resolution"),description:e("Mise en place de processus de médiation et de règles de gouvernance claires pour préserver les relations familiales sur le long terme.","Implementation of mediation processes and clear governance rules to preserve family relationships over the long term.")},{icon:t.jsx(St,{className:"w-5 h-5"}),title:e("Holding et structures dédiées","Holdings and dedicated structures"),description:e("Création de holdings familiales, SCI, fondations ou trusts pour organiser la détention, la gestion et la transmission du patrimoine.","Creation of family holdings, SCIs, foundations or trusts to organise ownership, management and transfer of wealth.")}],r=[{step:"01",title:e("Diagnostic familial","Family diagnosis"),description:e("Entretiens individuels avec chaque membre pour identifier les attentes, les sensibilités et les objectifs partagés.","Individual interviews with each member to identify expectations, sensitivities and shared objectives.")}
642,{step:"02",title:e("Cartographie du patrimoine","Wealth mapping"),description:e("Analyse exhaustive des actifs financiers, immobiliers, professionnels et de la structuration existante.","Comprehensive analysis of financial, real-estate and professional assets and the existing structure.")},{step:"03",title:e("Définition de la gouvernance","Defining governance"),description:e("Rédaction de la charte, mise en place du conseil de famille et définition des rôles et responsabilités.","Drafting of the charter, set-up of the family council and definition of roles and responsibilities.")},{step:"04",title:e("Mise en œuvre et accompagnement","Implementation and support"),description:e("Pilotage opérationnel dans la durée : réunions, reporting consolidé, ajustements en fonction des évolutions familiales.","Long-term operational management: meetings, consolidated reporting, adjustments based on family developments.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-40 pb-24 bg-background",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-xs tracking-[0.2em] uppercase text-muted-foreground hover:text-foreground transition-colors mb-10",children:[t.jsx(pe,{className:"w-3.5 h-3.5"}),e("Retour au Family Office","Back to Family Office")]}),t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.8,ease:gj},children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-6 block",children:e("Gouvernance familiale","Family governance")}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-6xl tracking-tight leading-[1.1] mb-8 max-w-3xl",children:[e("Bâtir une gestion","Building management that is")," ",t.jsx("span",{className:"text-gradient-gold",children:e("durable et pérenne","lasting and enduring")})," ",e("de vos intérêts familiaux.","for your family interests.")]}),t.jsx("p",{className:"text-muted-foreground text-base md:text-lg leading-relaxed max-w-2xl text-justify",children:e("La gouvernance familiale est la pierre angulaire d'un patrimoine qui traverse les générations. Elle articule la dimension humaine, juridique et économique d'une famille pour garantir une gestion harmonieuse de ses intérêts, dans le respect de ses valeurs et de ses ambitions entrepreneuriales.","Family governance is the cornerstone of wealth that endures across generations. It articulates the human, legal and economic dimensions of a family to ensure harmonious management of its interests, in line with its values and entrepreneurial ambitions.")})]})]})}),t.jsx("section",{className:"py-24 bg-[hsl(var(--surface-stone))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs("div",{className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Les piliers","The pillars")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug",children:e("Six axes pour structurer votre gouvernance.","Six axes to structure your governance.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-border/30",children:n.map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.5,ease:gj,delay:s*.05},className:"bg-[hsl(var(--surface-stone))] p-8 md:p-10",children:[t.jsxs("div",{className:"flex items-center gap-4 mb-5",children:[t.jsx("span",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center text-primary shrink-0",children:i.icon}),t.jsx("h3",{className:"font-display text-xl tracking-tight",children:i.title})]}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:i.description})]},i.title))})]})}),t.jsx("section",{className:"py-28 bg-background",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs("div",{className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Notre méthodologie","Our methodology")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug",children:[e("Une démarche en","A process in")," ",t.jsx("span",{className:"text-gradient-gold",children:e("quatre étapes","four steps")}),"."]})]}),t.jsx("div",{className:"space-y-0",children:r.map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,x:10},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.5,ease:gj,delay:s*.08},className:"grid md:grid-cols-[120px_1fr] gap-6 md:gap-10 py-8 border-b border-border/30 last:border-0",children:[t.jsx("span",{className:"font-display text-3xl md:text-4xl text-gradient-gold",children:i.step}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:i.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify max-w-2xl",children:i.description})]})]},i.step))})]})}),t.jsx("section",{className:"py-24 bg-[hsl(var(--surface-stone))]",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:[t.jsx(We,{className:"w-10 h-10 text-primary mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug mb-6",children:e("Discutons de la gouvernance de votre famille.","Let's discuss your family's governance.")}),t.jsx("p",{className:"text-muted-foreground text-sm md:text-base leading-relaxed mb-10 max-w-xl mx-auto",children:e("Nos Family Officers vous reç
642oivent en toute confidentialité pour étudier les contours d'une mission sur mesure, adaptée à la singularité de votre famille.","Our Family Officers receive you in complete confidentiality to discuss the scope of a bespoke engagement, tailored to your family's singularity.")}),t.jsx(C,{to:"/family-office#rdv",className:"inline-flex items-center gap-2 px-8 py-4 bg-primary text-primary-foreground text-sm tracking-wide hover:opacity-90 transition-opacity",children:e("Prendre rendez-vous","Book an appointment")})]})}),t.jsx(re,{})]})},yr=[.16,1,.3,1],xj=({value:e})=>typeof e=="string"?t.jsx("span",{className:"text-sm font-medium",children:e}):e?t.jsx(Xl,{className:"w-4 h-4 text-primary mx-auto"}):t.jsx(Cd,{className:"w-4 h-4 text-muted-foreground/30 mx-auto"}),Rie=()=>{const{tr:e}=K(),n=[{icon:t.jsx(We,{className:"w-6 h-6"}),title:e("Assurance-vie","Life Insurance"),description:e("Contrats nouvelle génération, architecture ouverte, fonds euros boostés et unités de compte sélectionnées par nos experts.","Next-generation contracts, open architecture, boosted euro funds and unit-linked options selected by our experts.")},{icon:t.jsx(Vb,{className:"w-6 h-6"}),title:e("Plan Épargne Retraite","Retirement Savings Plan (PER)"),description:e("Préparez votre retraite avec un PER optimisé fiscalement. Déduction des versements et allocation pilotée.","Prepare for retirement with a tax-optimised PER. Deductible contributions and managed allocation.")},{icon:t.jsx(yR,{className:"w-6 h-6"}),title:e("SCPI & Immobilier","SCPI & Real Estate"),description:e("Investissez dans l'immobilier sans contrainte de gestion. Sélection rigoureuse des meilleures SCPI du marché.","Invest in real estate without management constraints. Rigorous selection of the best SCPI on the market.")},{icon:t.jsx(Lt,{className:"w-6 h-6"}),title:e("Private Equity","Private Equity"),description:e("Accédez aux marchés non cotés avec des tickets accessibles. Fonds sélectionnés pour leur track record.","Access private markets with accessible tickets. Funds selected for their track record.")},{icon:t.jsx(qd,{className:"w-6 h-6"}),title:e("Produits Structurés","Structured Products"),description:e("Des solutions sur-mesure avec protection du capital et rendements attractifs, adaptées à votre profil de risque.","Tailored solutions with capital protection and attractive returns, matched to your risk profile.")},{icon:t.jsx(Sd,{className:"w-6 h-6"}),title:e("Livret & Compte à terme","Savings & Term Deposits"),description:e("Placements de trésorerie sécurisés avec des rendements optimisés. Liquidité immédiate ou engagement court terme.","Secure cash placements with optimised yields. Immediate liquidity or short-term commitment.")}],r=[{number:"01",title:e("Gestion sur-mesure","Bespoke management"),description:e("Chaque décision d'investissement est guidée par l'expertise de nos conseillers et la puissance de nos outils d'analyse. Une allocation qui vous ressemble.","Every investment decision is guided by our advisers' expertise and the power of our analytical tools. An allocation that reflects you.")},{number:"02",title:e("Simplicité & accessibilité","Simplicity & accessibility"),description:e("Une plateforme intuitive pour suivre vos investissements en temps réel. Souscription 100% digitale, en quelques minutes.","An intuitive platform to monitor your investments in real time. Fully digital onboarding in just a few minutes.")},{number:"03",title:e("Accompagnement personnalisé","Personalised support"),description:e("Un conseiller disponible pour répondre à vos questions et ajuster votre stratégie. Suivi régulier et proactif de votre portefeuille.","An adviser on hand to answer your questions and refine your strategy. Regular, proactive monitoring of your portfolio.")}],i=[{category:e("Produits","Products"),rows:[{label:e("Assurance-vie","Life Insurance"),essentiel:!0,gp:!0,fo:!0},{label:"PER",essentiel:!0,gp:!0,fo:!0},{label:"SCPI",essentiel:!0,gp:!0,fo:!0},{label:e("Private Equity","Private Equity"),essentiel:!0,gp:!0,fo:!0},{label:e("Produits Structurés","Structured Products"),essentiel:!0,gp:!0,fo:!0},{label:e("Livret & Compte à terme","Savings & Term Deposits"),essentiel:!0,gp:!0,fo:!0},{label:e("Assurance-vie Luxembourgeoise","Luxembourg Life Insurance"),essentiel:!1,gp:!0,fo:!0},{label:e("Club Deals exclusifs","Exclusive Club Deals"),essentiel:!1,gp:!0,fo:!0}]},{category:e("Frais","Fees"),rows:[{label:e("Frais d'entrée","Entry fees"),essentiel:"0 %",gp:"0 %",fo:"0 %"},{label:e("Frais d'arbitrage","Arbitrage fees"),essentiel:"0 %",gp:"0 %",fo:"0 %"},{label:e("Frais de gestion tout compris","All-in management fees"),essentiel:e("1,3 %","1.3%"),gp:e("1,1 %","1.1%"),fo:e("0,9 %","0.9%")}]},{category:e("Services","Services"),rows:[{label:e("Accompagnement personnalisé","Personalised 
642support"),essentiel:!0,gp:!0,fo:!0},{label:e("Conseiller dédié","Dedicated adviser"),essentiel:!1,gp:!0,fo:!0},{label:e("Optimisation fiscale","Tax optimisation"),essentiel:!0,gp:!0,fo:!0},{label:e("Ingénieur patrimonial","Wealth engineer"),essentiel:!1,gp:!0,fo:!0},{label:e("Crédit Lombard","Lombard credit"),essentiel:!1,gp:!0,fo:!0},{label:"150-0 B Ter",essentiel:!1,gp:!0,fo:!0},{label:e("Coordination multi-experts","Multi-expert coordination"),essentiel:!1,gp:!1,fo:!0},{label:e("Ligne directe prioritaire","Priority direct line"),essentiel:!1,gp:!1,fo:!0},{label:e("Accès prioritaire aux nouveaux fonds","Priority access to new funds"),essentiel:!1,gp:!1,fo:!0}]}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"relative min-h-[85vh] flex items-center justify-center overflow-hidden pt-16 bg-surface-warm",children:t.jsx("div",{className:"container relative z-10 max-w-5xl mx-auto px-6",children:t.jsxs("div",{className:"text-center",children:[t.jsx(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.8,ease:yr,delay:.3},className:"mb-8",children:t.jsxs("span",{className:"inline-flex items-center gap-3 text-[11px] tracking-[0.25em] uppercase",style:{color:"hsl(var(--surface-warm-muted))"},children:[t.jsx("span",{className:"w-8 h-px bg-primary/40"}),e("Colbr · Investissement","Colbr · Investment"),t.jsx("span",{className:"w-8 h-px bg-primary/40"})]})}),t.jsxs(S.h1,{initial:{opacity:0,y:24,filter:"blur(6px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.9,ease:yr,delay:.4},className:"font-display text-4xl sm:text-5xl md:text-[4.2rem] leading-[1.1] tracking-tight mb-8",style:{color:"hsl(var(--surface-warm-foreground))"},children:[e("Investissez simplement,","Invest simply,"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:e("sans compromis.","without compromise.")})]}),t.jsx(S.p,{initial:{opacity:0,y:16,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.7,ease:yr,delay:.6},className:"text-base md:text-lg max-w-2xl mx-auto leading-relaxed mb-6",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Investissez en toute autonomie grâce à une sélection rigoureuse de placements et à des outils digitaux pensés pour faire fructifier votre épargne, dès 1 000 €.","Invest independently thanks to a rigorous selection of placements and digital tools designed to grow your savings, from €1,000.")}),t.jsx(S.p,{initial:{opacity:0}
642,animate:{opacity:1},transition:{duration:.5,delay:.8},className:"text-primary/80 text-sm font-display italic mb-10",children:e("Dès 1 000 €","From €1,000")}),t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.6,ease:yr,delay:.9},className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsx("a",{href:"#rdv",className:"inline-flex items-center px-8 py-3.5 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 active:scale-[0.98] transition-all duration-200",children:e("Commencer à investir","Start investing")}),t.jsx("a",{href:"#produits",className:"inline-flex items-center px-8 py-3.5 text-sm font-medium tracking-wide border border-black/10 hover:border-black/20 transition-all duration-200",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Découvrir les produits","Explore products")})]})]})})}),t.jsx("section",{className:"py-36 bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:yr},className:"text-center mb-20",children:[t.jsx("p",{className:"text-muted-foreground text-sm tracking-[0.15em] uppercase mb-4",children:e("Nos offres","Our offerings")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",children:[e("Faites évoluer votre patrimoine","Grow your wealth")," ",t.jsx("span",{className:"text-gradient-gold",children:e("avec exigence","with rigour")})]}),t.jsx("p",{className:"text-muted-foreground text-sm max-w-xl mx-auto mt-4 leading-relaxed",children:e("Profitez d'un accompagnement personnalisé et de services exclusifs, conçus pour répondre à vos objectifs patrimoniaux.","Enjoy personalised support and exclusive services, designed to meet your wealth objectives.")})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:e("Investissement","Investment"),threshold:e("Dès 1 000 €","From €1,000"),features:[e("Assurance-vie & PER optimisés","Optimised life insurance & PER"),e("Allocation diversifiée","Diversified allocation"),e("Suivi en temps réel","Real-time monitoring"),e("Support client dédié","Dedicated client support"),e("Frais compétitifs : 1,3 %","Competitive fees: 1.3%")],highlighted:!0,cta:e("Commencer","Start"),link:"#rdv"},{name:e("Gestion Privée","Private Wealth"),threshold:e("À partir de 50 000 €","From €50,000"),features:[e("Tous les avantages Investissement","All Investment benefits"),e("Conseiller patrimonial dédié","Dedicated wealth adviser"),e("Private Equity & Club Deals","Private Equity & Club Deals"),e("Assurance-vie Luxembourgeoise","Luxembourg Life Insurance"),e("Optimisation fiscale avancée","Advanced tax optimisation"),e("Frais dégressifs : 1,1 %","Tiered fees: 1.1%")],highlighted:!1,cta:e("Découvrir","Discover"),link:"/gestion-privee"},{name:"Family Office",threshold:e("À partir de 5 M€","From €5M"),features:[e("Tous les avantages GP","All Private Wealth benefits"),e("Ingénierie patrimoniale globale","Holistic wealth engineering"),e("Accès prioritaire aux deals","Priority deal access"),e("Coordination multi-experts","Multi-expert coordination"),e("Reporting sur-mesure","Bespoke reporting"),e("Frais préférentiels : 0,9 %","Preferential fees: 0.9%")],highlighted:!1,cta:e("Nous contacter","Contact us"),link:"#rdv"}].map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:yr,delay:a*.1},className:`relative p-8 rounded-2xl border transition-all duration-300 ${s.highlighted?"bg-primary/[0.06] border-primary/30 shadow-lg shadow-primary/[0.06]":"bg-card border-border/60"}`,children:[s.highlighted&&t.jsx("div",{className:"absolute -top-px left-8 right-8 h-px bg-gradient-to-r from-transparent via-primary to-transparent"}),t.jsx("p",{className:`text-xs tracking-[0.12em] uppercase mb-2 ${s.highlighted?"text-primary":"text-muted-foreground"}`,children:s.threshold}),t.jsx("h3",{className:"font-display text-2xl tracking-tight mb-6",children:s.name}),t.jsx("ul",{className:"space-y-3 mb-8",children:s.features.map(o=>t.jsxs("li",{className:"flex items-start gap-2.5 text-sm text-muted-foreground",children:[t.jsx(Xl,{className:`w-4 h-4 mt-0.5 shrink-0 ${s.highlighted?"text-primary":"text-primary/60"}`}),o]},o))}),s.link.startsWith("/")?t.jsx(C,{to:s.link,className:`inline-flex items-center w-full justify-center px-6 py-3 text-sm font-medium tracking-wide transition-all duration-200 ${s.highlighted?"bg-primary text-primary-foreground hover:brightness-110":"border border-border/60 text-muted-foreground hover:text-foreground hover:border-border"}`,children:s.cta}):t.jsx("a",{href:s.link,className:`inline-flex items-center w-full justify-center px-6 py-3 text-sm font-medium tracking-wide transition-all duration-200 ${s.highlighted?"bg-primary text-primary-foreground hover:brightness-110":"border border-border/60 text-muted-foreground hover:text-foreground hover:border-border"}`,children:s.cta})]},s.name))})]})}),t.jsx("section",{id:"produits",className:"py-36 bg-surface-taupe",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:yr},className:"text-center mb-20",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-taupe-foreground) / 0.5)"},children:e("Nos produits","Our products")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-taupe-foreground))"},children:[e("Une gamme complète pour","A complete range to")," ",t.jsx("span",{className:"font-semibold",children:e("diversifier votre patrimoine","diversify your wealth")})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:n.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,y:24,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:yr,delay:a*.08},className:"p-8 rounded-2xl bg-white/60 backdrop-blur-sm border border-black/[0.06] hover:shadow-lg hover:shadow-black/[0.04] transition-all duration-300",children:[t.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center mb-6 bg-primary/10 text-primary",children:s.icon}),t.jsx("h3",{className:"text-lg font-semibold tracking-tight mb-2",style:{color:"hsl(var(--surface-taupe-foreground))"},children:s.title}),t.jsx("p",{className:"text-sm leading-relaxed",style:{color:"hsl(var(--surface-taupe-foreground) / 0.6)"},children:s.description})]},s.title))})]})}),t.jsx("section",{className:"py-36 bg-background",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:yr},className:"text-center mb-20",children:[t.jsx("p",{className:"text-muted-foreground text-sm tracking-[0.15em] uppercase mb-4",children:e("L'expérience Colbr","The Colbr experience")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",children:[e("Ce que vous obtenez","What you get")," ",t.jsx("span",{className:"text-gradient-gold",children:e("dans tous les cas","every time")})]})]}),t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"hidden md:block absolute left-[28px] top-0 bottom-0 w-px bg-gradient-to-b from-primary/30 via-primary/10 to-transparent"}),t.jsx("div",{className:"space-y-12",children:r.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:yr,delay:a*.12},className:"flex gap-8 items-start",children:[t.jsx("div",{className:"w-14 h-14 roun
642ded-full border border-primary/30 bg-card flex items-center justify-center shrink-0",children:t.jsx("span",{className:"text-primary font-display text-lg",children:s.number})}),t.jsxs("div",{className:"pt-2",children:[t.jsx("h3",{className:"text-xl font-semibold tracking-tight mb-2",children:s.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed max-w-lg",children:s.description})]})]},s.number))})]})]})}),t.jsx("section",{id:"comparaison",className:"py-36 bg-surface-warm",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:yr},className:"text-center mb-16",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Comparatif","Comparison")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Comparez les offres","Compare offerings")})]}),t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.1},transition:{duration:.6,ease:yr},className:"rounded-2xl bg-white/70 backdrop-blur-sm border border-black/[0.06] overflow-hidden",children:[t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"border-b border-black/[0.06]",children:[t.jsx("th",{className:"text-left p-5 font-normal",style:{color:"hsl(var(--surface-warm-muted))"}}),t.jsxs("th",{className:"p-5 text-center",children:[t.jsx("div",{className:"font-display text-lg",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Investissement","Investment")}),t.jsx("div",{className:"text-xs text-primary mt-1",children:e("Dès 1 000 €","From €1,000")})]}),t.jsxs("th",{className:"p-5 text-center",children:[t.jsx("div",{className:"font-display text-lg",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Gestion Privée","Private Wealth")}),t.jsx("div",{className:"text-xs text-primary mt-1",children:e("À partir de 50 000 €","From €50,000")})]}),t.jsxs("th",{className:"p-5 text-center",children:[t.jsx("div",{className:"font-display text-lg",style:{color:"hsl(var(--surface-warm-foreground))"},children:"Family Office"}),t.jsx("div",{className:"text-xs text-primary mt-1",children:e("À partir de 5 M€","From €5M")})]})]})}),t.jsx("tbody",{children:i.map(s=>t.jsxs(t.Fragment,{children:[t.jsx("tr",{children:t.jsx("td",{colSpan:4,className:"px-5 pt-6 pb-2 text-xs tracking-[0.12em] uppercase font-medium",style:{color:"hsl(var(--surface-warm-foreground))"},children:s.category})},s.category),s.rows.map(a=>t.jsxs("tr",{className:"border-t border-black/[0.04]",children:[t.jsx("td",{className:"px-5 py-3",style:{color:"hsl(var(--surface-warm-foreground) / 0.7)"},children:a.label}),t.jsx("td",{className:"px-5 py-3 text-center",style:{color:"hsl(var(--surface-warm-foreground))"},children:t.jsx(xj,{value:a.essentiel})}),t.jsx("td",{className:"px-5 py-3 text-center",style:{color:"hsl(var(--surface-warm-foreground))"},children:t.jsx(xj,{value:a.gp})}),t.jsx("td",{className:"px-5 py-3 text-center",style:{color:"hsl(var(--surface-warm-foreground))"},children:t.jsx(xj,{value:a.fo})})]},a.label))]}))})]})}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 p-5 border-t border-black/[0.06]",children:[t.jsx("a",{href:"#rdv",className:"inline-flex items-center justify-center px-6 py-3 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 transition-all",children:e("Commencer à investir","Start investing")}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center justify-center px-6 py-3 text-sm font-medium tracking-wide border border-black/10 hover:border-black/20 transition-all",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Devenir membre GP","Become a Private Wealth member")}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center justify-center px-6 py-3 text-sm font-medium tracking-wide border border-black/10 hover:border-black/20 transition-all",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Devenir membre FO","Become a Family Office member")})]})]})]})}),t.jsx("section",{className:"py-36 bg-background",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:yr},children:[t.jsx("p",{className:"text-muted-foreground text-sm tracking-[0.15em] uppercase mb-4",children:e("Prêt à commencer ?","Ready to begin?")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mb-6",children:[e("Commencez à investir","Start investing")," ",t.jsx("span",{className:"text-gradient-gold",children:e("en quelques minutes","in minutes")})]}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed max-w-xl mx-auto mb-10",children:e("Ouvrez votre compte gratuitement et sans engagement. Nos conseillers vous guident à chaque étape.","Open your account free of charge and with no commitment. Our advisers guide you at every step.")}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center px-10 py-4 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 active:scale-[0.98] transition-all duration-200",children:e("Ouvrir mon compte","Open my account")}
642)]})})}),t.jsx(re,{})]})},IS="/assets/laurel-wreath-Cd6KBWiL.png",Die=1,Mie="7530a872-0932-4d4f-a2f9-42f120bb216f",$ie="092ccd4c-27c9-47f0-81a0-1f1f73883f12",Bie="/__l5e/assets-v1/7530a872-0932-4d4f-a2f9-42f120bb216f/colbr-life-balance-reporting-2026-06.pdf",zie="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/7530a872-0932-4d4f-a2f9-42f120bb216f/colbr-life-balance-reporting-2026-06.pdf",Uie="colbr-life-balance-reporting-2026-06.pdf",Vie=118369,Wie="application/pdf",Hie="2026-08-24T14:01:22Z",I8={version:Die,asset_id:Mie,project_id:$ie,url:Bie,r2_key:zie,original_filename:Uie,size:Vie,content_type:Wie,created_at:Hie},Gie=1,Kie="8ed6529b-b6ae-4aa0-8dcb-e8778e4df28a",Qie="092ccd4c-27c9-47f0-81a0-1f1f73883f12",Yie="/__l5e/assets-v1/8ed6529b-b6ae-4aa0-8dcb-e8778e4df28a/colbr-life-escalate-reporting-2026-06.pdf",Jie="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/8ed6529b-b6ae-4aa0-8dcb-e8778e4df28a/colbr-life-escalate-reporting-2026-06.pdf",Xie="colbr-life-escalate-reporting-2026-06.pdf",Zie=118925,ese="application/pdf",tse="2026-08-24T14:01:27Z",A8={version:Gie,asset_id:Kie,project_id:Qie,url:Yie,r2_key:Jie,original_filename:Xie,size:Zie,content_type:ese,created_at:tse},nse=1,rse="262d055e-70ed-4c94-a759-51e087a998b6",ise="092ccd4c-27c9-47f0-81a0-1f1f73883f12",sse="/__l5e/assets-v1/262d055e-70ed-4c94-a759-51e087a998b6/colbr-life-shake-reporting-2026-06.pdf",ase="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/262d055e-70ed-4c94-a759-51e087a998b6/colbr-life-shake-reporting-2026-06.pdf",ose="colbr-life-shake-reporting-2026-06.pdf",lse=118378,cse="application/pdf",use="2026-08-24T14:06:09Z",L8={version:nse,asset_id:rse,project_id:ise,url:sse,r2_key:ase,original_filename:ose,size:lse,content_type:cse,created_at:use},dse="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMjAwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDx0ZXh0IHg9IjMiIHk9IjExIiBmb250LWZhbWlseT0iSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSI4IiBmb250LXdlaWdodD0iNjAwIiBsZXR0ZXItc3BhY2luZz0iMi41IiBmaWxsPSIjM0U1MT
642U3Ij5CTlAgUEFSSUJBUzwvdGV4dD4KICA8dGV4dCB4PSIyIiB5PSIzMyIgZm9udC1mYW1pbHk9IkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjMiIGZvbnQtd2VpZ2h0PSI4MDAiIGxldHRlci1zcGFjaW5nPSIxIiBmaWxsPSIjMDA5MTVBIj5DQVJESUY8L3RleHQ+CiAgPHBhdGggZD0iTTExOCA4YzgtNCAxNS0zIDE5IDEiIHN0cm9rZT0iIzAwOTE1QSIgc3Ryb2tlLXdpZHRoPSIxLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0xMzggMy41bDEuNyAyLjggMyAuNC0yLjIgMi4xLjUgMy0yLjctMS40LTIuNyAxLjQuNS0zLTIuMi0yLjEgMy0uNEwxMzggMy41eiIgZmlsbD0iIzAwOTE1QSIvPgo8L3N2Zz4K",pse="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMjAwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik04IDljMTUtOCAzMy04IDQ4IDAiIHN0cm9rZT0iI0U2MzMxMiIgc3Ryb2tlLXdpZHRoPSIyLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogIDx0ZXh0IHg9IjIiIHk9IjI2IiBmb250LWZhbWlseT0iSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyMCIgZm9udC13ZWlnaHQ9IjgwMCIgbGV0dGVyLXNwYWNpbmc9IjEuNSIgZmlsbD0iIzAwNEI4RCI+QUcyUjwvdGV4dD4KICA8dGV4dCB4PSIzIiB5PSIzNyIgZm9udC1mYW1pbHk9IkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iOS41IiBmb250LXdlaWdodD0iNjAwIiBsZXR0ZXItc3BhY2luZz0iMyIgZmlsbD0iIzAwNEI4RCI+TEEgTU9ORElBTEU8L3RleHQ+Cjwvc3ZnPgo=",an=[.16,1,.3,1],mse=()=>{const{tr:e,lang:n}=K(),[r,i]=k.useState(null),s=[{name:"Colbr Elite",assureur:"Cardif · Groupe BNP Paribas",logo:dse,fondsEuro:"4,95%*",boost:"4,75%*",minSouscription:"50 000 €",fraisEntree:"0%",fraisGestionUC:"1%",fraisGestionFE:"0,7%",fraisArbitrage:"0%",nbSupports:"+1 400",highlighted:!0,formUrl:"https://fo2m8.share-eu1.hsforms.com/2N25HkYfSQVm_Am1QBbPraw"},{name:"Colbr Euro",assureur:"AG2R La Mondiale",logo:pse,fondsEuro:"5,30%*",boost:"5,30%*",minSouscription:"75 000 €",fraisEntree:"0%",fraisGestionUC:"1%",fraisGestionFE:"1%",fraisArbitrage:"0%",nbSupports:"+400",highlighted:!1,formUrl:"https://fo2m8.share-eu1.hsforms.com/2QU7aKP9-QS6ftxoLLot8xw"}],a=[{name:"Colbr Life Balance",risk:e("Équilibré","Balanced"),riskLevel:5,allocation:{actions:35,obligations:45,fondsEuro:20},objectif:"5%",perf2024:"7,96%",formUrl:"https://fo2m8.share-eu1.hsforms.com/23EeNJTbaRDerssajB_81nQ"},{name:"Colbr Life Escalate",risk:e("Dynamique · 100% actions","Dynamic · 100% equities"),riskLevel:6,allocation:{actions:100,obligations:0,fondsEuro:0},objectif:"8%",perf2024:"14,14%",formUrl:"https://fo2m8.share-eu1.hsforms.com/2yECDmr_cRPabVjuKdIZPHQ"},{name:"Colbr Life Shake",risk:e("Opportuniste · 100% ETF","Opportunistic · 100% ETF"),riskLevel:6,allocation:{actions:100,obligations:0,fondsEuro:0},objectif:"10%",perf2024:"15,02%",formUrl:"https://fo2m8.share-eu1.hsforms.com/2AjhaDyirRjqRDe7OnZ_upQ"}],o=[{name:"Colbr Life Balance",url:I8.url},{name:"Colbr Life Escalate",url:A8.url},{name:"Colbr Life Shake",url:L8.url}],l=[{label:e("Frais d'entrée","Entry fees"),value:"0%"},{label:e("Frais de versement","Contribution fees"),value:"0%"},{label:e("Frais d'arbitrage","Switching fees"),value:"0%"},{label:e("Frais de sortie","Exit fees"),value:"0%"}],c=[{q:e("Quels sont les avantages de souscrire à une assurance-vie Colbr ?","What are the benefits of subscribing to a Colbr life insurance policy?"),a:e("Une gestion fiable et diversifiée avec des assureurs de premier plan (Cardif, Suravenir, AG2R), un univers de plus de 2 000 supports, des frais parmi les plus bas du marché (0% d'entrée, 0% de sortie, 0% d'arbitrage) et un accompagnement expert personnalisé.","Reliable, diversified management with leading insurers (Cardif, Suravenir, AG2R), a universe of over 2,000 funds, among the lowest fees on the market (0% entry, 0% exit, 0% switching) and personalised expert support.")},{q:e("Mon argent est-il en sécurité ?","Is my money safe?"),a:e("Tout à fait. Colbr est un intermédiaire régulé. Votre contrat et vos fonds sont hébergés chez nos assureurs partenaires : Suravenir (Crédit Mutuel Arkéa), Cardif (BNP Paribas) ou AG2R La Mondiale. Ce statut vous protège de tout risque lié à Colbr.","Absolutely. Colbr is a regulated intermediary. Your contract and funds are held with our partner insurers: Suravenir (Crédit Mutuel Arkéa), Cardif (BNP Paribas) or AG2R La Mondiale. This structure protects you from any risk related to Colbr itself.")},{q:e("Quel est le minimum de souscription ?","What is the minimum subscription amount?"),a:e("Le minimum dépen
642d du contrat choisi : à partir de 50 000 € pour Colbr Elite et 75 000 € pour Colbr Euro. Contactez un conseiller pour déterminer le contrat le plus adapté à votre situation.","The minimum depends on the chosen contract: from 50,000 € for Colbr Elite and 75,000 € for Colbr Euro. Contact an adviser to determine the most suitable contract for your situation.")},{q:e("Quelle est la différence entre gestion libre et gestion pilotée ?","What is the difference between self-directed and managed portfolios?"),a:e("En gestion libre, vous construisez votre propre allocation (seul ou accompagné d'un conseiller) en choisissant parmi nos supports. En gestion pilotée (Colbr Life), nos experts gèrent votre allocation selon un profil de risque défini, avec des portefeuilles optimisés en continu.","With self-directed management, you build your own allocation (alone or with an adviser) by selecting from our range of funds. With managed portfolios (Colbr Life), our experts manage your allocation according to a defined risk profile, with continuously optimised portfolios.")},{q:e("Quelle stratégie pour investir efficacement ?","What strategy should I follow to invest effectively?"),a:e("Investissez des fonds dont vous n'avez pas besoin à court terme. Adoptez une perspective long terme (5-8 ans), investissez régulièrement (DCA) pour lisser le risque, et choisissez une stratégie alignée avec vos objectifs et votre tolérance au risque.","Invest funds you do not need in the short term. Adopt a long-term perspective (5–8 years), invest regularly (DCA) to smooth out risk, and choose a strategy aligned with your goals and risk tolerance.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"relative min-h-[90vh] flex items-center overflow-hidden pt-16",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-background via-background to-primary/[0.04]"}),t.jsx("div",{className:"container relative z-10 max-w-6xl mx-auto px-6 py-24",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs("div",{children:[t.jsx(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,ease:an,delay:.2},className:"mb-6",children:t.jsxs("span",{className:"inline-flex items-center gap-3 text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:[t.jsx("span",{className:"w-8 h-px bg-primary/40"}),e("Assurance-vie","Life Insurance"),t.jsx("span",{className:"w-8 h-px bg-primary/40"})]})}),t.jsxs(S.h1,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.8,ease:an,delay:.3},className:"font-display text-4xl sm:text-5xl md:text-[3.5rem] leading-[1.1] tracking-tight mb-6",children:[e("Le meilleur de","The best of"),t.jsx("br",{}),e("l'assurance vie","life insurance"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:e("en gestion libre et pilotée","self-directed & managed")})]}),t.jsx(S.p,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.7,ease:an,delay:.5},className:"text-muted-foreground text-base md:text-lg leading-relaxed mb-8 max-w-lg",children:e("ETF, SCPI, private equity, structurés… Accédez à une sélection de 2 000 supports performants et diversifiés, avec des frais parmi les plus bas du marché.","ETF, SCPI, private equity, structured products… Access a selection of 2,000 high-performing diversified funds, with among the lowest fees on the market.")}),t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.6,ease:an,delay:.7},className:"flex flex-col sm:flex-row gap-4",children:[t.jsx("a",{href:"#rdv",className:"inline-flex items-center justify-center px-8 py-3.5 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200",children:e("Investir en ligne","Invest online")}),t.jsx("a",{href:"#contrats",className:"inline-flex items-center justify-center px-8 py-3.5 text-sm font-medium tracking-wide border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200",children:e("Découvrir nos contrats","Discover our contracts")})]})]}),t.jsx(S.div,{initial:{opacity:0,scale:.95}
642,animate:{opacity:1,scale:1},transition:{duration:.8,ease:an,delay:.5},className:"hidden md:grid grid-cols-2 gap-4",children:[{value:e(`Dès
6431 000 €`,`From
644€1,000`),label:e("Minimum de souscription","Minimum subscription"),accent:!0},{value:"+2 000",label:e("Supports disponibles","Available funds"),accent:!1},{value:"0%",label:e("Frais d'entrée sur tous nos contrats","Entry fees on all our contracts"),accent:!1},{value:"4,95%*",label:e("Brut fonds euros (Elite)","Gross euro fund return (Elite)"),accent:!0}].map((u,d)=>t.jsxs("div",{className:`p-6 rounded-2xl border transition-all duration-300 ${u.accent?"bg-primary/[0.06] border-primary/20":"bg-card border-border/40"}`,children:[t.jsx("p",{className:`font-display text-2xl md:text-3xl tracking-tight mb-2 whitespace-pre-line ${u.accent?"text-primary":"text-foreground"}`,children:u.value}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:u.label})]},u.label))})]})})]}),t.jsx("section",{id:"contrats",className:"py-32 bg-surface-warm",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:an},className:"text-center mb-16",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Gestion libre ou accompagnée","Self-directed or advised management")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Nos contrats d'assurance vie","Our life insurance contracts")}),t.jsx("p",{className:"text-sm max-w-xl mx-auto mt-4 leading-relaxed",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Construisez votre propre allocation seul ou avec un conseiller, parmi les meilleurs contrats du marché.","Build your own allocation alone or with an adviser, from the best contracts on the market.")})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 max-w-4xl mx-auto",children:s.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:an,delay:d*.1},className:`relative p-8 rounded-2xl border transition-all duration-300 ${u.highlighted?"bg-white/80 border-primary/20 shadow-lg shadow-primary/[0.06]":"bg-white/60 border-black/[0.06]"}`,children:[u.highlighted&&t.jsx("div",{className:"absolute -top-px left-8 right-8 h-px bg-gradient-to-r from-transparent via-primary to-transparent"}),t.jsxs("div",{className:"flex items-start justify-between gap-4 mb-6",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-1",style:{color:"hsl(var(--surface-warm-foreground))"},children:u.name}),t.jsx("p",{className:"text-[11px]",style:{color:"hsl(var(--surface-warm-muted))"},children:u.assureur})]}),t.jsx("img",{src:u.logo,alt:e(`Logo ${u.assureur}, assureur du contrat ${u.name}`,`${u.assureur} logo, insurer of the ${u.name} contract`),className:"h-8 w-auto object-contain shrink-0 mt-1",loading:"lazy"})]}),t.jsxs("div",{className:"mb-6",children:[t.jsx("p",{className:"text-primary font-display text-3xl tracking-tight",children:u.fondsEuro}),t.jsx("p",{className:"text-[11px] mt-1",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Rendement 2025 · fonds euros","2025 return · euro fund")})]}),t.jsx("div",{className:"space-y-3 mb-8",children:[{l:e("Min. souscription","Min. subscription"),v:u.minSouscription},{l:e("Frais d'entrée","Entry fees"),v:u.fraisEntree},{l:e("Frais gestion UC","UC management fees"),v:u.fraisGestionUC},{l:e("Frais gestion fonds €","Euro fund management fees"),v:u.fraisGestionFE},{l:e("Frais d'arbitrage","Switching fees"),v:u.fraisArbitrage},{l:e("Supports (UC)","Funds (UC)"),v:u.nbSupports}].map(p=>t.jsxs("div",{className:"flex justify-between items-center text-[12px]",children:[t.jsx("span",{style:{color:"hsl(var(--surface-warm-muted))"},children:p.l}),t.jsx("span",{className:"font-medium",style:{color:"hsl(var(--surface-warm-foreground))"},children:p.v})]},p.l))}),t.jsx(xt,{shareUrl:u.formUrl,title:e(`Recevoir la brochure ${u.name}`,`Receive the ${u.name} brochure`),description:e(`Présentation détaillée du contrat ${u.name}, allocations, frais et conditions de souscription. Reçue par e-mail sous quelques minutes.`,`Detailed presentation of the ${u.name} contract, allocations, fees and subscription terms. Delivered by email within minutes.`),eyebrow:e("Demande de brochure","Brochure request"),children:t.jsxs("button",{type:"button",className:`inline-flex items-center w-full justify-center px-6 py-3 text-sm font-medium tracking-wide transition-all duration-200 ${u.highlighted?"bg-primary text-primary-foreground hover:brightness-110":"border border-black/10 hover:border-black/20"}`,style:u.highlighted?void 0:{color:"hsl(var(--surface-warm-foreground))"},children:[e("Recevoir la brochure","Receive the brochure"),t.jsx(V,{className:"w-4 h-4 ml-2"})]})})]},u.name))}),t.jsx("p",{className:"text-[10px] text-center mt-8 max-w-3xl mx-auto leading-relaxed",style:{color:"hsl(var(--surface-warm-muted))"},children:e("*Taux servi au titre de l'année 2025 sur le fonds en euros, brut de frais de gestion du contrat et hors prélèvements sociaux et fiscaux. Un taux bonifié peut s'appliquer selon les conditions fixées par l'assureur. Ce taux n'est pas garanti pour les années suivantes : les performances passées ne préjugent pas des performances futures. Les supports en unités de compte présentent un risque de perte en capital.","*Rate credited for the 2025 year on the euro fund, gross of contract management fees and excluding social levies and taxes. A boosted rate may apply under the insurer's conditions. This rate is not guaranteed for subsequent years: past performance is not indicative of future results. Unit-linked funds carry a risk of capital loss.")})]})}),t.jsx("section",{className:"py-32",style:{background:"hsl(var(--surface-dark))"},children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:an},className:"text-center mb-16",children:[t.jsx("img",{src:IS,alt:"","aria-hidden":"true",className:"h-14 w-14 mx-auto mb-5 opacity-90"}),t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-dark-muted))"},children:"Colbr Life"}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-dark-foreground))"},children:[e("La meilleure gestion pilotée","The best managed portfolio solution")," ",t.jsx("span",{className:"text-gradient-gold",children:e("du marché","on the market")})]}),t.jsx("p",{className:"text-sm max-w-xl mx-auto mt-4 leading-relaxed",style:{color:"hsl(var(--surface-dark-muted))"}
644,children:e("Ne vous occupez plus de rien et surperformez le marché grâce à nos profils de gestion pilotée.","Leave everything to us and outperform the market with our managed portfolio profiles.")}),t.jsxs(C,{to:"/colbr-life",className:"inline-flex items-center gap-2 mt-8 px-7 py-3 rounded-full text-sm font-medium tracking-wide transition-all duration-200 hover:gap-3 hover:brightness-110",style:{background:"hsl(var(--gold) / 0.14)",border:"1px solid hsl(var(--gold) / 0.45)",color:"hsl(var(--gold))"},children:[e("En savoir plus sur Colbr Life","Learn more about Colbr Life"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:a.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:an,delay:d*.1},className:"p-8 rounded-2xl transition-all duration-300",style:{background:"hsl(var(--surface-dark-foreground) / 0.04)",border:"1px solid hsl(var(--surface-dark-foreground) / 0.1)"},children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx(qd,{className:"w-4 h-4",style:{color:"hsl(var(--gold))"}}),t.jsxs("span",{className:"text-[10px] tracking-[0.15em] uppercase font-medium",style:{color:"hsl(var(--gold))"},children:["SRRI ",u.riskLevel,"/7"]})]}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-1",style:{color:"hsl(var(--surface-dark-foreground))"},children:u.name}),t.jsx("p",{className:"text-[12px] mb-6",style:{color:"hsl(var(--surface-dark-muted))"},children:u.risk}),t.jsxs("div",{className:"mb-6",children:[t.jsxs("div",{className:"flex h-2 rounded-full overflow-hidden mb-3",style:{background:"hsl(var(--surface-dark-foreground) / 0.08)"},children:[u.allocation.actions>0&&t.jsx("div",{className:"bg-primary",style:{width:`${u.allocation.actions}%`}}),u.allocation.obligations>0&&t.jsx("div",{className:"bg-secondary",style:{width:`${u.allocation.obligations}%`}}),u.allocation.fondsEuro>0&&t.jsx("div",{style:{width:`${u.allocation.fondsEuro}%`,background:"hsl(var(--surface-dark-foreground) / 0.3)"}})]}),t.jsxs("div",{className:"flex gap-4 text-[10px]",style:{color:"hsl(var(--surface-dark-muted))"},children:[u.allocation.actions>0&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-primary"}),e("Actions","Equities")," ",u.allocation.actions,"%"]}),u.allocation.obligations>0&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-secondary"}),e("Obligations","Bonds")," ",u.allocation.obligations,"%"]}),u.allocation.fondsEuro>0&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full",style:{background:"hsl(var(--surface-dark-foreground) / 0.3)"}}),e("Fonds €","Euro fund")," ",u.allocation.fondsEuro,"%"]})]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-6",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-wider uppercase mb-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Objectif","Target")}),t.jsxs("p",{className:"font-display text-2xl",style:{color:"hsl(var(--gold))"},children:[u.objectif,t.jsx("span",{className:"text-sm",children:e("/an","/yr")})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-wider uppercase mb-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Perf. annualisée*","Annualised perf.*")}),t.jsx("p",{className:"font-display text-2xl",style:{color:"hsl(var(--surface-dark-foreground))"},children:u.perf2024})]})]}),t.jsx(xt,{shareUrl:u.formUrl,title:e(`Recevoir la brochure ${u.name}`,`Receive the ${u.name} brochure`),description:e(`Allocation détaillée, performances historiques et conditions de souscription du profil ${u.name}. Reçue par e-mail sous quelques minutes.`,`Detailed allocation, historical performance and subscription terms for the ${u.name} profile. Delivered by email within minutes.`),eyebrow:e("Demande de brochure","Brochure request"),children:t.jsx("button",{type:"button",className:"inline-flex items-center w-full justify-center px-6 py-3 text-sm font-medium tracking-wide transition-all duration-200 hover:opacity-100",style:{border:"1px solid hsl(var(--surface-dark-foreground) / 0.2)",color:"hsl(var(--surface-dark-foreground))",opacity:.85},children:e("Recevoir la brochure","Receive the brochure")}
644)})]},u.name))}),t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:an},className:"mt-14 rounded-2xl p-8 md:p-10",style:{background:"hsl(var(--surface-dark-foreground) / 0.04)",border:"1px solid hsl(var(--surface-dark-foreground) / 0.1)"},children:t.jsxs("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between gap-6",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-[0.15em] uppercase font-medium mb-2",style:{color:"hsl(var(--gold))"},children:e("Derniers reportings","Latest reports")}),t.jsx("h3",{className:"font-display text-lg tracking-tight",style:{color:"hsl(var(--surface-dark-foreground))"},children:e("Rapports de gestion au 30/06/2026","Management reports as of 30/06/2026")}),t.jsx("p",{className:"text-[12px] mt-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Allocations, performances et indicateurs de risque officiels de chaque profil, établis par Suravenir.","Official allocations, performance and risk indicators for each profile, produced by Suravenir.")})]}),t.jsx("div",{className:"flex flex-col gap-2 md:min-w-[320px]",children:o.map(u=>t.jsxs("a",{href:u.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-between gap-4 px-5 py-3 rounded-xl text-sm transition-all duration-200 hover:opacity-100",style:{border:"1px solid hsl(var(--surface-dark-foreground) / 0.2)",color:"hsl(var(--surface-dark-foreground))",opacity:.85},children:[t.jsxs("span",{className:"inline-flex items-center gap-3",children:[t.jsx(pr,{className:"w-4 h-4 shrink-0",style:{color:"hsl(var(--gold))"}}),u.name]}),t.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[11px] tracking-wide",style:{color:"hsl(var(--surface-dark-muted))"},children:["PDF",t.jsx(Iq,{className:"w-3.5 h-3.5"})]})]},u.name))})]})}),t.jsx("p",{className:"text-[10px] text-center mt-8 max-w-3xl mx-auto leading-relaxed",style:{color:"hsl(var(--surface-dark-muted) / 0.7)"},children:e("*Performance annualisée depuis la création du profil (26/07/2023), nette de frais de gestion, au 30/06/2026. Source : Suravenir / Quantalys. Les objectifs de performance sont annualisés et non garantis. Les supports d'investissement présentent des risques de perte en capital.","*Annualised performance since profile inception (26/07/2023), net of management fees, as of 30/06/2026. Source: Suravenir / Quantalys. Performance targets are annualised and not guaranteed. Investment funds carry a risk of capital loss.")})]})}),t.jsx("section",{className:"py-24 md:py-28 bg-background",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:an},className:"relative overflow-hidden rounded-2xl border border-border bg-card px-8 py-12 md:px-16 md:py-16",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-signature-soft pointer-events-none"}),t.jsxs("div",{className:"relative grid md:grid-cols-[1.4fr,1fr] gap-10 items-center",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary font-medium",children:e("Brochure confidentielle","Confidential brochure")}),t.jsx("h3",{className:"font-display text-2xl md:text-4xl tracking-tight text-foreground mt-4 mb-4",children:n==="en"?t.jsxs(t.Fragment,{children:["Review our contracts ",t.jsx("br",{className:"hidden md:block"}),"in complete confidence."]}):t.jsxs(t.Fragment,{children:["Étudiez nos contrats ",t.jsx("br",{className:"hidden md:block"}),"en toute discrétion."]})}),t.jsx("p",{className:"text-sm md:text-base text-muted-foreground leading-relaxed max-w-md",children:e("Allocations détaillées, performances historiques, grille de frais complète et fiscalité. Reçue par e-mail sous quelques minutes.","Detailed allocations, historical performance, full fee schedule and tax treatment. Delivered by email within minutes.")})]}),t.jsx("div",{className:"flex md:justify-end",children:t.jsx(xt,{title:e("Recevoir la brochure Assurance-vie","Receive the Life Insurance brochure"),description:e("Présentation détaillée de nos contrats Colbr Elite et Colbr Euro, allocations pilotées et grille de frais. Envoi immédiat par e-mail.","Detailed presentation of our Colbr Elite and Colbr Euro contracts, managed allocations and fee schedule. Sent immediately by email."),shareUrl:"https://fo2m8.share-eu1.hsforms.com/2XxoEl19VTUiizD7Bx03guA",children:t.jsxs("button",{type:"button",className:"inline-flex items-center justify-center gap-2 px-8 py-4 text-sm font-medium tracking-wide rounded-full bg-foreground text-background hover:bg-foreground
644/90 transition-all duration-200",children:[e("Recevoir la brochure","Receive the brochure"),t.jsx(V,{className:"w-4 h-4"})]})})})]})]})})}),t.jsx("section",{className:"py-32 bg-surface-taupe",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:an},className:"text-center mb-16",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-taupe-foreground) / 0.5)"},children:e("Transparence","Transparency")}),t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-taupe-foreground))"},children:n==="en"?t.jsxs(t.Fragment,{children:["Fees among the"," ",t.jsx("span",{className:"font-semibold",children:"lowest on the market"})]}):t.jsxs(t.Fragment,{children:["Des frais parmi les"," ",t.jsx("span",{className:"font-semibold",children:"plus bas du marché"})]})}),t.jsx("p",{className:"text-sm max-w-lg mx-auto mt-4 leading-relaxed",style:{color:"hsl(var(--surface-taupe-foreground) / 0.6)"},children:e("Frais de gestion tout compris de 1,2% à 1,9% selon le contrat et le mode de gestion.","All-in management fees of 1.2% to 1.9% depending on the contract and management style.")})]}),t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-6",children:l.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:an,delay:d*.08},className:"text-center p-8 rounded-2xl bg-white/60 border border-black/[0.04]",children:[t.jsx("p",{className:"font-display text-4xl md:text-5xl tracking-tight mb-3",style:{color:"hsl(var(--primary))"},children:u.value}),t.jsx("p",{className:"text-xs",style:{color:"hsl(var(--surface-taupe-foreground) / 0.6)"},children:u.label})]},u.label))})]})}),t.jsx("section",{className:"py-32 bg-background",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:an},className:"text-center mb-16",children:[t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",children:[e("Investissez","Invest")," ",t.jsx("span",{className:"text-gradient-gold",children:e("en toute sérénité","with complete peace of mind")})]}),t.jsx("p",{className:"text-muted-foreground text-sm max-w-lg mx-auto mt-4 leading-relaxed",children:e("Colbr, en conformité totale avec les réglementations financières, vous garantit un investissement sécurisé.","Colbr, in full compliance with financial regulations, guarantees a secure investment.")})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{title:e("Régulé","Regulated"),org:"CNCGP",desc:e("Colbr est régulé par la CNCGP, garantissant une gestion conforme et transparente de vos investissements.","Colbr is regulated by the CNCGP, ensuring compliant and transparent management of your investments.")},{title:e("Enregistré","Registered"),org:"ORIAS",desc:e("Enregistré à l'ORIAS, Colbr vous assure une gestion patrimoniale en toute légalité.","Registered with ORIAS, Colbr ensures fully legal wealth management.")},{title:e("Contrôlé","Supervised"),org:"AMF",desc:e("Sous la supervision de l'AMF, Colbr veille au respect des normes les plus strictes.","Under AMF supervision, Colbr upholds the strictest regulatory standards.")}].map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:an,delay:d*.1},className:"text-center p-8 rounded-2xl bg-card border border-border/40",children:[t.jsx("div",{className:"w-12 h-12 rounded-full border border-primary/30 flex items-center justify-center mx-auto mb-5",children:t.jsx(We,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-lg mb-1",children:u.title}),t.jsx("p",{className:"text-primary text-xs tracking-wider uppercase mb-3",children:u.org}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:u.desc})]},u.title))})]})}),t.jsx("section",{className:"py-32 bg-surface-stone",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:an},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-stone-foreground))"},children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:c.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,ease:an,delay:d*.05},className:"rounded-xl bg-white/60 border border-black/[0.04] overflow-hidden",children:[t.jsxs("button",{onClick:()=>i(r===d?null:d),className:"w-full flex items-center justify-between p-6 text-left",children:[t.jsx("span",{className:"text-sm font-medium pr-4",style:{color:"hsl(var(--surface-stone-foreground))"},children:u.q}),t.jsx(rt,{className:`w-4 h-4 shrink-0 transition-transform duration-200 ${r===d?"rotate-180":""}`,style:{color:"hsl(var(--surface-stone-foreground) / 0.4)"}})]}),r===d&&t.jsx("div",{className:"px-6 pb-6",children:t.jsx("p",{className:"text-sm leading-relaxed",style:{color:"hsl(var(--surface-stone-foreground) / 0.6)"},children:u.a})})]},d))})]})}),t.jsx("section",{className:"py-32 bg-background",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:an},children:[t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight mb-6",children:[e("Prêt à investir","Ready to invest")," ",t.jsx("span",{className:"text-gradient-gold",children:e("intelligemment ?","intelligently?")})]}),t.jsx("p",{className:"text-muted-foreground text-sm max-w-lg mx-auto mb-10 leading-relaxed",children:e("Prenez rendez-vous avec un conseiller pour déterminer le contrat et la stratég
644ie les plus adaptés à votre situation.","Schedule a meeting with an adviser to determine the contract and strategy best suited to your situation.")}),t.jsxs("a",{href:"#rdv",className:"inline-flex items-center px-10 py-4 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4 ml-2"})]})]})})}),t.jsx(Ft,{items:[{to:"/plan-epargne-retraite",label:e("Plan Épargne Retraite","Retirement Savings Plan"),description:e("Préparez votre retraite avec une enveloppe complémentaire et une déduction fiscale immédiate.","Prepare for retirement with a supplementary wrapper and immediate tax deduction."),eyebrow:e("Préparation retraite","Retirement planning")},{to:"/assurance-vie-luxembourgeoise",label:e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),description:e("Une enveloppe haut de gamme pour les patrimoines significatifs, avec triangle de sécurité.","A premium wrapper for significant wealth, with the Luxembourg safety triangle."),eyebrow:e("Patrimoine significatif","Significant wealth")},{to:"/scpi",label:"SCPI",description:e("Diversifiez votre patrimoine vers l'immobilier de rendement à partir de 1 000 €.","Diversify your portfolio into yield-generating real estate from €1,000."),eyebrow:e("Immobilier","Real estate")}]}),t.jsx(re,{})]})};function F8(e,[n,r]){return Math.min(r,Math.max(n,e))}var hse=k.createContext(void 0);function fse(e){const n=k.useContext(hse);return e||n||"ltr"}function gse(e){const n=k.useRef({value:e,previous:e});return k.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}var _8=["PageUp","PageDown"],O8=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],R8={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Ld="Slider",[q2,xse,vse]=WO(Ld),[D8,sze]=Nd(Ld,[vse]),[bse,iy]=D8(Ld),M8=k.forwardRef((e,n)=>{const{name:r,min:i=0,max:s=100,step:a=1,orientation:o="horizontal",disabled:l=!1,minStepsBetweenThumbs:c=0,defaultValue:u=[i],value:d,onValueChange:p=()=>{},onValueCommit:m=()=>{},inverted:h=!1,form:g,...f}=e,x=k.useRef(new Set),v=k.useRef(0),y=o==="horizontal"?yse:jse,[N=[],j]=Cq({prop:d,defaultProp:u,onChange:A=>{var D;(D=[...x.current][v.current])==null||D.focus(),p(A)}}),w=k.useRef(N);function q(A){const _=Sse(N,A);E(A,_)}function P(A){E(A,v.current)}function T(){const A=w.current[v.current];N[v.current]!==A&&m(N)}function E(A,_,{commit:D}={commit:!1}){const R=Tse(a),M=Ise(Math.round((A-i)/a)*a+i,R),U=F8(M,[i,s]);j((z=[])=>{const O=kse(z,U,_);
vendor: 4,173 bytes, line 644
644if(Ese(O,c*a)){v.current=O.indexOf(U);const $=String(O)!==String(z);return $&&D&&m(O),$?O:z}else return z})}return t.jsx(bse,{scope:e.__scopeSlider,name:r,disabled:l,min:i,max:s,valueIndexToChangeRef:v,thumbs:x.current,values:N,orientation:o,form:g,children:t.jsx(q2.Provider,{scope:e.__scopeSlider,children:t.jsx(q2.Slot,{scope:e.__scopeSlider,children:t.jsx(y,{"aria-disabled":l,"data-disabled":l?"":void 0,...f,ref:n,onPointerDown:Ke(f.onPointerDown,()=>{l||(w.current=N)}),min:i,max:s,inverted:h,onSlideStart:l?void 0:q,onSlideMove:l?void 0:P,onSlideEnd:l?void 0:T,onHomeKeyDown:()=>!l&&E(i,0,{commit:!0}),onEndKeyDown:()=>!l&&E(s,N.length-1,{commit:!0}),onStepKeyDown:({event:A,direction:_})=>{if(!l){const M=_8.includes(A.key)||A.shiftKey&&O8.includes(A.key)?10:1,U=v.current,z=N[U],O=a*M*_;E(z+O,U,{commit:!0})}}})})})})});M8.displayName=Ld;var[$8,B8]=D8(Ld,{startEdge:"left",endEdge:"right",size:"width",direction:1}),yse=k.forwardRef((e,n)=>{const{min:r,max:i,dir:s,inverted:a,onSlideStart:o,onSlideMove:l,onSlideEnd:c,onStepKeyDown:u,...d}=e,[p,m]=k.useState(null),h=$t(n,y=>m(y)),g=k.useRef(void 0),f=fse(s),x=f==="ltr",v=x&&!a||!x&&a;function b(y){const N=g.current||p.getBoundingClientRect(),j=[0,N.width],q=AS(j,v?[r,i]:[i,r]);return g.current=N,q(y-N.left)}return t.jsx($8,{scope:e.__scopeSlider,startEdge:v?"left":"right",endEdge:v?"right":"left",direction:v?1:-1,size:"width",children:t.jsx(z8,{dir:f,"data-orientation":"horizontal",...d,ref:h,style:{...d.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:y=>{const N=b(y.clientX);o==null||o(N)},onSlideMove:y=>{const N=b(y.clientX);l==null||l(N)},onSlideEnd:()=>{g.current=void 0,c==null||c()},onStepKeyDown:y=>{const j=R8[v?"from-left":"from-right"].includes(y.key);u==null||u({event:y,direction:j?-1:1})}})})}),jse=k.forwardRef((e,n)=>{const{min:r,max:i,inverted:s,onSlideStart:a,onSlideMove:o,onSlideEnd:l,onStepKeyDown:c,...u}=e,d=k.useRef(null),p=$t(n,d),m=k.useRef(void 0),h=!s;function g(f){const x=m.current||d.current.getBoundingClientRect(),v=[0,x.height],y=AS(v,h?[i,r]:[r,i]);return m.current=x,y(f-x.top)}return t.jsx($8,{scope:e.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:t.jsx(z8,{"data-orientation":"vertical",...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:f=>{const x=g(f.clientY);a==null||a(x)},onSlideMove:f=>{const x=g(f.clientY);o==null||o(x)},onSlideEnd:()=>{m.current=void 0,l==null||l()},onStepKeyDown:f=>{const v=R8[h?"from-bottom":"from-top"].includes(f.key);c==null||c({event:f,direction:v?-1:1})}})})}),z8=k.forwardRef((e,n)=>{const{__scopeSlider:r,onSlideStart:i,onSlideMove:s,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:l,onStepKeyDown:c,...u}=e,d=iy(Ld,r);return t.jsx(vt.span,{...u,ref:n,onKeyDown:Ke(e.onKeyDown,p=>{p.key==="Home"?(o(p),p.preventDefault()):p.key==="End"?(l(p),p.preventDefault()):_8.concat(O8).includes(p.key)&&(c(p),p.preventDefault())}),onPointerDown:Ke(e.onPointerDown,p=>{const m=p.target;m.setPointerCapture(p.pointerId),p.preventDefault(),d.thumbs.has(m)?m.focus():i(p)}),onPointerMove:Ke(e.onPointerMove,p=>{p.target.hasPointerCapture(p.pointerId)&&s(p)}),onPointerUp:Ke(e.onPointerUp,p=>{const m=p.target;m.hasPointerCapture(p.pointerId)&&(m.releasePointerCapture(p.pointerId),a(p))})})}),U8="SliderTrack",V8=k.forwardRef((e,n)=>{const{__scopeSlider:r,...i}=e,s=iy(U8,r);return t.jsx(vt.span,{"data-disabled":s.disabled?"":void 0,"data-orientation":s.orientation,...i,ref:n})});V8.displayName=U8;var S2="SliderRange",W8=k.forwardRef((e,n)=>{const{__scopeSlider:r,...i}=e,s=iy(S2,r),a=B8(S2,r),o=k.useRef(null),l=$t(n,o),c=s.values.length,u=s.values.map(m=>K8(m,s.min,s.max)),d=c>1?Math.min(...u):0,p=100-Math.max(...u);return t.jsx(vt.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...i,ref:l,style:{...e.style,[a.startEdge]:d+"%",[a.endEdge]:p+"%"}})});W8.displayName=S2;var C2="SliderThumb",H8=k.forwardRef((e,n)=>{const r=xse(e.__scopeSlider),[i,s]=k.useState(null),a=$t(n,l=>s(l)),o=k.useMemo(()=>i?r().findIndex(l=>l.ref.current===i):-1,[r,i]);return t.jsx(wse,{...e,ref:a,index:o})}
644),wse=k.forwardRef((e,n)=>{const{__scopeSlider:r,index:i,name:s,...a}=e,o=iy(C2,r),l=B8(C2,r),[c,u]=k.useState(null),d=$t(n,b=>u(b)),p=c?o.form||!!c.closest("form"):!0,m=eD(c),h=o.values[i],g=h===void 0?0:K8(h,o.min,o.max),f=qse(i,o.values.length),x=m==null?void 0:m[l.size],v=x?Cse(x,g,l.direction):0;return k.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),t.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[l.startEdge]:`calc(${g}% + ${v}px)`},children:[t.jsx(q2.ItemSlot,{scope:e.__scopeSlider,children:t.jsx(vt.span,{role:"slider","aria-label":e["aria-label"]||f,"aria-valuemin":o.min,"aria-valuenow":h,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,tabIndex:o.disabled?void 0:0,...a,ref:d,style:h===void 0?{display:"none"}:e.style,onFocus:Ke(e.onFocus,()=>{o.valueIndexToChangeRef.current=i})})}),p&&t.jsx(G8,{name:s??(o.name?o.name+(o.values.length>1?"[]":""):void 0),form:o.form,value:h},i)]})});H8.displayName=C2;var Nse="RadioBubbleInput",G8=k.forwardRef(({__scopeSlider:e,value:n,...r},i)=>{const s=k.useRef(null),a=$t(s,i),o=gse(n);return k.useEffect(()=>{const l=s.current;if(!l)return;const c=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(c,"value").set;if(o!==n&&d){const p=new Event("input",{bubbles:!0});d.call(l,n),l.dispatchEvent(p)}},[o,n]),t.jsx(vt.input,{style:{display:"none"},...r,ref:a,defaultValue:n})});G8.displayName=Nse;function kse(e=[],n,r){const i=[...e];return i[r]=n,i.sort((s,a)=>s-a)}function K8(e,n,r){const a=100/(r-n)*(e-n);return F8(a,[0,100])}function qse(e,n){return n>2?`Value ${e+1} of ${n}`:n===2?["Minimum","Maximum"][e]:void 0}function Sse(e,n){if(e.length===1)return 0;const r=e.map(s=>Math.abs(s-n)),i=Math.min(...r);return r.indexOf(i)}function Cse(e,n,r){const i=e/2,a=AS([0,50],[0,i]);return(i-a(n)*r)*r}function Pse(e){return e.slice(0,-1).map((n,r)=>e[r+1]-n)}function Ese(e,n){if(n>0){const r=Pse(e);return Math.min(...r)>=n}return!0}function AS(e,n){return r=>{if(e[0]===e[1]||n[0]===n[1])return n[0];const i=(n[1]-n[0])/(e[1]-e[0]);return n[0]+i*(r-e[0])}}function Tse(e){return(String(e).split(".")[1]||"").length}function Ise(e,n){const r=Math.pow(10,n);return Math.round(e*r)/r}var Q8=M8,Ase=V8,Lse=W8,Fse=H8;const Jr=k.forwardRef(({className:e,...n},r)=>t.jsxs(Q8,{ref:r,className:Yt("relative flex w-full touch-none select-none items-center",e),...n,children:[t.jsx(Ase,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:t.jsx(Lse,{className:"absolute h-full bg-primary"})}),t.jsx(Fse,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));Jr.displayName=Q8.displayName;const _se=[.16,1,.3,1],Ts=(e,n)=>new Intl.NumberFormat(n==="en"?"en-GB":"fr-FR",{style:"currency",currency:"EUR",maximumFractionDigits:0}).format(Math.round(isFinite(e)?e:0)),up=e=>`${e.toFixed(1).replace(".",",")} %`,dp={balance:{name:"Balance",objectif:5,perfAnnualisee:7.96,marketBenchmark:3.5},escalate:{name:"Escalate",objectif:8,perfAnnualisee:14.14,marketBenchmark:5.5},shake:{name:"Shake",objectif:10,perfAnnualisee:15.02,marketBenchmark:5.5}};function ag({label:e,value:n,min:r,max:i,step:s,onChange:a,display:o,presets:l}){return t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[t.jsx("span",{className:"text-[11px] tracking-[0.16em] uppercase text-muted-foreground",children:e}),t.jsx("span",{className:"font-display text-base tracking-tight tabular-nums",children:o})]}),t.jsx(Jr,{value:[n],min:r,max:i,step:s,onValueChange:c=>a(c[0]),"aria-label":e,className:"cursor-pointer"}),l&&t.jsx("div",{className:"flex flex-wrap gap-1.5 mt-3",children:l.map(c=>t.jsx("button",{type:"button",onClick:()=>a(c.value),"aria-pressed":c.value===n,className:`px-2.5 py-1 rounded-full text-[11px] font-medium border transition-colors duration-150 ${c.value===n?"bg-primary/10 text-primary border-primary/30":"text-muted-foreground border-border/40 hover:border-primary/30 hover:text-foreground"}`,children:c.label},c.value))})]})}const JI=(e,n,r,i)=>{const s=r/100/12,a=i*12,o=e*Math.pow(1+s,a),l=s>0?n*((Math.pow(1+s,a)-1)/s):n*a;return o+l};function Ose(){const{tr:e,lang:n}=K(),[r,i]=k.useState("escalate"),[s,a]=k.useState(1e5),[o,l]=k.useState(500),[c,u]=k.useState(15),[d,p]=k.useState(dp.escalate.marketBenchmark),m=dp[r],h=m.objectif,g=JI(s,o,h,c),f=JI(s,o,d,c),x=s+o*c*12,v=g-f,b=Math.max(g,f,1),y=N=>{i(N),p(dp[N].marketBenchmark)};return t.jsx("section",{className:"py-24 border-t border-border/20 bg-muted/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:_se},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Simulateur","Simulator")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Projetez votre capital face à la","Project your capital against the")," ",t.jsx("span",{className:"text-gradient-gold",children:e("moyenne du marché","market average")})]}),t.jsx("p",{className:"text-sm text-muted-foreground max-w-2xl mx-auto mt-4 leading-relaxed",children:e("Comparez la trajectoire d'un profil Colbr Life — sur la base de son objectif de gestion annualisé — à celle d'une gestion pilotée de marché à profil équivalent.","Compare the trajectory of a Colbr Life profile — based on its annualised management target — with that of an equivalent-risk market managed allocation.")})]}),t.jsxs("div",{className:"p-8 md:p-10 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("div",{className:"flex flex-wrap justify-center gap-2 mb-10",children:Object.keys(dp).map(N=>{const j=dp[N],w=N===r;return t.jsxs("button",{type:"button",onClick:()=>y(N),className:`px-5 py-2.5 rounded-full text-sm font-medium tracking-wide transition-all duration-200 border ${w?"bg-primary text-primary-foreground border-primary":"bg-card/60 text-muted-foreground border-border/40 hover:border-primary/40 hover:text-foreground"}`,children:["Colbr Life ",j.name,t.jsxs("span",{className:`ml-2 text-xs ${w?"text-primary-foreground
644/80":"text-muted-foreground/70"}`,children:[e("obj.","tgt")," ",up(j.objectif)]})]},N)})}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-10",children:[t.jsxs("div",{className:"space-y-8",children:[t.jsx(ag,{label:e("Versement initial","Initial contribution"),value:s,min:5e4,max:1e6,step:1e4,onChange:a,display:Ts(s,n),presets:[5e4,1e5,25e4,5e5].map(N=>({value:N,label:`${N/1e3} k€`}))}),t.jsx(ag,{label:e("Versement mensuel","Monthly contribution"),value:o,min:0,max:5e3,step:100,onChange:l,display:Ts(o,n)}),t.jsx(ag,{label:e("Horizon","Time horizon"),value:c,min:3,max:20,step:1,onChange:u,display:e(`${c} ans`,`${c} years`),presets:[5,8,10,15,20].map(N=>({value:N,label:e(`${N} ans`,`${N} yrs`)}))}),t.jsx(ag,{label:e("Hypothèse moyenne du marché","Market average assumption"),value:d,min:0,max:10,step:.1,onChange:p,display:up(d)}),t.jsxs("div",{className:"p-4 rounded-xl bg-muted/40 border border-border/20",children:[t.jsx("p",{className:"text-[11px] tracking-[0.14em] uppercase text-muted-foreground mb-1.5",children:e(`Hypothèse Colbr Life ${m.name}`,`Colbr Life ${m.name} assumption`)}),t.jsxs("p",{className:"text-sm leading-relaxed",children:[t.jsx("span",{className:"font-display text-lg",children:up(h)})," ",t.jsx("span",{className:"text-muted-foreground",children:e(`/an — objectif de gestion annualisé. Performance annualisée constatée depuis la création : ${up(m.perfAnnualisee)}*.`,`per year — annualised management target. Annualised performance since inception: ${up(m.perfAnnualisee)}*.`)})]})]})]}),t.jsxs("div",{className:"space-y-5","aria-live":"polite",children:[t.jsxs("div",{className:"p-5 rounded-xl bg-card/60 border border-primary/30",children:[t.jsx("p",{className:"text-[11px] tracking-[0.16em] uppercase text-muted-foreground mb-2",children:e(`Capital projeté · Colbr Life ${m.name}`,`Projected capital · Colbr Life ${m.name}`)}),t.jsx("p",{className:"font-display text-3xl tracking-tight text-primary tabular-nums",children:Ts(g,n)}),t.jsx("p",{className:"text-xs text-muted-foreground/80 mt-1.5",children:e(`Dont plus-value estimée : +${Ts(Math.max(g-x,0),n)}`,`Including estimated gain: +${Ts(Math.max(g-x,0),n)}`)}),t.jsx("div",{className:"mt-3 h-2 rounded-full bg-muted/60 overflow-hidden",children:t.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500",style:{width:`${g/b*100}%`}})})]}),t.jsxs("div",{className:"p-5 rounded-xl bg-card/60 border border-border/30",children:[t.jsx("p",{className:"text-[11px] tracking-[0.16em] uppercase text-muted-foreground mb-2",children:e("Capital projeté · moyenne du marché","Projected capital · market average")}),t.jsx("p",{className:"font-display text-3xl tracking-tight",children:Ts(f,n)}),t.jsx("div",{className:"mt-3 h-2 rounded-full bg-muted/60 overflow-hidden",children:t.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${f/b*100}%`,background:"hsl(var(--muted-foreground) / 0.45)"}})})]}),t.jsxs("div",{className:"p-5 rounded-xl border border-secondary/30",style:{background:"hsl(var(--secondary) / 0.06)"},children:[t.jsx("p",{className:"text-[11px] tracking-[0.16em] uppercase text-muted-foreground mb-2",children:v>=0?e("Écart en votre faveur","Difference in your favour"):e("Écart en faveur de la moyenne du marché","Difference in favour of the market average")}),t.jsxs("p",{className:"font-display text-3xl tracking-tight text-secondary tabular-nums",children:[v>=0?"+":"−",Ts(Math.abs(v),n)]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 mt-1.5",children:e(`Pour ${Ts(x,n)} versés sur ${c} ans.`,`For ${Ts(x,n)} contributed over ${c} years.`)})]}),t.jsx("p",{className:"text-[10px] text-muted-foreground/70 leading-relaxed",children:e("Simulation indicative et non contractuelle : elle ne constitue ni un conseil en investissement ni une recommandation personnalisée.","Indicative, non-contractual simulation: it constitutes neither investment advice nor a personalised recommendation.")})]})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed mt-8",children:e("Simulation indicative à capitalisation mensuelle, fondée sur l'objectif de gestion annualisé du profil (non garanti) et sur une hypothèse de marché ajustable. La moyenne de marché pré-remplie correspond à un ordre de grandeur indicatif des gestions pilotées grand public à profil de risque équivalent, net de frais (sources : comparatifs publics Finance Héros 2016-2026, moyennes de catégories Quantalys). *Performance annualisée depuis la création du profil (26/07/2023), nette de frais de gestion, au 30/06/2026, source Suravenir / Quantalys. Les performances passées ne préjugent pas des performances futures. Les supports en unités de compte présentent un risque de perte en capital.","Indicative simulation with monthly compounding, based on the profile's annualised management target (not guaranteed) and an adjustable market assumption. The pre-filled market average is an indicative order of magnitude for mass-market managed allocations of equivalent risk, net of fees (sources: Finance Héros public comparisons 2016-2026, Quantalys category averages). *Annualised performance since profile inception (26/07/2023), net of management fees, as of 30/06/2026, source Suravenir / Quantalys. Past performance is not indicative of future results. Unit-linked funds carry a risk of capital loss.")})]})})}const Is=[.16,1,.3,1],Rse=()=>{const{tr:e,lang:n}=K(),[r,i]=k.useState(null),s=[{name:"Colbr Life Balance",risk:e("Équilibré","Balanced"),riskLevel:5,allocation:{actions:35,obligations:45,fondsEuro:20},objectif:"5%",perfAnnualisee:"7,96%",perf2025:"3,84%",perf2024:"11,56%",perf1an:"10,33%",vol:"5,07%",perteMax:"8,44%",benchmark:"≈ 3,5 %",formUrl:"https://fo2m8.share-eu1.hsforms.com/23EeNJTbaRDerssajB_81nQ"},{name:"Colbr Life Escalate",risk:e("Dynamique · 100% actions","Dynamic · 100% equities"),riskLevel:6,allocation:{actions:100,obligations:0,fondsEuro:0},objectif:"8%",perfAnnualisee:"14,14%",perf2025:"4,24%",perf2024:"21,83%",perf1an:"23,36%",vol:"10,26%",perteMax:"21,40%",benchmark:"≈ 5,5 %",formUrl:"https://fo2m8.share-eu1.hsforms.com/2yECDmr_cRPabVjuKdIZPHQ"},{name:"Colbr Life Shake",risk:e("Opportuniste · 100% ETF","Opportunistic · 100% ETF"),riskLevel:6,allocation:{actions:100,obligations:0,fondsEuro:0},objectif:"10%",perfAnnualisee:"15,02%",perf2025:"7,12%",perf2024:"18,61%",perf1an:"27,10%",vol:"11,50%",perteMax:"19,75%",benchmark:"≈ 5,5 %",formUrl:"https://fo2m8.share-eu1.hsforms.com/2AjhaDyirRjqRDe7OnZ_upQ"}],a=[{name:"Colbr Life Balance",url:I8.url},{name:"Colbr Life Escalate",url:A8.url},{name:"Colbr Life Shake",url:L8.url}],o=[{icon:la,title:e("Une architecture 100% ETF","A 100% ETF architecture"),text:e("Les profils sont bâtis sur des ETF — les supports les moins chargés en frais du marché — plutôt que sur des fonds actifs classiques dont les rétrocessions créent des conflits d'intérêts. Moins de frais structurels, c'est mécaniquement plus de performance nette.","The profiles are built on ETFs — the lowest-cost vehicles on the market — rather than traditional active funds whose retrocessions create conflicts of interest. Structurally lower fees mechanically translate into higher net performance.")},{icon:Zl,title:e("0% de frais d'entrée, d'arbitrage et de sortie","0% entry, switching and exit fees"),text:e("Aucun frais de versement, d'arbitrage ou de sortie. Votre capital travaille intégralement dès le premier jour — là où de nombreuses gestions pilotées ponctionnent chaque mouvement.","No contribution, switching or exit fees. Your capital works in full from day one — where many managed allocations charge for every movement.")},{icon:zb,title:e("Un conseil en allocation dédié","Dedicated allocation advisory"),text:e("L'allocation est c
644onseillée par Tailor Asset Management, société de gestion indépendante, et validée par Suravenir. À ce jour, Suravenir a accepté l'intégralité des propositions d'allocation formulées pour ces profils.","The allocation is advised by Tailor Asset Management, an independent asset manager, and validated by Suravenir. To date, Suravenir has accepted every allocation proposal made for these profiles.")},{icon:St,title:e("L'infrastructure d'un assureur de premier plan","The infrastructure of a leading insurer"),text:e("Vos actifs sont hébergés chez Suravenir (Crédit Mutuel Arkéa), l'un des assureurs les plus solides du marché français. Colbr intervient comme intermédiaire régulé : votre contrat ne dépend pas de nous.","Your assets are held with Suravenir (Crédit Mutuel Arkéa), one of the strongest insurers in the French market. Colbr acts as a regulated intermediary: your contract does not depend on us.")}],l=[{q:e("Qui gère les profils Colbr Life ?","Who manages the Colbr Life profiles?"),a:e("Les profils sont adossés au contrat d'assurance-vie Suravenir distribué par Colbr. Suravenir pilote la gestion financière et s'appuie sur Tailor Asset Management comme conseiller en allocation. Colbr, intermédiaire régulé (ORIAS n° 21001069), vous accompagne dans le choix du profil et le suivi patrimonial.","The profiles are attached to the Suravenir life insurance contract distributed by Colbr. Suravenir runs the financial management and relies on Tailor Asset Management as allocation adviser. Colbr, a regulated intermediary (ORIAS no. 21001069), supports you in choosing a profile and monitoring your wealth.")},{q:e("Quel est le minimum de souscription ?","What is the minimum subscription amount?"),a:e("Les profils Colbr Life sont accessibles dès 50 000 € de versement initial. Des versements programmés peuvent ensuite être mis en place pour lisser votre entrée sur les marchés.","Colbr Life profiles are available from an initial contribution of €50,000. Scheduled contributions can then be set up to smooth your entry into the markets.")},{q:e("Quels sont les frais ?","What are the fees?"),a:e("0% de frais d'entrée, de versement, d'arbitrage et de sortie. La gestion pilotée est facturée 0,45% par an sur les unités de compte, en sus des frais de gestion du contrat. Les ETF sous-jacents comptent parmi les supports les moins chargés en frais du marché.","0% entry, contribution, switching and exit fees. Managed allocation is charged at 0.45% per year on unit-linked funds, in addition to contract management fees. The underlying ETFs are among the lowest-cost vehicles on the market.")},{q:e("Puis-je changer de profil en cours de route ?","Can I switch profiles along the way?"),a:e("Oui. Les arbitrages entre profils sont libres et sans frais au sein du contrat. Un conseiller Colbr vous aide à faire évoluer votre allocation si votre situation ou votre horizon changent.","Yes. Switching between profiles is free of charge within the contract. A Colbr adviser will help you adjust your allocation if your situation or time horizon changes.")},{q:e("Comment les performances se comparent-elles au marché ?","How does performance compare with the market?"),a:e("Au 30/06/2026, les performances annualisées depuis la création des profils (26/07/2023), nettes de frais de gestion, s'établissent à 7,96% pour Balance, 14,14% pour Escalate et 15,02% pour Shake (source : Suravenir / Quantalys). À titre indicatif, les gestions pilotées grand public à profil équivalent affichent des moyennes nettes de l'ordre de 3,5% par an en équilibré et de 5,5% en dynamique sur longue période. Les performances passées ne préjugent pas des performances futures.","As of 30/06/2026, annualised performance since profile inception (26/07/2023), net of management fees, stands at 7.96% for Balance, 14.14% for Escalate and 15.02% for Shake (source: Suravenir / Quantalys). As an indication, mass-market managed allocations of equivalent risk profile show long-term net averages of around 3.5% per year for balanced and 5.5% for dynamic. Past performance is not indicative of future results.")},{q:e("Mon capital est-il garanti ?","Is my capital guaranteed?"),a:e("Non. Les profils Colbr Life sont investis en unités de compte, qui présentent un risque de perte en capital. Seule la part éventuellement investie en fonds en euros bénéficie de la garantie de l'assureur. L'horizon de détention recommandé est de 8 ans.","No. Colbr Life profiles are invested in unit-linked funds, which carry a risk of capital loss. Only any portion invested in the euro fund benefits from the insurer's guarantee. The recommended holding period is 8 years.")}],c={"@context":"https://schema.org","@type":"FAQPage",mainEntity:l.map(u=>
644({"@type":"Question",name:u.q,acceptedAnswer:{"@type":"Answer",text:u.a}}))};return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:n==="en"?"Colbr Life — Managed allocation that beats the market average | Colbr":"Colbr Life — La gestion pilotée qui bat la moyenne du marché | Colbr"}),t.jsx("meta",{name:"description",content:n==="en"?"Colbr Life managed profiles (Suravenir): 7.96% to 15.02% annualised since inception, net of fees. 0% entry fees, 100% ETF, from €50,000. Compare with the market average using our simulator.":"Profils de gestion pilotée Colbr Life (Suravenir) : de 7,96% à 15,02% annualisés depuis la création, nets de frais. 0% de frais d'entrée, 100% ETF, dès 50 000 €. Comparez à la moyenne du marché avec notre simulateur."}),t.jsx("link",{rel:"canonical",href:"https://colbr.co/colbr-life"}),t.jsx("meta",{property:"og:title",content:"Colbr Life — La gestion pilotée qui bat la moyenne du marché | Colbr"}),t.jsx("meta",{property:"og:description",content:"De 7,96% à 15,02% annualisés depuis la création, nets de frais. 100% ETF, 0% de frais d'entrée, dès 50 000 €."}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify(c)})]}),t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_70%_15%,hsl(var(--primary)/0.07),transparent_70%)]"}),t.jsx("div",{className:"container max-w-4xl mx-auto px-6 relative text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Is},children:[t.jsxs("span",{className:"inline-flex items-center gap-2 text-[10px] tracking-[0.22em] uppercase text-secondary bg-secondary/10 border border-secondary/20 px-4 py-1.5 rounded-full mb-8",children:[t.jsx(We,{className:"w-3.5 h-3.5"}),e("Gestion pilotée · Suravenir","Managed allocation · Suravenir")]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.4rem] leading-[1.1] tracking-tight mb-6",children:["Colbr Life :"," ",t.jsx("span",{className:"text-gradient-gold",children:e("la gestion pilotée mesurée à l'aune des résultats","managed allocation, measured by results")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-10 max-w-2xl mx-auto",style:{textAlign:"justify",textAlignLast:"center"},children:e("Trois profils de gestion pilotée adossés à Suravenir, construits intégralement en ETF et conseillés par une société de gestion indépendante. Depuis leur création, ils surperforment nettement la moyenne des gestions pilotées du marché — résultats audités par Quantalys, nets de frais de gestion.","Three managed allocation profiles backed by Suravenir, built entirely on ETFs and advised by an independent asset manager. Since inception, they have clearly outperformed the market average for managed allocations — results audited by Quantalys, net of management fees.")}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 max-w-3xl mx-auto mb-10",children:s.map(u=>t.jsxs("div",{className:"p-5 rounded-xl bg-card/60 border border-border/30",children:[t.jsx("p",{className:"text-[10px] tracking-[0.15em] uppercase text-muted-foreground mb-1.5",children:u.name.replace("Colbr Life ","")}),t.jsx("p",{className:"font-display text-3xl tracking-tight text-primary",children:u.perfAnnualisee}),t.jsx("p",{className:"text-[10px] text-muted-foreground/80 mt-1",children:e("annualisés depuis la création*","annualised since inception*")})]},u.name))}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/23EeNJTbaRDerssajB_81nQ",title:e("Recevoir la brochure Colbr Life","Receive the Colbr Life brochure"),description:e("Allocations détaillées, performances historiques et conditions de souscription des trois profils. Reçue par e-mail sous quelques minutes.","Detailed allocations, historical performance and subscription terms for all three profiles. Delivered by email within minutes."),eyebrow:e("Demande de brochure","Brochure request"),children:t.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 px-8 py-4 rounded-full bg-primary text-primary-foreground text-sm font-medium tracking-wide transition-all duration-200 hover:opacity-90",children:[e("Recevoir la brochure","Receive the brochure"),t.jsx(V,{className:"w-4 h-4"})]})}),t.jsx("a",{href:"#comparaison",className:"inline-flex items-center gap-2 px-8 py-4 rounded-full border border-border text-sm font-medium tracking-wide text-foreground
644/85 transition-all duration-200 hover:border-primary/40 hover:text-foreground",children:e("Voir la comparaison au marché","See the market comparison")})]}),t.jsx("p",{className:"text-[10px] text-muted-foreground/70 mt-6 max-w-xl mx-auto leading-relaxed",children:e("*Performances annualisées depuis la création des profils (26/07/2023), nettes de frais de gestion, au 30/06/2026. Source : Suravenir / Quantalys. Les performances passées ne préjugent pas des performances futures.","*Annualised performance since profile inception (26/07/2023), net of management fees, as of 30/06/2026. Source: Suravenir / Quantalys. Past performance is not indicative of future results.")})]})})]}),t.jsx("section",{className:"py-32",style:{background:"hsl(var(--surface-dark))"},children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:Is},className:"text-center mb-16",children:[t.jsx("img",{src:IS,alt:"","aria-hidden":"true",className:"h-14 w-14 mx-auto mb-5 opacity-90"}),t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-dark-muted))"},children:"Colbr Life"}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight",style:{color:"hsl(var(--surface-dark-foreground))"},children:[e("Trois profils, une même exigence :","Three profiles, one standard:")," ",t.jsx("span",{className:"text-gradient-gold",children:e("la performance nette","net performance")})]}),t.jsx("p",{className:"text-sm max-w-xl mx-auto mt-4 leading-relaxed",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Chaque profil est documenté par un reporting officiel établi par Suravenir et audité par Quantalys. Aucun chiffre d'auto-promotion.","Each profile is documented in an official report produced by Suravenir and audited by Quantalys. No self-reported figures.")})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:s.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:Is,delay:d*.1},className:"p-8 rounded-2xl transition-all duration-300",style:{background:"hsl(var(--surface-dark-foreground) / 0.04)",border:"1px solid hsl(var(--surface-dark-foreground) / 0.1)"},children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx(qd,{className:"w-4 h-4",style:{color:"hsl(var(--gold))"}}),t.jsxs("span",{className:"text-[10px] tracking-[0.15em] uppercase font-medium",style:{color:"hsl(var(--gold))"},children:["SRRI ",u.riskLevel,"/7"]})]}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-1",style:{color:"hsl(var(--surface-dark-foreground))"},children:u.name}),t.jsx("p",{className:"text-[12px] mb-6",style:{color:"hsl(var(--surface-dark-muted))"},children:u.risk}),t.jsxs("div",{className:"mb-6 pb-6",style:{borderBottom:"1px solid hsl(var(--surface-dark-foreground) / 0.1)"},children:[t.jsx("p",{className:"text-[10px] tracking-wider uppercase mb-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Perf. annualisée depuis la création*","Annualised perf. since inception*")}),t.jsx("p",{className:"font-display text-4xl tracking-tight",style:{color:"hsl(var(--gold))"},children:u.perfAnnualisee})]}),t.jsxs("div",{className:"mb-6",children:[t.jsxs("div",{className:"flex h-2 rounded-full overflow-hidden mb-3",style:{background:"hsl(var(--surface-dark-foreground) / 0.08)"},children:[u.allocation.actions>0&&t.jsx("div",{className:"bg-primary",style:{width:`${u.allocation.actions}%`}}),u.allocation.obligations>0&&t.jsx("div",{className:"bg-secondary",style:{width:`${u.allocation.obligations}%`}}),u.allocation.fondsEuro>0&&t.jsx("div",{style:{width:`${u.allocation.fondsEuro}%`,background:"hsl(var(--surface-dark-foreground) / 0.3)"}})]}),t.jsxs("div",{className:"flex gap-4 text-[10px]",style:{color:"hsl(var(--surface-dark-muted))"},children:[u.allocation.actions>0&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-primary"}),e("Actions","Equities")," ",u.allocation.actions,"%"]}),u.allocation.obligations>0&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-secondary"}),e("Obligations","Bonds")," ",u.allocation.obligations,"%"]}),u.allocation.fondsEuro>0&&t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"w-2 h-2 rounded-full",style:{background:"hsl(var(--surface-dark-foreground) / 0.3)"}}),e("Fonds €","Euro fund")," ",u.allocation.fondsEuro,"%"]})]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-5 mb-8 text-sm",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-wider up
644percase mb-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Objectif de gestion","Management target")}),t.jsxs("p",{className:"font-display text-lg",style:{color:"hsl(var(--surface-dark-foreground))"},children:[u.objectif,t.jsx("span",{className:"text-xs",children:e("/an","/yr")})]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-wider uppercase mb-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Sur 1 an","Over 1 year")}),t.jsxs("p",{className:"font-display text-lg",style:{color:"hsl(var(--surface-dark-foreground))"},children:["+",u.perf1an]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-wider uppercase mb-1",style:{color:"hsl(var(--surface-dark-muted))"},children:"2025 · 2024"}),t.jsxs("p",{className:"font-display text-lg",style:{color:"hsl(var(--surface-dark-foreground))"},children:["+",u.perf2025," · +",u.perf2024]})]}),t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-wider uppercase mb-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Volatilité · Perte max","Volatility · Max drawdown")}),t.jsxs("p",{className:"font-display text-lg",style:{color:"hsl(var(--surface-dark-foreground))"},children:[u.vol," · ",u.perteMax]})]})]}),t.jsx(xt,{shareUrl:u.formUrl,title:e(`Recevoir la brochure ${u.name}`,`Receive the ${u.name} brochure`),description:e(`Allocation détaillée, performances historiques et conditions de souscription du profil ${u.name}. Reçue par e-mail sous quelques minutes.`,`Detailed allocation, historical performance and subscription terms for the ${u.name} profile. Delivered by email within minutes.`),eyebrow:e("Demande de brochure","Brochure request"),children:t.jsx("button",{type:"button",className:"inline-flex items-center w-full justify-center px-6 py-3 text-sm font-medium tracking-wide transition-all duration-200 hover:opacity-100",style:{border:"1px solid hsl(var(--surface-dark-foreground) / 0.2)",color:"hsl(var(--surface-dark-foreground))",opacity:.85},children:e("Recevoir la brochure","Receive the brochure")})})]},u.name))}),t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:Is},className:"mt-14 rounded-2xl p-8 md:p-10",style:{background:"hsl(var(--surface-dark-foreground) / 0.04)",border:"1px solid hsl(var(--surface-dark-foreground) / 0.1)"},children:t.jsxs("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between gap-6",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-[10px] tracking-[0.15em] uppercase font-medium mb-2",style:{color:"hsl(var(--gold))"},children:e("Derniers reportings","Latest reports")}),t.jsx("h3",{className:"font-display text-lg tracking-tight",style:{color:"hsl(var(--surface-dark-foreground))"},children:e("Rapports de gestion au 30/06/2026","Management reports as of 30/06/2026")}),t.jsx("p",{className:"text-[12px] mt-1",style:{color:"hsl(var(--surface-dark-muted))"},children:e("Allocations, performances et indicateurs de risque officiels de chaque profil, établis par Suravenir.","Official allocations, performance and risk indicators for each profile, produced by Suravenir.")})]}),t.jsx("div",{className:"flex flex-col gap-2 md:min-w-[320px]",children:a.map(u=>t.jsxs("a",{href:u.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-between gap-4 px-5 py-3 rounded-xl text-sm transition-all duration-200 hover:opacity-100",style:{border:"1px solid hsl(var(--surface-dark-foreground) / 0.2)",color:"hsl(var(--surface-dark-foreground))",opacity:.85},children:[t.jsxs("span",{className:"inline-flex items-center gap-3",children:[t.jsx(pr,{className:"w-4 h-4 shrink-0",style:{color:"hsl(var(--gold))"}}),u.name]}),t.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[11px] tracking-wide",style:{color:"hsl(var(--surface-dark-muted))"},children:["PDF",t.jsx(Iq,{className:"w-3.5 h-3.5"})]})]},u.name))})]})}),t.jsx("p",{className:"text-[10px] text-center mt-8 max-w-3xl mx-auto leading-relaxed",style:{color:"hsl(var(--surface-dark-muted) / 0.7)"},children:e("*Performance annualisée depuis la création du profil (26/07/2023), nette de frais de gestion, au 30/06/2026. Source : Suravenir / Quantalys. Volatilité annualisée sur 1 an ; perte maximale cumulée depuis la création. Les objectifs de performance sont annualisés et non garantis. Les supports d'investissement présentent des risques de perte en capital.","*Annualised performance since profile inception (26/07/2023), net of management fees, as of 30/06/2026. Source: Suravenir / Quantalys. Annualised 1-year volatility; maximum cumulative drawdown since inception. Performance targets are annualised and not guaranteed. Investment funds carry a risk of capital loss.")})]})}),t.jsx("section",{id:"comparaison",className:"py-24 bg-background scroll-mt-24",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Is},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Comparaison","Comparison")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Face à la moyenne du marché,","Against the market average,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("l'écart se mesure en points","the gap is measured in points")})]}),t.jsx("p",{className:"text-sm text-muted-foreground max-w-2xl mx-auto mt-4 leading-relaxed",style:{textAlign:"justify",textAlignLast:"center"},children:e("La plupart des gestions pilotées grand public empilent fonds actifs coûteux et frais de pilotage. Colbr Life fait l'inverse : des ETF, zéro frais d'entrée et un conseil en allocation indépendant. Le résultat tient en un tableau.","Most mass-market managed allocations stack expensive active funds and management fees. Colbr Life does the opposite: ETFs, zero entry fees and independent allocation advice. The result fits in one table.")})]}),t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.7,ease:Is},className:"overflow-x-auto rounded-2xl border border-border/30 bg-card/40",children:t.jsxs("table",{className:"w-full min-w-[640px] text-sm",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"border-b border-border/30",children:[t.jsx("th",{className:"text-left p-5 text-[11px] tracking-[0.14em] uppercase text-muted-foreground font-medium",children:e("Performance annualisée*","Annualised performance*")}),t.jsx("th",{className:"text-center p-5 text-[11px] tracking-[0.14em] uppercase text-primary font-medium",children:"Colbr Life"}),t.jsx("th",{className:"text-center p-5 text-[11px] tracking-[0.14em] uppercase text-muted-foreground font-medium",children:e("Gestion pilotée moyenne (même profil)","Average managed allocation (same profile)")}),t.jsx("th",{className:"text-center p-5 text-[11px] tracking-[0.14em] uppercase text-muted-foreground font-medium",children:e("Fonds en euros moyen","Average euro fund")}),t.jsx("th",{className:"text-center p-5 text-[11px] tracking-[0.14em] uppercase text-secondary font-medium",children:e("Écart","Gap")})]})}),t.jsx("tbody",{children:[{name:"Balance",colbr:"7,96 %",market:"≈ 3,5 %",euro:"≈ 2,5 %",gap:"+4,5 pts"},{name:"Escalate",colbr:"14,14 %",market:"≈ 5,5 %",euro:"≈ 2,5 %",gap:"+8,6 pts"},{name:"Shake",colbr:"15,02 %",market:"≈ 5,5 %",euro:"≈ 2,5 %",gap:"+9,5 pts"}].map(u=>t.jsxs("tr",{className:"border-b border-border/20 last:border-0",children:[t.jsxs("td",{className:"p-5 font-medium",children:["Colbr Life ",u.name]}),t.jsx("td",{className:"p-5 text-center font-display text-lg text-primary",children:u.colbr}),t.jsx("td",{className:"p-5 text-center text-muted-foreground",children:u.market}),t.jsx("td",{className:"p-5 text-center text-muted-foreground",children:u.euro}),t.jsx("td",{className:"p-5 text-center",children:t.jsx("span",{className:"inline-block px-3 py-1 rounded-full text-xs font-medium bg-secondary/10 text-secondary border border-secondary/20",children:u.gap})})]},u.name))})]})}
644),t.jsx("p",{className:"text-[10px] text-muted-foreground/70 leading-relaxed mt-6 max-w-3xl mx-auto",style:{textAlign:"justify"},children:e("*Performances annualisées Colbr Life depuis la création des profils (26/07/2023), nettes de frais de gestion, au 30/06/2026 — source : Suravenir / Quantalys. Moyennes de marché indicatives, nettes de frais : gestions pilotées grand public à profil de risque équivalent (sources : comparatifs publics Finance Héros 2016-2026, moyennes de catégories Quantalys) et fonds en euros (rendement moyen constaté, source : France Assureurs). Ces moyennes sont des ordres de grandeur et varient selon les contrats et les périodes. Les performances passées ne préjugent pas des performances futures.","*Colbr Life annualised performance since profile inception (26/07/2023), net of management fees, as of 30/06/2026 — source: Suravenir / Quantalys. Indicative market averages, net of fees: mass-market managed allocations of equivalent risk profile (sources: Finance Héros public comparisons 2016-2026, Quantalys category averages) and euro funds (average observed return, source: France Assureurs). These averages are orders of magnitude and vary by contract and period. Past performance is not indicative of future results.")})]})}),t.jsx(Ose,{}),t.jsx("section",{className:"py-24 bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.7,ease:Is},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Méthode","Method")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Pourquoi ces profils","Why these profiles")," ",t.jsx("span",{className:"text-gradient-gold",children:e("tiennent la distance","go the distance")})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:o.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.6,ease:Is,delay:d*.08},className:"p-8 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx(u.icon,{className:"w-5 h-5 text-secondary mb-4"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:u.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",style:{textAlign:"justify"},children:u.text})]},u.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-muted/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Is},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:"FAQ"}),t.jsx("h2",{className:"font-display text-3xl tracking-tight",children:e("Questions fréquentes","Frequently asked questions")})]}),t.jsx("div",{className:"space-y-3",children:l.map((u,d)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden bg-card/40",children:[t.jsxs("button",{onClick:()=>i(r===d?null:d),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/60 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:u.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${r===d?"rotate-180":""}`})]}),r===d&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",style:{textAlign:"justify"},children:u.a})})]},d))}),t.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed mt-10",style:{textAlign:"justify"},children:e("Colbr est un intermédiaire en assurance immatriculé à l'ORIAS sous le n° 21001069. Les profils Colbr Life sont des options de gestion pilotée du contrat d'assurance-vie Suravenir. Investir en unités de compte comporte un risque de perte en capital. Les informations de cette page ne constituent ni un conseil en investissement ni une recommandation personnalisée.","Colbr is an insurance intermediary registered with ORIAS under no. 21001069. Colbr Life profiles are managed allocation options of the Suravenir life insurance contract. Investing in unit-linked funds carries a risk of capital loss. The information on this page constitutes neither investment advice nor a personalised recommendation.")})]})}),t.jsx(Ft,{items:[{to:"/assurance-vie",label:e("Assurance-vie","Life insurance"),description:e("Le socle de l'épargne : gestion libre ou pilotée, frais parmi les plus bas du marché.","The savings foundation: self-directed or managed, among the lowest fees on the market."),eyebrow:e("Enveloppe","Wrapper")},{to:"/assurance-vie-mineur",label:e("Assurance-vie mineur","Minor life insurance"),description:e("Constituer un capital pour vos enfants, dans un cadre fiscal avantageux.","Build capital for your children within a favourable tax framework."),eyebrow:e("Transmission","Transfer")},{to:"/assurance-vie-luxembourgeoise",label:"Luxembourg",description:e("Le contrat luxembourgeois : sécurité, diversification et ingénierie avancée.","The Luxembourg contract: security, diversification and advanced engineering."),eyebrow:"International"}]}),t.jsx($o,{items:[{to:"/assurance-vie",eyebrow:e("Enveloppe","Wrapper"),title:e("L'assurance-vie Colbr","Colbr life insurance"),description:e("Gestion libre ou pilotée, au meilleur niveau de frais.","Self-directed or managed, at the best fee level.")},{to:"/blog/av-luxembourg-vs-france",eyebrow:e("Comprendre","Understand"),title:e("Assurance-vie : France ou Luxembourg ?","Life insurance: France or Luxembourg?"),description:e("Les différences qui comptent vraiment.","The differences that really matter.")},{to:"/gestion-privee",eyebrow:e("Accompagnement","Support"),title:e("La gestion privée Colbr","Colbr private wealth"),description:e("Un conseiller dédié dès 50 000 €.","A dedicated advisor from €50,000.")},{to:"/plan-epargne-retraite",eyebrow:e("Retraite","Retirement"),title:e("Le Plan Épargne Retraite","The retirement savings plan"),description:e("Lisser votre tranche marginale tout en investissant.","Smooth your marginal bracket while investing.")}]}),t.jsx(re,{})]})},kn=[.16,1,.3,1],XI=[{profile:"COLBR CARE",desc:"Prudent","1s":"+0,02%","1m":"+0,10%","2m":"+0,28%",inception:"+4,78%"},{profile:"COLBR BALANCE",desc:"Équilibré","1s":"+0,72%","1m":"+1,42%","2m":"+2,10%",inception:"+22,78%"},{profile:"COLBR ESCALATE",desc:"Dynamique","1s":"+1,20%","1m":"+1,76%","2m":"+2,21%",inception:"+38,38%"},{profile:"COLBR SHAKE",desc:"Offensif","1s":"+1,28%","1m":"+2,38%","2m":"+5,46%",inception:"+41,62%"}];
644function pp(e){return e.toLocaleString("fr-FR",{maximumFractionDigits:0})}const Dse=()=>{const[e,n]=k.useState(null),{tr:r}=K(),i=[{icon:NQ,title:r("Ouvrez le contrat dès la naissance","Open the policy from birth"),desc:r("Dès 1 000 € de versement initial, constituez un capital qui grandira avec votre enfant grâce au contrat Colbr Life, assuré par Suravenir.","From an initial contribution of €1,000, build capital that will grow with your child through the Colbr Life policy, underwritten by Suravenir.")},{icon:Lt,title:r("Laissez le temps faire son œuvre","Let time do the work"),desc:r("18 ans de capitalisation, c'est la force du temps long. Nos portefeuilles diversifiés sont conçus pour maximiser le rendement sur cet horizon.","18 years of compounding — that is the power of time. Our diversified portfolios are designed to maximise returns over this horizon.")},{icon:We,title:r("Un conseiller dédié vous accompagne","A dedicated adviser supports you"),desc:r("Choix de l'allocation, fiscalité, transmission, notre équipe répond à toutes vos questions et ajuste la stratégie au fil du temps.","Allocation choices, taxation, succession planning — our team answers all your questions and adjusts the strategy over time.")},{icon:Zl,title:r("Des frais parmi les plus bas du marché","Among the lowest fees on the market"),desc:r("0% de frais d'entrée, d'arbitrage et de sortie. Seulement 1% de frais de gestion annuels. Chaque euro travaille pour votre enfant.","0% entry, switching and exit fees. Only 1% annual management fees. Every euro works for your child.")}],s=[{label:r("Rendement potentiel","Potential return"),livret:r("Faible et plafonné","Low and capped"),av:r("Élevé (avec volatilité)","High (with volatility)")},{label:r("Fiscalité","Taxation"),livret:r("Exonéré d'impôts","Tax-exempt"),av:r("Avantageuse après 8 ans","Advantageous after 8 years")},{label:r("Disponibilité","Liquidity"),livret:r("Immédiate","Immediate"),av:r("Rachat possible à tout moment","Redemption possible at any time")},{label:r("Plafond de versement","Contribution cap"),livret:"22 950 €",av:r("Aucun plafond","No cap")},{label:r("Horizon idéal","Ideal horizon"),livret:r("Court terme","Short term"),av:r("Moyen à long terme","Medium to long term")},{label:r("Diversification","Diversification"),livret:r("Aucune","None"),av:r("ETF actions, obligations, fonds euros","Equity ETFs, bonds, euro fund")},{label:r("Transmission","Succession"),livret:r("Non adapté","Not suitable"),av:r("Outil souple pour transmettre un capital","Flexible tool for passing on capital")}],a=[{label:r("Frais sur versements","Entry fees"),colbr:"—",concurrents:r("Jusqu'à 5%","Up to 5%")},{label:r("Frais annuel de gestion","Annual management fee"),colbr:"1,45%",concurrents:"1%"},{label:r("Frais annuel des OPCVM","Annual UCITS fee"),colbr:"0,3%",concurrents:"2,5%*"},{label:r("Commissions sur arbitrages","Switching fees"),sublabel:r("Frais fixes de l'assureur","Fixed insurer fees"),colbr:"—",concurrents:r("Jusqu'à 1%","Up to 1%")},{label:"Total",colbr:"1,75%*",concurrents:r("Jusqu'à 8,5%","Up to 8.5%"),isTotal:!0}],o=[{q:r("Quel est le contrat utilisé pour l'assurance-vie mineur ?","Which policy is used for the minor's life insurance?"),a:r("Le contrat est Colbr Life, assuré par Suravenir (Crédit Mutuel Arkéa). Un assureur de premier plan reconnu pour sa solidité financière.","The policy is Colbr Life, underwritten by Suravenir (Crédit Mutuel Arkéa). A leading insurer recognised for its financial strength.")},{q:r("Quels sont les frais de l'assurance-vie mineur ?","What are the fees for the minor's life insurance?"),a:r("Les frais de gestion s'élèvent à 1% par an. Aucun frais d'entrée, d'arbitrage ni de sortie ne s'applique. La transparence fait partie de notre engagement.","Management fees amount to 1% per year. No entry, switching or exit fees apply. Transparency is part of our commitment.")},{q:r("Quel est le montant minimum pour souscrire ?","What is the minimum amount to subscribe?"),a:r("L'ouverture d'un contrat nécessite un versement initial de 1 000 €. Les versements programmés sont possibles dès 100 € par mois.","Opening a policy requires an initial contribution of €1,000. Scheduled contributions are possible from €100 per month.")},{q:r("Puis-je faire évoluer le profil de risque au fil du temps ?","Can I adjust the risk profile over time?"),a:r("Oui, vous avez la liberté d'ajuster le niveau de risque à tout moment, en fonction de vos objectifs ou de l'évolution du projet de vie de votre enfant.","Yes, you are free to adjust the risk level at any time, depending on your objectives or changes in your child's life plans.")},{q:r("Jusqu'à quel âge peut-on ouvrir un contrat ?","Up to what age can a policy be opened?"),a:r("L'assurance-vie mineur peut être souscrite jusqu'à 18 ans. Commencer tôt permet de maximiser les bénéfices de la capitalisation sur le long terme.","A minor's life insurance policy can be taken out up to age 18. Starting early maximises the benefits of long-term compounding.")}],l=()=>{const c=new Date().getFullYear(),[u,d]=k.useState(c),[p,m]=k.useState(100),[h,g]=k.useState(1e3),f=k.useMemo(()=>{const x=u+18,v=Math.max(0,x-c),b=.06,y=b/12,N=v*12;if(N<=0)return null;const j=h*Math.pow(1+b,v),w=p*((Math.pow(1+y,N)-1)/y),q=h+p*N,P=j+w,T=P-q;return{totalValue:P,totalInvested:q,gains:T,yearsToGo:v}},[u,p,h,c]);return t.jsx("div",{className:"bg-card/40 border border-border/30 rounded-lg p-8 md:p-10",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-10",children:[t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-[11px] tracking-[0.15em] uppercase text-muted-foreground mb-2",children:r("Année de naissance","Birth year")}),t.jsx("input",{type:"range",min:c-17,max:c,value:u,onChange:x=>d(Number(x.target.value)),className:"w-full accent-primary"}),t.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground mt-1",children:[t.jsx("span",{children:c-17}),t.jsx("span",{className:"text-primary font-medium",children:u}),t.jsx("span",{children:c})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[11px] tracking-[0.15em] uppercase text-muted-foreground mb-2",children:r("
644Versement initial","Initial contribution")}),t.jsx("input",{type:"range",min:1e3,max:5e4,step:500,value:h,onChange:x=>g(Number(x.target.value)),className:"w-full accent-primary"}),t.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground mt-1",children:[t.jsx("span",{children:"1 000 €"}),t.jsxs("span",{className:"text-primary font-medium",children:[pp(h)," €"]}),t.jsx("span",{children:"50 000 €"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[11px] tracking-[0.15em] uppercase text-muted-foreground mb-2",children:r("Versement mensuel","Monthly contribution")}),t.jsx("input",{type:"range",min:100,max:2e3,step:50,value:p,onChange:x=>m(Number(x.target.value)),className:"w-full accent-primary"}),t.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground mt-1",children:[t.jsx("span",{children:"100 €"}),t.jsxs("span",{className:"text-primary font-medium",children:[pp(p)," €/mois"]}),t.jsx("span",{children:"2 000 €"})]})]})]}),t.jsx("div",{className:"flex flex-col justify-center",children:f?t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground block mb-1",children:r("Capital estimé à 18 ans","Estimated capital at age 18")}),t.jsxs("span",{className:"text-4xl md:text-5xl font-display text-primary",children:[pp(f.totalValue)," €"]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground block mb-1",children:r("Total investi","Total invested")}),t.jsxs("span",{className:"text-lg font-display",children:[pp(f.totalInvested)," €"]})]}),t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground block mb-1",children:r("Plus-values estimées","Estimated gains")}),t.jsxs("span",{className:"text-lg font-display text-primary",children:["+",pp(f.gains)," €"]})]})]}),t.jsx("p",{className:"text-[11px] text-muted-foreground/60",children:r("* Simulation basée sur un rendement annuel hypothétique de 6% (profil équilibré). Les performances passées ne préjugent pas des performances futures. Investir comporte un risque de perte en capital.","* Simulation based on a hypothetical annual return of 6% (balanced profile). Past performance is not indicative of future results. Investing carries a risk of capital loss.")})]}):t.jsx("p",{className:"text-muted-foreground text-center",children:r("L'enfant a déjà 18 ans ou plus. Découvrez notre assurance-vie classique.","The child is already 18 or older. Discover our standard life insurance.")})})]})})};return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-24 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 pointer-events-none",children:t.jsx("div",{className:"absolute top-1/3 left-1/2 -translate-x-1/2 w-[800px] h-[500px] bg-primary/[0.03] rounded-full blur-[140px]"})}),t.jsx("div",{className:"container max-w-4xl mx-auto px-6 relative z-10 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:30,filter:"blur(8px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:1,ease:kn},children:[t.jsx("img",{src:IS,alt:"","aria-hidden":"true",className:"h-14 w-14 mx-auto mb-5 opacity-80"}),t.jsxs("span",{className:"text-[11px] tracking-[0.25em] uppercase text-primary/70 mb-4 block",children:["Colbr Life · ",r("Assuré par Suravenir","Underwritten by Suravenir")]}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl tracking-tight mb-6",children:[r("Le temps est notre bien","Time is our most"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:r("le plus précieux.","precious asset.")})]}),t.jsx("p",{className:"text-muted-foreground text-lg max-w-2xl mx-auto leading-relaxed mb-10",children:r("Ouvrez une assurance-vie dès la naissance. 18 ans de capitalisation, c'est le plus beau cadeau que vous puissiez offrir à votre enfant.","Open a life insurance policy from birth. 18 years of compounding — the greatest gift you can give your child.")}),t.jsx("div",{className:"flex flex-wrap justify-center gap-8 mb-12",children:[{value:"1 000 €",label:r("Versement initial","Initial contribution")},{value:"100 €",label:r("Versement mensuel min.","Min. monthly contribution")},{value:"0%",label:r("Frais d'entrée","Entry fees")}].map(c=>t.jsxs("div",{className:"text-center",children:[t.jsx("span",{className:"block text-2xl md:text-3xl font-display text-primary",children:c.value}),t.jsx("span",{className:"text-[11px] tracking-wide text-muted-foreground uppercase",children:c.label})]},c.label))}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2MdSb-5PtTYOMLvLmjuEYuA",children:t.jsxs("button",{type:"button",className:"inline-flex items-center gap-3 px-10 py-4 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 active:scale-[0.98] transition-all duration-200",children:[r("Recevoir la brochure","Receive the brochure"),t.jsx(V,{className:"w-4 h-4"})]})})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},className:"text-center mb-12",children:[t.jsx(Sd,{className:"w-8 h-8 text-primary mx-auto mb-4"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[r("Simulez le capital de","Simulate your")," ",t.jsx("span",{className:"text-gradient-gold",children:r("votre enfant","child's capital")})]}),t.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:r("Plus vous commencez tôt, plus le temps travaille pour vous. Simulez le capital disponible à ses 18 ans.","The earlier you start, the more time works for you. Simulate the capital available at age 18.")})]}),t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:kn},children:t.jsx(l,{})})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},className:"text-center mb-16",children:[t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[r("Comment ça","How it")," ",t.jsx("span",{className:"text-gradient-gold",children:r("fonctionne","works")})]}),t.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:r("Un processus simple et accompagné pour sécuriser l'avenir financier de votre enfant.","A simple, guided process to secure your child's financial future.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-8",children:i.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:u*.1,ease:kn},className:"bg-card/40 border border-border/30 rounded-lg p-8 hover:border-primary/20 transition-colors duration-300",children:[t.jsx(c.icon,{className:"w-6 h-6 text-primary mb-4"}),t.jsx("h3",{className:"font-display text-lg mb-2",children:c.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:c.desc})]},c.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},className:"text-center mb-12",children:[t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[r("Performances","Performance")," ",t.jsx("span",{className:"text-gradient-gold",children:"Colbr Life"})]}),t.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:r("Ren
644dements cumulés au 20/02/2026, nets de frais de gestion. Contrat assuré par Suravenir.","Cumulative returns as of 20/02/2026, net of management fees. Policy underwritten by Suravenir.")})]}),t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:kn},className:"bg-card/40 border border-border/30 rounded-lg overflow-hidden",children:[t.jsxs("div",{className:"grid grid-cols-5 text-center py-4 border-b border-border/30 bg-card/60",children:[t.jsx("span",{className:"text-[11px] tracking-[0.12em] uppercase text-muted-foreground font-medium",children:r("Profil","Profile")}),t.jsx("span",{className:"text-[11px] tracking-[0.12em] uppercase text-muted-foreground font-medium",children:r("1 semaine","1 week")}),t.jsx("span",{className:"text-[11px] tracking-[0.12em] uppercase text-muted-foreground font-medium",children:r("1 mois","1 month")}),t.jsx("span",{className:"text-[11px] tracking-[0.12em] uppercase text-muted-foreground font-medium",children:r("2 mois","2 months")}),t.jsx("span",{className:"text-[11px] tracking-[0.12em] uppercase text-primary font-medium",children:r("Depuis création","Since inception")})]}),XI.map((c,u)=>t.jsxs("div",{className:`grid grid-cols-5 text-center py-4 px-4 ${u<XI.length-1?"border-b border-border/20":""}`,children:[t.jsxs("div",{className:"text-left pl-4",children:[t.jsx("span",{className:"text-sm font-medium block",children:c.profile}),t.jsx("span",{className:"text-[10px] text-muted-foreground",children:c.desc})]}),t.jsx("span",{className:"text-sm text-muted-foreground self-center",children:c["1s"]}),t.jsx("span",{className:"text-sm text-muted-foreground self-center",children:c["1m"]}),t.jsx("span",{className:"text-sm text-muted-foreground self-center",children:c["2m"]}),t.jsx("span",{className:"text-sm text-primary font-medium self-center",children:c.inception})]},c.profile))]}),t.jsx("p",{className:"text-[11px] text-muted-foreground/60 text-center mt-4",children:r("Les performances passées ne préjugent pas des performances futures. Investir comporte un risque de perte en capital.","Past performance is not indicative of future results. Investing carries a risk of capital loss.")})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},className:"text-center mb-16",children:t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[r("Financez ses","Fund your child's")," ",t.jsx("span",{className:"text-gradient-gold",children:r("projets de vie","life goals")})]})}),t.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:[{icon:CR,title:r("Études supérieures","Higher education"),desc:r("Financez ses études en France ou à l'international sans compromettre votre patrimoine.","Fund studies in France or abroad without compromising your wealth.")},{icon:Eo,title:r("Premier logement","First home"),desc:r("Constituez l'apport de son premier achat immobilier dès aujourd'hui.","Build the deposit for their first property purchase starting today.")},{icon:va,title:r("Lancement professionnel","Professional launch"),desc:r("Offrez-lui un capital de départ pour entreprendre ou investir à son tour.","Give them a starting capital to launch a business or invest in their own right.")}].map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:u*.1,ease:kn},className:"text-center p-8",children:[t.jsx("div",{className:"w-14 h-14 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-5",children:t.jsx(c.icon,{className:"w-6 h-6 text-primary"})}),t.jsx("h3",{className:"font-display text-lg mb-2",children:c.title}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:c.desc})]},c.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},className:"text-center mb-12",children:[t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:["Livret A vs ",t.jsx("span",{className:"text-gradient-gold",children:r("Assurance-vie","Life Insurance")})]}),t.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:r("Pourquoi l'assurance-vie est un choix plus pertinent sur le long terme pour votre enfant.","Why life insurance is a more relevant long-term choice for your child.")})]}),t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:kn},className:"bg-card/40 border border-border/30 rounded-lg overflow-hidden",children:[t.jsxs("div",{className:"grid grid-cols-3 text-center py-4 border-b border-border/30 bg-card/60",children:[t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground font-medium"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground font-medium",children:"Livret A"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-primary font-medium",children:r("Assurance-vie","Life Insurance")})]}),s.map((c,u)=>t.jsxs("div",{className:`grid grid-cols-3 text-center py-4 px-4 ${u<s.length-1?"border-b border-border/20":""}`,children:[t.jsx("span",{className:"text-sm text-foreground font-medium text-left",children:c.label}),t.jsx("span",{className:"text-sm text-muted-foreground",children:c.livret}),t.jsx("span",{className:"text-sm text-primary/90",children:c.av})]},c.label))]})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},className:"text-center mb-12",children:[t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[r("Frais &","Fees &")," ",t.jsx("span",{className:"text-gradient-gold",children:r("concurrence","competition")})]}),t.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:r("Des frais justes et transparents, sans compromis sur la qualité de gestion.","Fair, transparent fees with no compromise on management quality.")})]}),t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:kn},className:"bg-card/40 border border-border/30 rounded-lg overflow-hidden",children:[t.jsxs("div",{className:"grid grid-cols-3 text-center py-4 border-b border-border/30 bg-muted/40",children:[t.jsx("span",{className:"text-[12px] tracking-wide uppercase text-muted-foreground font-semibold text-left pl-6",children:r("Libellés","Description")}),t.jsx("span",{className:"text-[12px] tracking-wide uppercase text-primary font-semibold",children:"Colbr"}),t.jsx("span",{className:"text-[12px] tracking-wide uppercase text-muted-foreground font-semibold",children:r("Concurrents*","Competitors
644*")})]}),a.map((c,u)=>t.jsxs("div",{className:`grid grid-cols-3 text-center py-5 px-4 ${c.isTotal?"bg-muted/30 border-t border-border/40":u<a.length-1?"border-b border-border/20":""}`,children:[t.jsxs("div",{className:"text-left pl-2",children:[t.jsx("span",{className:`text-sm ${c.isTotal?"font-bold text-foreground":"font-medium text-foreground"}`,children:c.label}),c.sublabel&&t.jsx("span",{className:"block text-[11px] text-muted-foreground",children:c.sublabel})]}),t.jsx("span",{className:`text-sm self-center ${c.isTotal?"font-bold text-primary":"text-primary/90"}`,children:c.colbr}),t.jsx("span",{className:`text-sm self-center ${c.isTotal?"font-bold text-muted-foreground":"text-muted-foreground"}`,children:c.concurrents})]},c.label))]}),t.jsx("p",{className:"text-[11px] text-muted-foreground/60 text-center mt-4",children:r("* Moyenne constatée chez les acteurs traditionnels (banques privées, CGP, assureurs). Frais Colbr hors fonds euros.","* Average observed among traditional providers (private banks, IFAs, insurers). Colbr fees exclude euro fund.")})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},className:"text-center mb-12",children:t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[r("Questions","Frequently asked")," ",t.jsx("span",{className:"text-gradient-gold",children:r("fréquentes","questions")})]})}),t.jsx("div",{className:"space-y-3",children:o.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:u*.06,ease:kn},className:"border border-border/30 rounded-lg overflow-hidden",children:[t.jsxs("button",{onClick:()=>n(e===u?null:u),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:c.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${e===u?"rotate-180":""}`})]}),e===u&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:c.a})})]},u))})]})}),t.jsx("section",{id:"rdv",className:"py-32 border-t border-border/20",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:kn},children:[t.jsx("div",{className:"line-gold mb-12"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-6",children:[r("Le temps est notre bien","Time is our most")," ",t.jsx("span",{className:"text-gradient-gold",children:r("le plus précieux","precious asset")})]}),t.jsx("p",{className:"text-muted-foreground max-w-lg mx-auto leading-relaxed mb-10",children:r("Nos conseillers vous accompagnent pour définir la stratégie d'investissement la mieux adaptée à votre enfant. Premier entretien sans engagement.","Our advisers guide you in defining the investment strategy best suited to your child. First consultation with no commitment.")}),t.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-3 px-10 py-4 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 active:scale-[0.98] transition-all duration-200",children:[r("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("p",{className:"text-muted-foreground text-xs mt-8",children:r("Entretien confidentiel · 30 minutes · Sans engagement","Confidential consultation · 30 minutes · No commitment")})]})})}),t.jsx(Ft,{items:[{to:"/assurance-vie",label:r("Assurance-vie","Life insurance"),description:r("L'enveloppe de référence pour structurer votre épargne familiale.","The reference wrapper for structuring your family savings."),eyebrow:r("Patrimoine","Wealth")},{to:"/plan-epargne-retraite",label:r("Plan Épargne Retraite","Retirement Savings Plan"),description:r("Préparez en parallèle votre retraite avec une déduction fiscale immédiate.","Simultaneously prepare for retirement with an immediate tax deduction."),eyebrow:r("Retraite","Retirement")},{to:"/gestion-privee",label:r("Gestion privée","Private wealth management"),description:r("Confiez l'allocation de votre patrimoine à un conseiller dédié.","Entrust your wealth allocation to a dedicated adviser."),eyebrow:r("Accompagnement","Advisory")}]}),t.jsx(re,{})]})},Ot=[.16,1,.3,1],fx=[{min:0,max:11294,taux:0},{min:11294,max:28797,taux:.11},{min:28797,max:82341,taux:.3},{min:82341,max:177106,taux:.41},{min:177106,max:1/0,taux:.45}];
644function ZI(e,n){const r=e/n;let i=0;for(const s of fx){if(r<=s.min)break;const a=Math.min(r,s.max)-s.min;i+=a*s.taux}return Math.round(i*n)}function Mse(e,n){const r=e/n;for(let i=fx.length-1;i>=0;i--)if(r>fx[i].min)return fx[i].taux*100;return 0}const $se=()=>{const{tr:e,lang:n}=K(),[r,i]=k.useState(null),[s,a]=k.useState(8e4),[o,l]=k.useState(1e4),[c,u]=k.useState(1),d=[{name:"Cardif Elite Retraite",assureur:"Cardif · Groupe BNP Paribas",fondsEuro:"3,45%*",boost:"5,04%*",boostNote:e("avec boost (+1,59% pour min. 40% UC)","with boost (+1.59% for min. 40% UC)"),minSouscription:"5 000 €",minVersement:"100 €",fraisEntree:"0%",fraisGestionUC:"0,85%",fraisGestionFE:"0,80%",fraisArbitrage:"0%",nbSupports:"+2 000",highlighted:!0,formUrl:"https://fo2m8.share-eu1.hsforms.com/22yIS8msCSAGH_1HQXKqy3g"},{name:"PERtinence Retraite",assureur:"Suravenir · Crédit Mutuel Arkéa",fondsEuro:"4%*",boost:"—",boostNote:"",minSouscription:"1 000 €",minVersement:"100 €",fraisEntree:"0%",fraisGestionUC:"1%",fraisGestionFE:"1%",fraisArbitrage:"0%",nbSupports:"+1 198",highlighted:!1,formUrl:"https://fo2m8.share-eu1.hsforms.com/24VwQfY2iRCGRQezIHnaqBQ"}],p=[{icon:oa,title:e("Déduction fiscale immédiate","Immediate tax deduction"),desc:e("Vos versements sont déductibles de votre revenu imposable dans la limite des plafonds en vigueur. Jusqu'à 10% de vos revenus professionnels.","Your contributions are deductible from your taxable income up to applicable limits — up to 10% of your professional income.")},{icon:Lt,title:e("Performances optimisées","Optimised performance"),desc:e("Gestion libre ou pilotée avec des frais parmi les plus bas du marché. Accédez à +2 000 supports : ETF, SCPI, private equity, structurés.","Self-managed or guided portfolio with some of the lowest fees on the market. Access 2,000+ funds: ETFs, SCPI, private equity, structured products.")},{icon:Z1,title:e("Transfert simplifié","Streamlined transfer"),desc:e("Transférez votre ancien PER, PERP, Madelin ou Article 83 sans frais. Notre équipe s'occupe de toutes les démarches.","Transfer your existing PER, PERP, Madelin or Article 83 at no cost. Our team handles all the paperwork.")},{icon:We,title:e("Capital sécurisé","Protected capital"),desc:e("Contrats assurés par Cardif (BNP Paribas) et Suravenir (Crédit Mutuel Arkéa). Fonds euro jusqu'à 5,04% brut avec boost.","Contracts underwritten by Cardif (BNP Paribas) and Suravenir (Crédit Mutuel Arkéa). Euro fund up to 5.04% gross with boost.")}],m=[{title:e("Sortie en capital","Lump-sum withdrawal"),desc:e("Récupérez tout ou partie de votre épargne en une ou plusieurs fois à la retraite.","Withdraw all or part of your savings in one or several instalments at retirement."),icon:Jh},{title:e("Sortie en rente","Annuity withdrawal"),desc:e("Transformez votre capital en revenu régulier garanti à vie.","Convert your capital into a guaranteed lifetime income stream."),icon:St},{title:e("Sortie mixte","Mixed withdrawal"),desc:e("Combinez capital et rente pour optimiser vos revenus et votre fiscalité.","Combine lump sum and annuity to optimise your income and tax position."),icon:qd}],h=[{q:e("Quel est l'intérêt fiscal du PER ?","What are the tax benefits of the PER?"),a:e("Les versements sur votre PER sont déductibles de votre revenu imposable. Plus votre tranche marginale d'imposition (TMI) est élevée, plus l'économie est significative. Exemple : à 41% de TMI, un versement de 10 000 € génère 4 100 € d'économie d'impôt, soit un effort réel de 5 900 €.","Contributions to your PER are deductible from taxable income. The higher your marginal tax rate (TMI), the greater the saving. Example: at a 41% TMI, a €10,000 contribution generates €4,100 in tax savings — a net cost of just €5,900.")},{q:e("Quelles sont les conditions de déblocage anticipé ?","What are the early withdrawal conditions?"),a:e("Le PER est bloqué jusqu'à la retraite, sauf cas exceptionnels : acquisition de la résidence principale, invalidité, décès du conjoint, surendettement, expiration des droits au chômage, cessation d'activité non salariée suite à liquidation judiciaire.","The PER is locked until retirement, except in exceptional cases: purchase of a primary residence, disability, death of a spouse, over-indebtedness, expiry of unemployment benef
644its, or cessation of self-employed activity following judicial liquidation.")},{q:e("Quel est le montant maximum déductible ?","What is the maximum deductible amount?"),a:e("Pour les salariés : jusqu'à 10% de vos revenus professionnels, avec un plafond minimum de 4 637 € et maximum de 35 194 € (2025). Les plafonds non utilisés des 3 années précédentes sont reportables. Consultez votre avis d'imposition pour connaître votre disponible exact.","For employees: up to 10% of professional income, with a minimum cap of €4,637 and a maximum of €35,194 (2025). Unused allowances from the previous 3 years can be carried forward. Check your tax notice for your exact available ceiling.")},{q:e("Quelle différence entre les deux contrats PER ?","What is the difference between the two PER contracts?"),a:e(`Elite Retraite (Cardif) offre un fonds euro boosté à 5,04% brut et +2 000 supports à partir de 5 000 €. PERtinence Retraite (Suravenir) est accessible dès
6451 000 € avec un fonds euro à 4% brut et +1 198 supports. Les deux sont sans frais d'entrée ni d'arbitrage.`,`Elite Retraite (Cardif) offers a boosted euro fund at 5.04% gross and 2,000+ funds from €5,000. PERtinence Retraite (Suravenir) is accessible from
646€1,000 with a euro fund at 4% gross and 1,198+ funds. Both carry zero entry or arbitration fees.`)},{q:e("Quelle est la fiscalité à la sortie ?","What is the tax treatment at withdrawal?"),a:e("En sortie en capital : le capital correspondant aux versements déduits est imposé au barème de l'IR, les plus-values au PFU (30%). En sortie en rente : imposition au régime des rentes viagères à titre gratuit avec abattement selon l'âge.","Lump-sum withdrawal: capital from deducted contributions is taxed at income tax rates; gains are subject to the flat tax (PFU) at 30%. Annuity withdrawal: taxed under the free life annuity regime with an age-based allowance.")}],g=k.useMemo(()=>{const f=s*.9,x=Math.max(0,f-o),v=ZI(f,c),b=ZI(x,c),y=v-b,N=Mse(f,c),j=f>0?v/f*100:0,w=x>0?b/x*100:0;return{revenuNet:f,impotSansPER:v,impotAvecPER:b,economie:y,tmi:N,tauxSansPER:j,tauxAvecPER:w}},[s,o,c]);return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{id:"hero-per",className:"relative min-h-[90vh] flex items-center overflow-hidden pt-16",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-background via-background to-primary/[0.04]"}),t.jsx("div",{className:"container relative z-10 max-w-6xl mx-auto px-6 py-24",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs("div",{children:[t.jsx(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,ease:Ot,delay:.2},className:"mb-6",children:t.jsxs("span",{className:"inline-flex items-center gap-3 text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:[t.jsx("span",{className:"w-8 h-px bg-primary/40"}),"Plan Épargne Retraite",t.jsx("span",{className:"w-8 h-px bg-primary/40"})]})}),t.jsxs(S.h1,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.8,ease:Ot,delay:.3},className:"font-display text-4xl sm:text-5xl md:text-[3.5rem] leading-[1.1] tracking-tight mb-6",children:[e("Votre PER sans frais d'entrée,","Your PER with zero entry fees,"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-gold",children:e("payez moins d'impôts dès aujourd'hui","reduce your taxes starting today")})]}),t.jsx(S.p,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.7,ease:Ot,delay:.5},className:"text-muted-foreground text-base md:text-lg leading-relaxed mb-8 max-w-lg",children:e(`Épargnez pour votre retraite, réduisez vos impôts jusqu'à 45% et accédez dès
6471 000 € à des supports performants à frais réduits.`,`Save for retirement, reduce your taxes by up to 45%, and access high-performing funds with low fees from
648€1,000.`)}),t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.6,ease:Ot,delay:.7},className:"flex flex-col sm:flex-row gap-4",children:[t.jsxs("a",{href:"https://app.colbr.co/invest/autonomous/financial/PER",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-8 py-3.5 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200",children:[e("Investir en ligne","Invest online"),t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center justify-center px-8 py-3.5 text-sm font-medium tracking-wide border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200",children:e("Prendre rendez-vous","Book an appointment")})]})]}),t.jsx(S.div,{initial:{opacity:0,scale:.95}
648,animate:{opacity:1,scale:1},transition:{duration:.8,ease:Ot,delay:.5},className:"hidden md:grid grid-cols-2 gap-4",children:[{value:n==="fr"?`Dès
6491 000 €`:`From
650€1,000`,label:e("Versement initial minimum","Minimum initial contribution"),accent:!0},{value:"0%",label:e("Frais d'entrée et d'arbitrage","Entry and arbitration fees"),accent:!1},{value:"5,04%*",label:e("Brut fonds euro (Elite Retraite)","Gross euro fund (Elite Retraite)"),accent:!0},{value:"+2 000",label:e("Supports disponibles","Available funds"),accent:!1}].map(f=>t.jsxs("div",{className:`p-6 rounded-2xl border transition-all duration-300 ${f.accent?"bg-primary/[0.06] border-primary/20":"bg-card border-border/40"}`,children:[t.jsx("p",{className:`font-display text-2xl md:text-3xl tracking-tight mb-2 whitespace-pre-line ${f.accent?"text-primary":"text-foreground"}`,children:f.value}),t.jsx("p",{className:"text-xs text-muted-foreground",children:f.label})]},f.label))})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Les avantages du PER Colbr","The benefits of Colbr PER")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Boostez votre épargne,","Grow your savings,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("diminuez vos impôts","reduce your taxes")})]})]}),t.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:p.map((f,x)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Ot,delay:x*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(f.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:f.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:f.desc})]},f.title))})]})}),t.jsx("section",{id:"contrats",className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Gestion libre ou accompagnée","Self-managed or advised")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Nos contrats","Our")," ",t.jsx("span",{className:"text-gradient-gold",children:"PER"})," ",e("","contracts")]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Construisez votre propre allocation seul ou avec un conseiller. Deux contrats complémentaires chez les meilleurs assureurs.","Build your own allocation independently or with an adviser. Two complementary contracts with leading insurers.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:d.map((f,x)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Ot,delay:x*.1},className:`flex flex-col p-8 rounded-2xl border transition-all duration-300 ${f.highlighted?"bg-primary/[0.04] border-primary/30":"bg-card/40 border-border/30"}`,children:[t.jsx("span",{className:`inline-block text-[10px] tracking-[0.2em] uppercase px-3 py-1 rounded-full mb-4 ${f.highlighted?"text-primary bg-primary/10":"text-transparent select-none"}`,children:f.highlighted?e("Recommandé","Recommended"):" "}),t.jsx("h3",{className:"font-display text-xl tracking-tight mb-1",children:f.name}),t.jsx("p",{className:"text-xs text-muted-foreground mb-6",children:f.assureur}),t.jsx("div",{className:"space-y-3 mb-6",children:[{label:e("Fonds euro 2024","Euro fund 2024"),value:f.fondsEuro},{label:e("Boost fonds euro 2025","Euro fund boost 2025"),value:f.boost},{label:e("Min. souscription","Min. subscription"),value:f.minSouscription},{label:e("Min. versement programmé","Min. scheduled contribution"),value:f.minVersement},{label:e("Frais d'entrée","Entry fees"),value:f.fraisEntree},{label:e("Frais gestion UC","UC management fees"),value:f.fraisGestionUC},{label:e("Frais gestion fonds euro","Euro fund management fees"),value:f.fraisGestionFE},{label:e("Frais d'arbitrage","Arbitration fees"),value:f.fraisArbitrage},{label:e("Supports disponibles","Available funds"),value:f.nbSupports}].map(v=>t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:v.label}),t.jsx("span",{className:`font-medium ${v.value==="0%"?"text-primary":v.value==="—"?"text-muted-foreground
650/40":"text-foreground"}`,children:v.value})]},v.label))}),t.jsx("p",{className:`text-xs mb-4 ${f.boostNote?"text-muted-foreground/60":"text-transparent select-none"}`,children:f.boostNote?`* ${f.boostNote}`:" "}),t.jsxs("div",{className:"flex gap-3 pt-4 border-t border-border/20 mt-auto",children:[t.jsxs("a",{href:"https://app.colbr.co/invest/autonomous/financial/PER",target:"_blank",rel:"noopener noreferrer",className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all rounded-lg",children:[e("Investir en ligne","Invest online"),t.jsx(Wn,{className:"w-3.5 h-3.5"})]}),f.formUrl?t.jsx(xt,{shareUrl:f.formUrl,title:e(`Recevoir la brochure ${f.name}`,`Receive the ${f.name} brochure`),description:e(`Renseignez vos coordonnées pour recevoir la brochure confidentielle ${f.name} par e-mail.`,`Enter your details to receive the confidential ${f.name} brochure by email.`),eyebrow:e("Demande de brochure","Brochure request"),children:t.jsx("button",{type:"button",className:"flex-1 inline-flex items-center justify-center px-4 py-2.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all rounded-lg",children:e("Recevoir la brochure","Receive the brochure")})}):t.jsx("a",{href:"#rdv",className:"flex-1 inline-flex items-center justify-center px-4 py-2.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all rounded-lg",children:e("Recevoir la brochure","Receive the brochure")})]})]},f.name))}),t.jsx("p",{className:"text-center text-xs text-muted-foreground/50 mt-6",children:e("* Rendements bruts de frais de gestion, non garantis, basés sur l'année passée. L'offre boost est soumise à conditions et durée limitée.","* Gross returns before management fees, not guaranteed, based on the previous year. The boost offer is subject to conditions and limited duration.")})]})}),t.jsx("section",{id:"simulateur",className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8,ease:Ot},children:[t.jsx(oa,{className:"w-8 h-8 text-primary mb-6"}),t.jsxs("h2",{className:"font-display text-3xl tracking-tight mb-4",children:[e("Votre déduction fiscale","Your tax deduction")," ",t.jsx("span",{className:"text-gradient-gold",children:e("en un clic","in one click")})]}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:e("Estimez l'avantage fiscal immédiat de votre versement PER en fonction de votre tranche marginale d'imposition.","Estimate the immediate tax benefit of your PER contribution based on your marginal tax bracket.")}),t.jsx("p",{className:"text-xs text-muted-foreground/60",children:e("* Simulation indicative. Ne constitue pas un conseil fiscal. Consultez un conseiller pour une analyse personnalisée.","* Indicative simulation only. Does not constitute tax advice. Consult an adviser for a personalised analysis.")})]}),t.jsx(S.div,{initial:{opacity:0,x:20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8,delay:.1,ease:Ot},className:"bg-card/60 border border-border/30 rounded-2xl p-8",children:t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-muted-foreground mb-3 block",children:e("Revenu annuel net imposable","Annual net taxable income")}),t.jsx("input",{type:"range",min:2e4,max:25e4,step:1e3,value:s,onChange:f=>a(Number(f.target.value)),className:"w-full accent-primary"}),t.jsxs("div",{className:"flex justify-between text-sm mt-2",children:[t.jsx("span",{className:"text-muted-foreground",children:"20 000 €"}),t.jsxs("span",{className:"font-medium text-foreground",children:[s.toLocaleString("fr-FR")," €"]}),t.jsx("span",{className:"text-muted-foreground",children:"250 000 €"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-muted-foreground mb-3 block",children:e("Versement PER annuel","Annual PER contribution")}),t.jsx("input",{type:"range",min:1e3,max:5e4,step:500,value:o,onChange:f=>l(Number(f.target.value)),className:"w-full accent-primary"}),t.jsxs("div",{className:"flex justify-between text-sm mt-2",children:[t.jsx("span",{className:"text-muted-foreground",children:"1 000 €"}),t.jsxs("span",{className:"font-medium text-foreground",children:[o.toLocaleStr
650ing("fr-FR")," €"]}),t.jsx("span",{className:"text-muted-foreground",children:"50 000 €"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-muted-foreground mb-3 block",children:e("Nombre de parts fiscales","Number of tax shares")}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("button",{onClick:()=>u(Math.max(1,c-.5)),className:"w-10 h-10 flex items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:border-border transition-all",children:"−"}),t.jsx("span",{className:"font-medium text-foreground text-lg min-w-[3rem] text-center",children:c}),t.jsx("button",{onClick:()=>u(c+.5),className:"w-10 h-10 flex items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:border-border transition-all",children:"+"})]})]}),t.jsxs("div",{className:"pt-4 border-t border-border/20 space-y-3",children:[t.jsxs("div",{className:"flex items-center justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("TMI actuelle","Current marginal tax rate")}),t.jsxs("span",{className:"font-medium text-foreground",children:[g.tmi,"%"]})]}),t.jsxs("div",{className:"flex items-center justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Impôt sans PER","Tax without PER")}),t.jsxs("span",{className:"font-medium text-foreground",children:[g.impotSansPER.toLocaleString("fr-FR")," €"]})]}),t.jsxs("div",{className:"flex items-center justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Impôt avec PER","Tax with PER")}),t.jsxs("span",{className:"font-medium text-primary",children:[g.impotAvecPER.toLocaleString("fr-FR")," €"]})]}),t.jsxs("div",{className:"flex items-baseline justify-between pt-3 border-t border-border/20",children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:e("Économie d'impôt","Tax saving")}),t.jsxs("span",{className:"font-display text-3xl text-primary tracking-tight",children:[g.economie.toLocaleString("fr-FR")," €"]})]}),t.jsxs("div",{className:"flex items-baseline justify-between",children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:e("Effort réel d'épargne","Net savings effort")}),t.jsxs("span",{className:"font-display text-xl tracking-tight",children:[(o-g.economie).toLocaleString("fr-FR")," €"]})]})]}),t.jsxs("a",{href:"https://app.colbr.co/invest/autonomous/financial/PER",target:"_blank",rel:"noopener noreferrer",className:"w-full inline-flex items-center justify-center gap-2 px-6 py-3 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Investir en ligne","Invest online"),t.jsx(Wn,{className:"w-4 h-4"})]})]})})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot},className:"text-center mb-16",children:[t.jsx(Zl,{className:"w-8 h-8 text-primary mx-auto mb-6"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Des frais parmi les","Among the")," ",t.jsx("span",{className:"text-gradient-gold",children:e("plus bas du marché","lowest fees on the market")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot},className:"grid grid-cols-4 gap-4",children:[{label:e("Frais d'entrée","Entry fees"),value:"0%"},{label:e("Frais de versement","Contribution fees"),value:"0%"},{label:e("Frais d'arbitrage","Arbitration fees"),value:"0%"},{label:e("Frais de sortie","Exit fees"),value:"0%"}].map(f=>t.jsxs("div",{className:"text-center p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("p",{className:"font-display text-2xl text-primary tracking-tight mb-2",children:f.value}),t.jsx("p",{className:"text-xs text-muted-foreground",children:f.label})]},f.label))}),t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot,delay:.1},className:"mt-6 text-center",children:t.jsxs("p",{className:"text-muted-foreground text-sm",children:[e("Frais de gestion annuels :","Annual management fees:")," ",t.jsxs("span",{className:"text-foreground font-medium",children:["0,85% ",e("à","to")," 1%"]})," ",e("selon le contrat","depending on the contract")]})})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot},className:"text-center mb-16",children:[t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Une sortie","A")," ",t.jsx("span",{className:"text-gradient-gold",children:e("flexible","flexible")})," ",e("à la retraite","exit at retirement")]}),t.jsx("p",{className:"text-muted-foreground max-w-xl mx-auto",children:e("Capital, rente ou les deux : vous gardez le contrôle total sur la forme de sortie.","Lump sum, annuity, or both — you retain full control over how you withdraw your savings.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:m.map((f,x)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Ot,delay:x*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 text-center",children:[t.jsx(f.
650icon,{className:"w-10 h-10 text-primary mx-auto mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:f.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:f.desc})]},f.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8,ease:Ot},children:[t.jsx(Z1,{className:"w-8 h-8 text-primary mb-6"}),t.jsxs("h2",{className:"font-display text-3xl tracking-tight mb-4",children:[e("Transférez votre","Transfer your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("PER ou contrat retraite","PER or retirement contract")})]}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:e("Avec le PER Colbr, regroupez l'ensemble de vos anciens contrats d'épargne retraite dans un seul produit simple et flexible, bénéficiant des meilleurs standards du marché.","With Colbr PER, consolidate all your existing retirement savings contracts into a single, simple and flexible product benefiting from the highest market standards.")}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:e("Si vous ne savez pas où est investi votre épargne, Colbr vous aide à centraliser, rationaliser et optimiser vos placements.","If you are unsure where your savings are invested, Colbr helps you centralise, streamline and optimise your portfolio.")}),t.jsx("ul",{className:"space-y-3",children:[e("Vérifiez la transférabilité en quelques clics","Check transferability in a few clicks"),e("Transfert gratuit pour les contrats de +5 ans","Free transfer for contracts older than 5 years"),e("Notre équipe gère toutes les démarches","Our team handles all the paperwork"),e("Aucune interruption de votre épargne","No interruption to your savings")].map(f=>t.jsxs("li",{className:"flex items-start gap-3 text-sm text-muted-foreground",children:[t.jsx(Xl,{className:"w-4 h-4 text-primary mt-0.5 flex-shrink-0"}),f]},f))})]}),t.jsxs(S.div,{initial:{opacity:0,x:20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8,delay:.1,ease:Ot},className:"bg-card/60 border border-border/30 rounded-2xl p-8 text-center",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-6 block",children:e("Contrats éligibles au transfert","Contracts eligible for transfer")}),t.jsx("div",{className:"grid grid-cols-2 gap-4 mb-8",children:["PER individuel","PERP","Madelin","Article 83","PERCO","Préfon"].map(f=>t.jsx("div",{className:"p-4 rounded-lg border border-border/20 bg-background/40",children:t.jsx("span",{className:"text-sm font-medium",children:f})},f))}),t.jsx("div",{className:"flex flex-col gap-3",children:t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2Raz9pchgTWOGZCg7JuhCWQ",title:e("Demander un transfert","Request a transfer"),description:e("Renseignez vos coordonnées pour être contacté par un expert Colbr concernant votre transfert de contrat. Aucune sollicitation commerciale.","Enter your details to be contacted by a Colbr expert about your contract transfer. No sales solicitations."),eyebrow:e("Transfert de contrat","Contract transfer"),children:t.jsxs("button",{className:"inline-flex items-center justify-center gap-2 px-6 py-3 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all rounded-lg w-full",children:[e("Demander un transfert","Request a transfer"),t.jsx(V,{className:"w-4 h-4"})]})})})]})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl tracking-tight",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-0",children:h.map((f,x)=>t.jsxs(S.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:Ot,delay:x*.05},className:"border-b border-border/20",children:[t.jsxs("button",{onClick:()=>i(r===x?null:x),className:"w-full flex items-center justify-between py-5 text-left",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:f.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${r===x?"rotate-180":""}`})]}),r===x&&t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed pb-5 pr-8",children:f.a})]},x))})]})}),t.jsx("section",{id:"rdv",className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Ot},children:[t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Prêt à préparer votre","Ready to plan your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("retraite","retirement")})," ?"]}),t.jsx("p",{className:"text-muted-foreground mb-8 max-w-lg mx-auto",children:e("Investissez directement en ligne ou prenez rendez-vous avec un conseiller pour définir votre stratég
650ie retraite et optimiser votre fiscalité.","Invest directly online or book an appointment with an adviser to define your retirement strategy and optimise your tax position.")}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsxs("a",{href:"https://app.colbr.co/invest/autonomous/financial/PER",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-10 py-4 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200",children:[e("Investir en ligne","Invest online"),t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsxs("a",{href:"#rdv",className:"inline-flex items-center justify-center gap-2 px-10 py-4 text-sm font-medium tracking-wide border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]})]})]})})}),t.jsx(Ft,{items:[{to:"/assurance-vie",label:e("Assurance-vie","Life insurance"),description:e("L'enveloppe de référence pour faire fructifier votre épargne avec souplesse.","The benchmark wrapper for growing your savings with flexibility."),eyebrow:e("Épargne long terme","Long-term savings")},{to:"/plan-epargne-actions",label:"PEA",description:e("Investissez en actions européennes dans un cadre fiscal avantageux.","Invest in European equities within a tax-advantaged framework."),eyebrow:e("Actions","Equities")},{to:"/impot-declaration",label:e("Optimisation fiscale","Tax optimisation"),description:e("Découvrez l'ensemble de nos solutions de défiscalisation.","Explore our full range of tax optimisation solutions."),eyebrow:e("Fiscalité","Tax")}]}),t.jsx(re,{})]})},qn=[.16,1,.3,1],Bse=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{value:`Dès
65110 000 €`,label:e("Investissement minimum","Minimum investment")},{value:"0%",label:e("Frais d'entrée et de sortie","Entry and exit fees")},{value:"17,2%",label:e("Seuls prélèvements après 5 ans","Only levy after 5 years")},{value:"150 000 €",label:e("Plafond de versement PEA","PEA contribution ceiling")}],s=[{icon:Zl,title:e("Fiscalité avantageuse après 5 ans","Favourable taxation after 5 years"),desc:e("Exonération d'impôt sur les plus-values après 5 ans (hors prélèvements sociaux de 17,2%). Le PEA est l'enveloppe idéale pour capitaliser sans frottement fiscal.","Capital gains tax exemption after 5 years (excluding social levies of 17.2%). The PEA is the ideal wrapper for tax-efficient compounding.")},{icon:mr,title:e("Accès aux marchés mondiaux","Access to global markets"),desc:e("Investissez sur les grandes entreprises mondiales via des ETF éligibles PEA. Diversification géographique et sectorielle au sein d'une stratégie construite.","Invest in leading global companies through PEA-eligible ETFs. Geographic and sector diversification within a structured strategy.")},{icon:Jl,title:e("Gestion libre ou conseillée","Self-directed or advised management"),desc:e("Construisez votre allocation seul parmi +500 ETF et actions, ou bénéficiez de l'accompagnement de nos conseillers pour optimiser votre portefeuille.","Build your own allocation from 500+ ETFs and equities, or benefit from our advisers' guidance to optimise your portfolio.")},{icon:We,title:e("Actifs sécurisés","Secured assets"),desc:e("Vos actifs sont conservés chez CA Titres (Crédit Agricole) via Nortia, ou chez ODDO BHF via Shares Pro. Séparation légale entre vos fonds et ceux de Colbr.","Your assets are held at CA Titres (Crédit Agricole) via Nortia, or at ODDO BHF via Shares Pro. Your funds are legally segregated from Colbr's own assets.")}],a=[{name:"PEA · Nortia",sousTitre:e("Crédit Agricole Titres · Groupe Crédit Agricole","Crédit Agricole Titres · Crédit Agricole Group"),minInvestissement:"50 000 €",supports:"ETF, OPCVM, Titres vifs",fraisTransaction:e("à partir de 0,40%","from 0.40%"),fraisGestion:"1,00%",fraisTenueCompte:"0,30%",fraisEntree:"0%",fraisSortie:"0%",highlighted:!0,formUrl:"https://fo2m8.share-eu1.hsforms.com/2cy1NzAfnRCmESMSX8llIoQ"},{name:"PEA · Shares Pro",sousTitre:e("ODDO BHF · Banque dépositaire","ODDO BHF · Custodian bank"),minInvestissement:"10 000 €",supports:"ETF",fraisTransaction:e("0,20% (min. 10€)","0.20% (min. €10)"),fraisGestion:"1,00%",fraisTenueCompte:"0,30%",fraisEntree:"0%",fraisSortie:"0%",highlighted:!1,formUrl:"https://fo2m8.share-eu1.hsforms.com/2tJ65BOe4ROanMLPhlzoZ2g"}],o=[{periode:e("Avant 5 ans","Before 5 years"),impot:"12,8%",ps:"17,2%",total:"30%",note:e("Retrait = clôture du PEA","Withdrawal = PEA closure"),highlight:!1},{periode:e("Après 5 ans","After 5 years"),impot:"0%",ps:"17,2%",total:"17,2%",note:e("Retraits libres sans clôture","Free withdrawals without closure"),highlight:!0}],l=[{q:e("Qu'est-ce qu'un PEA ?","What is a PEA?"),a:e("Le Plan d'Épargne en Actions (PEA) est une enveloppe fiscale permettant d'investir en actions européennes et ETF éligibles, avec une fiscalité avantageuse après 5 ans de détention. Le plafond de versement est de 150 000 € par personne.","The Plan d'Épargne en Actions (PEA) is a tax wrapper that allows investment in European equities and eligible ETFs, with favourable taxation after 5 years. The contribution ceiling is €150,000 per person.")},{q:e("Où sont conservés mes actifs ?","Where are my assets held?"),a:e("Selon le contrat choisi, vos actifs sont conservés chez CA Titres (Groupe Crédit Agricole) via Nortia, ou chez ODDO BHF via Shares Pro. Vos fonds sont légalement séparés des nôtres, conformément aux normes les plus strictes du secteur financier.","Depen
651ding on the contract chosen, your assets are held at CA Titres (Crédit Agricole Group) via Nortia, or at ODDO BHF via Shares Pro. Your funds are legally segregated from ours, in compliance with the strictest standards of the financial sector.")},{q:e("Quel est le montant minimum pour ouvrir un PEA ?","What is the minimum amount to open a PEA?"),a:e(`L'ouverture d'un PEA est accessible dès
6521 000 € sur le contrat CA Titres. Une fois ouvert, vous pouvez effectuer des versements complémentaires dès 100 € ou mettre en place des versements programmés.`,`A PEA can be opened from
653€1,000 on the CA Titres contract. Once opened, you can make additional contributions from €100 or set up scheduled payments.`)},{q:e("Puis-je transférer un PEA existant ?","Can I transfer an existing PEA?"),a:e("Oui, vous pouvez transférer un PEA ouvert dans un autre établissement sans perdre l'ancienneté fiscale. Notre équipe s'occupe de toutes les démarches administratives. Les frais de transfert éventuels peuvent être pris en charge.","Yes, you can transfer a PEA opened at another institution without losing your tax seniority. Our team handles all the administrative steps. Any transfer fees may be covered.")},{q:e("Puis-je retirer de l'argent à tout moment ?","Can I withdraw money at any time?"),a:e("Oui, mais les règles fiscales varient : avant 5 ans, tout retrait entraîne la clôture du PEA et les gains sont imposés à 30%. Après 5 ans, les retraits sont libres sans clôture, seuls les prélèvements sociaux de 17,2% s'appliquent.","Yes, but tax rules vary: before 5 years, any withdrawal triggers PEA closure and gains are taxed at 30%. After 5 years, withdrawals are free without closure, and only the 17.2% social levies apply.")},{q:e("Quels supports sont disponibles ?","What instruments are available?"),a:e("Vous avez accès à plus de 500 ETF et actions éligibles au PEA, couvrant les marchés européens et internationaux (via ETF synthétiques éligibles). Actions individuelles, ETF sectoriels, géographiques ou thématiques.","You have access to over 500 PEA-eligible ETFs and equities, covering European and international markets (via eligible synthetic ETFs). Individual equities, sector, geographic, or thematic ETFs.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:qn},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:"Plan Épargne en Actions"}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[e("Investissez en actions,","Invest in equities,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("sans impôt après 5 ans","tax-free after 5 years")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8 max-w-lg",children:e("Accédez aux marchés européens et mondiaux via un cadre fiscal optimisé. Dès 10 000 € avec 0% de frais d'entrée.","Access European and global markets through an optimised tax framework. From €10,000 with 0% entry fees.")}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs("a",{href:"https://app.colbr.co/invest/autonomous/financial/PEA",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Investir en ligne","Invest online"),t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Prendre rendez-vous","Book an appointment")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20}
653,animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:qn},className:"grid grid-cols-2 gap-4",children:i.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+u*.08,ease:qn},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1 whitespace-pre-line",children:c.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:c.label})]},c.label))})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:qn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Pourquoi le PEA Colbr","Why the Colbr PEA")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("L'enveloppe idéale pour","The ideal wrapper to")," ",t.jsx("span",{className:"text-gradient-gold",children:e("investir en actions","invest in equities")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:qn,delay:u*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(c.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:c.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:c.desc})]},c.title))})]})}),t.jsx("section",{id:"contrats",className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:qn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Nos offres","Our offerings")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Nos contrats","Our")," ",t.jsx("span",{className:"text-gradient-gold",children:"PEA"})," ",e("","contracts")]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Deux options pour investir en actions dans un cadre fiscal optimisé.","Two options to invest in equities within an optimised tax framework.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:a.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:qn,delay:u*.1},className:`flex flex-col p-8 rounded-2xl border transition-all duration-300 ${c.highlighted?"bg-primary/[0.04] border-primary/30":"bg-card/40 border-border/30"}`,children:[t.jsx("span",{className:`inline-block text-[10px] tracking-[0.2em] uppercase px-3 py-1 rounded-full mb-4 ${c.highlighted?"text-primary bg-primary/10":"text-transparent select-none"}`,children:c.highlighted?e("Recommandé","Recommended"):" "}),t.jsx("h3",{className:"font-display text-xl tracking-tight mb-1",children:c.name}),t.jsx("p",{className:"text-xs text-muted-foreground mb-6",children:c.sousTitre}),t.jsx("div",{className:"space-y-3 mb-6",children:[{label:e("Min. investissement","Min. investment"),value:c.minInvestissement},{label:e("Supports","Instruments"),value:c.supports},{label:e("Frais de transaction","Transaction fees"),value:c.fraisTransaction},{label:e("Gestion conseillée","Advisory management"),value:c.fraisGestion},{label:e("Tenue de compte","Account maintenance"),value:c.fraisTenueCompte},{label:e("Frais d'entrée","Entry fees"),value:c.fraisEntree},{label:e("Frais de sortie","Exit fees"),value:c.fraisSortie}].map(d=>t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:d.label}),t.jsx("span",{className:`font-medium text-right ${d.value==="0%"?"text-primary":d.value==="—"?"text-muted-foreground
653/40":"text-foreground"}`,children:d.value})]},d.label))}),t.jsxs("div",{className:"flex gap-3 pt-4 border-t border-border/20 mt-auto",children:[t.jsxs("a",{href:"https://app.colbr.co/invest/autonomous/financial/PEA",target:"_blank",rel:"noopener noreferrer",className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all rounded-lg",children:[e("Investir en ligne","Invest online"),t.jsx(Wn,{className:"w-3.5 h-3.5"})]}),c.formUrl?t.jsx(xt,{shareUrl:c.formUrl,title:e(`Recevoir la brochure ${c.name}`,`Receive the ${c.name} brochure`),description:e(`Renseignez vos coordonnées pour recevoir la brochure dédiée à ${c.name}.`,`Enter your details to receive the brochure dedicated to ${c.name}.`),eyebrow:e("Demande de brochure","Brochure request"),children:t.jsx("button",{type:"button",className:"flex-1 inline-flex items-center justify-center px-4 py-2.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all rounded-lg",children:e("Recevoir la brochure","Receive the brochure")})}):t.jsx("a",{href:"#rdv",className:"flex-1 inline-flex items-center justify-center px-4 py-2.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all rounded-lg",children:e("Recevoir la brochure","Receive the brochure")})]})]},c.name))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:qn},className:"text-center mb-16",children:[t.jsx(Ub,{className:"w-8 h-8 text-primary mx-auto mb-6"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Une fiscalité qui récompense","A tax regime that rewards")," ",t.jsx("span",{className:"text-gradient-gold",children:e("la patience","patience")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Après 5 ans de détention, vos plus-values sont exonérées d'impôt sur le revenu. Seuls les prélèvements sociaux de 17,2% restent dus.","After 5 years of holding, your capital gains are exempt from income tax. Only social levies of 17.2% remain due.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:o.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:qn,delay:u*.1},className:`p-8 rounded-2xl border transition-all ${c.highlight?"bg-primary/[0.04] border-primary/30":"bg-card/40 border-border/30"}`,children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-6",children:c.periode}),t.jsxs("div",{className:"space-y-3 mb-4",children:[t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Impôt sur le revenu","Income tax")}),t.jsx("span",{className:`font-medium ${c.impot==="0%"?"text-primary":"text-foreground"}`,children:c.impot})]}),t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Prélèvements sociaux","Social levies")}),t.jsx("span",{className:"font-medium text-foreground",children:c.ps})]}),t.jsxs("div",{className:"flex justify-between text-sm pt-3 border-t border-border/20",children:[t.jsx("span",{className:"text-muted-foreground font-medium",children:e("Total","Total")}),t.jsx("span",{className:`font-display text-lg ${c.highlight?"text-primary":"text-foreground"}`,children:c.total})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/60 mt-4",children:c.note})]},c.periode))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8,ease:qn},children:[t.jsx(Z1,{className:"w-8 h-8 text-primary mb-6"}),t.jsxs("h2",{className:"font-display text-3xl tracking-tight mb-4",children:[e("Transférez votre PEA","Transfer your PEA")," ",t.jsx("span",{className:"text-gradient-gold",children:e("sans perdre l'ancienneté","without losing seniority")})]}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:e("Regroupez vos PEA chez Colbr. Notre équipe s'occupe de toutes les démarches administratives. Vous conservez l'antériorité fiscale de votre plan.","Consolidate your PEAs at Colbr. Our team handles all administrative steps. You retain the tax seniority of your plan.")}
653),t.jsx("div",{className:"space-y-3 mb-8",children:[e("Conservation de l'ancienneté fiscale","Preservation of tax seniority"),e("Démarches 100% prises en charge","100% of procedures handled for you"),e("Prise en charge des frais de transfert","Transfer fees covered"),e("Suivi personnalisé par un conseiller dédié","Personalised follow-up by a dedicated adviser")].map(c=>t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("div",{className:"w-5 h-5 rounded-full bg-primary/10 flex items-center justify-center mt-0.5 shrink-0",children:t.jsx(V,{className:"w-3 h-3 text-primary"})}),t.jsx("span",{className:"text-sm text-muted-foreground",children:c})]},c))}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2fHGnSxXxQpKkyGnrVSPSmw",title:e("Transférer mon PEA","Transfer my PEA"),description:e("Renseignez vos coordonnées pour être contacté par un conseiller dédié au transfert de votre PEA.","Enter your details to be contacted by a dedicated adviser for your PEA transfer."),eyebrow:e("Transfert de PEA","PEA Transfer"),children:t.jsxs("button",{className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Transférer mon PEA","Transfer my PEA"),t.jsx(V,{className:"w-4 h-4"})]})})]}),t.jsxs(S.div,{initial:{opacity:0,x:20},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8,delay:.1,ease:qn},className:"bg-card/60 border border-border/30 rounded-2xl p-8",children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-6",children:e("Contrats transférables","Transferable contracts")}),t.jsx("div",{className:"space-y-4",children:[{label:e("PEA bancaire","Bank PEA"),desc:e("Tout établissement français","Any French institution")},{label:e("PEA en ligne","Online PEA"),desc:e("Courtiers et néobanques","Brokers and neobanks")},{label:e("PEA assurance","Insurance PEA"),desc:e("Contrats assurance-vie PEA","PEA life insurance contracts")},{label:"PEA-PME",desc:e("Plans dédiés aux PME-ETI","Plans dedicated to SMEs")}].map(c=>t.jsxs("div",{className:"flex items-center gap-4 p-3 rounded-lg bg-background/40",children:[t.jsx("div",{className:"w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center shrink-0",children:t.jsx(V,{className:"w-4 h-4 text-primary"})}),t.jsxs("div",{children:[t.jsx("p",{className:"text-sm font-medium text-foreground",children:c.label}),t.jsx("p",{className:"text-xs text-muted-foreground",children:c.desc})]})]},c.label))})]})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:qn},className:"text-center mb-16",children:[t.jsx(Zl,{className:"w-8 h-8 text-primary mx-auto mb-6"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Des frais parmi les","Among the")," ",t.jsx("span",{className:"text-gradient-gold",children:e("plus bas du marché","lowest fees on the market")})]})]}),t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[{label:e("Frais d'entrée","Entry fees"),value:"0%"},{label:e("Frais d'arbitrage","Arbitration fees"),value:"0%"},{label:e("Frais de versement","Contribution fees"),value:"0%"},{label:e("Frais de sortie","Exit fees"),value:"0%"}].map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:u*.08,ease:qn},className:"p-6 rounded-2xl bg-card/40 border border-border/30 text-center",children:[t.jsx("span",{className:"font-display text-2xl text-primary block mb-2",children:c.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:c.label})]},c.label))}),t.jsx("p",{className:"text-center text-xs text-muted-foreground/50 mt-6",children:e("Frais de gestion annuels à partir de 0,5% selon le contrat choisi. Détail complet dans la documentation contractuelle.","Annual management fees from 0.5% depending on the contract chosen. Full details in the contractual documentation.")})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:qn},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl tracking-tight mb-4",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:l.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,delay:u*.05,ease:qn},className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===u?null:u),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:c.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===u?"rotate-180":""}`})]}),n===u&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:c.a})})]},u))})]})}),t.jsx("section",{id:"rdv",className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:qn},children:[t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Prêt à investir en actions","Ready to invest in equities")," ",t.jsx("span",{className:"text-gradient-gold",children:e("intelligemment ?","intelligently?")})]}),t.jsx("p",{className:"text-muted-foreground mb-8 max-w-xl mx-auto",children:e("Échangez avec un conseiller pour définir la stratég
653ie PEA adaptée à vos objectifs.","Speak with an adviser to define the PEA strategy best suited to your goals.")}),t.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[t.jsxs("a",{href:"https://app.colbr.co/invest/autonomous/financial/PEA",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Investir en ligne","Invest online"),t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsxs("a",{href:"#rdv",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]})]})]})})}),t.jsx(Ft,{items:[{to:"/assurance-vie",label:e("Assurance-vie","Life insurance"),description:e("Combinez PEA et assurance-vie pour une stratégie patrimoniale équilibrée.","Combine PEA and life insurance for a balanced wealth strategy."),eyebrow:e("Complémentarité","Complementarity")},{to:"/plan-epargne-retraite",label:"PER",description:e("Préparez votre retraite tout en bénéficiant d'une déduction fiscale.","Prepare for retirement while benefiting from a tax deduction."),eyebrow:e("Retraite","Retirement")},{to:"/scpi",label:"SCPI",description:e("Diversifiez vers l'immobilier de rendement pour décorréler votre allocation.","Diversify into income-generating real estate to decorrelate your allocation."),eyebrow:e("Diversification","Diversification")}]}),t.jsx(re,{})]})},P2="/assets/logo-swissquote-CFG6z0a6.svg",Wm="/assets/logo-ubs-DZR89RK_.png",zse="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMjAwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8Y2lyY2xlIGN4PSIxNiIgY3k9IjIwIiByPSIxMiIgc3Ryb2tlPSIjMEIyRTVCIiBzdHJva2Utd2lkdGg9IjMiLz4KPGNpcmNsZSBjeD0iMTYiIGN5PSIyMCIgcj0iNCIgZmlsbD0iIzBCMkU1QiIvPgo8dGV4dCB4PSIzOCIgeT0iMjgiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjIyIiBmb250LXdlaWdodD0iNzAwIiBsZXR0ZXItc3BhY2luZz0iMSIgZmlsbD0iIzBCMkU1QiI+Tk9SVElBPC90ZXh0Pgo8L3N2Zz4K",Use="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMjIwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHJ4PSI1IiBmaWxsPSIjMDA4NzVBIi8+CjxwYXRoIGQ9Ik05IDIwYzAtMy4zIDIuNy02IDYtNiAxLjUgMCAyLjguNSAzLjggMS40bC0yIDIuMUEzIDMgMCAxIDAgMTUgMjNjMSAwIDEuOS0uNCAyLjUtMS4xbDIuMSAyQTYgNiAwIDAgMSA5IDIweiIgZmlsbD0iI0ZGRkZGRiIvPgo8dGV4dCB4PSIzNCIgeT0iMjciIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjE4IiBmb250LXdlaWdodD0iNzAwIiBsZXR0ZXItc3BhY2luZz0iMC41IiBmaWxsPSIjMDA4NzVBIj5DQSBUaXRyZXM8L3RleHQ+Cjwvc3ZnPgo=",jr=[.16,1,.3,1],Vse=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{value:`Dès
65410 000 €`,label:e("Investissement minimum","Minimum investment")},{value:e("Sans plafond","No ceiling"),label:e("Montant des versements","Contribution amount")},{value:e("Monde entier","Worldwide"),label:e("Univers d'investissement","Investment universe")},{value:"30%",label:e("Flat tax sur les gains","Flat tax on gains")}],s=[{icon:mr,title:e("Aucune frontière d'investissement","No investment borders"),desc:e("Actions américaines, asiatiques, obligations, ETF, fonds, produits structurés et solutions sur mesure : le compte-titres ordinaire n'impose ni plafond de versement ni restriction géographique.","US and Asian equities, bonds, ETFs, funds, structured products and bespoke solutions: the securities account imposes no contribution ceiling and no geographic restriction.")},{icon:DQ,title:e("Liquidité totale","Full liquidity"),desc:e("Vos capitaux restent disponibles à tout moment, sans durée de blocage ni condition d'antériorité fiscale. L'enveloppe la plus souple du patrimoine financier.","Your capital remains available at any time, with no lock-up and no tax seniority condition. The most flexible wrapper in a financial portfolio.")},{icon:la,title:e("Complément naturel du PEA","The natural complement to the PEA"),desc:e("Une fois le plafond du PEA atteint, le compte-titres prend le relais pour poursuivre la construction d'une allocation diversifiée, sans rupture de stratég
654ie.","Once the PEA ceiling is reached, the securities account takes over to continue building a diversified allocation without breaking strategy.")},{icon:We,title:e("Dépositaires de premier plan","Tier-one custodians"),desc:e("Vos titres sont conservés chez Swissquote, UBS ou CA Titres (Groupe Crédit Agricole) via Nortia. Séparation légale stricte entre vos avoirs et ceux de Colbr.","Your securities are held at Swissquote, UBS or CA Titres (Crédit Agricole Group) through Nortia. Strict legal segregation between your assets and Colbr's.")},{icon:Jl,title:e("Produits sur mesure admissibles","Bespoke products eligible"),desc:e("Le compte-titres peut accueillir des solutions structurées sur mesure : remboursement conditionnel, défense de capital, levier sélectif ouyield privilégié, conçus selon votre profil de risque et votre horizon.","The securities account can host bespoke structured solutions: conditional redemption, capital protection, selective leverage or enhanced yield, designed around your risk profile and horizon.")}],a=[{name:"Swissquote",logo:P2,h:"h-8",role:e("Courtage international","International brokerage")},{name:"UBS",logo:Wm,h:"h-11",role:e("Banque dépositaire","Custodian bank")},{name:"Nortia",logo:zse,h:"h-8",role:e("Plateforme de distribution","Distribution platform")},{name:"CA Titres",logo:Use,h:"h-8",role:e("Teneur de compte","Account keeper")}],o=[{name:e("Compte-titres · Nortia / CA Titres","Securities account · Nortia / CA Titres"),sousTitre:e("Crédit Agricole Titres · Groupe Crédit Agricole","Crédit Agricole Titres · Crédit Agricole Group"),rows:[{label:e("Min. investissement","Min. investment"),value:"50 000 €"},{label:e("Supports","Instruments"),value:e("ETF, OPCVM, titres vifs, structurés, sur mesure","ETFs, funds, equities, structured, bespoke")},{label:e("Frais de transaction","Transaction fees"),value:e("à partir de 0,40%","from 0.40%")},{label:e("Gestion conseillée","Advisory management"),value:"1,00%"},{label:e("Tenue de compte","Account maintenance"),value:"0,30%"},{label:e("Frais d'entrée","Entry fees"),value:"0%"}],highlighted:!0},{name:e("Compte-titres · Swissquote / UBS","Securities account · Swissquote / UBS"),sousTitre:e("Détention internationale · Suisse","International custody · Switzerland"),rows:[{label:e("Min. investissement","Min. investment"),value:"100 000 €"},{label:e("Supports","Instruments"),value:e("Actions monde, ETF, obligations","Global equities, ETFs, bonds")},{label:e("Devises","Currencies"),value:"EUR, USD, CHF, GBP"},{label:e("Gestion conseillée","Advisory management"),value:e("Sur mesure","Bespoke")},{label:e("Tenue de compte","Account maintenance"),value:e("Selon dépositaire","Custodian-dependent")},{label:e("Frais d'entrée","Entry fees"),value:"0%"}],highlighted:!1}],l=[{q:e("Qu'est-ce qu'un compte-titres ?","What is a securities account?"),a:e("Le compte-titres est une enveloppe d'investissement sans plafond ni restriction géographique. Il permet de détenir actions, obligations, ETF, fonds et produits structurés du monde entier, avec une liquidité totale.","A securities account is an investment wrapper with no ceiling and no geographic restriction. It can hold equities, bonds, ETFs, funds and structured products worldwide, with full liquidity.")},{q:e("Quelle est la fiscalité applicable ?","What taxation applies?"),a:e("Les gains (plus-values et dividendes) sont soumis au prélèvement forfaitaire unique de 30% (12,8% d'impôt et 17,2% de prélèvements sociaux), sauf option pour le barème progressif si celle-ci vous est plus favorable.","Gains (capital gains and divi
654dends) are subject to the 30% flat tax (12.8% income tax and 17.2% social levies), unless you opt for the progressive scale when more favourable.")},{q:e("Compte-titres ou PEA ?","Securities account or PEA?"),a:e("Le PEA offre une fiscalité allégée après 5 ans mais reste limité aux titres européens et plafonné à 150 000 €. Le compte-titres n'a aucune limite : les deux enveloppes se complètent au sein d'une même stratégie.","The PEA offers lighter taxation after 5 years but is limited to European securities and capped at €150,000. The securities account has no limit: the two wrappers complement each other within one strategy.")},{q:e("Où sont conservés mes titres ?","Where are my securities held?"),a:e("Selon la solution retenue, chez CA Titres (Groupe Crédit Agricole) via Nortia, ou chez Swissquote et UBS pour une détention internationale. Vos avoirs sont juridiquement séparés de ceux de Colbr.","Depending on the chosen solution, at CA Titres (Crédit Agricole Group) via Nortia, or at Swissquote and UBS for international custody. Your assets are legally segregated from Colbr's.")},{q:e("Puis-je ouvrir un compte-titres au nom d'une société ?","Can I open a securities account for a company?"),a:e("Oui. Les holdings patrimoniales et sociétés à l'IS peuvent détenir un compte-titres pour placer leur trésorerie longue. La fiscalité relève alors de l'impôt sur les sociétés.","Yes. Wealth holding companies and corporate entities can hold a securities account to invest long-term cash. Taxation then falls under corporate income tax.")},{q:e("Puis-je loger des produits sur mesure dans un compte-titres ?","Can I hold bespoke products in a securities account?"),a:e("Oui. Le compte-titres est l'enveloppe naturelle pour les solutions structurées sur mesure : défense de capital, remboursement conditionnel, levier sélectif ou rendement ciblé. Chaque produit est conçu avec nos partenaires émetteurs en fonction de votre profil de risque, de votre horizon et des actifs que vous souhaitez détenir ou protéger.","Yes. The securities account is the natural wrapper for bespoke structured solutions: capital protection, conditional redemption, selective leverage or targeted yield. Each product is designed with our issuer partners according to your risk profile, horizon and the assets you wish to hold or protect.")},{q:e("Puis-je transférer un compte-titres existant ?","Can I transfer an existing securities account?"),a:e("Oui, le transfert de titres est possible sans cession, donc sans déclenchement d'imposition. Notre équipe pilote l'intégralité des démarches avec votre établissement d'origine.","Yes, securities can be transferred without a sale, so without triggering taxation. Our team handles all procedures with your existing institution.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:"Compte-titres : investir sans plafond ni frontière | Colbr"}),t.jsx("meta",{name:"description",content:"Ouvrez un compte-titres avec Colbr : accès aux marchés mondiaux, aucun plafond de versement, dépositaires Swissquote, UBS, Nortia et CA Titres."}),t.jsx("link",{rel:"canonical",href:"https://colbr.co/compte-titres"}),t.jsx("meta",{property:"og:title",content:"Compte-titres : investir sans plafond ni frontière | Colbr"}),t.jsx("meta",{property:"og:description",content:"Marchés mondiaux, liquidité totale, dépositaires de premier plan. Le complément naturel du PEA."}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:jr},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Compte-titres","Securities account")}
654),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[e("Investissez partout,","Invest everywhere,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("sans plafond","without a ceiling")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8 max-w-lg",children:e("L'enveloppe la plus souple pour accéder aux marchés mondiaux : actions, obligations, ETF, produits structurés et solutions sur mesure, en toute liquidité.","The most flexible wrapper to access global markets: equities, bonds, ETFs, structured products and bespoke solutions, with full liquidity.")}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs("a",{href:"#contrats",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Voir les solutions","See the solutions"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Prendre rendez-vous","Book an appointment")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:jr},className:"grid grid-cols-2 gap-4",children:i.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+u*.08,ease:jr},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1 whitespace-pre-line",children:c.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:c.label})]},c.label))})]})})]}),t.jsx("section",{className:"py-16 border-t border-border/20 bg-muted/30",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsx("p",{className:"text-center text-[11px] tracking-[0.2em] uppercase text-muted-foreground mb-10",children:e("Nos partenaires dépositaires","Our custodian partners")}),t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-6",children:a.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:u*.08,ease:jr},className:"flex flex-col items-center justify-center gap-3 p-6 rounded-2xl bg-card/60 border border-border/30",children:[t.jsx("img",{src:c.logo,alt:c.name,className:`${c.h} w-auto object-contain`,loading:"lazy"}),t.jsx("span",{className:"text-[11px] text-muted-foreground text-center",children:c.role})]},c.name))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:jr},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Pourquoi le compte-titres Colbr","Why the Colbr securities account")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("La liberté totale","Total freedom")," ",t.jsx("span",{className:"text-gradient-gold",children:e("d'allocation","of allocation")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:jr,delay:u*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(c.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:c.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:c.desc})]},c.title))})]})}),t.jsx("section",{id:"contrats",className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:jr},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Nos offres","Our offerings")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Deux modes de","Two modes of")," ",t.jsx("span",{className:"text-gradient-gold",children:e("détention","custody")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Une détention française pilotée via Nortia et CA Titres, ou une détention internationale chez Swissquote et UBS.","French custody managed through Nortia and CA Titres, or international custody at Swissquote and UBS.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:o.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:jr,delay:u*.1},className:`flex flex-col p-8 rounded-2xl border transition-all duration-300 ${c.highlighted?"bg-primary/[0.04] border-primary/30":"bg-card/40 border-border/30"}`,children:[t.jsx("span",{className:`inline-block text-[10px] tracking-[0.2em] uppercase px-3 py-1 rounded-full mb-4 w-fit ${c.highlighted?"text-primary bg-primary/10":"text-transparent select-none"}`,children:c.highlighted?e("Recommandé","Recommended"):" "}),t.jsx("h3",{className:"font-display text-xl tracking-tight mb-1",children:c.name}),t.jsx("p",{className:"text-xs text-muted-foreground mb-6",children:c.sousTitre}),t.jsx("div",{className:"space-y-3 mb-6",children:c.rows.map(d=>t.jsxs("div",{className:"flex justify-between text-sm gap-6",children:[t.jsx("span",{className:"text-muted-foreground",children:d.label}),t.jsx("span",{className:`font-medium text-right ${d.value==="0%"?"text-primary":"text-foreground"}`,children:d.value})]},d.label))}),t.jsxs("div",{className:"flex gap-3 pt-4 border-t border-border/20 mt-auto",children:[t.jsxs("a",{href:"#rdv",className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all rounded-lg",children:[e("Être rappelé","Request a call"),t.jsx(V,{className:"w-3.5 h-3.5"})]}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2cy1NzAfnRCmESMSX8llIoQ",title:e("Recevoir la documentation compte-titres","Receive the securities account documentation"),description:e("Renseignez vos coordonnées pour recevoir le détail de nos solutions de compte-titres.","Enter your details to receive full information on our securities account solutions."),eyebrow:e("Demande de documentation","Documentation request"),children:t.jsx("button",{type:"button",className:"flex-1 inline-flex items-center justify-center px-4 py-2.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all rounded-lg",children:e("Recevoir la documentation","Receive documentation")})})]})]},c.name))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:jr},className:"text-center mb-16",children:[t.jsx(Zl,{className:"w-8 h-8 text-primary mx-auto mb-6"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Une fiscalité","A tax regime that is")," ",t.jsx("span",{className:"text-gradient-gold",children:e("lisible","readable")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Le compte-titres relève du prélèvement forfaitaire unique. Aucune durée de détention minimale n'est exigée.","The securities account falls under the flat tax. No minimum holding period is required.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:[{periode:e("Prélèvement forfaitaire unique","Flat tax"),impot:"12,8%",ps:"17,2%",total:"30%",note:e("Régime par défaut sur les gains et dividendes","Default regime on gains and divi
654dends"),highlight:!0},{periode:e("Option barème progressif","Progressive scale option"),impot:e("Selon TMI","Per marginal rate"),ps:"17,2%",total:e("Sur option","On election"),note:e("Pertinent pour les tranches d'imposition basses","Relevant for lower tax brackets"),highlight:!1}].map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:jr,delay:u*.1},className:`p-8 rounded-2xl border transition-all ${c.highlight?"bg-primary/[0.04] border-primary/30":"bg-card/40 border-border/30"}`,children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-6",children:c.periode}),t.jsxs("div",{className:"space-y-3 mb-4",children:[t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Impôt sur le revenu","Income tax")}),t.jsx("span",{className:"font-medium text-foreground",children:c.impot})]}),t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Prélèvements sociaux","Social levies")}),t.jsx("span",{className:"font-medium text-foreground",children:c.ps})]}),t.jsxs("div",{className:"flex justify-between text-sm pt-3 border-t border-border/20",children:[t.jsx("span",{className:"text-muted-foreground font-medium",children:e("Total","Total")}),t.jsx("span",{className:`font-display text-lg ${c.highlight?"text-primary":"text-foreground"}`,children:c.total})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/60 mt-4",children:c.note})]},c.periode))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:jr},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl tracking-tight mb-4",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:l.map((c,u)=>t.jsxs(S.div,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,delay:u*.05,ease:jr},className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===u?null:u),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:c.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===u?"rotate-180":""}`})]}),n===u&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:c.a})})]},u))})]})}),t.jsx("section",{id:"rdv",className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:jr},children:[t.jsx(Jl,{className:"w-8 h-8 text-primary mx-auto mb-6"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Structurons votre","Let's structure your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("allocation mondiale","global allocation")})]}),t.jsx("p",{className:"text-muted-foreground mb-8 max-w-xl mx-auto",children:e("Échangez avec un conseiller pour définir l'articulation entre compte-titres, PEA et assurance-vie.","Speak with an adviser to define how your securities account, PEA and life insurance fit together.")}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2cy1NzAfnRCmESMSX8llIoQ",title:e("Ouvrir un compte-titres","Open a securities account"),description:e("Renseignez vos coordonnées pour être contacté par un conseiller dédié.","Enter your details to be contacted by a dedicated adviser."),eyebrow:e("Compte-titres","Securities account"),children:t.jsxs("button",{className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]})})]})})}),t.jsx(Ft,{items:[{to:"/plan-epargne-actions",label:"PEA",description:e("Optimisez d'abord votre enveloppe européenne avant d'élargir au compte-titres.","Optimise your European wrapper first, then broaden into a securities account."),eyebrow:e("Complémentarité","Complementarity")},{to:"/assurance-vie-luxembourgeoise",label:"Luxembourg",description:e("Une détention internationale protégée par le triangle de sécurité luxembourgeois.","International custody protected by the Luxembourg security triangle."),eyebrow:"International"},{to:"/produits-structures",label:e("Sur Mesure","Bespoke"),description:e("Logez des solutions structurées sur mesure au sein de votre compte-titres.","Hold bespoke structured solutions within your securities account."),eyebrow:e("Ingénierie","Engineering")}]}),t.jsx(re,{})]})},Wse="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMjQwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTQgNmwxMCA1djljMCA2LjItNC4yIDExLjYtMTAgMTMuMkM4LjIgMzEuNiA0
654IDI2LjIgNCAyMHYtOWwxMC01eiIgc3Ryb2tlPSIjOEExRjJDIiBzdHJva2Utd2lkdGg9IjIuNSIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSIzMiIgeT0iMTkiIGZvbnQtZmFtaWx5PSJHZW9yZ2lhLCBzZXJpZiIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9IjcwMCIgbGV0dGVyLXNwYWNpbmc9IjEuNSIgZmlsbD0iIzhBMUYyQyI+QkFOUVVFPC90ZXh0Pgo8dGV4dCB4PSIzMiIgeT0iMzMiIGZvbnQtZmFtaWx5PSJHZW9yZ2lhLCBzZXJpZiIgZm9udC1zaXplPSIxNCIgbGV0dGVyLXNwYWNpbmc9IjEuNSIgZmlsbD0iIzhBMUYyQyI+SEVSSVRBR0U8L3RleHQ+Cjwvc3ZnPgo=",Hse="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMjIwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8dGV4dCB4PSIyIiB5PSIyOCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjIiIGZvbnQtd2VpZ2h0PSI3MDAiIGxldHRlci1zcGFjaW5nPSIxIiBmaWxsPSIjMUExQTFBIj5PRERPPC90ZXh0Pgo8cmVjdCB4PSI3MiIgeT0iMTAiIHdpZHRoPSIzIiBoZWlnaHQ9IjIwIiBmaWxsPSIjQzhBNDZCIi8+Cjx0ZXh0IHg9Ijg0IiB5PSIyOCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjIiIGZvbnQtd2VpZ2h0PSI0MDAiIGxldHRlci1zcGFjaW5nPSIyIiBmaWxsPSIjMUExQTFBIj5CSEY8L3RleHQ+Cjwvc3ZnPgo=",el=[.16,1,.3,1],Gse=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{name:"UBS",logo:Wm,h:"h-11"},{name:"Banque Héritage",logo:Wse,h:"h-9"},{name:"ODDO BHF",logo:Hse,h:"h-7"}],s=[{icon:St,title:e("Une place financière de référence","A benchmark financial centre"),desc:e("La Suisse concentre une expertise séculaire en conservation d'actifs, avec des établissements dotés de ratios de fonds propres parmi les plus élevés au monde.","Switzerland concentrates centuries-old expertise in asset custody, with institutions holding some of the highest capital ratios in the world.")},{icon:mr,title:e("Diversification juridictionnelle","Jurisdictional diversification"),desc:e("Détenir une partie de ses avoirs hors zone euro, en francs suisses ou en dollars, réduit l'exposition à un environnement monétaire et politique unique.","Holding part of your assets outside the eurozone, in Swiss francs or dollars, reduces exp
654osure to a single monetary and political environment.")},{icon:Ub,title:e("Confidentialité encadrée","Regulated confidentiality"),desc:e("La discrétion bancaire suisse s'exerce aujourd'hui dans un cadre pleinement conforme : échange automatique d'informations, déclaration française des comptes détenus à l'étranger.","Swiss banking discretion now operates within a fully compliant framework: automatic exchange of information and French reporting of foreign accounts.")},{icon:Lq,title:e("Crédit Lombard et financements","Lombard credit and financing"),desc:e("Les banques suisses offrent des lignes d'avance sur portefeuille compétitives, permettant de mobiliser des liquidités sans céder vos positions.","Swiss banks offer competitive portfolio-backed credit lines, allowing you to raise liquidity without selling your positions.")}],a=[{q:e("À qui s'adresse une détention suisse ?","Who is Swiss custody for?"),a:e("Aux patrimoines significatifs cherchant une diversification juridictionnelle, aux résidents fiscaux hors de France, ainsi qu'aux familles disposant d'intérêts internationaux. L'accès se fait sur étude de dossier.","Significant estates seeking jurisdictional diversification, non-French tax residents, and families with international interests. Access is granted after a case review.")},{q:e("Est-ce compatible avec la résidence fiscale française ?","Is it compatible with French tax residency?"),a:e("Oui, sous réserve d'une parfaite conformité : déclaration annuelle des comptes détenus à l'étranger (formulaire 3916) et imposition des revenus en France. Nous coordonnons ces obligations avec votre conseil fiscal.","Yes, subject to full compliance: annual declaration of foreign accounts (form 3916) and taxation of income in France. We coordinate these obligations with your tax adviser.")},{q:e("Quels sont les seuils d'accès ?","What are the access thresholds?"),a:e("Les établissements suisses appliquent des seuils propres, généralement à partir de plusieurs centaines de milliers d'euros. Chaque dossier est présenté individuellement, ce qui explique le fonctionnement sur demande.","Swiss institutions apply their own thresholds, generally from several hundred thousand euros. Each case is presented individually, which is why access works on request.")},{q:e("Comment se déroule l'ouverture ?","How does the onboarding work?"),a:e("Un entretien préalable permet de cadrer vos objectifs. Nous présentons ensuite votre dossier à l'établissement le plus adapté, qui procède à ses propres diligences avant acceptation.","An initial meeting frames your objectives. We then present your file to the most suitable institution, which carries out its own due diligence before acceptance.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:"Suisse : détention bancaire internationale | Colbr"}),t.jsx("meta",{name:"description",content:"Diversifiez la détention de votre patrimoine en Suisse avec Colbr : UBS, Banque Héritage, ODDO BHF. Accès sur demande, après étude de dossier."}),t.jsx("link",{rel:"canonical",href:"https://colbr.co/suisse"}),t.jsx("meta",{property:"og:title",content:"Suisse : détention bancaire internationale | Colbr"}),t.jsx("meta",{property:"og:description",content:"Diversification juridictionnelle, multi-devises, crédit Lombard. Accès sur demande."}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_70%_15%,hsl(var(--primary)/0.07),transparent_70%)]"}),t.jsx("div",{className:"container max-w-4xl mx-auto px-6 relative text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:el},children:[t.jsxs("span",{className:"inline-flex items-center gap-2 text-[10px] tracking-[0.22em] uppercase text-secondary bg-secondary/10 border border-secondary/20 px-4 py-1.5 rounded-full mb-8",children:[t.jsx(dc,{className:"w-3.5 h-3.5"}),e("Sur demande","On request")]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.4rem] leading-[1.1] tracking-tight mb-6",children:[e("Suisse :","Switzerland:")," ",t.jsx("span",{className:"text-gradient-gold",children:e("une détention hors zone euro","custody outside the eurozone")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-10 max-w-2xl mx-auto",children:e("Conserver une partie de son patrimoine en Suisse relève d'une décision d'architecture, non d'opportunité. Nous ouvrons cet accès aux dossiers dont la structuration le justifie.","Holding part of your wealth in Switzerland is an architectural decision, not an opportunistic one. We open this access to cases whose structuring justifies it.")}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2cy1NzAfnRCmESMSX8llIoQ",title:e("Étudier un accès suisse","Explore Swiss access"),description:e("Renseignez vos coordonnées : un conseiller vous recontacte pour qual
654ifier votre dossier.","Enter your details: an adviser will contact you to qualify your case."),eyebrow:e("Accès sur demande","Access on request"),children:t.jsxs("button",{className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Demander un accès","Request access"),t.jsx(V,{className:"w-4 h-4"})]})})]})})]}),t.jsx("section",{className:"py-16 border-t border-border/20 bg-muted/30",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsx("p",{className:"text-center text-[11px] tracking-[0.2em] uppercase text-muted-foreground mb-10",children:e("Établissements partenaires","Partner institutions")}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6",children:i.map((o,l)=>t.jsx(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:l*.08,ease:el},className:"flex items-center justify-center p-8 rounded-2xl bg-card/60 border border-border/30",children:t.jsx("img",{src:o.logo,alt:o.name,className:`${o.h} w-auto object-contain`,loading:"lazy"})},o.name))}),t.jsx("p",{className:"text-center text-xs text-muted-foreground/60 mt-6",children:e("L'établissement retenu dépend de votre profil, de votre résidence fiscale et du montant confié.","The selected institution depends on your profile, tax residency and the amount entrusted.")})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:el},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Ce que cela apporte","What it brings")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Quatre raisons","Four reasons")," ",t.jsx("span",{className:"text-gradient-gold",children:e("d'y recourir","to consider it")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((o,l)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:el,delay:l*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(o.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:o.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.desc})]},o.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:el},className:"text-center mb-14",children:[t.jsx("h2",{className:"font-display text-3xl tracking-tight mb-4",children:e("Un accès sur demande","Access on request")}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Aucune souscription en ligne. Chaque dossier est qualifié puis présenté individuellement à l'établissement le plus pertinent.","No online subscription. Each case is qualified then presented individually to the most relevant institution.")})]}),t.jsx("ol",{className:"grid sm:grid-cols-2 gap-4",children:[{step:"01",t:e("Entretien de cadrage","Framing meeting"),d:e("Objectifs, résidence fiscale, horizon.","Objectives, tax residency, horizon.")},{step:"02",t:e("Qualification du dossier","Case qualification"),d:e("Origine des fonds et conformité.","Source of funds and compliance.")},{step:"03",t:e("Présentation bancaire","Bank introduction"),d:e("Sélection de l'établissement adapté.","Selection of the suitable institution.")},{step:"04",t:e("Ouverture et pilotage","Onboarding and steering"),d:e("Mise en place puis suivi continu.","Implementation then ongoing follow-up.")}].map((o,l)=>t.jsxs(S.li,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:l*.08,ease:el},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-sm text-secondary block mb-2",children:o.step}),t.jsx("h3",{className:"text-sm font-semibold mb-1",children:o.t}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.d})]},o.step))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:el},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl tracking-tight",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:a.map((o,l)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===l?null:l),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:o.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===l?"rotate-180":""}`})]}),n===l&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.a})})]},l))})]})}),t.jsx(Ft,{items:[{to:"/assurance-vie-luxembourgeoise",label:"Luxembourg",description:e("Assurance-vie et contrat de capitalisation luxembourgeois, l'autre pilier international.","Luxembourg life insurance and capitalisation contracts, the other international pillar."),eyebrow:"International"},{to:"/compte-titres",label:e("Compte-titres","Securities account"),description:e("Une détention française souple, complémentaire de vos avoirs suisses.","Flexible French custody, complementing your Swiss holdings."),eyebrow:e("Enveloppes","Wrappers")},{to:"/family-office",label:"Family Office",description:e("La coordination globale de patrimoines multi-juridictionnels.","Global coordination of multi-jurisdictional wealth."),eyebrow:e("Accompagnement","Advisory")}]}),t.jsx(re,{})]})},Kse=[.16,1,.3,1],sr=(e,n)=>new Intl.NumberFormat(n==="en"?"en-GB":"fr-FR",{style:"currency",currency:"EUR",maximumFractionDigits:0}).format(Math.round(isFinite(e)?e:0));function Ri({label:e,value:n,min:r,max:i,step:s,onChange:a,display:o}){return t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[t.jsx("span",{className:"text-[11px] tracking-[0.16em] uppercase text-muted-foreground",children:e}),t.jsx("span",{className:"font-display text-base tracking-tight",children:o})]}),t.jsx(Jr,{value:[n],min:r,max:i,step:s,onValueChange:l=>a(l[0])})]})}function Js({label:e,value:n,hint:r}){return t.jsxs("div",{className:"p-5 rounded-xl bg-card/60 border border-border/30",children:[t.jsx("p",{className:"text-[11px] tracking-[0.16em] uppercase text-muted-foreground mb-2",children:e}),t.jsx("p",{className:"font-display text-2xl tracking-tight",children:n}
654),r&&t.jsx("p",{className:"text-xs text-muted-foreground/80 mt-1.5",children:r})]})}function LS({eyebrow:e,title:n,children:r,disclaimer:i}){return t.jsx("section",{className:"py-24 border-t border-border/20 bg-muted/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Kse},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:n})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-10 p-8 md:p-10 rounded-2xl bg-card/40 border border-border/30",children:r}),t.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed mt-8",children:i})]})})}function Qse(){const{tr:e,lang:n}=K(),[r,i]=k.useState(1e6),[s,a]=k.useState(60),[o,l]=k.useState(4.5),c=r*s/100,u=c*o/100,d=s>0?c/.9:0,p=Math.max(0,1-d/r)*100;return t.jsxs(LS,{eyebrow:e("Simulateur","Simulator"),title:t.jsxs(t.Fragment,{children:[e("Estimer votre","Estimate your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("capacité d'avance","borrowing capacity")})]}),disclaimer:e("Simulation indicative, hors frais de dossier et hors décote spécifique par ligne. Un crédit vous engage et doit être remboursé. Les conditions définitives relèvent de l'établissement prêteur.","Indicative simulation, excluding arrangement fees and line-specific haircuts. A loan commits you and must be repaid. Final terms are set by the lending institution."),children:[t.jsxs("div",{className:"space-y-8",children:[t.jsx(Ri,{label:e("Portefeuille nanti","Pledged portfolio"),value:r,min:3e5,max:2e7,step:5e4,onChange:i,display:sr(r,n)}),t.jsx(Ri,{label:e("Quotité de financement","Loan-to-value"),value:s,min:30,max:90,step:5,onChange:a,display:`${s} %`}),t.jsx(Ri,{label:e("Taux annuel estimé","Estimated annual rate"),value:o,min:2,max:8,step:.1,onChange:l,display:`${o.toFixed(1)} %`})]}),t.jsxs("div",{className:"grid gap-4 content-start",children:[t.jsx(Js,{label:e("Capacité d'emprunt","Borrowing capacity"),value:sr(c,n),hint:e("Montant mobilisable sans céder vos positions.","Amount available without selling your positions.")}),t.jsx(Js,{label:e("Coût annuel des intérêts","Annual interest cost"),value:sr(u,n),hint:e("Soit environ","Around")+" "+sr(u/12,n)+e(" par mois, en prêt in fine."," per month, bullet loan.")}),t.jsx(Js,{label:e("Marge de sécurité","Safety buffer"),value:`${p.toFixed(0)} %`,hint:e("Baisse de valorisation absorbable avant appel de marge (seuil indicatif à 90 % de couverture).","Market drop absorbable before a margin call (indicative 90% coverage threshold).")})]})]})}function Yse(){const{tr:e,lang:n}=K(),[r,i]=k.useState(15e5),[s,a]=k.useState(60),[o,l]=k.useState(4.2),[c,u]=k.useState(15),[d,p]=k.useState(!1),m=r*s/100,h=k.useMemo(()=>{if(d)return m*o/100/12;const f=o/100/12,x=c*12;return f===0?m/x:m*f/(1-Math.pow(1+f,-x))},[m,o,c,d]),g=d?h*c*12:h*c*12-m;return t.jsxs(LS,{eyebrow:e("Simulateur","Simulator"),title:t.jsxs(t.Fragment,{children:[e("Ce que votre bien","What your property")," ",t.jsx("span",{className:"text-gradient-gold",children:e("peut libérer","can release")})]}),disclaimer:e("Estimation indicative hors assurance emprunteur, frais de garantie et frais de dossier. Un crédit vous engage et doit être remboursé. Vérifiez vos capacités de remboursement avant de vous engager.","Indicative estimate excluding borrower insurance, security and arrangement fees. A loan commits you and must be repaid."),children:[t.jsxs("div",{className:"space-y-8",children:[t.jsx(Ri,{label:e("Valeur du bien","Property value"),value:r,min:3e5,max:15e6,step:5e4,onChange:i,display:sr(r,n)}),t.jsx(Ri,{label:e("Quotité hypothécaire","Loan-to-value"),value:s,min:20,max:80,step:5,onChange:a,display:`${s} %`}),t.jsx(Ri,{label:e("Taux annuel estimé","Estimated annual rate"),value:o,min:2,max:7,step:.1,onChange:l,display:`${o.toFixed(1)} %`}),t.jsx(Ri,{label:e("Durée","Term"),value:c,min:5,max:25,step:1,onChange:u,display:`${c} ${e("ans","years")}`}),t.jsx("div",{className:"flex gap-2",children:[{k:!1,l:e("Amortissable","Amortising")},{k:!0,l:e("In fine","Bullet")}].map(f=>t.jsx("button",{onClick:()=>p(f.k),className:`flex-1 px-4 py-2.5 rounded-lg text-xs tracking-wide border transition-colors ${d===f.k?"bg-primary text-primary-foreground border-primary":"bg-transparent border-border/40 text-muted-foreground hover:border-primary/30"}`,children:f.l},String(f.k)))})]}),t.jsxs("div",{className:"grid gap-4 content-start",children:[t.jsx(Js,{label:e("Montant finançable","Financeable amount"),value:sr(m,n),hint:e("Capital mobilisable sans céder le bien.","Capital released without selling the asset.")}),t.jsx(Js,{label:d?e("Intérêts mensuels","Monthly interest"):e("Mensualité estimée","Estimated monthly payment"),value:sr(h,n),hint:d?e("Capital remboursé en une fois à l'échéance.","Principal repaid in one instalment at maturity."):void 0}),t.jsx(Js,{label:e("Coût total du crédit","Total credit cost"),value:sr(g,n)})]})]})}function Jse(){const{tr:e,lang:n}=K(),[r,i]=k.useState(2e6),[s,a]=k.useState(2e6),[o,l]=k.useState(1e6),[c,u]=k.useState(5),d=r*.65,p=s*.55,m=o*.25,h=d+
654p+m,g=r+s+o,f=g>0?h/g*100:0,x=h*c/100;return t.jsxs(LS,{eyebrow:e("Simulateur","Simulator"),title:t.jsxs(t.Fragment,{children:[e("Capacité d'un","Capacity of a")," ",t.jsx("span",{className:"text-gradient-gold",children:e("collatéral multi-actifs","multi-asset collateral")})]}),disclaimer:e("Décotes indicatives (65 % titres cotés, 55 % immobilier, 25 % participations non cotées). Chaque établissement applique sa propre grille. Un crédit vous engage et doit être remboursé.","Indicative haircuts (65% listed securities, 55% real estate, 25% unlisted holdings). Each institution applies its own grid. A loan commits you and must be repaid."),children:[t.jsxs("div",{className:"space-y-8",children:[t.jsx(Ri,{label:e("Portefeuille titres / assurance-vie","Securities / life insurance"),value:r,min:0,max:3e7,step:1e5,onChange:i,display:sr(r,n)}),t.jsx(Ri,{label:e("Immobilier détenu","Real estate held"),value:s,min:0,max:3e7,step:1e5,onChange:a,display:sr(s,n)}),t.jsx(Ri,{label:e("Participations non cotées","Unlisted holdings"),value:o,min:0,max:3e7,step:1e5,onChange:l,display:sr(o,n)}),t.jsx(Ri,{label:e("Taux annuel estimé","Estimated annual rate"),value:c,min:2,max:9,step:.1,onChange:u,display:`${c.toFixed(1)} %`})]}),t.jsxs("div",{className:"grid gap-4 content-start",children:[t.jsx(Js,{label:e("Dette envisageable","Contemplatable debt"),value:sr(h,n),hint:e("Somme des quotités par classe d'actifs.","Sum of advance ratios per asset class.")}),t.jsx(Js,{label:e("Quotité moyenne pondérée","Blended loan-to-value"),value:`${f.toFixed(0)} %`,hint:sr(g,n)+e(" d'actifs apportés en garantie."," of assets pledged as security.")}),t.jsx(Js,{label:e("Coût annuel des intérêts","Annual interest cost"),value:sr(x,n)})]})]})}const tl=[.16,1,.3,1],Xse=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{value:e("Dès 300 000 €","From €300,000"),label:e("Portefeuille nanti","Pledged portfolio")},{value:e("30 à 90 %","30 to 90%"),label:e("Quotité de financement","Loan-to-value")},{value:e("Quelques jours","A few days"),label:e("Délai de mise en place","Set-up time")}],s=[{icon:vR,title:e("Mobiliser sans vendre","Raise cash without selling"),desc:e("Le crédit Lombard est une avance de trésorerie garantie par le nantissement de votre portefeuille. Vos positions restent investies, votre allocation intacte.","A Lombard credit is a cash advance secured by the pledge of your portfolio. Your positions stay invested and your allocation untouched.")},{icon:Lt,title:e("Neutraliser le frottement fiscal","Avoid the tax friction"),desc:e("Céder des titres déclenche l'imposition des plus-values. Emprunter contre ces mêmes titres permet de financer un projet sans purger vos gains latents.","Selling securities triggers capital gains tax. Borrowing against the same securities funds a project without crystallising latent gains.")},{icon:IQ,title:e("Un effet de levier maîtrisé","Controlled leverage"),desc:e("La quotité dépend de la qualité des actifs nantis : obligations souveraines, fonds diversifiés, actions cotées ou contrat d'assurance-vie. Chaque ligne a sa décote.","The advance ratio depends on the quality of the pledged assets: sovereign bonds, diversified funds, listed equities or a life insurance policy. Each line has its haircut.")},{icon:TR,title:e("Souplesse d'utilisation","Flexible drawdown"),desc:e("Ligne de crédit renouvelable ou prêt in fine, en euros ou en devises, tirée en une fois ou par tranches selon vos besoins de trésorerie.","Revolving credit line or bullet loan, in euros or foreign currency, drawn at once or in tranches depending on your cash needs.")}],a=[{t:e("Financer une acquisition immobilière","Fund a property purchase"),d:e("Apporter les fonds rapidement, sans attendre l'arbitrage d'un portefeuille.","Provide funds quickly, without waiting to unwind a portfolio.")},{t:e("Saisir une opportunité privée","Seize a private opportunity"),d:e("Club deal, augmentation de capital, rachat de parts : la réactivité prime.","Club deal, capital increase, share buy-out: speed matters.")},{t:e("Lisser une trésorerie professionnelle","Smooth corporate cash flow"),d:e("Passer un décalage de trésorerie sans toucher à l'allocation long terme.","Bridge a cash gap without touching your long-term allocation.")},{t:e("Optimiser un calendrier fiscal","Optimise a tax calendar"),d:e("Décaler une cession sur un exercice plus favorable.","Shift a disposal to a more favourable tax year.")}],o=[{q:e("Quels actifs peuvent être nantis ?","Which assets can be pledged?"),a:e("Un compte-titres, un contrat d'assurance-vie ou de capitalisation, français ou luxembourgeois, parfois un portefeuille détenu en Suisse. Les liquidités et obligations d'État offrent les meilleures quotités, les actions individuelles les plus faibles.","A securities account, a French or Luxembourg life insurance or capitalisation contract, sometimes a Swiss-held portfolio. Cash and government bonds offer the highest ratios, single stocks the lowest.")},{q:e("Que se passe-t-il si les marchés baissent ?","What happens if markets fall?"),a:e("La valeur du gage baisse et la banque peut appeler une couverture c
654omplémentaire : apport de liquidités, nantissement additionnel ou remboursement partiel. C'est le principal risque du dispositif, raison pour laquelle nous calibrons systématiquement une marge de sécurité.","The collateral value falls and the bank may issue a margin call: additional cash, extra pledge or partial repayment. This is the main risk, which is why we always build in a safety margin.")},{q:e("Quel est le coût ?","What does it cost?"),a:e("Un taux indexé sur une référence de marché (€STR, SARON, SOFR) majoré d'une marge fonction du dossier et de la qualité du collatéral. Les intérêts sont généralement payés périodiquement, le capital remboursé in fine.","A rate indexed to a market benchmark (€STR, SARON, SOFR) plus a margin reflecting the case and the collateral quality. Interest is usually paid periodically, principal repaid at maturity.")},{q:e("Quel montant minimum ?","What is the minimum amount?"),a:e("Les établissements que nous mobilisons étudient les dossiers à partir de 300 000 € de portefeuille nanti. En deçà, l'intérêt économique est rarement démontré.","The institutions we work with review cases from €300,000 of pledged portfolio. Below that, the economics rarely stack up.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:"Crédit Lombard : mobiliser sans vendre | Colbr"}),t.jsx("meta",{name:"description",content:"Le crédit Lombard permet d'obtenir des liquidités en nantissant votre portefeuille, sans céder vos positions ni déclencher l'impôt. Étude sur mesure dès 300 000 €."}),t.jsx("link",{rel:"canonical",href:"https://colbr.co/credit-lombard"}),t.jsx("meta",{property:"og:title",content:"Crédit Lombard : mobiliser sans vendre | Colbr"}),t.jsx("meta",{property:"og:description",content:"Avance sur portefeuille : liquidités immédiates, allocation préservée, fiscalité différée."}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_70%_15%,hsl(var(--primary)/0.07),transparent_70%)]"}),t.jsx("div",{className:"container max-w-4xl mx-auto px-6 relative text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:tl},children:[t.jsxs("span",{className:"inline-flex items-center gap-2 text-[10px] tracking-[0.22em] uppercase text-secondary bg-secondary/10 border border-secondary/20 px-4 py-1.5 rounded-full mb-8",children:[t.jsx(dc,{className:"w-3.5 h-3.5"}),e("Financement","Financing")]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.4rem] leading-[1.1] tracking-tight mb-6",children:[e("Crédit Lombard :","Lombard credit:")," ",t.jsx("span",{className:"text-gradient-gold",children:e("de la liquidité sans céder vos actifs","liquidity without selling your assets")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-10 max-w-2xl mx-auto",children:e("Vendre pour financer un projet, c'est interrompre une stratégie et payer l'impôt sur des gains que l'on comptait conserver. L'avance sur portefeuille répond au besoin de trésorerie sans toucher à l'allocation.","Selling to fund a project means interrupting a strategy and paying tax on gains you meant to keep. A portfolio-backed advance meets the cash need without touching the allocation.")}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2cy1NzAfnRCmESMSX8llIoQ",title:e("Étudier une ligne Lombard","Explore a Lombard line"),description:e("Renseignez vos coordonnées : un conseiller vous recontacte pour chiffrer votre capacité d'avance.","Enter your details: an adviser will contact you to size your borrowing capacity."),eyebrow:e("Étude sur mesure","Bespoke review"),children:t.jsxs("button",{className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Estimer ma capacité","Size my capacity"),t.jsx(V,{className:"w-4 h-4"})]})})]})})]}),t.jsx("section",{className:"py-14 border-t border-border/20 bg-muted/30",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6 grid grid-cols-1 sm:grid-cols-3 gap-6",children:i.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:c*.08,ease:tl},className:"text-center",children:[t.jsx("p",{className:"font-display text-2xl md:text-3xl tracking-tight mb-2",children:l.value}),t.jsx("p",{className:"text-[11px] tracking-[0.18em] uppercase text-muted-foreground",children:l.label})]},l.label))})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:tl},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Le mécanisme","The mechanism")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Ce que permet","What a Lombard line")," ",t.jsx("span",{className:"text-gradient-gold",children:e("une ligne Lombard","makes possible")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:tl,delay:c*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(l.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:l.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:l.desc})]}
654,l.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-muted/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsx(S.h2,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:tl},className:"font-display text-3xl tracking-tight text-center mb-14",children:e("Quand y recourir","When it applies")}),t.jsx("div",{className:"grid sm:grid-cols-2 gap-4",children:a.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:c*.08,ease:tl},className:"p-6 rounded-2xl bg-card/60 border border-border/30",children:[t.jsx("h3",{className:"text-sm font-semibold mb-2",children:l.t}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:l.d})]},l.t))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:tl},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl tracking-tight",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:o.map((l,c)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===c?null:c),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:l.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===c?"rotate-180":""}`})]}),n===c&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:l.a})})]},c))}),t.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed mt-10",children:e("Un crédit vous engage et doit être remboursé. Le nantissement expose à un appel de couverture en cas de baisse des marchés, pouvant conduire à la cession forcée des actifs gagés. Toute demande est soumise à l'accord de l'établissement prêteur.","A loan commits you and must be repaid. Pledging exposes you to margin calls if markets fall, potentially forcing the sale of pledged assets. Any request is subject to the lender's approval.")})]})}),t.jsx(Qse,{}),t.jsx(Ft,{items:[{to:"/credit-hypothecaire",label:e("Crédit hypothécaire","Mortgage credit"),description:e("Financer sur la valeur d'un actif immobilier existant.","Borrow against the value of an existing property."),eyebrow:e("Financement","Financing")},{to:"/financements-complexes",label:e("Financements complexes","Complex financing"),description:e("Montages sur mesure : holding, cession, actifs atypiques.","Bespoke structures: holdings, disposals, atypical assets."),eyebrow:e("Financement","Financing")},{to:"/assurance-vie-luxembourgeoise",label:"Luxembourg",description:e("Le contrat luxembourgeois, c
654ollatéral privilégié des lignes Lombard.","The Luxembourg contract, a preferred collateral for Lombard lines."),eyebrow:"International"}]}),t.jsx($o,{items:[{to:"/blog/credit-lombard-luxembourgeois",eyebrow:"Comprendre",title:"À quoi sert un crédit lombard ?",description:"Mobiliser une liquidité sans rompre une allocation."},{to:"/assurance-vie-luxembourgeoise",eyebrow:"Support",title:"L’assurance-vie luxembourgeoise",description:"Le contrat le plus fréquemment nanti en garantie."},{to:"/credit-hypothecaire",eyebrow:"Alternative",title:"Le crédit hypothécaire",description:"Lorsque le collatéral est immobilier."},{to:"/financements-complexes",eyebrow:"Aller plus loin",title:"Les financements complexes",description:"Holdings, multi-collatéral et structures dédiées."}]}),t.jsx(re,{})]})},Zse="/assets/credit-hypothecaire-hero-deJWYWdc.jpg",Fa=[.16,1,.3,1],eae=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{icon:rn,title:e("Un actif immobilier déjà détenu","A property already owned"),desc:e("Résidence principale, secondaire ou immeuble de rapport, libre d'hypothèque ou partiellement financé : la valeur dormante devient une capacité de financement.","Principal or secondary residence, or an investment building, unencumbered or partly financed: dormant value becomes borrowing capacity.")},{icon:Eo,title:e("Une primo-acquisition à partir de 1 M€","A first-time acquisition from €1m"),desc:e("Résidence principale, secondaire ou actif patrimonial : le financement est structuré à partir de la solidité du patrimoine global, et pas seulement du revenu courant.","Primary or secondary residence, or a patrimonial asset: the financing is structured from the strength of the overall wealth, not just current income.")},{icon:wR,title:e("Un profil que les banques classent mal","A profile banks classify poorly"),desc:e("Non-résident, dirigeant rémunéré en dividendes, revenus internationaux ou patrimoine détenu via une structure : l'analyse porte sur l'actif, pas sur la fiche de paie.","Non-resident, director paid in dividends, international income or wealth held through a structure: the analysis focuses on the asset, not the payslip.")},{icon:GQ,title:e("Un besoin qui ne rentre pas dans une case","A need that fits no standard box"),desc:e("Rachat de soulte, financement de droits de succession, acquisition à l'étranger, apport pour une opération privée : le motif n'est pas nécessairement immobilier.","Buying out a co-heir, funding inheritance tax, purchasing abroad, providing equity for a private deal: the purpose need not be property-related.")},{icon:Lq,title:e("Une exécution discrète","Discreet execution"),desc:e("Un interlocuteur unique, une présentation soignée du dossier auprès de deux ou trois établissements pertinents, et rien de plus.","A single point of contact, a carefully prepared file presented to two or three relevant institutions, and nothing more.")}],s=[{step:"01",t:e("Conversation préalable","Initial conversation"),d:e("Comprendre l'actif, le besoin et le calendrier.","Understanding the asset, the need and the timing.")},{step:"02",t:e("Cadrage du montage","Structure framing"),d:e("Quotité, durée, amortissement ou in fine, devise.","Loan-to-value, term, amortising or bullet, currency.")},{step:"03",t:e("Présentation bancaire","Bank introduction"),d:e("Un dossier argumenté, adressé aux bons décideurs.","A well-argued file, addressed to the right decision-makers.")},{step:"04",t:e("Signature et suivi","Signing and follow-up"),d:e("Coordination avec le notaire jusqu'au déblocage.","Coordination with the notary through to release of funds.")}],a=[{q:e("Pouvez-vous accompagner une primo-acquisition ?","Can you support a first-time acquisition?"),a:e("Oui, à partir d'un montant de 1 000 000 €. L'apport personnel n'est pas l'unique critère : nous structurons le dossier autour de la solidité patrimoniale globale, de la liquidité et de la relation bancaire.","Yes, from €1 million. Personal contribution is not the only criterion: we build the file around the overall wealth strength, liquidity and banking relationship.")},{q:e("Faut-il justifier l'usage des fonds ?","Do I need to justify the use of funds?"),a:e("L'établissement demande une cohérence patr
654imoniale d'ensemble, mais le crédit hypothécaire n'impose pas que les fonds soient réinvestis dans l'immobilier. C'est précisément sa souplesse.","The lender expects overall consistency with your wealth position, but a mortgage loan does not require funds to be reinvested in property. That is precisely its flexibility.")},{q:e("Quelle quotité sur la valeur du bien ?","What loan-to-value can I expect?"),a:e("Généralement de 50 à 70 % de la valeur d'expertise, selon la localisation, la liquidité du bien et le profil de l'emprunteur. Les actifs prime parisiens et les stations alpines obtiennent les meilleures conditions.","Typically 50% to 70% of the appraised value, depending on location, liquidity and borrower profile. Prime Paris assets and Alpine resorts obtain the best terms.")},{q:e("Est-ce accessible aux non-résidents ?","Is it open to non-residents?"),a:e("Oui. C'est même l'un des usages les plus fréquents : financer ou refinancer un bien français depuis l'étranger, y compris lorsque les revenus sont perçus hors de France.","Yes. It is one of the most frequent uses: financing or refinancing a French property from abroad, including when income is earned outside France.")},{q:e("Pourquoi un fonctionnement sur demande ?","Why does it work on request?"),a:e("Parce qu'aucun de ces dossiers ne se ressemble. Il n'y a ni barème ni simulateur : chaque opération est négociée au cas par cas, en fonction de l'actif et de la relation bancaire.","Because no two cases are alike. There is no rate card and no simulator: each transaction is negotiated case by case, based on the asset and the banking relationship.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:"Crédit hypothécaire sur mesure | Colbr"}),t.jsx("meta",{name:"description",content:"Financer ou refinancer un actif immobilier existant : crédit hypothécaire haut de gamme, ouvert aux non-résidents et aux profils atypiques. Accès sur demande."}),t.jsx("link",{rel:"canonical",href:"https://colbr.co/credit-hypothecaire"}),t.jsx("meta",{property:"og:title",content:"Crédit hypothécaire sur mesure | Colbr"}),t.jsx("meta",{property:"og:description",content:"La valeur d'un bien détenu, transformée en capacité de financement. Étude confidentielle, sur demande."}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),t.jsx(ne,{}),t.jsxs("section",{className:"pt-28 pb-0",children:[t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Fa},className:"max-w-3xl",children:[t.jsx("span",{className:"text-[10px] tracking-[0.24em] uppercase text-secondary block mb-6",children:e("Sur demande","On request")}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.6rem] leading-[1.08] tracking-tight mb-7",children:[e("Crédit hypothécaire","Mortgage credit"),t.jsx("span",{className:"block text-gradient-gold",children:e("la pierre comme levier","property as leverage")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed max-w-2xl",children:e("Un bien détenu depuis vingt ans vaut souvent plus que ce qu'il rapporte. L'hypothèque en libère la valeur, sans le vendre. Nous intervenons également sur les primo-acquisitions à partir de 1 000 000 €.","A property held for twenty years is often worth more than it yields. A mortgage releases that value without selling it. We also support first-time acquisitions from €1 million.")})]})}),t.jsx(S.div,{initial:{opacity:0}
654,animate:{opacity:1},transition:{duration:1,ease:Fa,delay:.15},className:"mt-14",children:t.jsx("img",{src:Zse,alt:e("Façade haussmannienne parisienne à la lumière dorée","Parisian Haussmannian facade in golden light"),width:1600,height:1008,className:"w-full h-[42vh] md:h-[58vh] object-cover"})})]}),t.jsx("section",{className:"py-24 border-b border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:[t.jsx(S.p,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Fa},className:"font-display text-2xl md:text-[1.75rem] leading-[1.45] tracking-tight",children:e("Nous ne distribuons pas de crédit. Nous construisons un dossier, le défendons auprès des établissements qui savent lire un patrimoine, et négocions les conditions.","We do not distribute loans. We build a file, defend it before institutions that know how to read a balance sheet, and negotiate the terms.")}),t.jsx("div",{className:"mt-10",children:t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2cy1NzAfnRCmESMSX8llIoQ",title:e("Étudier un crédit hypothécaire","Explore a mortgage loan"),description:e("Renseignez vos coordonnées : un conseiller vous recontacte pour qualifier votre dossier en toute confidentialité.","Enter your details: an adviser will contact you to qualify your case confidentially."),eyebrow:e("Accès sur demande","Access on request"),children:t.jsxs("button",{className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Demander une étude","Request a review"),t.jsx(V,{className:"w-4 h-4"})]})})})]})}),t.jsx("section",{className:"py-24",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Fa},className:"mb-16 max-w-2xl",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Les situations","Situations")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:e("Cinq configurations que nous traitons","Five configurations we handle")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:i.map((o,l)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Fa,delay:l*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(o.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:o.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.desc})]},o.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-muted/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsx(S.h2,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Fa},className:"font-display text-3xl tracking-tight text-center mb-14",children:e("Comment nous procédons","How we proceed")}),t.jsx("ol",{className:"grid sm:grid-cols-2 gap-4",children:s.map((o,l)=>t.jsxs(S.li,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:l*.08,ease:Fa},className:"p-6 rounded-2xl bg-card/60 border border-border/30",children:[t.jsx("span",{className:"font-display text-sm text-secondary block mb-2",children:o.step}),t.jsx("h3",{className:"text-sm font-semibold mb-1",children:o.t}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.d})]},o.step))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Fa},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl tracking-tight",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:a.map((o,l)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===l?null:l),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:o.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===l?"rotate-180":""}`})]}),n===l&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.a})})]},l))}
654),t.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed mt-10",children:e("Un crédit vous engage et doit être remboursé. L'inscription d'une hypothèque expose le bien financé à une procédure de saisie en cas de défaut. Toute demande est soumise à l'accord de l'établissement prêteur.","A loan commits you and must be repaid. A registered mortgage exposes the financed property to enforcement proceedings in the event of default. Any request is subject to the lender's approval.")})]})}),t.jsx(Yse,{}),t.jsx(Ft,{items:[{to:"/credit-lombard",label:e("Crédit Lombard","Lombard credit"),description:e("Mobiliser un portefeuille financier plutôt qu'un bien immobilier.","Borrow against a financial portfolio rather than a property."),eyebrow:e("Financement","Financing")},{to:"/financements-complexes",label:e("Financements complexes","Complex financing"),description:e("Holding, apport-cession, actifs atypiques : les montages hors normes.","Holdings, roll-overs, atypical assets: out-of-the-ordinary structures."),eyebrow:e("Financement","Financing")},{to:"/family-office",label:"Family Office",description:e("La coordination d'ensemble d'un patrimoine et de ses financements.","Overall coordination of an estate and its financing."),eyebrow:e("Accompagnement","Advisory")}]}),t.jsx(re,{})]})},Sc=[.16,1,.3,1],tae=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{icon:$Q,title:e("Financement de holding","Holding company financing"),desc:e("Dette au niveau de la structure faîtière, adossée aux titres de participation ou aux flux de dividendes remontés des filiales.","Debt at holding level, secured on shareholdings or on dividend flows from subsidiaries.")},{icon:Bb,title:e("Opérations de haut de bilan","Equity-linked transactions"),desc:e("Rachat de minoritaires, OBO, réinvestissement post-cession dans le cadre du 150-0 B ter : la dette accompagne la réorganisation du capital.","Minority buy-outs, OBOs, post-disposal reinvestment under article 150-0 B ter: debt supports the capital reorganisation.")},{icon:la,title:e("Collatéral multi-actifs","Multi-asset collateral"),desc:e("Combiner portefeuille titres, contrat luxembourgeois, immobilier et parts de SCPI dans un même paquet de garanties, souvent réparti sur plusieurs juridictions.","Combining a securities portfolio, a Luxembourg contract, real estate and SCPI units into a single collateral package, often across several jurisdictions.")},{icon:St,title:e("Actifs atypiques","Atypical assets"),desc:e("Œuvres d'art, actifs viticoles, forêts, participations non cotées : des sous-jacents que peu d'établissements savent valoriser et financer.","Artworks, vineyards, forestry, unlisted holdings: underlyings that few institutions know how to value and finance.")}],s=[{step:"01",t:e("Diagnostic patrimonial","Wealth diagnosis"),d:e("Cartographie des actifs, des dettes existantes et des contraintes fiscales.","Mapping of assets, existing debt and tax constraints.")},{step:"02",t:e("Architecture du montage","Structure design"),d:e("Choix des véhicules, des sûretés et de la séquence d'exécution.","Choice of vehicles, security package and execution sequence.")},{step:"03",t:e("Mise en concurrence","Competitive process"),d:e("Consultation simultanée de banques privées françaises, luxembourgeoises et suisses.","Simultaneous approach to French, Luxembourg and Swiss private banks.")},{step:"04",t:e("Coordination des conseils","Adviser coordination"),d:e("Avocat, notaire, expert-comptable et banquier alignés sur un même calendrier.","Lawyer, notary, accountant and banker aligned on a single timetable.")},{step:"05",t:e("Exécution et suivi","Execution and monitoring"),d:e("Closing, puis surveillance des covenants et des ratios de couverture.","Closing, then monitoring of covenants and coverage ratios.")}],a=[{q:e("À partir de quel niveau intervenez-vous ?","At what level do you step in?"),a:e("Ces montages mobilisent des équipes de crédit dédiées. Ils prennent tout leur sens à partir de plusieurs centaines de milliers d'euros de dette envisagée, ou lorsque plusieurs juridictions sont concernées.","These structures mobilise dedicated credit teams. They make sense from several hundred thous
654and euros of contemplated debt, or when several jurisdictions are involved.")},{q:e("Êtes-vous courtier ou conseil ?","Are you a broker or an adviser?"),a:e("Nous intervenons comme architecte du financement : nous concevons le montage, sélectionnons les établissements et négocions les termes. Le crédit est ensuite porté par la banque retenue.","We act as the financing architect: we design the structure, select the institutions and negotiate terms. The loan is then carried by the chosen bank.")},{q:e("Combien de temps prend une opération ?","How long does a transaction take?"),a:e("De six à douze semaines en moyenne, selon la complexité des sûretés et le nombre d'intervenants. Une ligne adossée à un portefeuille existant peut aller nettement plus vite.","Six to twelve weeks on average, depending on the complexity of the security package and the number of parties. A line secured on an existing portfolio can move much faster.")},{q:e("Travaillez-vous avec nos conseils habituels ?","Do you work with our existing advisers?"),a:e("Systématiquement. Nous nous insérons dans l'écosystème existant, avocat fiscaliste et expert-comptable compris, plutôt que de le remplacer.","Always. We slot into the existing ecosystem, tax lawyer and accountant included, rather than replacing it.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:"Financements complexes et montages sur mesure | Colbr"}),t.jsx("meta",{name:"description",content:"Financement de holding, opérations de haut de bilan, collatéral multi-actifs et actifs atypiques : Colbr conçoit et négocie les montages de dette hors normes."}),t.jsx("link",{rel:"canonical",href:"https://colbr.co/financements-complexes"}),t.jsx("meta",{property:"og:title",content:"Financements complexes et montages sur mesure | Colbr"}),t.jsx("meta",{property:"og:description",content:"Holding, OBO, apport-cession, collatéral multi-juridictionnel : l'architecture du financement patrimonial."}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_15%,hsl(var(--accent)/0.09),transparent_70%)]"}),t.jsx("div",{className:"container max-w-4xl mx-auto px-6 relative text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Sc},children:[t.jsxs("span",{className:"inline-flex items-center gap-2 text-[10px] tracking-[0.22em] uppercase text-secondary bg-secondary/10 border border-secondary/20 px-4 py-1.5 rounded-full mb-8",children:[t.jsx(dc,{className:"w-3.5 h-3.5"}),e("Sur demande","On request")]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.4rem] leading-[1.1] tracking-tight mb-6",children:[e("Financements complexes :","Complex financing:")," ",t.jsx("span",{className:"text-gradient-gold",children:e("quand aucun barème ne s'applique","when no rate card applies")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-10 max-w-2xl mx-auto",children:e("Certains dossiers ne se logent dans aucune grille : plusieurs entités, plusieurs pays, un collatéral hétérogène et un calendrier fiscal contraint. Ils se construisent, se défendent et se négocient.","Some cases fit no grid: several entities, several countries, heterogeneous collateral and a constrained tax calendar. They have to be built, defended and negotiated.")}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2cy1NzAfnRCmESMSX8llIoQ",title:e("Présenter une opération","Submit a transaction"),description:e("Renseignez vos coordonnées : un conseiller vous recontacte pour cadrer le montage.","Enter your details: an adviser will contact you to frame the structure."),eyebrow:e("Étude confidentielle","Confidential review"),children:t.jsxs("button",{className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Présenter mon opération","Submit my transaction"),t.jsx(V,{className:"w-4 h-4"})]})})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sc},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Nos terrains","Our ground")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Quatre familles","Four families")," ",t.jsx("span",{className:"text-gradient-gold",children:e("d'opérations","of transactions")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:i.map((o,l)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Sc,delay:l*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(o.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:o.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.desc})]},o.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-muted/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsx(S.h2,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sc},className:"font-display text-3xl tracking-tight text-center mb-14",children:e("Notre méthode","Our method")}),t.jsx("ol",{className:"space-y-3",children:s.map((o,l)=>t.jsxs(S.li,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:l*.07,ease:Sc},className:"flex gap-5 p-6 rounded-2xl bg-card/60 border border-border/30",children:[t.jsx("span",{className:"font-display text-sm text-secondary shrink-0 pt-0.5",children:o.step}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-sm font-semibold mb-1",children:o.t}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.d})]})]},o.step))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sc},className:"text-center mb-16",children:t.jsx("h2",{className:"font-display text-3xl tracking-tight",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:a.map((o,l)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===l?null:l),className:"w-full flex items-center justify-between p-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:o.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===l?"rotate-180":""}`})]}),n===l&&t.jsx("div",{className:"px-5 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:o.a})})]},l))}
vendor: 4,632 bytes, line 654
654),t.jsx("p",{className:"text-xs text-muted-foreground/70 leading-relaxed mt-10",children:e("Un crédit vous engage et doit être remboursé. Les montages présentés sont indicatifs et ne constituent ni une offre de prêt ni un conseil fiscal. Toute opération est soumise à l'accord des établissements prêteurs.","A loan commits you and must be repaid. The structures described are indicative and constitute neither a loan offer nor tax advice. Any transaction is subject to lender approval.")})]})}),t.jsx(Jse,{}),t.jsx(Ft,{items:[{to:"/credit-lombard",label:e("Crédit Lombard","Lombard credit"),description:e("L'avance sur portefeuille, brique de base de nombreux montages.","The portfolio advance, a building block of many structures."),eyebrow:e("Financement","Financing")},{to:"/credit-hypothecaire",label:e("Crédit hypothécaire","Mortgage credit"),description:e("Mobiliser la valeur d'un actif immobilier détenu.","Unlock the value of a property you already own."),eyebrow:e("Financement","Financing")},{to:"/gestion-privee/apport-cession-150-0-b-ter",label:"150-0 B ter",description:e("Le réinvestissement post-cession, souvent financé par effet de levier.","Post-disposal reinvestment, often funded with leverage."),eyebrow:e("Fiscalité","Tax")}]}),t.jsx(re,{})]})},nae="/assets/logo-altaroc-C5Q4zZGy.png",rae="/assets/logo-rothschild-BuQfZZTK.png",iae="/assets/logo-committed-W1TNS9xR.png",sae="/assets/logo-ardian-LBeCSsEj.png",aae="/assets/logo-eqt-DNX8Q9mD.png",oae="/assets/logo-neuberger-C3BL4zJI.png";var lae=Array.isArray,hr=lae,cae=typeof lo=="object"&&lo&&lo.Object===Object&&lo,Y8=cae,uae=Y8,dae=typeof self=="object"&&self&&self.Object===Object&&self,pae=uae||dae||Function("return this")(),qs=pae,mae=qs,hae=mae.Symbol,sf=hae,eA=sf,J8=Object.prototype,fae=J8.hasOwnProperty,gae=J8.toString,mp=eA?eA.toStringTag:void 0;function xae(e){var n=fae.call(e,mp),r=e[mp];try{e[mp]=void 0;var i=!0}catch{}var s=gae.call(e);return i&&(n?e[mp]=r:delete e[mp]),s}var vae=xae,bae=Object.prototype,yae=bae.toString;function jae(e){return yae.call(e)}var wae=jae,tA=sf,Nae=vae,kae=wae,qae="[object Null]",Sae="[object Undefined]",nA=tA?tA.toStringTag:void 0;function Cae(e){return e==null?e===void 0?Sae:qae:nA&&nA in Object(e)?Nae(e):kae(e)}var ya=Cae;function Pae(e){return e!=null&&typeof e=="object"}var ja=Pae,Eae=ya,Tae=ja,Iae="[object Symbol]";function Aae(e){return typeof e=="symbol"||Tae(e)&&Eae(e)==Iae}var Fd=Aae,Lae=hr,Fae=Fd,_ae=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Oae=/^\w*$/;function Rae(e,n){if(Lae(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Fae(e)?!0:Oae.test(e)||!_ae.test(e)||n!=null&&e in Object(n)}var FS=Rae;function Dae(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Bo=Dae;const _d=Ue(Bo);var Mae=ya,$ae=Bo,Bae="[object AsyncFunction]",zae="[object Function]",Uae="[object GeneratorFunction]",Vae="[object Proxy]";function Wae(e){if(!$ae(e))return!1;var n=Mae(e);return n==zae||n==Uae||n==Bae||n==Vae}var _S=Wae;const Pe=Ue(_S);var Hae=qs,Gae=Hae["__core-js_shared__"],Kae=Gae,vj=Kae,rA=function(){var e=/[^.]+$/.exec(vj&&vj.keys&&vj.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Qae(e){return!!rA&&rA in e}var Yae=Qae,Jae=Function.prototype,Xae=Jae.toString;function Zae(e){if(e!=null){try{return Xae.call(e)}catch{}try{return e+""}catch{}}return""}var X8=Zae,eoe=_S,toe=Yae,noe=Bo,roe=X8,ioe=/[\\^$.*+?()[\]{}|]/g,soe=/^\[object .+?Constructor\]$/,aoe=Function.prototype,ooe=Object.prototype,loe=aoe.toString,coe=ooe.hasOwnProperty,uoe=RegExp("^"+loe.call(coe).replace(ioe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function doe(e){if(!noe(e)||toe(e))return!1;var n=eoe(e)?uoe:soe;return n.test(roe(e))}var poe=doe;function moe(e,n){return e==null?void 0:e[n]}var hoe=moe,foe=poe,goe=hoe;function xoe(e,n){var r=goe(e,n);return foe(r)?r:void 0}var mc=xoe,voe=mc,boe=voe(Object,"create"),sy=boe,iA=sy;function yoe(){this.__data__=iA?iA(null):{},this.size=0}var joe=yoe;function woe(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Noe=woe,koe=sy,qoe="__lodash_hash_undefined__",Soe=Object.prototype,Coe=Soe.hasOwnProperty;function Poe(e){var n=this.__data__;if(koe){var r=n[e];return r===qoe?void 0:r}return Coe.call(n,e)?n[e]:void 0}var Eoe=Poe,Toe=sy,Ioe=Object.prototype,Aoe=Ioe.hasOwnProperty;function Loe(e){var n=this.__data__;return Toe?n[e]!==void 0:Aoe.call(n,e)}var Foe=Loe,_oe=sy,Ooe="__lodash_hash_undefined__";function Roe(e,n){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=_oe&&n===void 0?Ooe:n,this}
654var Doe=Roe,Moe=joe,$oe=Noe,Boe=Eoe,zoe=Foe,Uoe=Doe;function Od(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var i=e[n];this.set(i[0],i[1])}}Od.prototype.clear=Moe;Od.prototype.delete=$oe;Od.prototype.get=Boe;Od.prototype.has=zoe;Od.prototype.set=Uoe;var Voe=Od;function Woe(){this.__data__=[],this.size=0}var Hoe=Woe;function Goe(e,n){return e===n||e!==e&&n!==n}var OS=Goe,Koe=OS;function Qoe(e,n){for(var r=e.length;r--;)if(Koe(e[r][0],n))return r;return-1}var ay=Qoe,Yoe=ay,Joe=Array.prototype,Xoe=Joe.splice;function Zoe(e){var n=this.__data__,r=Yoe(n,e);if(r<0)return!1;var i=n.length-1;return r==i?n.pop():Xoe.call(n,r,1),--this.size,!0}var ele=Zoe,tle=ay;function nle(e){var n=this.__data__,r=tle(n,e);return r<0?void 0:n[r][1]}var rle=nle,ile=ay;function sle(e){return ile(this.__data__,e)>-1}var ale=sle,ole=ay;function lle(e,n){var r=this.__data__,i=ole(r,e);return i<0?(++this.size,r.push([e,n])):r[i][1]=n,this}var cle=lle,ule=Hoe,dle=ele,ple=rle,mle=ale,hle=cle;function Rd(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var i=e[n];this.set(i[0],i[1])}}Rd.prototype.clear=ule;Rd.prototype.delete=dle;Rd.prototype.get=ple;Rd.prototype.has=mle;Rd.prototype.set=hle;var oy=Rd,fle=mc,gle=qs,xle=fle(gle,"Map"),RS=xle,sA=Voe,vle=oy,ble=RS;function yle(){this.size=0,this.__data__={hash:new sA,map:new(ble||vle),string:new sA}}var jle=yle;function wle(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}var Nle=wle,kle=Nle;function qle(e,n){var r=e.__data__;return kle(n)?r[typeof n=="string"?"string":"hash"]:r.map}var ly=qle,Sle=ly;function Cle(e){var n=Sle(this,e).delete(e);return this.size-=n?1:0,n}var Ple=Cle,Ele=ly;function Tle(e){return Ele(this,e).get(e)}var Ile=Tle,Ale=ly;function Lle(e){return Ale(this,e).has(e)}var Fle=Lle,_le=ly;function Ole(e,n){var r=_le(this,e),i=r.size;return r.set(e,n),this.size+=r.size==i?0:1,this}var Rle=Ole,Dle=jle,Mle=Ple,$le=Ile,Ble=Fle,zle=Rle;function Dd(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var i=e[n];this.set(i[0],i[1])}}Dd.prototype.clear=Dle;Dd.prototype.delete=Mle;Dd.prototype.get=$le;Dd.prototype.has=Ble;Dd.prototype.set=zle;var DS=Dd,Z8=DS,Ule="Expected a function";function MS(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Ule);var r=function(){var i=arguments,s=n?n.apply(this,i):i[0],a=r.cache;if(a.has(s))return a.get(s);var o=e.apply(this,i);return r.cache=a.set(s,o)||a,o};return r.cache=new(MS.Cache||Z8),r}MS.Cache=Z8;var e$=MS;const Vle=Ue(e$);var Wle=e$,Hle=500;function Gle(e){var n=Wle(e,function(i){return r.size===Hle&&r.clear(),i}),r=n.cache;return n}var Kle=Gle,Qle=Kle,Yle=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jle=/\\(\\)?/g,Xle=Qle(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Yle,function(r,i,s,a){n.push(s?a.replace(Jle,"$1"):i||r)}),n}),Zle=Xle;function ece(e,n){for(var r=-1,i=e==null?0:e.length,s=Array(i);++r<i;)s[r]=n(e[r],r,e);return s}var $S=ece,aA=sf,tce=$S,nce=hr,rce=Fd,ice=1/0,oA=aA?aA.prototype:void 0,lA=oA?oA.toString:void 0;function t$(e){if(typeof e=="string")return e;if(nce(e))return tce(e,t$)+"";if(rce(e))return lA?lA.call(e):"";var n=e+"";return n=="0"&&1/e==-ice?"-0":n}var sce=t$,ace=sce;function oce(e){return e==null?"":ace(e)}var n$=oce,lce=hr,cce=FS,uce=Zle,dce=n$;function pce(e,n){return lce(e)?e:cce(e,n)?[e]:uce(dce(e))}var r$=pce,mce=Fd,hce=1/0;function fce(e){if(typeof e=="string"||mce(e))return e;var n=e+"";return n=="0"&&1/e==-hce?"-0":n}var cy=fce,gce=r$,xce=cy;function vce(e,n){n=gce(n,e);for(var r=0,i=n.length;e!=null&&r<i;)e=e[xce(n[r++])];return r&&r==i?e:void 0}var BS=vce,bce=BS;function yce(e,n,r){var i=e==null?void 0:bce(e,n);return i===void 0?r:i}var i$=yce;const oi=Ue(i$);function jce(e){return e==null}var wce=jce;const Fe=Ue(wce);var Nce=ya,kce=hr,qce=ja,Sce="[object String]";function Cce(e){return typeof e=="string"||!kce(e)&&qce(e)&&Nce(e)==Sce}var Pce=Cce;const nc=Ue(Pce);var s$={exports:{}},Xe={};/**
655 * @license React
656 * react-is.production.min.js
657 *
658 * Copyright (c) Facebook, Inc. and its affiliates.
659 *
660 * This source code is licensed under the MIT license found in the
661 * LICENSE file in the root directory of this source tree.
662 */var zS=Symbol.for("react.element"),US=Symbol.for("react.portal"),uy=Symbol.for("react.fragment"),dy=Symbol.for("react.strict_mode"),py=Symbol.for("react.profiler"),my=Symbol.for("react.provider"),hy=Symbol.for("react.context"),Ece=Symbol.for("react.server_context"),fy=Symbol.for("react.forward_ref"),gy=Symbol.for("react.suspense"),xy=Symbol.for("react.suspense_list"),vy=Symbol.for("react.memo"),by=Symbol.for("react.lazy"),Tce=Symbol.for("react.offscreen"),a$;a$=Symbol.for("react.module.reference");function pi(e){if(typeof e=="object"&&e!==null){var n=e.$$typeof;switch(n){case zS:switch(e=e.type,e){case uy:case py:case dy:case gy:case xy:return e;default:switch(e=e&&e.$$typeof,e){case Ece:case hy:case fy:case by:case vy:case my:return e;default:return n}}case US:return n}}}Xe.ContextConsumer=hy;Xe.ContextProvider=my;Xe.Element=zS;Xe.ForwardRef=fy;Xe.Fragment=uy;Xe.Lazy=by;Xe.Memo=vy;Xe.Portal=US;Xe.Profiler=py;Xe.StrictMode=dy;Xe.Suspense=gy;Xe.SuspenseList=xy;Xe.isAsyncMode=function(){return!1};Xe.isConcurrentMode=function(){return!1};Xe.isContextConsumer=function(e){return pi(e)===hy};Xe.isContextProvider=function(e){return pi(e)===my};Xe.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===zS};Xe.isForwardRef=function(e){return pi(e)===fy};Xe.isFragment=function(e){return pi(e)===uy};Xe.isLazy=function(e){return pi(e)===by};Xe.isMemo=function(e){return pi(e)===vy};Xe.isPortal=function(e){return pi(e)===US};Xe.isProfiler=function(e){return pi(e)===py};Xe.isStrictMode=function(e){return pi(e)===dy};Xe.isSuspense=function(e){return pi(e)===gy};Xe.isSuspenseList=function(e){return pi(e)===xy};Xe.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===uy||e===py||e===dy||e===gy||e===xy||e===Tce||typeof e=="object"&&e!==null&&(e.$$typeof===by||e.$$typeof===vy||e.$$typeof===my||e.$$typeof===hy||e.$$typeof===fy||e.$$typeof===a$||e.getModuleId!==void 0)};Xe.typeOf=pi;s$.exports=Xe;var Ice=s$.exports,Ace=ya,Lce=ja,Fce="[object Number]";function _ce(e){return typeof e=="number"||Lce(e)&&Ace(e)==Fce}var o$=_ce;const Oce=Ue(o$);var Rce=o$;function Dce(e){return Rce(e)&&e!=+e}var Mce=Dce;const Md=Ue(Mce);var Di=function(n){return n===0?0:n>0?1:-1},wl=function(n){return nc(n)&&n.indexOf("%")===n.length-1},ie=function(n){return Oce(n)&&!Md(n)},$ce=function(n){return Fe(n)},nn=function(n){return ie(n)||nc(n)},Bce=0,af=function(n){var r=++Bce;return"".concat(n||"").concat(r)},rc=function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ie(n)&&!nc(n))return i;var a;if(wl(n)){var o=n.indexOf("%");a=r*parseFloat(n.slice(0,o))/100}else a=+n;return Md(a)&&(a=i),s&&a>r&&(a=r),a},Ja=function(n){if(!n)return null;var r=Object.keys(n);return r&&r.length?n[r[0]]:null},zce=function(n){if(!Array.isArray(n))return!1;for(var r=n.length,i={},s=0;s<r;s++)if(!i[n[s]])i[n[s]]=!0;else return!0;return!1},ni=function(n,r){return ie(n)&&ie(r)?function(i){return n+i*(r-n)}:function(){return r}};function lv(e,n,r){return!e||!e.length?null:e.find(function(i){return i&&(typeof n=="function"?n(i):oi(i,n))===r})}var Uce=function(n,r){return ie(n)&&ie(r)?n-r:nc(n)&&nc(r)?n.localeCompare(r):n instanceof Date&&r instanceof Date?n.getTime()-r.getTime():String(n).localeCompare(String(r))};function yu(e,n){for(var r in e)if({}.hasOwnProperty.call(e,r)&&(!{}.hasOwnProperty.call(n,r)||e[r]!==n[r]))return!1;for(var i in n)if({}.hasOwnProperty.call(n,i)&&!{}.hasOwnProperty.call(e,i))return!1;return!0}function E2(e){"@babel/helpers - typeof";return E2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},E2(e)}var Vce=["viewBox","children"],Wce=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRen
662dering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],cA=["points","pathLength"],bj={svg:Vce,polygon:cA,polyline:cA},VS=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDrag
662Capture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],cv=function(n,r){if(!n||typeof n=="function"||typeof n=="boolean")return null;var i=n;if(k.isValidElement(n)&&(i=n.props),!_d(i))return null;var s={};
vendor: 4,081 bytes, line 662
662return Object.keys(i).forEach(function(a){VS.includes(a)&&(s[a]=r||function(o){return i[a](i,o)})}),s},Hce=function(n,r,i){return function(s){return n(r,i,s),null}},uv=function(n,r,i){if(!_d(n)||E2(n)!=="object")return null;var s=null;return Object.keys(n).forEach(function(a){var o=n[a];VS.includes(a)&&typeof o=="function"&&(s||(s={}),s[a]=Hce(o,r,i))}),s},Gce=["children"],Kce=["children"];function uA(e,n){if(e==null)return{};var r=Qce(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function Qce(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function T2(e){"@babel/helpers - typeof";return T2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},T2(e)}var dA={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},Xs=function(n){return typeof n=="string"?n:n?n.displayName||n.name||"Component":""},pA=null,yj=null,WS=function e(n){if(n===pA&&Array.isArray(yj))return yj;var r=[];return k.Children.forEach(n,function(i){Fe(i)||(Ice.isFragment(i)?r=r.concat(e(i.props.children)):r.push(i))}),yj=r,pA=n,r};function Bi(e,n){var r=[],i=[];return Array.isArray(n)?i=n.map(function(s){return Xs(s)}):i=[Xs(n)],WS(e).forEach(function(s){var a=oi(s,"type.displayName")||oi(s,"type.name");i.indexOf(a)!==-1&&r.push(s)}),r}function Sr(e,n){var r=Bi(e,n);return r&&r[0]}var mA=function(n){if(!n||!n.props)return!1;var r=n.props,i=r.width,s=r.height;return!(!ie(i)||i<=0||!ie(s)||s<=0)},Yce=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],Jce=function(n){return n&&n.type&&nc(n.type)&&Yce.indexOf(n.type)>=0},Xce=function(n){return n&&T2(n)==="object"&&"clipDot"in n},Zce=function(n,r,i,s){var a,o=(a=bj==null?void 0:bj[s])!==null&&a!==void 0?a:[];return r.startsWith("data-")||!Pe(n)&&(s&&o.includes(r)||Wce.includes(r))||i&&VS.includes(r)},Ie=function(n,r,i){if(!n||typeof n=="function"||typeof n=="boolean")return null;var s=n;if(k.isValidElement(n)&&(s=n.props),!_d(s))return null;var a={};return Object.keys(s).forEach(function(o){var l;Zce((l=s)===null||l===void 0?void 0:l[o],o,r,i)&&(a[o]=s[o])}),a},I2=function e(n,r){if(n===r)return!0;var i=k.Children.count(n);if(i!==k.Children.count(r))return!1;if(i===0)return!0;if(i===1)return hA(Array.isArray(n)?n[0]:n,Array.isArray(r)?r[0]:r);for(var s=0;s<i;s++){var a=n[s],o=r[s];if(Array.isArray(a)||Array.isArray(o)){if(!e(a,o))return!1}else if(!hA(a,o))return!1}return!0},hA=function(n,r){if(Fe(n)&&Fe(r))return!0;if(!Fe(n)&&!Fe(r)){var i=n.props||{},s=i.children,a=uA(i,Gce),o=r.props||{},l=o.children,c=uA(o,Kce);return s&&l?yu(a,c)&&I2(s,l):!s&&!l?yu(a,c):!1}return!1},fA=function(n,r){var i=[],s={};
662return WS(n).forEach(function(a,o){if(Jce(a))i.push(a);else if(a){var l=Xs(a.type),c=r[l]||{},u=c.handler,d=c.once;if(u&&(!d||!s[l])){var p=u(a,l,o);i.push(p),s[l]=!0}}}),i},eue=function(n){var r=n&&n.type;return r&&dA[r]?dA[r]:null},tue=function(n,r){return WS(r).indexOf(n)},nue=["children","width","height","viewBox","className","style","title","desc"];function A2(){return A2=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},A2.apply(this,arguments)}function rue(e,n){if(e==null)return{};var r=iue(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function iue(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function L2(e){var n=e.children,r=e.width,i=e.height,s=e.viewBox,a=e.className,o=e.style,l=e.title,c=e.desc,u=rue(e,nue),d=s||{width:r,height:i,x:0,y:0},p=Re("recharts-surface",a);return L.createElement("svg",A2({},Ie(u,!0,"svg"),{className:p,width:r,height:i,style:o,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height)}),L.createElement("title",null,l),L.createElement("desc",null,c),n)}var sue=["children","className"];function F2(){return F2=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},F2.apply(this,arguments)}function aue(e,n){if(e==null)return{};var r=oue(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function oue(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}var kt=L.forwardRef(function(e,n){var r=e.children,i=e.className,s=aue(e,sue),a=Re("recharts-layer",i);return L.createElement("g",F2({className:a},Ie(s,!0),{ref:n}),r)}),Zs=function(n,r){for(var i=arguments.length,s=new Array(i>2?i-2:0),a=2;a<i;a++)s[a-2]=arguments[a]};function lue(e,n,r){var i=-1,s=e.length;n<0&&(n=-n>s?0:s+n),r=r>s?s:r,r<0&&(r+=s),s=n>r?0:r-n>>>0,n>>>=0;for(var a=Array(s);++i<s;)a[i]=e[i+n];return a}var cue=lue,uue=cue;function due(e,n,r){var i=e.length;return r=r===void 0?i:r,!n&&r>=i?e:uue(e,n,r)}var pue=due,mue="\\ud800-\\udfff",hue="\\u0300-\\u036f",fue="\\ufe20-\\ufe2f",gue="\\u20d0-\\u20ff",xue=hue+fue+gue,vue="\\ufe0e\\ufe0f",bue="\\u200d",yue=RegExp("["+bue+mue+xue+vue+"]");function jue(e){return yue.test(e)}var l$=jue;function wue(e){return e.split("")}var Nue=wue,c$="\\ud800-\\udfff",kue="\\u0300-\\u036f",que="\\ufe20-\\ufe2f",Sue="\\u20d0-\\u20ff",Cue=kue+que+Sue,Pue="\\ufe0e\\ufe0f",Eue="["+c$+"]",_2="["+Cue+"]",O2="\\ud83c[\\udffb-\\udfff]",Tue="(?:"+_2+"|"+O2+")",u$="[^"+c$+"]",d$="(?:\\ud83c[\\udde6-\\uddff]){2}",p$="[\\ud800-\\udbff][\\udc00-\\udfff]",Iue="\\u200d",m$=Tue+"?",h$="["+Pue+"]?",Aue="(?:"+Iue+"(?:"+[u$,d$,p$].join("|")+")"+h$+m$+")*",Lue=h$+m$+Aue,Fue="(?:"+[u$+_2+"?",_2,d$,p$,Eue].join("|")+")",_ue=RegExp(O2+"(?="+O2+")|"+Fue+Lue,"g");function Oue(e){return e.match(_ue)||[]}var Rue=Oue,Due=Nue,Mue=l$,$ue=Rue;function Bue(e){return Mue(e)?$ue(e):Due(e)}var zue=Bue,Uue=pue,Vue=l$,Wue=zue,Hue=n$;function Gue(e){return function(n){n=Hue(n);var r=Vue(n)?Wue(n):void 0,i=r?r[0]:n.charAt(0),s=r?Uue(r,1).join(""):n.slice(1);return i[e]()+s}}var Kue=Gue,Que=Kue,Yue=Que("toUpperCase"),Jue=Yue;const yy=Ue(Jue);function ct(e){return function(){return e}}const f$=Math.cos,dv=Math.sin,Qi=Math.sqrt,pv=Math.PI,jy=2*pv,R2=Math.PI,D2=2*R2,pl=1e-6,Xue=D2-pl;function g$(e){this._+=e[0];for(let n=1,r=e.length;n<r;++n)this._+=arguments[n]+e[n]}function Zue(e){let n=Math.floor(e);if(!(n>=0))throw new Error(`invalid digits: ${e}`);if(n>15)return g$;const r=10**n;return function(i){this._+=i[0];for(let s=1,a=i.length;s<a;++s)this._+=Math.round(arguments[s]*r)/r+i[s]}}class ede{constructor(n){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=n==null?g$:Zue(n)}moveTo(n,r){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(n,r){this._append`L${this._x1=+n},${this._y1=+r}`}quadraticCurveTo(n,r,i,s){this._append`Q${+n},${+r},${this._x1=+i},${this._y1=+s}`}bezierCurveTo(n,r,i,s,a,o){this._append`C${+n},${+r},${+i},${+s},${this._x1=+a},${this._y1=+o}`}arcTo(n,r,i,s,a){if(n=+n,r=+r,i=+i,s=+s,a=+a,a<0)throw new Error(`negative radius: ${a}`);let o=this._x1,l=this._y1,c=i-n,u=s-r,d=o-n,p=l-r,m=d*d+p*p;if(this._x1===null)this._append`M${this._x1=n},${this._y1=r}`;else if(m>pl)if(!(Math.abs(p*c-u*d)>pl)||!a)this._append`L${this._x1=n},${this._y1=r}`;else{let h=i-o,g=s-l,f=c*c+u*u,x=h*h+g*g,v=Math.sqrt(f),b=Math.sqrt(m),y=a*Math.tan((R2-Math.acos((f+m-x)/(2*v*b)))/2),N=y/b,j=y/v;Math.abs(N-1)>pl&&this._append`L${n+N*d},${r+N*p}`,this._append`A${a},${a},0,0,${+(p*h>d*g)},${this._x1=n+j*c},${this._y1=r+j*u}`}}arc(n,r,i,s,a,o){if(n=+n,r=+r,i=+i,o=!!o,i<0)throw new Error(`negative radius: ${i}`);let l=i*Math.cos(s),c=i*Math.sin(s),u=n+l,d=r+c,p=1^o,m=o?s-a:a-s;this._x1===null?this._append`M${u},${d}`:(Math.abs(this._x1-u)>pl||Math.abs(this._y1-d)>pl)&&this._append`L${u},${d}`,i&&(m<0&&(m=m%D2+D2),m>Xue?this._append`A${i},${i},0,1,${p},${n-l},${r-c}A${i},${i},0,1,${p},${this._x1=u},${this._y1=d}`:m>pl&&this._append`A${i},${i},0,${+(m>=R2)},${p},${this._x1=n+i*Math.cos(a)},${this._y1=r+i*Math.sin(a)}`)}rect(n,r,i,s){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+r}h${i=+i}v${+s}h${-i}Z`}toString(){return this._}}function HS(e){let n=3;return e.digits=function(r){if(!arguments.length)return n;if(r==null)n=null;else{const i=Math.floor(r);if(!(i>=0))throw new RangeError(`invalid digits: ${r}`);n=i}return e},()=>new ede(n)}function GS(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function x$(e){this._context=e}x$.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2;default:this._context.lineTo(e,n);break}}};function wy(e){return new x$(e)}function v$(e){return e[0]}function b$(e){return e[1]}function y$(e,n){var r=ct(!0),i=null,s=wy,a=null,o=HS(l);e=typeof e=="function"?e:e===void 0?v$:ct(e),n=typeof n=="function"?n:n===void 0?b$:ct(n);function l(c){var u,d=(c=GS(c)).length,p,m=!1,h;for(i==null&&(a=s(h=o())),u=0;u<=d;++u)!(u<d&&r(p=c[u],u,c))===m&&((m=!m)?a.lineStart():a.lineEnd()),m&&a.point(+e(p,u,c),+n(p,u,c));if(h)return a=null,h+""||null}return l.x=function(c){return arguments.length?(e=typeof c=="function"?c:ct(+c),l):e},l.y=function(c){return arguments.length?(n=typeof c=="function"?c:ct(+c),l):n},l.defined=function(c){return arguments.length?(r=typeof c=="function"?c:ct(!!c),l):r},l.curve=function(c){return arguments.length?(s=c,i!=null&&(a=s(i)),l):s},l.context=function(c){return arguments.length?(c==null?i=a=null:a=s(i=c),l):i},l}function og(e,n,r){var i=null,s=ct(!0),a=null,o=wy,l=null,c=HS(u);e=typeof e=="function"?e:e===void 0?v$:ct(+e),n=typeof n=="function"?n:ct(n===void 0?0:+n),r=typeof r=="function"?r:r===void 0?b$:ct(+r);function u(p){var m,h,g,f=(p=GS(p)).length,x,v=!1,b,y=new Array(f),N=new Array(f);for(a==null&&(l=o(b=c())),m=0;m<=f;++m){if(!(m<f&&s(x=p[m],m,p))===v)if(v=!v)h=m,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),g=m-1;g>=h;--g)l.point(y[g],N[g]);l.lineEnd(),l.areaEnd()}v&&(y[m]=+e(x,m,p),N[m]=+n(x,m,p),l.point(i?+i(x,m,p):y[m],r?+r(x,m,p):N[m]))}if(b)return l=null,b+""||null}function d(){return y$().defined(s).curve(o).context(a)}return u.x=function(p){return arguments.length?(e=typeof p=="function"?p:ct(+p),i=null,u):e},u.x0=function(p){return arguments.length?(e=typeof p=="function"?p:ct(+p),u):e},u.x1=function(p){return arguments.length?(i=p==null?null:typeof p=="function"?p:ct(+p),u):i},u.y=function(p){return arguments.length?(n=typeof p=="function"?p:ct(+p),r=null,u):n},u.y0=function(p){return arguments.length?(n=typeof p=="function"?p:ct(+p),u):n},u.y1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:ct(+p),u):r},u.lineX0=u.lineY0=function(){return d().x(e).y(n)},u.lineY1=function(){return d().x(e).y(r)},u.lineX1=function(){return d().x(i).y(n)},u.defined=function(p){return arguments.length?(s=typeof p=="function"?p:ct(!!p),u):s},u.curve=function(p){return arguments.length?(o=p,a!=null&&(l=o(a)),u):o},u.context=function(p){return arguments.length?(p==null?a=l=null:l=o(a=p),u):a},u}class j${constructor(n,r){this._context=n,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(n,r){switch(n=+n,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+n)/2,this._y0,this._x0,r,n,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,n,this._y0,n,r);break}}this._x0=n,this._y0=r}}function tde(e){return new j$(e,!0)}
vendor: 7,345 bytes, line 662
662function nde(e){return new j$(e,!1)}const KS={draw(e,n){const r=Qi(n/pv);e.moveTo(r,0),e.arc(0,0,r,0,jy)}},rde={draw(e,n){const r=Qi(n/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},w$=Qi(1/3),ide=w$*2,sde={draw(e,n){const r=Qi(n/ide),i=r*w$;e.moveTo(0,-r),e.lineTo(i,0),e.lineTo(0,r),e.lineTo(-i,0),e.closePath()}},ade={draw(e,n){const r=Qi(n),i=-r/2;e.rect(i,i,r,r)}},ode=.8908130915292852,N$=dv(pv/10)/dv(7*pv/10),lde=dv(jy/10)*N$,cde=-f$(jy/10)*N$,ude={draw(e,n){const r=Qi(n*ode),i=lde*r,s=cde*r;e.moveTo(0,-r),e.lineTo(i,s);for(let a=1;a<5;++a){const o=jy*a/5,l=f$(o),c=dv(o);e.lineTo(c*r,-l*r),e.lineTo(l*i-c*s,c*i+l*s)}e.closePath()}},jj=Qi(3),dde={draw(e,n){const r=-Qi(n/(jj*3));e.moveTo(0,r*2),e.lineTo(-jj*r,-r),e.lineTo(jj*r,-r),e.closePath()}},Vr=-.5,Wr=Qi(3)/2,M2=1/Qi(12),pde=(M2/2+1)*3,mde={draw(e,n){const r=Qi(n/pde),i=r/2,s=r*M2,a=i,o=r*M2+r,l=-a,c=o;e.moveTo(i,s),e.lineTo(a,o),e.lineTo(l,c),e.lineTo(Vr*i-Wr*s,Wr*i+Vr*s),e.lineTo(Vr*a-Wr*o,Wr*a+Vr*o),e.lineTo(Vr*l-Wr*c,Wr*l+Vr*c),e.lineTo(Vr*i+Wr*s,Vr*s-Wr*i),e.lineTo(Vr*a+Wr*o,Vr*o-Wr*a),e.lineTo(Vr*l+Wr*c,Vr*c-Wr*l),e.closePath()}};function hde(e,n){let r=null,i=HS(s);e=typeof e=="function"?e:ct(e||KS),n=typeof n=="function"?n:ct(n===void 0?64:+n);function s(){let a;if(r||(r=a=i()),e.apply(this,arguments).draw(r,+n.apply(this,arguments)),a)return r=null,a+""||null}return s.type=function(a){return arguments.length?(e=typeof a=="function"?a:ct(a),s):e},s.size=function(a){return arguments.length?(n=typeof a=="function"?a:ct(+a),s):n},s.context=function(a){return arguments.length?(r=a??null,s):r},s}function mv(){}function hv(e,n,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+n)/6,(e._y0+4*e._y1+r)/6)}function k$(e){this._context=e}k$.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:hv(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:hv(this,e,n);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=n}};function fde(e){return new k$(e)}function q$(e){this._context=e}q$.prototype={areaStart:mv,areaEnd:mv,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1,this._x2=e,this._y2=n;break;case 1:this._point=2,this._x3=e,this._y3=n;break;case 2:this._point=3,this._x4=e,this._y4=n,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+n)/6);break;default:hv(this,e,n);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=n}};function gde(e){return new q$(e)}function S$(e){this._context=e}S$.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,i=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(r,i):this._context.moveTo(r,i);break;case 3:this._point=4;default:hv(this,e,n);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=n}};function xde(e){return new S$(e)}function C$(e){this._context=e}C$.prototype={areaStart:mv,areaEnd:mv,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,n){e=+e,n=+n,this._point?this._context.lineTo(e,n):(this._point=1,this._context.moveTo(e,n))}};function vde(e){return new C$(e)}function gA(e){return e<0?-1:1}function xA(e,n,r){var i=e._x1-e._x0,s=n-e._x1,a=(e._y1-e._y0)/(i||s<0&&-0),o=(r-e._y1)/(s||i<0&&-0),l=(a*s+o*i)/(i+s);return(gA(a)+gA(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(l))||0}function vA(e,n){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-n)/2:n}function wj(e,n,r){var i=e._x0,s=e._y0,a=e._x1,o=e._y1,l=(a-i)/3;e._context.bezierCurveTo(i+l,s+l*n,a-l,o-l*r,a,o)}function fv(e){this._context=e}fv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:wj(this,this._t0,vA(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){var r=NaN;if(e=+e,n=+n,!(e===this._x1&&n===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2;break;case 2:this._point=3,wj(this,vA(this,r=xA(this,e,n)),r);break;default:wj(this,this._t0,r=xA(this,e,n));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=n,this._t0=r}}};function P$(e){this._context=new E$(e)}(P$.prototype=Object.create(fv.prototype)).point=function(e,n){fv.prototype.point.call(this,n,e)};function E$(e){this._context=e}E$.prototype={moveTo:function(e,n){this._context.moveTo(n,e)},closePath:function(){this._context.closePath()},lineTo:function(e,n){this._context.lineTo(n,e)},bezierCurveTo:function(e,n,r,i,s,a){this._context.bezierCurveTo(n,e,i,r,a,s)}};function bde(e){return new fv(e)}function yde(e){return new P$(e)}function T$(e){this._context=e}T$.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,n=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],n[0]):this._context.moveTo(e[0],n[0]),r===2)this._context.lineTo(e[1],n[1]);else for(var i=bA(e),s=bA(n),a=0,o=1;o<r;++a,++o)this._context.bezierCurveTo(i[0][a],s[0][a],i[1][a],s[1][a],e[o],n[o]);(this._line||this._line!==0&&r===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,n){this._x.push(+e),this._y.push(+n)}};function bA(e){var n,r=e.length-1,i,s=new Array(r),a=new Array(r),o=new Array(r);for(s[0]=0,a[0]=2,o[0]=e[0]+2*e[1],n=1;n<r-1;++n)s[n]=1,a[n]=4,o[n]=4*e[n]+2*e[n+1];for(s[r-1]=2,a[r-1]=7,o[r-1]=8*e[r-1]+e[r],n=1;n<r;++n)i=s[n]/a[n-1],a[n]-=i,o[n]-=i*o[n-1];for(s[r-1]=o[r-1]/a[r-1],n=r-2;n>=0;
662--n)s[n]=(o[n]-s[n+1])/a[n];for(a[r-1]=(e[r]+s[r-1])/2,n=0;n<r-1;++n)a[n]=2*e[n+1]-s[n+1];return[s,a]}function jde(e){return new T$(e)}function Ny(e,n){this._context=e,this._t=n}Ny.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(e,n);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,n)}break}}this._x=e,this._y=n}};function wde(e){return new Ny(e,.5)}function Nde(e){return new Ny(e,0)}function kde(e){return new Ny(e,1)}function Qu(e,n){if((o=e.length)>1)for(var r=1,i,s,a=e[n[0]],o,l=a.length;r<o;++r)for(s=a,a=e[n[r]],i=0;i<l;++i)a[i][1]+=a[i][0]=isNaN(s[i][1])?s[i][0]:s[i][1]}function $2(e){for(var n=e.length,r=new Array(n);--n>=0;)r[n]=n;return r}function qde(e,n){return e[n]}function Sde(e){const n=[];return n.key=e,n}function Cde(){var e=ct([]),n=$2,r=Qu,i=qde;function s(a){var o=Array.from(e.apply(this,arguments),Sde),l,c=o.length,u=-1,d;for(const p of a)for(l=0,++u;l<c;++l)(o[l][u]=[0,+i(p,o[l].key,u,a)]).data=p;for(l=0,d=GS(n(o));l<c;++l)o[d[l]].index=l;return r(o,d),o}return s.keys=function(a){return arguments.length?(e=typeof a=="function"?a:ct(Array.from(a)),s):e},s.value=function(a){return arguments.length?(i=typeof a=="function"?a:ct(+a),s):i},s.order=function(a){return arguments.length?(n=a==null?$2:typeof a=="function"?a:ct(Array.from(a)),s):n},s.offset=function(a){return arguments.length?(r=a??Qu,s):r},s}function Pde(e,n){if((i=e.length)>0){for(var r,i,s=0,a=e[0].length,o;s<a;++s){for(o=r=0;r<i;++r)o+=e[r][s][1]||0;if(o)for(r=0;r<i;++r)e[r][s][1]/=o}Qu(e,n)}}function Ede(e,n){if((s=e.length)>0){for(var r=0,i=e[n[0]],s,a=i.length;r<a;++r){for(var o=0,l=0;o<s;++o)l+=e[o][r][1]||0;i[r][1]+=i[r][0]=-l/2}Qu(e,n)}}function Tde(e,n){if(!(!((o=e.length)>0)||!((a=(s=e[n[0]]).length)>0))){for(var r=0,i=1,s,a,o;i<a;++i){for(var l=0,c=0,u=0;l<o;++l){for(var d=e[n[l]],p=d[i][1]||0,m=d[i-1][1]||0,h=(p-m)/2,g=0;g<l;++g){var f=e[n[g]],x=f[i][1]||0,v=f[i-1][1]||0;h+=x-v}c+=p,u+=h*p}s[i-1][1]+=s[i-1][0]=r,c&&(r-=u/c)}s[i-1][1]+=s[i-1][0]=r,Qu(e,n)}}function Hm(e){"@babel/helpers - typeof";return Hm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Hm(e)}var Ide=["type","size","sizeType"];function B2(){return B2=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},B2.apply(this,arguments)}function yA(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function jA(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?yA(Object(r),!0).forEach(function(i){Ade(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yA(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Ade(e,n,r){return n=Lde(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Lde(e){var n=Fde(e,"string");return Hm(n)=="symbol"?n:n+""}function Fde(e,n){if(Hm(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Hm(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function _de(e,n){if(e==null)return{};var r=Ode(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function Ode(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;
vendor: 5,377 bytes, lines 662-665
662r[i]=e[i]}return r}var I$={symbolCircle:KS,symbolCross:rde,symbolDiamond:sde,symbolSquare:ade,symbolStar:ude,symbolTriangle:dde,symbolWye:mde},Rde=Math.PI/180,Dde=function(n){var r="symbol".concat(yy(n));return I$[r]||KS},Mde=function(n,r,i){if(r==="area")return n;switch(i){case"cross":return 5*n*n/9;case"diamond":return .5*n*n/Math.sqrt(3);case"square":return n*n;case"star":{var s=18*Rde;return 1.25*n*n*(Math.tan(s)-Math.tan(s*2)*Math.pow(Math.tan(s),2))}case"triangle":return Math.sqrt(3)*n*n/4;case"wye":return(21-10*Math.sqrt(3))*n*n/8;default:return Math.PI*n*n/4}},$de=function(n,r){I$["symbol".concat(yy(n))]=r},QS=function(n){var r=n.type,i=r===void 0?"circle":r,s=n.size,a=s===void 0?64:s,o=n.sizeType,l=o===void 0?"area":o,c=_de(n,Ide),u=jA(jA({},c),{},{type:i,size:a,sizeType:l}),d=function(){var x=Dde(i),v=hde().type(x).size(Mde(a,l,i));return v()},p=u.className,m=u.cx,h=u.cy,g=Ie(u,!0);return m===+m&&h===+h&&a===+a?L.createElement("path",B2({},g,{className:Re("recharts-symbols",p),transform:"translate(".concat(m,", ").concat(h,")"),d:d()})):null};QS.registerSymbol=$de;function Yu(e){"@babel/helpers - typeof";return Yu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Yu(e)}function z2(){return z2=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},z2.apply(this,arguments)}function wA(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Bde(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?wA(Object(r),!0).forEach(function(i){Gm(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wA(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function zde(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function Ude(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,L$(i.key),i)}}function Vde(e,n,r){return n&&Ude(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Wde(e,n,r){return n=gv(n),Hde(e,A$()?Reflect.construct(n,r||[],gv(e).constructor):n.apply(e,r))}function Hde(e,n){if(n&&(Yu(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Gde(e)}function Gde(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function A$(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(A$=function(){return!!e})()}function gv(e){return gv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},gv(e)}function Kde(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&U2(e,n)}function U2(e,n){return U2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},U2(e,n)}function Gm(e,n,r){return n=L$(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function L$(e){var n=Qde(e,"string");return Yu(n)=="symbol"?n:n+""}function Qde(e,n){if(Yu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Yu(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var Hr=32,YS=function(e){function n(){return zde(this,n),Wde(this,n,arguments)}return Kde(n,e),Vde(n,[{key:"renderIcon",value:function(i){var s=this.props.inactiveColor,a=Hr/2,o=Hr/6,l=Hr/3,c=i.inactive?s:i.color;if(i.type==="plainline")return L.createElement("line",{strokeWidth:4,fill:"none",stroke:c,strokeDasharray:i.payload.strokeDasharray,x1:0,y1:a,x2:Hr,y2:a,className:"recharts-legend-icon"});if(i.type==="line")return L.createElement("path",{strokeWidth:4,fill:"none",stroke:c,d:"M0,".concat(a,"h").concat(l,`
663            A`).concat(o,",").concat(o,",0,1,1,").concat(2*l,",").concat(a,`
664            H`).concat(Hr,"M").concat(2*l,",").concat(a,`
665            A`).concat(o,",").concat(o,",0,1,1,").concat(l,",").concat(a),className:"recharts-legend-icon"});if(i.type==="rect")return L.createElement("path",{stroke:"none",fill:c,d:"M0,".concat(Hr/8,"h").concat(Hr,"v").concat(Hr*3/4,"h").concat(-Hr,"z"),className:"recharts-legend-icon"});if(L.isValidElement(i.legendIcon)){var u=Bde({},i);return delete u.legendIcon,L.cloneElement(i.legendIcon,u)}return L.createElement(QS,{fill:c,cx:a,cy:a,size:Hr,sizeType:"diameter",type:i.type})}},{key:"renderItems",value:function(){var i=this,s=this.props,a=s.payload,o=s.iconSize,l=s.layout,c=s.formatter,u=s.inactiveColor,d={x:0,y:0,width:Hr,height:Hr}
665,p={display:l==="horizontal"?"inline-block":"block",marginRight:10},m={display:"inline-block",verticalAlign:"middle",marginRight:4};return a.map(function(h,g){var f=h.formatter||c,x=Re(Gm(Gm({"recharts-legend-item":!0},"legend-item-".concat(g),!0),"inactive",h.inactive));if(h.type==="none")return null;var v=Pe(h.value)?null:h.value;Zs(!Pe(h.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var b=h.inactive?u:h.color;return L.createElement("li",z2({className:x,style:p,key:"legend-item-".concat(g)},uv(i.props,h,g)),L.createElement(L2,{width:o,height:o,viewBox:d,style:m},i.renderIcon(h)),L.createElement("span",{className:"recharts-legend-item-text",style:{color:b}},f?f(v,h,g):v))})}},{key:"render",value:function(){var i=this.props,s=i.payload,a=i.layout,o=i.align;if(!s||!s.length)return null;var l={padding:0,margin:0,textAlign:a==="horizontal"?o:"left"};return L.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}])}(k.PureComponent);Gm(YS,"displayName","Legend");Gm(YS,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var Yde=oy;function Jde(){this.__data__=new Yde,this.size=0}var Xde=Jde;function Zde(e){var n=this.__data__,r=n.delete(e);return this.size=n.size,r}var epe=Zde;function tpe(e){return this.__data__.get(e)}var npe=tpe;function rpe(e){return this.__data__.has(e)}var ipe=rpe,spe=oy,ape=RS,ope=DS,lpe=200;function cpe(e,n){var r=this.__data__;if(r instanceof spe){var i=r.__data__;if(!ape||i.length<lpe-1)return i.push([e,n]),this.size=++r.size,this;r=this.__data__=new ope(i)}return r.set(e,n),this.size=r.size,this}var upe=cpe,dpe=oy,ppe=Xde,mpe=epe,hpe=npe,fpe=ipe,gpe=upe;function $d(e){var n=this.__data__=new dpe(e);this.size=n.size}$d.prototype.clear=ppe;$d.prototype.delete=mpe;$d.prototype.get=hpe;$d.prototype.has=fpe;$d.prototype.set=gpe;var F$=$d,xpe="__lodash_hash_undefined__";function vpe(e){return this.__data__.set(e,xpe),this}var bpe=vpe;function ype(e){return this.__data__.has(e)}var jpe=ype,wpe=DS,Npe=bpe,kpe=jpe;function xv(e){var n=-1,r=e==null?0:e.length;for(this.__data__=new wpe;++n<r;)this.add(e[n])}xv.prototype.add=xv.prototype.push=Npe;xv.prototype.has=kpe;var _$=xv;function qpe(e,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(e[r],r,e))return!0;return!1}var O$=qpe;function Spe(e,n){return e.has(n)}var R$=Spe,Cpe=_$,Ppe=O$,Epe=R$,Tpe=1,Ipe=2;function Ape(e,n,r,i,s,a){var o=r&Tpe,l=e.length,c=n.length;if(l!=c&&!(o&&c>l))return!1;var u=a.get(e),d=a.get(n);if(u&&d)return u==n&&d==e;var p=-1,m=!0,h=r&Ipe?new Cpe:void 0;for(a.set(e,n),a.set(n,e);++p<l;){var g=e[p],f=n[p];if(i)var x=o?i(f,g,p,n,e,a):i(g,f,p,e,n,a);if(x!==void 0){if(x)continue;m=!1;break}if(h){if(!Ppe(n,function(v,b){if(!Epe(h,b)&&(g===v||s(g,v,r,i,a)))return h.push(b)})){m=!1;break}}else if(!(g===f||s(g,f,r,i,a))){m=!1;break}}return a.delete(e),a.delete(n),m}var D$=Ape,Lpe=qs,Fpe=Lpe.Uint8Array,_pe=Fpe;function Ope(e){var n=-1,r=Array(e.size);return e.forEach(function(i,s){r[++n]=[s,i]}),r}var Rpe=Ope;function Dpe(e){var n=-1,r=Array(e.size);return e.forEach(function(i){r[++n]=i}),r}var JS=Dpe,NA=sf,kA=_pe,Mpe=OS,$pe=D$,Bpe=Rpe,zpe=JS,Upe=1,Vpe=2,Wpe="[object Boolean]",Hpe="[object Date]",Gpe="[object Error]",Kpe="[object Map]",Qpe="[object Number]",Ype="[object RegExp]",Jpe="[object Set]",Xpe="[object String]",Zpe="[object Symbol]",eme="[object ArrayBuffer]",tme="[object DataView]",qA=NA?NA.prototype:void 0,Nj=qA?qA.valueOf:void 0;function nme(e,n,r,i,s,a,o){switch(r){case tme:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case eme:return!(e.byteLength!=n.byteLength||!a(new kA(e),new kA(n)));case Wpe:case Hpe:case Qpe:return Mpe(+e,+n);case Gpe:return e.name==n.name&&e.message==n.message;case Ype:case Xpe:return e==n+"";case Kpe:var l=Bpe;case Jpe:var c=i&Upe;if(l||(l=zpe),e.size!=n.size&&!c)return!1;var u=o.get(e);if(u)return u==n;i|=Vpe,o.set(e,n);var d=$pe(l(e),l(n),i,s,a,o);return o.delete(e),d;case Zpe:if(Nj)return Nj.call(e)==Nj.call(n)}return!1}var rme=nme;function ime(e,n){for(var r=-1,i=n.length,s=e.length;++r<i;)e[s+r]=n[r];return e}var M$=ime,sme=M$,ame=hr;function ome(e,n,r){var i=n(e);return ame(e)?i:sme(i,r(e))}var lme=ome;function cme(e,n){for(var r=-1,i=e==null?0:e.length,s=0,a=[];++r<i;){var o=e[r];n(o,r,e)&&(a[s++]=o)}return a}var ume=cme;function dme(){return[]}var pme=dme,mme=ume,hme=pme,fme=Object.prototype,gme=fme.propertyIsEnumerable,SA=Object.getOwnPropertySymbols,xme=SA?function(e){return e==null?[]:(e=Object(e),mme(SA(e),function(n){return gme.call(e,n)}))}:hme,vme=xme;function bme(e,n){for(var r=-1,i=Array(e);++r<e;)i[r]=n(r);return i}var yme=bme,jme=ya,wme=ja,Nme="[object Arguments]";function kme(e){return wme(e)&&jme(e)==Nme}var qme=kme,CA=qme,Sme=ja,$$=Object.prototype,Cme=$$.hasOwnProperty,Pme=$$.propertyIsEnumerable,Eme=CA(function(){return arguments}())?CA:function(e){return Sme(e)&&Cme.call(e,"callee")&&!Pme.call(e,"callee")},XS=Eme,vv={exports:{}};function Tme(){return!1}var Ime=Tme;vv.exports;(function(e,n){var r=qs,i=Ime,s=n&&!n.nodeType&&n,a=s&&!0&&e&&!e.nodeType&&e,o=a&&a.exports===s,l=o?r.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||i;e.exports=u})(vv,vv.exports);var B$=vv.exports,Ame=9007199254740991,Lme=/^(?:0|[1-9]\d*)$/;function Fme(e,n){var r=typeof e;return n=n??Ame,!!n&&(r=="number"||r!="symbol"&&Lme.test(e))&&e>-1&&e%1==0&&e<n}var ZS=Fme,_me=9007199254740991;function Ome(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_me}var eC=Ome,Rme=ya,Dme=eC,Mme=ja,$me="[object Arguments]",Bme="[object Array]",zme="[object Boolean]",Ume="[object Date]",Vme="[object Error]",Wme="[object Function]",Hme="[object Map]",Gme="[object Number]",Kme="[object Object]",Qme="[object RegExp]",Yme="[object Set]",Jme="[object String]",Xme="[object WeakMap]",Zme="[object ArrayBuffer]",ehe="[object DataView]",the="[object Float32Array]",nhe="[object Float64Array
665]",rhe="[object Int8Array]",ihe="[object Int16Array]",she="[object Int32Array]",ahe="[object Uint8Array]",ohe="[object Uint8ClampedArray]",lhe="[object Uint16Array]",che="[object Uint32Array]",mt={};mt[the]=mt[nhe]=mt[rhe]=mt[ihe]=mt[she]=mt[ahe]=mt[ohe]=mt[lhe]=mt[che]=!0;mt[$me]=mt[Bme]=mt[Zme]=mt[zme]=mt[ehe]=mt[Ume]=mt[Vme]=mt[Wme]=mt[Hme]=mt[Gme]=mt[Kme]=mt[Qme]=mt[Yme]=mt[Jme]=mt[Xme]=!1;function uhe(e){return Mme(e)&&Dme(e.length)&&!!mt[Rme(e)]}var dhe=uhe;function phe(e){return function(n){return e(n)}}var z$=phe,bv={exports:{}};bv.exports;(function(e,n){var r=Y8,i=n&&!n.nodeType&&n,s=i&&!0&&e&&!e.nodeType&&e,a=s&&s.exports===i,o=a&&r.process,l=function(){try{var c=s&&s.require&&s.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();e.exports=l})(bv,bv.exports);var mhe=bv.exports,hhe=dhe,fhe=z$,PA=mhe,EA=PA&&PA.isTypedArray,ghe=EA?fhe(EA):hhe,U$=ghe,xhe=yme,vhe=XS,bhe=hr,yhe=B$,jhe=ZS,whe=U$,Nhe=Object.prototype,khe=Nhe.hasOwnProperty;function qhe(e,n){var r=bhe(e),i=!r&&vhe(e),s=!r&&!i&&yhe(e),a=!r&&!i&&!s&&whe(e),o=r||i||s||a,l=o?xhe(e.length,String):[],c=l.length;for(var u in e)(n||khe.call(e,u))&&!(o&&(u=="length"||s&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||jhe(u,c)))&&l.push(u);return l}var She=qhe,Che=Object.prototype;function Phe(e){var n=e&&e.constructor,r=typeof n=="function"&&n.prototype||Che;return e===r}var Ehe=Phe;function The(e,n){return function(r){return e(n(r))}}var V$=The,Ihe=V$,Ahe=Ihe(Object.keys,Object),Lhe=Ahe,Fhe=Ehe,_he=Lhe,Ohe=Object.prototype,Rhe=Ohe.hasOwnProperty;function Dhe(e){if(!Fhe(e))return _he(e);var n=[];for(var r in Object(e))Rhe.call(e,r)&&r!="constructor"&&n.push(r);return n}var Mhe=Dhe,$he=_S,Bhe=eC;function zhe(e){return e!=null&&Bhe(e.length)&&!$he(e)}var of=zhe,Uhe=She,Vhe=Mhe,Whe=of;function Hhe(e){return Whe(e)?Uhe(e):Vhe(e)}var ky=Hhe,Ghe=lme,Khe=vme,Qhe=ky;function Yhe(e){return Ghe(e,Qhe,Khe)}var Jhe=Yhe,TA=Jhe,Xhe=1,Zhe=Object.prototype,efe=Zhe.hasOwnProperty;function tfe(e,n,r,i,s,a){var o=r&Xhe,l=TA(e),c=l.length,u=TA(n),d=u.length;if(c!=d&&!o)return!1;for(var p=c;p--;){var m=l[p];if(!(o?m in n:efe.call(n,m)))return!1}var h=a.get(e),g=a.get(n);if(h&&g)return h==n&&g==e;var f=!0;a.set(e,n),a.set(n,e);for(var x=o;++p<c;){m=l[p];var v=e[m],b=n[m];if(i)var y=o?i(b,v,m,n,e,a):i(v,b,m,e,n,a);if(!(y===void 0?v===b||s(v,b,r,i,a):y)){f=!1;break}x||(x=m=="constructor")}if(f&&!x){var N=e.constructor,j=n.constructor;N!=j&&"constructor"in e&&"constructor"in n&&!(typeof N=="function"&&N instanceof N&&typeof j=="function"&&j instanceof j)&&(f=!1)}return a.delete(e),a.delete(n),f}var nfe=tfe,rfe=mc,ife=qs,sfe=rfe(ife,"DataView"),afe=sfe,ofe=mc,lfe=qs,cfe=ofe(lfe,"Promise"),ufe=cfe,dfe=mc,pfe=qs,mfe=dfe(pfe,"Set"),W$=mfe,hfe=mc,ffe=qs,gfe=hfe(ffe,"WeakMap"),xfe=gfe,V2=afe,W2=RS,H2=ufe,G2=W$,K2=xfe,H$=ya,Bd=X8,IA="[object Map]",vfe="[object Object]",AA="[object Promise]",LA="[object Set]",FA="[object WeakMap]",_A="[object DataView]",bfe=Bd(V2),yfe=Bd(W2),jfe=Bd(H2),wfe=Bd(G2),Nfe=Bd(K2),ml=H$;(V2&&ml(new V2(new ArrayBuffer(1)))!=_A||W2&&ml(new W2)!=IA||H2&&ml(H2.resolve())!=AA||G2&&ml(new G2)!=LA||K2&&ml(new K2)!=FA)&&(ml=function(e){var n=H$(e),r=n==vfe?e.constructor:void 0,i=r?Bd(r):"";if(i)switch(i){case bfe:return _A;case yfe:return IA;case jfe:return AA;case wfe:return LA;case Nfe:return FA}return n});var kfe=ml,kj=F$,qfe=D$,Sfe=rme,Cfe=nfe,OA=kfe,RA=hr,DA=B$,Pfe=U$,Efe=1,MA="[object Arguments]",$A="[object Array]",lg="[object Object]",Tfe=Object.prototype,BA=Tfe.hasOwnProperty;function Ife(e,n,r,i,s,a){var o=RA(e),l=RA(n),c=o?$A:OA(e),u=l?$A:OA(n);c=c==MA?lg:c,u=u==MA?lg:u;var d=c==lg,p=u==lg,m=c==u;if(m&&DA(e)){if(!DA(n))return!1;o=!0,d=!1}if(m&&!d)return a||(a=new kj),o||Pfe(e)?qfe(e,n,r,i,s,a):Sfe(e,n,c,r,i,s,a);if(!(r&Efe)){var h=d&&BA.call(e,"__wrapped__"),g=p&&BA.call(n,"__wrapped__");
vendor: 4,112 bytes, line 665
665if(h||g){var f=h?e.value():e,x=g?n.value():n;return a||(a=new kj),s(f,x,r,i,a)}}return m?(a||(a=new kj),Cfe(e,n,r,i,s,a)):!1}var Afe=Ife,Lfe=Afe,zA=ja;function G$(e,n,r,i,s){return e===n?!0:e==null||n==null||!zA(e)&&!zA(n)?e!==e&&n!==n:Lfe(e,n,r,i,G$,s)}var tC=G$,Ffe=F$,_fe=tC,Ofe=1,Rfe=2;function Dfe(e,n,r,i){var s=r.length,a=s,o=!i;if(e==null)return!a;for(e=Object(e);s--;){var l=r[s];if(o&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++s<a;){l=r[s];var c=l[0],u=e[c],d=l[1];if(o&&l[2]){if(u===void 0&&!(c in e))return!1}else{var p=new Ffe;if(i)var m=i(u,d,c,e,n,p);if(!(m===void 0?_fe(d,u,Ofe|Rfe,i,p):m))return!1}}return!0}var Mfe=Dfe,$fe=Bo;function Bfe(e){return e===e&&!$fe(e)}var K$=Bfe,zfe=K$,Ufe=ky;function Vfe(e){for(var n=Ufe(e),r=n.length;r--;){var i=n[r],s=e[i];n[r]=[i,s,zfe(s)]}return n}var Wfe=Vfe;function Hfe(e,n){return function(r){return r==null?!1:r[e]===n&&(n!==void 0||e in Object(r))}}var Q$=Hfe,Gfe=Mfe,Kfe=Wfe,Qfe=Q$;function Yfe(e){var n=Kfe(e);return n.length==1&&n[0][2]?Qfe(n[0][0],n[0][1]):function(r){return r===e||Gfe(r,e,n)}}var Jfe=Yfe;function Xfe(e,n){return e!=null&&n in Object(e)}var Zfe=Xfe,ege=r$,tge=XS,nge=hr,rge=ZS,ige=eC,sge=cy;function age(e,n,r){n=ege(n,e);for(var i=-1,s=n.length,a=!1;++i<s;){var o=sge(n[i]);if(!(a=e!=null&&r(e,o)))break;e=e[o]}return a||++i!=s?a:(s=e==null?0:e.length,!!s&&ige(s)&&rge(o,s)&&(nge(e)||tge(e)))}var oge=age,lge=Zfe,cge=oge;function uge(e,n){return e!=null&&cge(e,n,lge)}var dge=uge,pge=tC,mge=i$,hge=dge,fge=FS,gge=K$,xge=Q$,vge=cy,bge=1,yge=2;function jge(e,n){return fge(e)&&gge(n)?xge(vge(e),n):function(r){var i=mge(r,e);return i===void 0&&i===n?hge(r,e):pge(n,i,bge|yge)}}var wge=jge;function Nge(e){return e}var zd=Nge;function kge(e){return function(n){return n==null?void 0:n[e]}}var qge=kge,Sge=BS;function Cge(e){return function(n){return Sge(n,e)}}var Pge=Cge,Ege=qge,Tge=Pge,Ige=FS,Age=cy;function Lge(e){return Ige(e)?Ege(Age(e)):Tge(e)}var Fge=Lge,_ge=Jfe,Oge=wge,Rge=zd,Dge=hr,Mge=Fge;function $ge(e){return typeof e=="function"?e:e==null?Rge:typeof e=="object"?Dge(e)?Oge(e[0],e[1]):_ge(e):Mge(e)}var zo=$ge;function Bge(e,n,r,i){for(var s=e.length,a=r+(i?1:-1);i?a--:++a<s;)if(n(e[a],a,e))return a;return-1}var Y$=Bge;function zge(e){return e!==e}var Uge=zge;function Vge(e,n,r){for(var i=r-1,s=e.length;++i<s;)if(e[i]===n)return i;return-1}var Wge=Vge,Hge=Y$,Gge=Uge,Kge=Wge;function Qge(e,n,r){return n===n?Kge(e,n,r):Hge(e,Gge,r)}var Yge=Qge,Jge=Yge;function Xge(e,n){var r=e==null?0:e.length;return!!r&&Jge(e,n,0)>-1}var Zge=Xge;function exe(e,n,r){for(var i=-1,s=e==null?0:e.length;++i<s;)if(r(n,e[i]))return!0;return!1}var txe=exe;function nxe(){}var rxe=nxe,qj=W$,ixe=rxe,sxe=JS,axe=1/0,oxe=qj&&1/sxe(new qj([,-0]))[1]==axe?function(e){return new qj(e)}:ixe,lxe=oxe,cxe=_$,uxe=Zge,dxe=txe,pxe=R$,mxe=lxe,hxe=JS,fxe=200;function gxe(e,n,r){var i=-1,s=uxe,a=e.length,o=!0,l=[],c=l;if(r)o=!1,s=dxe;else if(a>=fxe){var u=n?null:mxe(e);if(u)return hxe(u);o=!1,s=pxe,c=new cxe}else c=n?[]:l;e:for(;++i<a;){var d=e[i],p=n?n(d):d;if(d=r||d!==0?d:0,o&&p===p){for(var m=c.length;m--;)if(c[m]===p)continue e;n&&c.push(p),l.push(d)}else s(c,p,r)||(c!==l&&c.push(p),l.push(d))}return l}var xxe=gxe,vxe=zo,bxe=xxe;function yxe(e,n){return e&&e.length?bxe(e,vxe(n)):[]}var jxe=yxe;const UA=Ue(jxe);function J$(e,n,r){return n===!0?UA(e,r):Pe(n)?UA(e,n):e}function Ju(e){"@babel/helpers - typeof";return Ju=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ju(e)}var wxe=["ref"];function VA(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function As(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?VA(Object(r),!0).forEach(function(i){qy(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):VA(Object(r)).forEac
vendor: 4,282 bytes, line 665
665h(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Nxe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function WA(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Z$(i.key),i)}}function kxe(e,n,r){return n&&WA(e.prototype,n),r&&WA(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function qxe(e,n,r){return n=yv(n),Sxe(e,X$()?Reflect.construct(n,r||[],yv(e).constructor):n.apply(e,r))}function Sxe(e,n){if(n&&(Ju(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Cxe(e)}function Cxe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function X$(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(X$=function(){return!!e})()}function yv(e){return yv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},yv(e)}function Pxe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Q2(e,n)}function Q2(e,n){return Q2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},Q2(e,n)}function qy(e,n,r){return n=Z$(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Z$(e){var n=Exe(e,"string");return Ju(n)=="symbol"?n:n+""}function Exe(e,n){if(Ju(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Ju(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Txe(e,n){if(e==null)return{};var r=Ixe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function Ixe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function Axe(e){return e.value}function Lxe(e,n){if(L.isValidElement(e))return L.cloneElement(e,n);if(typeof e=="function")return L.createElement(e,n);n.ref;var r=Txe(n,wxe);return L.createElement(YS,r)}var HA=1,Bl=function(e){function n(){var r;Nxe(this,n);for(var i=arguments.length,s=new Array(i),a=0;a<i;a++)s[a]=arguments[a];return r=qxe(this,n,[].concat(s)),qy(r,"lastBoundingBox",{width:-1,height:-1}),r}return Pxe(n,e),kxe(n,[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"getBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var i=this.wrapperNode.getBoundingClientRect();return i.height=this.wrapperNode.offsetHeight,i.width=this.wrapperNode.offsetWidth,i}return null}},{key:"updateBBox",value:function(){var i=this.props.onBBoxUpdate,s=this.getBBox();s?(Math.abs(s.width-this.lastBoundingBox.width)>HA||Math.abs(s.height-this.lastBoundingBox.height)>HA)&&(this.lastBoundingBox.width=s.width,this.lastBoundingBox.height=s.height,i&&i(s)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,i&&i(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?As({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(i){var s=this.props,a=s.layout,o=s.align,l=s.verticalAlign,c=s.margin,u=s.chartWidth,d=s.chartHeight,p,m;if(!i||(i.left===void 0||i.left===null)&&(i.right===void 0||i.right===null))if(o==="center"&&a==="vertical"){var h=this.getBBoxSnapshot();p={left:((u||0)-h.width)/2}}else p=o==="right"?{right:c&&c.right||0}:{left:c&&c.left||0};if(!i||(i.top===void 0||i.top===null)&&(i.bottom===void 0||i.bottom===null))if(l==="middle"){var g=this.getBBoxSnapsh
665ot();m={top:((d||0)-g.height)/2}}else m=l==="bottom"?{bottom:c&&c.bottom||0}:{top:c&&c.top||0};return As(As({},p),m)}},{key:"render",value:function(){var i=this,s=this.props,a=s.content,o=s.width,l=s.height,c=s.wrapperStyle,u=s.payloadUniqBy,d=s.payload,p=As(As({position:"absolute",width:o||"auto",height:l||"auto"},this.getDefaultPosition(c)),c);return L.createElement("div",{className:"recharts-legend-wrapper",style:p,ref:function(h){i.wrapperNode=h}},Lxe(a,As(As({},this.props),{},{payload:J$(d,u,Axe)})))}}],[{key:"getWithHeight",value:function(i,s){var a=As(As({},this.defaultProps),i.props),o=a.layout;return o==="vertical"&&ie(i.props.height)?{height:i.props.height}:o==="horizontal"?{width:i.props.width||s}:null}}])}(k.PureComponent);qy(Bl,"displayName","Legend");qy(Bl,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var GA=sf,Fxe=XS,_xe=hr,KA=GA?GA.isConcatSpreadable:void 0;function Oxe(e){return _xe(e)||Fxe(e)||!!(KA&&e&&e[KA])}var Rxe=Oxe,Dxe=M$,Mxe=Rxe;function eB(e,n,r,i,s){var a=-1,o=e.length;for(r||(r=Mxe),s||(s=[]);++a<o;){var l=e[a];n>0&&r(l)?n>1?eB(l,n-1,r,i,s):Dxe(s,l):i||(s[s.length]=l)}return s}var tB=eB;function $xe(e){return function(n,r,i){for(var s=-1,a=Object(n),o=i(n),l=o.length;l--;){var c=o[e?l:++s];if(r(a[c],c,a)===!1)break}return n}}var Bxe=$xe,zxe=Bxe,Uxe=zxe(),Vxe=Uxe,Wxe=Vxe,Hxe=ky;function Gxe(e,n){return e&&Wxe(e,n,Hxe)}var nB=Gxe,Kxe=of;function Qxe(e,n){return function(r,i){if(r==null)return r;if(!Kxe(r))return e(r,i);for(var s=r.length,a=n?s:-1,o=Object(r);(n?a--:++a<s)&&i(o[a],a,o)!==!1;);return r}}var Yxe=Qxe,Jxe=nB,Xxe=Yxe,Zxe=Xxe(Jxe),nC=Zxe,eve=nC,tve=of;function nve(e,n){var r=-1,i=tve(e)?Array(e.length):[];return eve(e,function(s,a,o){i[++r]=n(s,a,o)}),i}var rB=nve;function rve(e,n){var r=e.length;for(e.sort(n);r--;)e[r]=e[r].value;return e}var ive=rve,QA=Fd;function sve(e,n){if(e!==n){var r=e!==void 0,i=e===null,s=e===e,a=QA(e),o=n!==void 0,l=n===null,c=n===n,u=QA(n);if(!l&&!u&&!a&&e>n||a&&o&&c&&!l&&!u||i&&o&&c||!r&&c||!s)return 1;if(!i&&!a&&!u&&e<n||u&&r&&s&&!i&&!a||l&&r&&s||!o&&s||!c)return-1}return 0}var ave=sve,ove=ave;function lve(e,n,r){for(var i=-1,s=e.criteria,a=n.criteria,o=s.length,l=r.length;++i<o;){var c=ove(s[i],a[i]);if(c){if(i>=l)return c;var u=r[i];return c*(u=="desc"?-1:1)}}return e.index-n.index}var cve=lve,Sj=$S,uve=BS,dve=zo,pve=rB,mve=ive,hve=z$,fve=cve,gve=zd,xve=hr;function vve(e,n,r){n.length?n=Sj(n,function(a){return xve(a)?function(o){return uve(o,a.length===1?a[0]:a)}:a}):n=[gve];var i=-1;n=Sj(n,hve(dve));var s=pve(e,function(a,o,l){var c=Sj(n,function(u){return u(a)});return{criteria:c,index:++i,value:a}});return mve(s,function(a,o){return fve(a,o,r)})}var bve=vve;function yve(e,n,r){switch(r.length){case 0:return e.call(n);case 1:return e.call(n,r[0]);case 2:return e.call(n,r[0],r[1]);case 3:return e.call(n,r[0],r[1],r[2])}return e.apply(n,r)}var jve=yve,wve=jve,YA=Math.max;function Nve(e,n,r){return n=YA(n===void 0?e.length-1:n,0),function(){for(var i=arguments,s=-1,a=YA(i.length-n,0),o=Array(a);++s<a;)o[s]=i[n+s];s=-1;for(var l=Array(n+1);++s<n;)l[s]=i[s];return l[n]=r(o),wve(e,this,l)}}var kve=Nve;function qve(e){return function(){return e}}var Sve=qve,Cve=mc,Pve=function(){try{var e=Cve(Object,"defineProperty");return e({},"",{}),e}catch{}}(),iB=Pve,Eve=Sve,JA=iB,Tve=zd,Ive=JA?function(e,n){return JA(e,"toString",{configurable:!0,enumerable:!1,value:Eve(n),writable:!0})}:Tve,Ave=Ive,Lve=800,Fve=16,_ve=Date.now;function Ove(e){var n=0,r=0;return function(){var i=_ve(),s=Fve-(i-r);if(r=i,s>0){if(++n>=Lve)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Rve=Ove,Dve=Ave,Mve=Rve,$ve=Mve(Dve),Bve=$ve,zve=zd,Uve=kve,Vve=Bve;function Wve(e,n){return Vve(Uve(e,n,zve),e+"")}var Hve=Wve,Gve=OS,Kve=of,Qve=ZS,Yve=Bo;function Jve(e,n,r){if(!Yve(r))return!1;var i=typeof n;return(i=="number"?Kve(r)&&Qve(n,r.length):i=="string"&&n in r)?Gve(r[n],e):!1}var Sy=Jve,Xve=tB,Zve=bve,ebe=Hve,XA=Sy,tbe=ebe(function(e,n){if(e==null)return[];var r=n.length;return r>1&&XA(e,n[0],n[1])?n=[]:r>2&&XA(n[0],n[1],n[2])&&(n=[n[0]]),Zve(e,Xve(n,1),[])}),nbe=tbe;const rC=Ue(nbe);function Km(e){"@babel/helpers - typeof";return Km=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Km(e)}function Y2(){return Y2=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Y2.apply(this,arguments)}function rbe(e,n){return obe(e)||abe(e,n)||sbe(e,n)||ibe()}
vendor: 10,733 bytes, lines 665-666
665function ibe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
666In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sbe(e,n){if(e){if(typeof e=="string")return ZA(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ZA(e,n)}}function ZA(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function abe(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function obe(e){if(Array.isArray(e))return e}function eL(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Cj(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?eL(Object(r),!0).forEach(function(i){lbe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eL(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function lbe(e,n,r){return n=cbe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function cbe(e){var n=ube(e,"string");return Km(n)=="symbol"?n:n+""}function ube(e,n){if(Km(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Km(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function dbe(e){return Array.isArray(e)&&nn(e[0])&&nn(e[1])?e.join(" ~ "):e}var pbe=function(n){var r=n.separator,i=r===void 0?" : ":r,s=n.contentStyle,a=s===void 0?{}:s,o=n.itemStyle,l=o===void 0?{}:o,c=n.labelStyle,u=c===void 0?{}:c,d=n.payload,p=n.formatter,m=n.itemSorter,h=n.wrapperClassName,g=n.labelClassName,f=n.label,x=n.labelFormatter,v=n.accessibilityLayer,b=v===void 0?!1:v,y=function(){if(d&&d.length){var _={padding:0,margin:0},D=(m?rC(d,m):d).map(function(R,M){if(R.type==="none")return null;var U=Cj({display:"block",paddingTop:4,paddingBottom:4,color:R.color||"#000"},l),z=R.formatter||p||dbe,O=R.value,$=R.name,I=O,Y=$;if(z&&I!=null&&Y!=null){var W=z(O,$,R,M,d);if(Array.isArray(W)){var F=rbe(W,2);I=F[0],Y=F[1]}else I=W}return L.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(M),style:U},nn(Y)?L.createElement("span",{className:"recharts-tooltip-item-name"},Y):null,nn(Y)?L.createElement("span",{className:"recharts-tooltip-item-separator"},i):null,L.createElement("span",{className:"recharts-tooltip-item-value"},I),L.createElement("span",{className:"recharts-tooltip-item-unit"},R.unit||""))});return L.createElement("ul",{className:"recharts-tooltip-item-list",style:_},D)}return null},N=Cj({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},a),j=Cj({margin:0},u),w=!Fe(f),q=w?f:"",P=Re("recharts-default-tooltip",h),T=Re("recharts-tooltip-label",g);w&&x&&d!==void 0&&d!==null&&(q=x(f,d));var E=b?{role:"status","aria-live":"assertive"}:{};return L.createElement("div",Y2({className:P,style:N},E),L.createElement("p",{className:T,style:j},L.isValidElement(q)?q:"".concat(q)),y())};function Qm(e){"@babel/helpers - typeof";return Qm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Qm(e)}function cg(e,n,r){return n=mbe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function mbe(e){var n=hbe(e,"string");return Qm(n)=="symbol"?n:n+""}function hbe(e,n){if(Qm(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Qm(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var hp="recharts-tooltip-wrapper",fbe={visibility:"hidden"};function gbe(e){var n=e.coordinate,r=e.translateX,i=e.translateY;return Re(hp,cg(cg(cg(cg({},"".concat(hp,"-right"),ie(r)&&n&&ie(n.x)&&r>=n.x),"".concat(hp,"-left"),ie(r)&&n&&ie(n.x)&&r<n.x),"".concat(hp,"-bottom"),ie(i)&&n&&ie(n.y)&&i>=n.y),"".concat(hp,"-top"),ie(i)&&n&&ie(n.y)&&i<n.y))}function tL(e){var n=e.allowEscapeViewBox,r=e.coordinate,i=e.key,s=e.offsetTopLeft,a=e.position,o=e.reverseDirection,l=e.tooltipDimension,c=e.viewBox,u=e.viewBoxDimension;if(a&&ie(a[i]))return a[i];var d=r[i]-l-s,p=r[i]+s;if(n[i])return o[i]?d:p;if(o[i]){var m=d,h=c[i];return m<h?Math.max(p,c[i]):Math.max(d,c[i])}var g=p+l,f=c[i]+u;return g>f?Math.max(d,c[i]):Math.max(p,c[i])}function xbe(e){var n=e.translateX,r=e.translateY,i=e.useTranslate3d;return{transform:i?"translate3d(".concat(n,"px, ").concat(r,"px, 0)"):"translate(".concat(n,"px, ").concat(r,"px)")}}function vbe(e){var n=e.allowEscapeViewBox,r=e.coordinate,i=e.offsetTopLeft,s=e.position,a=e.reverseDirection,o=e.tooltipBox,l=e.useTranslate3d,c=e.viewBox,u,d,p;return o.height>0&&o.width>0&&r?(d=tL({allowEscapeViewBox:n,coordinate:r,key:"x",offsetTopLeft:i,position:s,reverseDirection:a,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),p=tL({allowEscapeViewBox:n,coordinate:r,key:"y",offsetTopLeft:i,position:s,reverseDirection:a,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),u=xbe({translateX:d,translateY:p,useTranslate3d:l})):u=fbe,{cssProperties:u,cssClasses:gbe({translateX:d,translateY:p,coordinate:r})}}function Xu(e){"@babel/helpers - typeof";return Xu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Xu(e)}function nL(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function rL(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?nL(Object(r),!0).forEach(function(i){X2(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nL(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function bbe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function ybe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,aB(i.key),i)}}function jbe(e,n,r){return n&&ybe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function wbe(e,n,r){return n=jv(n),Nbe(e,sB()?Reflect.construct(n,r||[],jv(e).constructor):n.apply(e,r))}function Nbe(e,n){if(n&&(Xu(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return kbe(e)}function kbe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sB(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(sB=function(){return!!e})()}function jv(e){return jv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},jv(e)}function qbe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&J2(e,n)}function J2(e,n){return J2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},J2(e,n)}function X2(e,n,r){return n=aB(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function aB(e){var n=Sbe(e,"string");return Xu(n)=="symbol"?n:n+""}function Sbe(e,n){if(Xu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Xu(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var iL=1,Cbe=function(e){function n(){var r;bbe(this,n);for(var i=arguments.length,s=new Array(i),a=0;a<i;a++)s[a]=arguments[a];return r=wbe(this,n,[].concat(s)),X2(r,"state",{dismissed:!1,dismissedAtCoordinate:{x:0,y:0},lastBoundingBox:{width:-1,height:-1}}),X2(r,"handleKeyDown",function(o){if(o.key==="Escape"){var l,c,u,d;r.setState({dismissed:!0,dismissedAtCoordinate:{x:(l=(c=r.props.coordinate)===null||c===void 0?void 0:c.x)!==null&&l!==void 0?l:0,y:(u=(d=r.props.coordinate)===null||d===void 0?void 0:d.y)!==null&&u!==void 0?u:0}})}}),r}return qbe(n,e),jbe(n,[{key:"updateBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var i=this.wrapperNode.getBoundingClientRect();(Math.abs(i.width-this.state.lastBoundingBox.width)>iL||Math.abs(i.height-this.state.lastBoundingBox.height)>iL)&&this.setState({lastBoundingBox:{width:i.width,height:i.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var i,s;this.props.active&&this.updateBBox(),this.state.dismissed&&(((i=this.props.coordinate)===null||i===void 0?void 0:i.x)!==this.state.dismissedAtCoordinate.x||((s=this.props.coordinate)===null||s===void 0?void 0:s.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var i=this,s=this.props,a=s.active,o=s.allowEscapeViewBox,l=s.animationDuration,c=s.animationEasing,u=s.children,d=s.coordinate,p=s.hasPayload,m=s.isAnimationActive,h=s.offset,g=s.position,f=s.reverseDirection,x=s.useTranslate3d,v=s.viewBox,b=s.wrapperStyle,y=vbe({allowEscapeViewBox:o,coordinate:d,offsetTopLeft:h,position:g,reverseDirection:f,tooltipBox:this.state.lastBoundingBox,useTranslate3d:x,viewB
666ox:v}),N=y.cssClasses,j=y.cssProperties,w=rL(rL({transition:m&&a?"transform ".concat(l,"ms ").concat(c):void 0},j),{},{pointerEvents:"none",visibility:!this.state.dismissed&&a&&p?"visible":"hidden",position:"absolute",top:0,left:0},b);return L.createElement("div",{tabIndex:-1,className:N,style:w,ref:function(P){i.wrapperNode=P}},u)}}])}(k.PureComponent),Pbe=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},ea={isSsr:Pbe(),get:function(n){return ea[n]},set:function(n,r){if(typeof n=="string")ea[n]=r;else{var i=Object.keys(n);i&&i.length&&i.forEach(function(s){ea[s]=n[s]})}}};function Zu(e){"@babel/helpers - typeof";return Zu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Zu(e)}function sL(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function aL(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?sL(Object(r),!0).forEach(function(i){iC(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sL(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Ebe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function Tbe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,lB(i.key),i)}}function Ibe(e,n,r){return n&&Tbe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Abe(e,n,r){return n=wv(n),Lbe(e,oB()?Reflect.construct(n,r||[],wv(e).constructor):n.apply(e,r))}function Lbe(e,n){if(n&&(Zu(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Fbe(e)}function Fbe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oB(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(oB=function(){return!!e})()}function wv(e){return wv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},wv(e)}function _be(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Z2(e,n)}function Z2(e,n){return Z2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},Z2(e,n)}function iC(e,n,r){return n=lB(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function lB(e){var n=Obe(e,"string");return Zu(n)=="symbol"?n:n+""}function Obe(e,n){if(Zu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Zu(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Rbe(e){return e.dataKey}function Dbe(e,n){return L.isValidElement(e)?L.cloneElement(e,n):typeof e=="function"?L.createElement(e,n):L.createElement(pbe,n)}var Ii=function(e){function n(){return Ebe(this,n),Abe(this,n,arguments)}return _be(n,e),Ibe(n,[{key:"render",value:function(){var i=this,s=this.props,a=s.active,o=s.allowEscapeViewBox,l=s.animationDuration,c=s.animationEasing,u=s.content,d=s.coordinate,p=s.filterNull,m=s.isAnimationActive,h=s.offset,g=s.payload,f=s.payloadUniqBy,x=s.position,v=s.reverseDirection,b=s.useTranslate3d,y=s.viewBox,N=s.wrapperStyle,j=g??[];p&&j.length&&(j=J$(g.filter(function(q){return q.value!=null&&(q.hide!==!0||i.props.includeHidden)}),f,Rbe));var w=j.length>0;return L.createElement(Cbe,{allowEscapeViewBox:o,animationDuration:l,animationEasing:c,isAnimationActive:m,active:a,coordinate:d,hasPayload:w,offset:h,position:x,reverseDirection:v,useTranslate3d:b,viewBox:y,wrapperStyle:N},Dbe(u,aL(aL({},this.props),{},{payload:j})))}}])}(k.PureComponent);iC(Ii,"displayName","Tooltip");iC(Ii,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!ea.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var Mbe=qs,$be=function(){return Mbe.Date.now()},Bbe=$be,zbe=/\s/;function Ube(e){for(var n=e.length;n--&&zbe.test(e.charAt(n)););return n}var Vbe=Ube,Wbe=Vbe,Hbe=/^\s+/;function Gbe(e){return e&&e.slice(0,Wbe(e)+1).replace(Hbe,"")}var Kbe=Gbe,Qbe=Kbe,oL=Bo,Ybe=Fd,lL=NaN,Jbe=/^[-+]0x[0-9a-f]+$/i,Xbe=/^0b[01]+$/i,Zbe=/^0o[0-7]+$/i,eye=parseInt;function tye(e){if(typeof e=="number")return e;if(Ybe(e))return lL;if(oL(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=oL(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Qbe(e);var r=Xbe.test(e);return r||Zbe.test(e)?eye(e.slice(2),r?2:8):Jbe.test(e)?lL:+e}var cB=tye,nye=Bo,Pj=Bbe,cL=cB,rye="Expected a function",iye=Math.max,sye=Math.min;function aye(e,n,r){var i,s,a,o,l,c,u=0,d=!1,p=!1,m=!0;if(typeof e!="function")throw new TypeError(rye);
vendor: 13,122 bytes, lines 666-672
666n=cL(n)||0,nye(r)&&(d=!!r.leading,p="maxWait"in r,a=p?iye(cL(r.maxWait)||0,n):a,m="trailing"in r?!!r.trailing:m);function h(w){var q=i,P=s;return i=s=void 0,u=w,o=e.apply(P,q),o}function g(w){return u=w,l=setTimeout(v,n),d?h(w):o}function f(w){var q=w-c,P=w-u,T=n-q;return p?sye(T,a-P):T}function x(w){var q=w-c,P=w-u;return c===void 0||q>=n||q<0||p&&P>=a}function v(){var w=Pj();if(x(w))return b(w);l=setTimeout(v,f(w))}function b(w){return l=void 0,m&&i?h(w):(i=s=void 0,o)}function y(){l!==void 0&&clearTimeout(l),u=0,i=c=s=l=void 0}function N(){return l===void 0?o:b(Pj())}function j(){var w=Pj(),q=x(w);if(i=arguments,s=this,c=w,q){if(l===void 0)return g(c);if(p)return clearTimeout(l),l=setTimeout(v,n),h(c)}return l===void 0&&(l=setTimeout(v,n)),o}return j.cancel=y,j.flush=N,j}var oye=aye,lye=oye,cye=Bo,uye="Expected a function";function dye(e,n,r){var i=!0,s=!0;if(typeof e!="function")throw new TypeError(uye);return cye(r)&&(i="leading"in r?!!r.leading:i,s="trailing"in r?!!r.trailing:s),lye(e,n,{leading:i,maxWait:n,trailing:s})}var pye=dye;const uB=Ue(pye);function Ym(e){"@babel/helpers - typeof";return Ym=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ym(e)}function uL(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function ug(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?uL(Object(r),!0).forEach(function(i){mye(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):uL(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function mye(e,n,r){return n=hye(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function hye(e){var n=fye(e,"string");return Ym(n)=="symbol"?n:n+""}function fye(e,n){if(Ym(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Ym(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function gye(e,n){return yye(e)||bye(e,n)||vye(e,n)||xye()}function xye(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
667In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vye(e,n){if(e){if(typeof e=="string")return dL(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return dL(e,n)}}function dL(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function bye(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function yye(e){if(Array.isArray(e))return e}var dB=k.forwardRef(function(e,n){var r=e.aspect,i=e.initialDimension,s=i===void 0?{width:-1,height:-1}:i,a=e.width,o=a===void 0?"100%":a,l=e.height,c=l===void 0?"100%":l,u=e.minWidth,d=u===void 0?0:u,p=e.minHeight,m=e.maxHeight,h=e.children,g=e.debounce,f=g===void 0?0:g,x=e.id,v=e.className,b=e.onResize,y=e.style,N=y===void 0?{}:y,j=k.useRef(null),w=k.useRef();w.current=b,k.useImperativeHandle(n,function(){return Object.defineProperty(j.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),j.current},configurable:!0})});var q=k.useState({containerWidth:s.width,containerHeight:s.height}),P=gye(q,2),T=P[0],E=P[1],A=k.useCallback(function(D,R){E(function(M){var U=Math.round(D),z=Math.round(R);return M.containerWidth===U&&M.containerHeight===z?M:{containerWidth:U,containerHeight:z}})},[]);k.useEffect(function(){var D=function($){var I,Y=$[0].contentRect,W=Y.width,F=Y.height;A(W,F),(I=w.current)===null||I===void 0||I.call(w,W,F)};f>0&&(D=uB(D,f,{trailing:!0,leading:!1}));var R=new ResizeObserver(D),M=j.current.getBoundingClientRect(),U=M.width,z=M.height;return A(U,z),R.observe(j.current),function(){R.disconnect()}},[A,f]);var _=k.useMemo(function(){var D=T.containerWidth,R=T.containerHeight;if(D<0||R<0)return null;Zs(wl(o)||wl(c),`The width(%s) and height(%s) are both fixed numbers,
668       maybe you don't need to use a ResponsiveContainer.`,o,c),Zs(!r||r>0,"The aspect(%s) must be greater than zero.",r);var M=wl(o)?D:o,U=wl(c)?R:c;r&&r>0&&(M?U=M/r:U&&(M=U*r),m&&U>m&&(U=m)),Zs(M>0||U>0,`The width(%s) and height(%s) of chart should be greater than 0,
669       please check the style of container, or the props width(%s) and height(%s),
670       or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
671       height and width.`,M,U,o,c,d,p,r);var z=!Array.isArray(h)&&Xs(h.type).endsWith("Chart");return L.Children.map(h,function(O){return L.isValidElement(O)?k.cloneElement(O,ug({width:M,height:U},z?{style:ug({height:"100%",width:"100%",maxHeight:U,maxWidth:M},O.props.style)}:{})):O})},[r,h,c,m,p,d,T,o]);return L.createElement("div",{id:x?"".concat(x):void 0,className:Re("recharts-responsive-container",v),style:ug(ug({},N),{},{width:o,height:c,minWidth:d,minHeight:p,maxHeight:m}),ref:j},_)}),pB=function(n){return null};pB.displayName="Cell";function Jm(e){"@babel/helpers - typeof";return Jm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Jm(e)}function pL(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function eN(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?pL(Object(r),!0).forEach(function(i){jye(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pL(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function jye(e,n,r){return n=wye(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function wye(e){var n=Nye(e,"string");return Jm(n)=="symbol"?n:n+""}function Nye(e,n){if(Jm(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Jm(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var Cc={widthCache:{},cacheCount:0},kye=2e3,qye={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},mL="recharts_measurement_span";function Sye(e){var n=eN({},e);return Object.keys(n).forEach(function(r){n[r]||delete n[r]}),n}var am=function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(n==null||ea.isSsr)return{width:0,height:0};var i=Sye(r),s=JSON.stringify({text:n,copyStyle:i});if(Cc.widthCache[s])return Cc.widthCache[s];try{var a=document.getElementById(mL);a||(a=document.createElement("span"),a.setAttribute("id",mL),a.setAttribute("aria-hidden","true"),document.body.appendChild(a));var o=eN(eN({},qye),i);Object.assign(a.style,o),a.textContent="".concat(n);var l=a.getBoundingClientRect(),c={width:l.width,height:l.height};return Cc.widthCache[s]=c,++Cc.cacheCount>kye&&(Cc.cacheCount=0,Cc.widthCache={}),c}catch{return{width:0,height:0}}},Cye=function(n){return{top:n.top+window.scrollY-document.documentElement.clientTop,left:n.left+window.scrollX-document.documentElement.clientLeft}};function Xm(e){"@babel/helpers - typeof";return Xm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Xm(e)}function Nv(e,n){return Iye(e)||Tye(e,n)||Eye(e,n)||Pye()}function Pye(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
672In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Eye(e,n){if(e){if(typeof e=="string")return hL(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return hL(e,n)}}function hL(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function Tye(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function Iye(e){if(Array.isArray(e))return e}function Aye(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function fL(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Fye(i.key),i)}}function Lye(e,n,r){return n&&fL(e.prototype,n),r&&fL(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Fye(e){var n=_ye(e,"string");return Xm(n)=="symbol"?n:n+""}function _ye(e,n){if(Xm(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(Xm(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var gL=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,xL=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Oye=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,Rye=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,mB={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},Dye=Object.keys(mB),iu="NaN";function Mye(e,n){return e*mB[n]}var dg=function(){function e(n,r){Aye(this,e),this.num=n,this.unit=r,this.num=n,this.unit=r,Number.isNaN(n)&&(this.unit=""),r!==""&&!Oye.test(r)&&(this.num=NaN,this.unit=""),Dye.includes(r)&&(this.num=Mye(n,r),this.unit="px")}return Lye(e,[{key:"add",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num+r.num,this.unit)}},{key:"subtract",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num-r.num,this.unit)}},{key:"multiply",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num*r.num,this.unit||r.unit)}},{key:"divide",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num/r.num,this.unit||r.unit)}},{key:"toString",value:function(){return"".concat(this.num).concat(this.unit)}},{key:"isNaN",value:function(){return Number.isNaN(this.num)}}],[{key:"parse",value:function(r){var i,s=(i=Rye.exec(r))!==null&&i!==void 0?i:[],a=Nv(s,3),o=a[1],l=a[2];return new e(parseFloat(o),l??"")}}])}();function hB(e){if(e.includes(iu))return iu;for(var n=e;n.includes("*")||n.includes("/");){var r,i=(r=gL.exec(n))!==null&&r!==void 0?r:[],s=Nv(i,4),a=s[1],o=s[2],l=s[3],c=dg.parse(a??""),u=dg.parse(l??""),d=o==="*"?c.multiply(u):c.divide(u);if(d.isNaN())return iu;n=n.replace(gL,d.toString())}for(;n.includes("+")||/.-\d+(?:\.\d+)?/.test(n);){var p,m=(p=xL.exec(n))!==null&&p!==void 0?p:[],h=Nv(m,4),g=h[1],f=h[2],x=h[3],v=dg.parse(g??""),b=dg.parse(x??""),y=f==="+"?v.add(b):v.subtract(b);if(y.isNaN())return iu;n=n.replace(xL,y.toString())}return n}var vL=/\(([^()]*)\)/;function $ye(e){for(var n=e;n.includes("(");){var r=vL.exec(n),i=Nv(r,2),s=i[1];n=n.replace(vL,hB(s))}return n}function Bye(e){var n=e.replace(/\s+/g,"");return n=$ye(n),n=hB(n),n}function zye(e){try{return Bye(e)}catch{return iu}}function Ej(e){var n=zye(e.slice(5,-1));return n===iu?"":n}var Uye=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],Vye=["dx","dy","angle","className","breakAll"];function tN(){return tN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},tN.apply(this,arguments)}function bL(e,n){if(e==null)return{};var r=Wye(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function Wye(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;
672r[i]=e[i]}return r}function yL(e,n){return Qye(e)||Kye(e,n)||Gye(e,n)||Hye()}function Hye(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
673In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gye(e,n){if(e){if(typeof e=="string")return jL(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jL(e,n)}}function jL(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function Kye(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function Qye(e){if(Array.isArray(e))return e}var fB=/[ \f\n\r\t\v\u2028\u2029]+/,gB=function(n){var r=n.children,i=n.breakAll,s=n.style;try{var a=[];Fe(r)||(i?a=r.toString().split(""):a=r.toString().split(fB));var o=a.map(function(c){return{word:c,width:am(c,s).width}}),l=i?0:am(" ",s).width;return{wordsWithComputedWidth:o,spaceWidth:l}}catch{return null}},Yye=function(n,r,i,s,a){var o=n.maxLines,l=n.children,c=n.style,u=n.breakAll,d=ie(o),p=l,m=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return M.reduce(function(U,z){var O=z.word,$=z.width,I=U[U.length-1];if(I&&(s==null||a||I.width+$+i<Number(s)))I.words.push(O),I.width+=$+i;else{var Y={words:[O],width:$};U.push(Y)}return U},[])},h=m(r),g=function(M){return M.reduce(function(U,z){return U.width>z.width?U:z})};if(!d)return h;for(var f="…",x=function(M){var U=p.slice(0,M),z=gB({breakAll:u,style:c,children:U+f}).wordsWithComputedWidth,O=m(z),$=O.length>o||g(O).width>Number(s);return[$,O]},v=0,b=p.length-1,y=0,N;v<=b&&y<=p.length-1;){var j=Math.floor((v+b)/2),w=j-1,q=x(w),P=yL(q,2),T=P[0],E=P[1],A=x(j),_=yL(A,1),D=_[0];if(!T&&!D&&(v=j+1),T&&D&&(b=j-1),!T&&D){N=E;break}y++}return N||h},wL=function(n){var r=Fe(n)?[]:n.toString().split(fB);return[{words:r}]},Jye=function(n){var r=n.width,i=n.scaleToFit,s=n.children,a=n.style,o=n.breakAll,l=n.maxLines;if((r||i)&&!ea.isSsr){var c,u,d=gB({breakAll:o,children:s,style:a});if(d){var p=d.wordsWithComputedWidth,m=d.spaceWidth;c=p,u=m}else return wL(s);return Yye({breakAll:o,children:s,maxLines:l,style:a},c,u,r,i)}return wL(s)},NL="#808080",kv=function(n){var r=n.x,i=r===void 0?0:r,s=n.y,a=s===void 0?0:s,o=n.lineHeight,l=o===void 0?"1em":o,c=n.capHeight,u=c===void 0?"0.71em":c,d=n.scaleToFit,p=d===void 0?!1:d,m=n.textAnchor,h=m===void 0?"start":m,g=n.verticalAnchor,f=g===void 0?"end":g,x=n.fill,v=x===void 0?NL:x,b=bL(n,Uye),y=k.useMemo(function(){return Jye({breakAll:b.breakAll,children:b.children,maxLines:b.maxLines,scaleToFit:p,style:b.style,width:b.width})},[b.breakAll,b.children,b.maxLines,p,b.style,b.width]),N=b.dx,j=b.dy,w=b.angle,q=b.className,P=b.breakAll,T=bL(b,Vye);if(!nn(i)||!nn(a))return null;var E=i+(ie(N)?N:0),A=a+(ie(j)?j:0),_;switch(f){case"start":_=Ej("calc(".concat(u,")"));break;case"middle":_=Ej("calc(".concat((y.length-1)/2," * -").concat(l," + (").concat(u," / 2))"));break;default:_=Ej("calc(".concat(y.length-1," * -").concat(l,")"));break}var D=[];if(p){var R=y[0].width,M=b.width;D.push("scale(".concat((ie(M)?M/R:1)/R,")"))}return w&&D.push("rotate(".concat(w,", ").concat(E,", ").concat(A,")")),D.length&&(T.transform=D.join(" ")),L.createElement("text",tN({},Ie(T,!0),{x:E,y:A,className:Re("recharts-text",q),textAnchor:h,fill:v.includes("url")?NL:v}),y.map(function(U,z){var O=U.words.join(P?"":" ");return L.createElement("tspan",{x:E,dy:z===0?_:l,key:"".concat(O,"-").concat(z)},O)}))};function qo(e,n){return e==null||n==null?NaN:e<n?-1:e>n?1:e>=n?0:NaN}function Xye(e,n){return e==null||n==null?NaN:n<e?-1:n>e?1:n>=e?0:NaN}function sC(e){let n,r,i;e.length!==2?(n=qo,r=(l,c)=>qo(e(l),c),i=(l,c)=>e(l)-c):(n=e===qo||e===Xye?e:Zye,r=e,i=e);function s(l,c,u=0,d=l.length){if(u<d){if(n(c,c)!==0)return d;do{const p=u+d>>>1;r(l[p],c)<0?u=p+1:d=p}while(u<d)}return u}function a(l,c,u=0,d=l.length){if(u<d){if(n(c,c)!==0)return d;do{const p=u+d>>>1;r(l[p],c)<=0?u=p+1:d=p}while(u<d)}return u}function o(l,c,u=0,d=l.length){const p=s(l,c,u,d-1);return p>u&&i(l[p-1],c)>-i(l[p],c)?p-1:p}return{left:s,center:o,right:a}}function Zye(){return 0}function xB(e){return e===null?NaN:+e}function*e0e(e,n){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const t0e=sC(qo),lf=t0e.right;sC(xB).center;class kL extends Map{constructor(n,r=i0e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),n!=null)for(const[i,s]of n)this.set(i,s)}get(n){return super.get(qL(this,n))}has(n){return super.has(qL(this,n))}set(n,r){return super.set(n0e(this,n),r)}delete(n){return super.delete(r0e(this,n))}}function qL({_intern:e,_key:n},r){const i=n(r);return e.has(i)?e.get(i):r}function n0e({_intern:e,_key:n},r){const i=n(r);return e.has(i)?e.get(i):(e.set(i,r),r)}function r0e({_intern:e,_key:n},r){const i=n(r);return e.has(i)&&(r=e.get(i),e.delete(i)),r}function i0e(e){return e!==null&&typeof e=="object"?e.valueOf():e}function s0e(e=qo){if(e===qo)return vB;if(typeof e!="function")throw new TypeError("compare is not a function");return(n,r)=>{const i=e(n,r);return i||i===0?i:(e(r,r)===0)-(e(n,n)===0)}}function vB(e,n){return(e==null||!(e>=e))-(n==null||!(n>=n))||(e<n?-1:e>n?1:0)}const a0e=Math.sqrt(50),o0e=Math.sqrt(10),l0e=Math.sqrt(2);function qv(e,n,r){const i=(n-e)/Math.max(0,r),s=Math.floor(Math.log10(i)),a=i/Math.pow(10,s),o=a>=a0e?10:a>=o0e?5:a>=l0e?2:1;let l,c,u;return s<0?(u=Math.pow(10,-s)/o,l=Math.round(e*u),c=Math.round(n*u),l/u<e&&++l,c/u>n&&--c,u=-u):(u=Math.pow(10,s)*o,l=Math.round(e/u),c=Math.round(n/u),l*u<e&&++l,c*u>n&&--c),c<l&&.5<=r&&r<2?qv(e,n,r*2):[l,c,u]}function nN(e,n,r){if(n=+n,e=+e,r=+r,!(r>0))return[];if(e===n)return[e];const i=n<e,[s,a,o]=i?qv(n,e,r):qv(e,n,r);if(!(a>=s))return[];const l=a-s+1,c=new Array(l);if(i)if(o<0)for(let u=0;u<l;++u)c[u]=(a-u)/-o;else for(let u=0;u<l;++u)c[u]=(a-u)*o;else if(o<0)for(let u=0;u<l;++u)c[u]=(s+u)/-o;else for(let u=0;u<l;++u)c[u]=(s+u)*o;return c}function rN(e,n,r){return n=+n,e=+e,r=+r,qv(e,n,r)[2]}function iN(e,n,r){n=+n,e=+e,r=+r;
673const i=n<e,s=i?rN(n,e,r):rN(e,n,r);return(i?-1:1)*(s<0?1/-s:s)}function SL(e,n){let r;for(const i of e)i!=null&&(r<i||r===void 0&&i>=i)&&(r=i);return r}function CL(e,n){let r;for(const i of e)i!=null&&(r>i||r===void 0&&i>=i)&&(r=i);return r}function bB(e,n,r=0,i=1/0,s){if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),i=Math.floor(Math.min(e.length-1,i)),!(r<=n&&n<=i))return e;for(s=s===void 0?vB:s0e(s);i>r;){if(i-r>600){const c=i-r+1,u=n-r+1,d=Math.log(c),p=.5*Math.exp(2*d/3),m=.5*Math.sqrt(d*p*(c-p)/c)*(u-c/2<0?-1:1),h=Math.max(r,Math.floor(n-u*p/c+m)),g=Math.min(i,Math.floor(n+(c-u)*p/c+m));bB(e,n,h,g,s)}const a=e[n];let o=r,l=i;for(fp(e,r,n),s(e[i],a)>0&&fp(e,r,i);o<l;){for(fp(e,o,l),++o,--l;s(e[o],a)<0;)++o;for(;s(e[l],a)>0;)--l}s(e[r],a)===0?fp(e,r,l):(++l,fp(e,l,i)),l<=n&&(r=l+1),n<=l&&(i=l-1)}return e}function fp(e,n,r){const i=e[n];e[n]=e[r],e[r]=i}function c0e(e,n,r){if(e=Float64Array.from(e0e(e)),!(!(i=e.length)||isNaN(n=+n))){if(n<=0||i<2)return CL(e);if(n>=1)return SL(e);var i,s=(i-1)*n,a=Math.floor(s),o=SL(bB(e,a).subarray(0,a+1)),l=CL(e.subarray(a+1));return o+(l-o)*(s-a)}}function u0e(e,n,r=xB){if(!(!(i=e.length)||isNaN(n=+n))){if(n<=0||i<2)return+r(e[0],0,e);if(n>=1)return+r(e[i-1],i-1,e);var i,s=(i-1)*n,a=Math.floor(s),o=+r(e[a],a,e),l=+r(e[a+1],a+1,e);return o+(l-o)*(s-a)}}function d0e(e,n,r){e=+e,n=+n,r=(s=arguments.length)<2?(n=e,e=0,1):s<3?1:+r;for(var i=-1,s=Math.max(0,Math.ceil((n-e)/r))|0,a=new Array(s);++i<s;)a[i]=e+i*r;return a}function mi(e,n){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(n).domain(e);break}return this}function wa(e,n){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof n=="function"?this.interpolator(n):this.range(n);break}}return this}const sN=Symbol("implicit");function aC(){var e=new kL,n=[],r=[],i=sN;function s(a){let o=e.get(a);if(o===void 0){if(i!==sN)return i;e.set(a,o=n.push(a)-1)}return r[o%r.length]}return s.domain=function(a){if(!arguments.length)return n.slice();n=[],e=new kL;for(const o of a)e.has(o)||e.set(o,n.push(o)-1);return s},s.range=function(a){return arguments.length?(r=Array.from(a),s):r.slice()},s.unknown=function(a){return arguments.length?(i=a,s):i},s.copy=function(){return aC(n,r).unknown(i)},mi.apply(s,arguments),s}function Zm(){var e=aC().unknown(void 0),n=e.domain,r=e.range,i=0,s=1,a,o,l=!1,c=0,u=0,d=.5;delete e.unknown;function p(){var m=n().length,h=s<i,g=h?s:i,f=h?i:s;a=(f-g)/Math.max(1,m-c+u*2),l&&(a=Math.floor(a)),g+=(f-g-a*(m-c))*d,o=a*(1-c),l&&(g=Math.round(g),o=Math.round(o));var x=d0e(m).map(function(v){return g+a*v});return r(h?x.reverse():x)}return e.domain=function(m){return arguments.length?(n(m),p()):n()},e.range=function(m){return arguments.length?([i,s]=m,i=+i,s=+s,p()):[i,s]},e.rangeRound=function(m){return[i,s]=m,i=+i,s=+s,l=!0,p()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(m){return arguments.length?(l=!!m,p()):l},e.padding=function(m){return arguments.length?(c=Math.min(1,u=+m),p()):c},e.paddingInner=function(m){return arguments.length?(c=Math.min(1,m),p()):c},e.paddingOuter=function(m){return arguments.length?(u=+m,p()):u},e.align=function(m){return arguments.length?(d=Math.max(0,Math.min(1,m)),p()):d},e.copy=function(){return Zm(n(),[i,s]).round(l).paddingInner(c).paddingOuter(u).align(d)},mi.apply(p(),arguments)}function yB(e){var n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return yB(n())},e}function om(){return yB(Zm.apply(null,arguments).paddingInner(1))}function oC(e,n,r){e.prototype=n.prototype=r,r.constructor=e}function jB(e,n){var r=Object.create(e.prototype);for(var i in n)r[i]=n[i];return r}function cf(){}var eh=.7,Sv=1/eh,ju="\\s*([+-]?\\d+)\\s*",th="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",vs="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",p0e=/^#([0-9a-f]{3,8})$/,m0e=new RegExp(`^rgb\\(${ju},${ju},${ju}\\)$`),h0e=new RegExp(`^rgb\\(${vs},${vs},${vs}\\)$`),f0e=new RegExp(`^rgba\\(${ju},${ju},${ju},${th}\\)$`),g0e=new RegExp(`^rgba\\(${vs},${vs},${vs},${th}\\)$`),x0e=new RegExp(`^hsl\\(${th},${vs},${vs}\\)$`),v0e=new RegExp(`^hsla\\(${th},${vs},${vs},${th}\\)$`),PL={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};oC(cf,nh,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:EL,formatHex:EL,formatHex8:b0e,formatHsl:y0e,formatRgb:TL,toString:TL});function EL(){return this.rgb().formatHex()}function b0e(){return this.rgb().formatHex8()}function y0e(){return wB(this).formatHsl()}function TL(){return this.rgb().formatRgb()}function nh(e){var n,r;return e=(e+"").trim().toLowerCase(),(n=p0e.exec(e))?(r=n[1].length,n=parseInt(n[1],16),r===6?IL(n):r===3?new or(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):r===8?pg(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):r===4?pg(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=m0e.exec(e))?new or(n[1],n[2],n[3],1):(n=h0e.exec(e))?new or(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=f0e.exec(e))?pg(n[1],n[2],n[3],n[4]):(n=g0e.exec(e))?pg(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=x0e.exec(e))?FL(n[1],n[2]/100,n[3]/100,1):(n=v0e.exec(e))?FL(n[1],n[2]/100,n[3]/100,n[4]):PL.hasOwnProperty(e)?IL(PL[e]):e==="transparent"?new or(NaN,NaN,NaN,0):null}function IL(e){return new or(e>>16&255,e>>8&255,e&255,1)}function pg(e,n,r,i){return i<=0&&(e=n=r=NaN),new or(e,n,r,i)}function j0e(e){return e instanceof cf||(e=nh(e)),e?(e=e.rgb(),new or(e.r,e.g,e.b,e.opacity)):new or}function aN(e,n,r,i){return arguments.length===1?j0e(e):new or(e,n,r,i??1)}function or(e,n,r,i){this.r=+e,this.g=+n,this.b=+r,this.opacity=+i}oC(or,aN,jB(cf,{brighter(e){return e=e==null?Sv:Math.pow(Sv,e),new or(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?eh:Math.pow(eh,e),new or(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new or(zl(this.r),zl(this.g),zl(this.b),Cv(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:AL,formatHex:AL,formatHex8:w0e,formatRgb:LL,toString:LL}));function AL(){return`#${Nl(this.r)}${Nl(this.g)}${Nl(this.b)}`}function w0e(){return`#${Nl(this.r)}${Nl(this.g)}${Nl(this.b)}${Nl((isNaN(this.opacity)?1:this.opacity)*255)}`}function LL(){const e=Cv(this.opacity);return`${e===1?"rgb(":"rgba("}${zl(this.r)}, ${zl(this.g)}, ${zl(this.b)}${e===1?")":`, ${e})`}`}function Cv(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function zl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Nl(e){return e=zl(e),(e<16?"0":"")+e.toString(16)}function FL(e,n,r,i){return i<=0?e=n=r=NaN:r<=0||r>=1?e=n=NaN:n<=0&&(e=NaN),new Fi(e,n,r,i)}function wB(e){if(e instanceof Fi)return new Fi(e.h,e.s,e.l,e.opacity);if(e instanceof cf||(e=nh(e)),!e)return new Fi;if(e instanceof Fi)return e;e=e.rgb();var n=e.r/255,r=e.g/255,i=e.b/255,s=Math.min(n,r,i),a=Math.max(n,r,i),o=NaN,l=a-s,c=(a+s)/2;return l?(n===a?o=(r-i)/l+(r<i)*6:r===a?o=(i-n)/l+2:o=(n-r)/l+4,l/=c<.5?a+s:2-a-s,o*=60):l=c>0&&c<1?0:o,new Fi(o,l,c,e.opacity)}function N0e(e,n,r,i){return arguments.length===1?wB(e):new Fi(e,n,r,i??1)}function Fi(e,n,r,i){this.h=+e,this.s=+n,this.l=+r,this.opacity=+i}oC(Fi,N0e,jB(cf,{brighter(e){return e=e==null?Sv:Math.pow(Sv,e),new Fi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?eh:Math.pow(eh,e),new Fi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*n,s=2*r-i;return new or(Tj(e>=240?e-240:e+120,s,i),Tj(e,s,i),Tj(e<120?e+240:e-120,s,i),this.opacity)},clamp(){return new Fi(_L(this.h),mg(this.s),mg(this.l),Cv(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Cv(this.opacity);return`${e===1?"hsl(":"hsla("}${_L(this.h)}, ${mg(this.s)*100}%, ${mg(this.l)*100}%${e===1?")":`, ${e})`}`}}));function _L(e){return e=(e||0)%360,e<0?e+360:e}function mg(e){return Math.max(0,Math.min(1,e||0))}function Tj(e,n,r){return(e<60?n+(r-n)*e/60:e<180?r:e<240?n+(r-n)*(240-e)/60:n)*255}const lC=e=>()=>e;function k0e(e,n){return function(r){return e+r*n}}function q0e(e,n,r){return e=Math.pow(e,r),n=Math.pow(n,r)-e,r=1/r,function(i){return Math.pow(e+i*n,r)}}function S0e(e){return(e=+e)==1?NB:function(n,r){return r-n?q0e(n,r,e):lC(isNaN(n)?r:n)}}function NB(e,n){var r=n-e;return r?k0e(e,r):lC(isNaN(e)?n:e)}const OL=function e(n){var r=S0e(n);function i(s,a){var o=r((s=aN(s)).r,(a=aN(a)).r),l=r(s.g,a.g),c=r(s.b,a.b),u=NB(s.opacity,a.opacity);return function(d){return s.r=o(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return i.gamma=e,i}(1);function C0e(e,n){n||(n=[]);var r=e?Math.min(n.length,e.length):0,i=n.slice(),s;return function(a){for(s=0;s<r;++s)i[s]=e[s]*(1-a)+n[s]*a;return i}}function P0e(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function E0e(e,n){var r=n?n.length:0,i=e?Math.min(r,e.length):0,s=new Array(i),a=new Array(r),o;for(o=0;o<i;++o)s[o]=Ud(e[o],n[o]);for(;o<r;++o)a[o]=n[o];return function(l){for(o=0;o<i;++o)a[o]=s[o](l);return a}}function T0e(e,n){var r=new Date;return e=+e,n=+n,function(i){return r.setTime(e*(1-i)+n*i),r}}function Pv(e,n){return e=+e,n=+n,function(r){return e*(1-r)+n*r}}function I0e(e,n){var r={},i={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?r[s]=Ud(e[s],n[s]):i[s]=n[s];return function(a){for(s in r)i[s]=r[s](a);return i}}var oN=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ij=new RegExp(oN.source,"g");function A0e(e){return function(){return e}}function L0e(e){return function(n){return e(n)+""}}function F0e(e,n){var r=oN.lastIndex=Ij.lastIndex=0,i,s,a,o=-1,l=[],c=[];for(e=e+"",n=n+"";(i=oN.exec(e))&&(s=Ij.exec(n));)(a=s.index)>r&&(a=n.slice(r,a),l[o]?l[o]+=a:l[++o]=a),(i=i[0])===(s=s[0])?l[o]?l[o]+=s:l[++o]=s:(l[++o]=null,c.push({i:o,x:Pv(i,s)})),r=Ij.lastIndex;return r<n.length&&(a=n.slice(r),l[o]?l[o]+=a:l[++o]=a),l.length<2?c[0]?L0e(c[0].x):A0e(n):(n=c.length,function(u){for(var d=0,p;d<n;++d)l[(p=c[d]).i]=p.x(u);return l.join("")})}function Ud(e,n){var r=typeof n,i;return n==null||r==="boolean"?lC(n):(r==="number"?Pv:r==="string"?(i=nh(n))?(n=i,OL):F0e:n instanceof nh?OL:n instanceof Date?T0e:P0e(n)?C0e:Array.isArray(n)?E0e
vendor: 2,192 bytes, line 673
673:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?I0e:Pv)(e,n)}function cC(e,n){return e=+e,n=+n,function(r){return Math.round(e*(1-r)+n*r)}}function _0e(e,n){n===void 0&&(n=e,e=Ud);for(var r=0,i=n.length-1,s=n[0],a=new Array(i<0?0:i);r<i;)a[r]=e(s,s=n[++r]);return function(o){var l=Math.max(0,Math.min(i-1,Math.floor(o*=i)));return a[l](o-l)}}function O0e(e){return function(){return e}}function Ev(e){return+e}var RL=[0,1];function Hn(e){return e}function lN(e,n){return(n-=e=+e)?function(r){return(r-e)/n}:O0e(isNaN(n)?NaN:.5)}function R0e(e,n){var r;return e>n&&(r=e,e=n,n=r),function(i){return Math.max(e,Math.min(n,i))}}function D0e(e,n,r){var i=e[0],s=e[1],a=n[0],o=n[1];return s<i?(i=lN(s,i),a=r(o,a)):(i=lN(i,s),a=r(a,o)),function(l){return a(i(l))}}function M0e(e,n,r){var i=Math.min(e.length,n.length)-1,s=new Array(i),a=new Array(i),o=-1;for(e[i]<e[0]&&(e=e.slice().reverse(),n=n.slice().reverse());++o<i;)s[o]=lN(e[o],e[o+1]),a[o]=r(n[o],n[o+1]);return function(l){var c=lf(e,l,1,i)-1;return a[c](s[c](l))}}function uf(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Cy(){var e=RL,n=RL,r=Ud,i,s,a,o=Hn,l,c,u;function d(){var m=Math.min(e.length,n.length);return o!==Hn&&(o=R0e(e[0],e[m-1])),l=m>2?M0e:D0e,c=u=null,p}function p(m){return m==null||isNaN(m=+m)?a:(c||(c=l(e.map(i),n,r)))(i(o(m)))}return p.invert=function(m){return o(s((u||(u=l(n,e.map(i),Pv)))(m)))},p.domain=function(m){return arguments.length?(e=Array.from(m,Ev),d()):e.slice()},p.range=function(m){return arguments.length?(n=Array.from(m),d()):n.slice()},p.rangeRound=function(m){return n=Array.from(m),r=cC,d()},p.clamp=function(m){return arguments.length?(o=m?!0:Hn,d()):o!==Hn},p.interpolate=function(m){return arguments.length?(r=m,d()):r},p.unknown=function(m){return arguments.length?(a=m,p):a},function(m,h){return i=m,s=h,d()}}function uC(){return Cy()(Hn,Hn)}function $0e(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Tv(e,n){if((r=(e=n?e.toExponential(n-1):e.toExponential()).indexOf("e"))<0)return null;var r,i=e.slice(0,r);return[i.length>
vendor: 4,213 bytes, line 673
6731?i[0]+i.slice(2):i,+e.slice(r+1)]}function ed(e){return e=Tv(Math.abs(e)),e?e[1]:NaN}function B0e(e,n){return function(r,i){for(var s=r.length,a=[],o=0,l=e[0],c=0;s>0&&l>0&&(c+l+1>i&&(l=Math.max(1,i-c)),a.push(r.substring(s-=l,s+l)),!((c+=l+1)>i));)l=e[o=(o+1)%e.length];return a.reverse().join(n)}}function z0e(e){return function(n){return n.replace(/[0-9]/g,function(r){return e[+r]})}}var U0e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function rh(e){if(!(n=U0e.exec(e)))throw new Error("invalid format: "+e);var n;return new dC({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}rh.prototype=dC.prototype;function dC(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}dC.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function V0e(e){e:for(var n=e.length,r=1,i=-1,s;r<n;++r)switch(e[r]){case".":i=s=r;break;case"0":i===0&&(i=r),s=r;break;default:if(!+e[r])break e;i>0&&(i=0);break}return i>0?e.slice(0,i)+e.slice(s+1):e}var kB;function W0e(e,n){var r=Tv(e,n);if(!r)return e+"";var i=r[0],s=r[1],a=s-(kB=Math.max(-8,Math.min(8,Math.floor(s/3)))*3)+1,o=i.length;return a===o?i:a>o?i+new Array(a-o+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+Tv(e,Math.max(0,n+a-1))[0]}function DL(e,n){var r=Tv(e,n);if(!r)return e+"";var i=r[0],s=r[1];return s<0?"0."+new Array(-s).join("0")+i:i.length>s+1?i.slice(0,s+1)+"."+i.slice(s+1):i+new Array(s-i.length+2).join("0")}const ML={"%":(e,n)=>(e*100).toFixed(n),b:e=>Math.round(e).toString(2),c:e=>e+"",d:$0e,e:(e,n)=>e.toExponential(n),f:(e,n)=>e.toFixed(n),g:(e,n)=>e.toPrecision(n),o:e=>Math.round(e).toString(8),p:(e,n)=>DL(e*100,n),r:DL,s:W0e,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function $L(e){return e}var BL=Array.prototype.map,zL=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function H0e(e){var n=e.grouping===void 0||e.thousands===void 0?$L:B0e(BL.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",i=e.currency===void 0?"":e.currency[1]+"",s=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?$L:z0e(BL.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function u(p){p=rh(p);var m=p.fill,h=p.align,g=p.sign,f=p.symbol,x=p.zero,v=p.width,b=p.comma,y=p.precision,N=p.trim,j=p.type;j==="n"?(b=!0,j="g"):ML[j]||(y===void 0&&(y=12),N=!0,j="g"),(x||m==="0"&&h==="=")&&(x=!0,m="0",h="=");var w=f==="$"?r:f==="#"&&/[boxX]/.test(j)?"0"+j.toLowerCase():"",q=f==="$"?i:/[%p]/.test(j)?o:"",P=ML[j],T=/[defgprs%]/.test(j);y=y===void 0?6:/[gprs]/.test(j)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y));function E(A){var _=w,D=q,R,M,U;if(j==="c")D=P(A)+D,A="";else{A=+A;var z=A<0||1/A<0;if(A=isNaN(A)?c:P(Math.abs(A),y),N&&(A=V0e(A)),z&&+A==0&&g!=="+"&&(z=!1),_=(z?g==="("?g:l:g==="-"||g==="("?"":g)+_,D=(j==="s"?zL[8+kB/3]:"")+D+(z&&g==="("?")":""),T){for(R=-1,M=A.length;++R<M;)if(U=A.charCodeAt(R),48>U||U>57){D=(U===46?s+A.slice(R+1):A.slice(R))+D,A=A.slice(0,R);break}}}b&&!x&&(A=n(A,1/0));var O=_.length+A.length+D.length,$=O<v?new Array(v-O+1).join(m):"";switch(b&&x&&(A=n($+A,$.length?v-D.length:1/0),$=""),h){case"<":A=_+A+D+$;break;case"=":A=_+$+A+D;break;case"^":A=$.slice(0,O=$.length>>1)+_+A+D+$.slice(O);break;default:A=$+_+A+D;break}return a(A)}return E.toString=function(){return p+""},E}function d(p,m){var h=u((p=rh(p),p.type="f",p)),g=Math.max(-8,Math.min(8,Math.floor(ed(m)/3)))*3,f=Math.pow(10,-g),x=zL[8+g/3];return function(v){return h(f*v)+x}}return{format:u,formatPrefix:d}}var hg,pC,qB;
673G0e({thousands:",",grouping:[3],currency:["$",""]});function G0e(e){return hg=H0e(e),pC=hg.format,qB=hg.formatPrefix,hg}function K0e(e){return Math.max(0,-ed(Math.abs(e)))}function Q0e(e,n){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ed(n)/3)))*3-ed(Math.abs(e)))}function Y0e(e,n){return e=Math.abs(e),n=Math.abs(n)-e,Math.max(0,ed(n)-ed(e))+1}function SB(e,n,r,i){var s=iN(e,n,r),a;switch(i=rh(i??",f"),i.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(n));return i.precision==null&&!isNaN(a=Q0e(s,o))&&(i.precision=a),qB(i,o)}case"":case"e":case"g":case"p":case"r":{i.precision==null&&!isNaN(a=Y0e(s,Math.max(Math.abs(e),Math.abs(n))))&&(i.precision=a-(i.type==="e"));break}case"f":case"%":{i.precision==null&&!isNaN(a=K0e(s))&&(i.precision=a-(i.type==="%")*2);break}}return pC(i)}function Uo(e){var n=e.domain;return e.ticks=function(r){var i=n();return nN(i[0],i[i.length-1],r??10)},e.tickFormat=function(r,i){var s=n();return SB(s[0],s[s.length-1],r??10,i)},e.nice=function(r){r==null&&(r=10);var i=n(),s=0,a=i.length-1,o=i[s],l=i[a],c,u,d=10;for(l<o&&(u=o,o=l,l=u,u=s,s=a,a=u);d-- >0;){if(u=rN(o,l,r),u===c)return i[s]=o,i[a]=l,n(i);if(u>0)o=Math.floor(o/u)*u,l=Math.ceil(l/u)*u;else if(u<0)o=Math.ceil(o*u)/u,l=Math.floor(l*u)/u;else break;c=u}return e},e}function Iv(){var e=uC();return e.copy=function(){return uf(e,Iv())},mi.apply(e,arguments),Uo(e)}function CB(e){var n;function r(i){return i==null||isNaN(i=+i)?n:i}return r.invert=r,r.domain=r.range=function(i){return arguments.length?(e=Array.from(i,Ev),r):e.slice()},r.unknown=function(i){return arguments.length?(n=i,r):n},r.copy=function(){return CB(e).unknown(n)},e=arguments.length?Array.from(e,Ev):[0,1],Uo(r)}function PB(e,n){e=e.slice();var r=0,i=e.length-1,s=e[r],a=e[i],o;return a<s&&(o=r,r=i,i=o,o=s,s=a,a=o),e[r]=n.floor(s),e[i]=n.ceil(a),e}function UL(e){return Math.log(e)}function VL(e){return Math.exp(e)}function J0e(e){return-Math.log(-e)}function X0e(e){return-Math.exp(-e)}function Z0e(e){return isFinite(e)?+("1e"+e):e<0?0:e}function eje(e){return e===10?Z0e:e===Math.E?Math.exp:n=>Math.pow(e,n)}function tje(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),n=>Math.log(n)/e)}function WL(e){return(n,r)=>-e(-n,r)}function mC(e){const n=e(UL,VL),r=n.domain;let i=10,s,a;function o(){return s=tje(i),a=eje(i),r()[0]<0?(s=WL(s),a=WL(a),e(J0e,X0e)):e(UL,VL),n}return n.base=function(l){return arguments.length?(i=+l,o()):i},n.domain=function(l){return arguments.length?(r(l),o()):r()},n.ticks=l=>{const c=r();let u=c[0],d=c[c.length-1];const p=d<u;p&&([u,d]=[d,u]);let m=s(u),h=s(d),g,f;const x=l==null?10:+l;let v=[];if(!(i%1)&&h-m<x){if(m=Math.floor(m),h=Math.ceil(h),u>0){for(;m<=h;++m)for(g=1;g<i;++g)if(f=m<0?g/a(-m):g*a(m),!(f<u)){if(f>d)break;v.push(f)}}else for(;m<=h;++m)for(g=i-1;g>=1;--g)if(f=m>0?g/a(-m):g*a(m),!(f<u)){if(f>d)break;v.push(f)}v.length*2<x&&(v=nN(u,d,x))}else v=nN(m,h,Math.min(h-m,x)).map(a);return p?v.reverse():v},n.tickFormat=(l,c)=>{if(l==null&&(l=10),c==null&&(c=i===10?"s":","),typeof c!="function"&&(!(i%1)&&(c=rh(c)).precision==null&&(c.trim=!0),c=pC(c)),l===1/0)return c;const u=Math.max(1,i*l/n.ticks().length);return d=>{let p=d/a(Math.round(s(d)));return p*i<i-.5&&(p*=i),p<=u?c(d):""}},n.nice=()=>r(PB(r(),{floor:l=>a(Math.floor(s(l))),ceil:l=>a(Math.ceil(s(l)))})),n}function EB(){const e=mC(Cy()).domain([1,10]);return e.copy=()=>uf(e,EB()).base(e.base()),mi.apply(e,arguments),e}function HL(e){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/e))}}function GL(e){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*e}}function hC(e){var n=1,r=e(HL(n),GL(n));return r.constant=function(i){return arguments.length?e(HL(n=+i),GL(n)):n},Uo(r)}function TB(){var e=hC(Cy());return e.copy=function(){return uf(e,TB()).constant(e.constant())},mi.apply(e,arguments)}function KL(e){return function(n){return n<0?-Math.pow(-n,e):Math.pow(n,e)}}function nje(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function rje(e){return e<0?-e*e:e*e}function fC(e){var n=e(Hn,Hn),r=1;function i(){return r===1?e(Hn,Hn):r===.5?e(nje,rje):e(KL(r),KL(1/r))}return n.exponent=function(s){return arguments.length?(r=+s,i()):r},Uo(n)}function gC(){var e=fC(Cy());return e.copy=function(){return uf(e,gC()).exponent(e.exponent())},mi.apply(e,arguments),e}function ije(){return gC.apply(null,arguments).exponent(.5)}function QL(e){return Math.sign(e)*e*e}function sje(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function IB(){var e=uC(),n=[0,1],r=!1,i;function s(a){var o=sje(e(a));return isNaN(o)?i:r?Math.round(o):o}return s.invert=function(a){return e.invert(QL(a))},s.domain=function(a){return arguments.length?(e.domain(a),s):e.domain()},s.range=function(a){return arguments.length?(e.range((n=Array.from(a,Ev)).map(QL)),s):n.slice()},s.rangeRound=function(a){return s.range(a).round(!0)},s.round=function(a){return arguments.length?(r=!!a,s):r},s.clamp=function(a){return arguments.length?(e.clamp(a),s):e.clamp()},s.unknown=function(a){return arguments.length?(i=a,s):i},s.copy=function(){return IB(e.domain(),n).round(r).clamp(e.clamp()).unknown(i)},mi.apply(s,arguments),Uo(s)}function AB(){var e=[],n=[],r=[],i;function s(){var o=0,l=Math.max(1,n.length);for(r=new Array(l-1);++o<l;)r[o-1]=u0e(e,o/l);return a}function a(o){return o==null||isNaN(o=+o)?i:n[lf(r,o)]}return a.invertExtent=function(o){var l=n.indexOf(o);return l<0?[NaN,NaN]:[l>0?r[l-1]:e[0],l<r.length?r[l]:e[e.length-1]]}
673,a.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(qo),s()},a.range=function(o){return arguments.length?(n=Array.from(o),s()):n.slice()},a.unknown=function(o){return arguments.length?(i=o,a):i},a.quantiles=function(){return r.slice()},a.copy=function(){return AB().domain(e).range(n).unknown(i)},mi.apply(a,arguments)}function LB(){var e=0,n=1,r=1,i=[.5],s=[0,1],a;function o(c){return c!=null&&c<=c?s[lf(i,c,0,r)]:a}function l(){var c=-1;for(i=new Array(r);++c<r;)i[c]=((c+1)*n-(c-r)*e)/(r+1);return o}return o.domain=function(c){return arguments.length?([e,n]=c,e=+e,n=+n,l()):[e,n]},o.range=function(c){return arguments.length?(r=(s=Array.from(c)).length-1,l()):s.slice()},o.invertExtent=function(c){var u=s.indexOf(c);return u<0?[NaN,NaN]:u<1?[e,i[0]]:u>=r?[i[r-1],n]:[i[u-1],i[u]]},o.unknown=function(c){return arguments.length&&(a=c),o},o.thresholds=function(){return i.slice()},o.copy=function(){return LB().domain([e,n]).range(s).unknown(a)},mi.apply(Uo(o),arguments)}function FB(){var e=[.5],n=[0,1],r,i=1;function s(a){return a!=null&&a<=a?n[lf(e,a,0,i)]:r}return s.domain=function(a){return arguments.length?(e=Array.from(a),i=Math.min(e.length,n.length-1),s):e.slice()},s.range=function(a){return arguments.length?(n=Array.from(a),i=Math.min(e.length,n.length-1),s):n.slice()},s.invertExtent=function(a){var o=n.indexOf(a);return[e[o-1],e[o]]},s.unknown=function(a){return arguments.length?(r=a,s):r},s.copy=function(){return FB().domain(e).range(n).unknown(r)},mi.apply(s,arguments)}const Aj=new Date,Lj=new Date;function sn(e,n,r,i){function s(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return s.floor=a=>(e(a=new Date(+a)),a),s.ceil=a=>(e(a=new Date(a-1)),n(a,1),e(a),a),s.round=a=>{const o=s(a),l=s.ceil(a);return a-o<l-a?o:l},s.offset=(a,o)=>(n(a=new Date(+a),o==null?1:Math.floor(o)),a),s.range=(a,o,l)=>{const c=[];if(a=s.ceil(a),l=l==null?1:Math.floor(l),!(a<o)||!(l>0))return c;let u;do c.push(u=new Date(+a)),n(a,l),e(a);while(u<a&&a<o);return c},s.filter=a=>sn(o=>{if(o>=o)for(;e(o),!a(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;n(o,-1),!a(o););else for(;--l>=0;)for(;n(o,1),!a(o););}),r&&(s.count=(a,o)=>(Aj.setTime(+a),Lj.setTime(+o),e(Aj),e(Lj),Math.floor(r(Aj,Lj))),s.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?s.filter(i?o=>i(o)%a===0:o=>s.count(0,o)%a===0):s)),s}const Av=sn(()=>{},(e,n)=>{e.setTime(+e+n)},(e,n)=>n-e);Av.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?sn(n=>{n.setTime(Math.floor(n/e)*e)},(n,r)=>{n.setTime(+n+r*e)},(n,r)=>(r-n)/e):Av);Av.range;const Ws=1e3,si=Ws*60,Hs=si*60,pa=Hs*24,xC=pa*7,YL=pa*30,Fj=pa*365,kl=sn(e=>{e.setTime(e-e.getMilliseconds())},(e,n)=>{e.setTime(+e+n*Ws)},(e,n)=>(n-e)/Ws,e=>e.getUTCSeconds());kl.range;const vC=sn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ws)},(e,n)=>{e.setTime(+e+n*si)},(e,n)=>(n-e)/si,e=>e.getMinutes());vC.range;const bC=sn(e=>{e.setUTCSeconds(0,0)},(e,n)=>{e.setTime(+e+n*si)},(e,n)=>(n-e)/si,e=>e.getUTCMinutes());bC.range;const yC=sn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ws-e.getMinutes()*si)},(e,n)=>{e.setTime(+e+n*Hs)},(e,n)=>(n-e)/Hs,e=>e.getHours());yC.range;const jC=sn(e=>{e.setUTCMinutes(0,0,0)},(e,n)=>{e.setTime(+e+n*Hs)},(e,n)=>(n-e)/Hs,e=>e.getUTCHours());jC.range;const df=sn(e=>e.setHours(0,0,0,0),(e,n)=>e.setDate(e.getDate()+n),(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*si)/pa,e=>e.getDate()-1);df.range;const Py=sn(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/pa,e=>e.getUTCDate()-1);Py.range;const _B=sn(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/pa,e=>Math.floor(e/pa));_B.range;function hc(e){return sn(n=>{n.setDate(n.getDate()-(n.getDay()+7-e)%7),n.setHours(0,0,0,0)},(n,r)=>{n.setDate(n.getDate()+r*7)},(n,r)=>(r-n-(r.getTimezoneOffset()-n.getTimezoneOffset())*si)/xC)}const Ey=hc(0),Lv=hc(1),aje=hc(2),oje=hc(3),td=hc(4),lje=hc(5),cje=hc(6);Ey.range;Lv.range;aje.range;oje.range;td.range;lje.range;cje.range;function fc(e){return sn(n=>{n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-e)%7),n.setUTCHours(0,0,0,0)},(n,r)=>
vendor: 8,459 bytes, line 673
673{n.setUTCDate(n.getUTCDate()+r*7)},(n,r)=>(r-n)/xC)}const Ty=fc(0),Fv=fc(1),uje=fc(2),dje=fc(3),nd=fc(4),pje=fc(5),mje=fc(6);Ty.range;Fv.range;uje.range;dje.range;nd.range;pje.range;mje.range;const wC=sn(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,n)=>{e.setMonth(e.getMonth()+n)},(e,n)=>n.getMonth()-e.getMonth()+(n.getFullYear()-e.getFullYear())*12,e=>e.getMonth());wC.range;const NC=sn(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCMonth(e.getUTCMonth()+n)},(e,n)=>n.getUTCMonth()-e.getUTCMonth()+(n.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());NC.range;const ma=sn(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n)},(e,n)=>n.getFullYear()-e.getFullYear(),e=>e.getFullYear());ma.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:sn(n=>{n.setFullYear(Math.floor(n.getFullYear()/e)*e),n.setMonth(0,1),n.setHours(0,0,0,0)},(n,r)=>{n.setFullYear(n.getFullYear()+r*e)});ma.range;const ha=sn(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n)},(e,n)=>n.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ha.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:sn(n=>{n.setUTCFullYear(Math.floor(n.getUTCFullYear()/e)*e),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},(n,r)=>{n.setUTCFullYear(n.getUTCFullYear()+r*e)});ha.range;function OB(e,n,r,i,s,a){const o=[[kl,1,Ws],[kl,5,5*Ws],[kl,15,15*Ws],[kl,30,30*Ws],[a,1,si],[a,5,5*si],[a,15,15*si],[a,30,30*si],[s,1,Hs],[s,3,3*Hs],[s,6,6*Hs],[s,12,12*Hs],[i,1,pa],[i,2,2*pa],[r,1,xC],[n,1,YL],[n,3,3*YL],[e,1,Fj]];function l(u,d,p){const m=d<u;m&&([u,d]=[d,u]);const h=p&&typeof p.range=="function"?p:c(u,d,p),g=h?h.range(u,+d+1):[];return m?g.reverse():g}function c(u,d,p){const m=Math.abs(d-u)/p,h=sC(([,,x])=>x).right(o,m);if(h===o.length)return e.every(iN(u/Fj,d/Fj,p));if(h===0)return Av.every(Math.max(iN(u,d,p),1));const[g,f]=o[m/o[h-1][2]<o[h][2]/m?h-1:h];return g.every(f)}return[l,c]}const[hje,fje]=OB(ha,NC,Ty,_B,jC,bC),[gje,xje]=OB(ma,wC,Ey,df,yC,vC);function _j(e){if(0<=e.y&&e.y<100){var n=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return n.setFullYear(e.y),n}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Oj(e){if(0<=e.y&&e.y<100){var n=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return n.setUTCFullYear(e.y),n}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function gp(e,n,r){return{y:e,m:n,d:r,H:0,M:0,S:0,L:0}}function vje(e){var n=e.dateTime,r=e.date,i=e.time,s=e.periods,a=e.days,o=e.shortDays,l=e.months,c=e.shortMonths,u=xp(s),d=vp(s),p=xp(a),m=vp(a),h=xp(o),g=vp(o),f=xp(l),x=vp(l),v=xp(c),b=vp(c),y={a:z,A:O,b:$,B:I,c:null,d:n5,e:n5,f:Bje,g:Jje,G:Zje,H:Dje,I:Mje,j:$je,L:RB,m:zje,M:Uje,p:Y,q:W,Q:s5,s:a5,S:Vje,u:Wje,U:Hje,V:Gje,w:Kje,W:Qje,x:null,X:null,y:Yje,Y:Xje,Z:ewe,"%":i5},N={a:F,A:ae,b:ge,B:be,c:null,d:r5,e:r5,f:iwe,g:hwe,G:gwe,H:twe,I:nwe,j:rwe,L:MB,m:swe,M:awe,p:Ne,q:Me,Q:s5,s:a5,S:owe,u:lwe,U:cwe,V:uwe,w:dwe,W:pwe,x:null,X:null,y:mwe,Y:fwe,Z:xwe,"%":i5},j={a:E,A,b:_,B:D,c:R,d:e5,e:e5,f:Fje,g:ZL,G:XL,H:t5,I:t5,j:Tje,L:Lje,m:Eje,M:Ije,p:T,q:Pje,Q:Oje,s:Rje,S:Aje,u:Nje,U:kje,V:qje,w:wje,W:Sje,x:M,X:U,y:ZL,Y:XL,Z:Cje,"%":_je};y.x=w(r,y),y.X=w(i,y),y.c=w(n,y),N.x=w(r,N),N.X=w(i,N),N.c=w(n,N);function w(te,me){return function(fe){var Q=[],$e=-1,Ee=0,at=te.length,tt,_t,yn;for(fe instanceof Date||(fe=new Date(+fe));++$e<at;)te.charCodeAt($e)===37&&(Q.push(te.slice(Ee,$e)),(_t=JL[tt=te.charAt(++$e)])!=null?tt=te.charAt(++$e):_t=tt==="e"?" ":"0",(yn=me[tt])&&(tt=yn(fe,_t)),Q.push(tt),Ee=$e+1);return Q.push(te.slice(Ee,$e)),Q.join("")}}function q(te,me){return function(fe){var Q=gp(1900,void 0,1),$e=P(Q,te,fe+="",0),Ee,at;if($e!=fe.length)return null;if("Q"in Q)return new Date(Q.Q);if("s"in Q)return new Date(Q.s*1e3+("L"in Q?Q.L:0));if(me&&!("Z"in Q)&&(Q.Z=0),"p"in Q&&(Q.H=Q.H%12+Q.p*12),Q.m===void 0&&(Q.m="q"in Q?Q.q:0),"V"in Q){if(Q.V<1||Q.V>53)return null;"w"in Q||(Q.w=1),"Z"in Q?(Ee=Oj(gp(Q.y,0,1)),at=Ee.getUTCDay(),Ee=at>4||at===0?Fv.ceil(Ee):Fv(Ee),Ee=Py.offset(Ee,(Q.V-1)*7),Q.y=Ee.getUTCFullYear(),Q.m=Ee.getUTCMonth(),Q.d=Ee.getUTCDate()+(Q.w+6)%7):(Ee=_j(gp(Q.y,0,1)),at=Ee.getDay(),Ee=at>4||at===0?Lv.ceil(Ee):Lv(Ee),Ee=df.offset(Ee,(Q.V-1)*7),Q.y=Ee.getFullYear(),Q.m=Ee.getMonth(),Q.d=Ee.getDate()+(Q.w+6)%7)}else("W"in Q||"U"in Q)&&("w"in Q||(Q.w="u"in Q?Q.u%7:"W"in Q?1:0),at="Z"in Q?Oj(gp(Q.y,0,1)).getUTCDay():_j(gp(Q.y,0,1)).getDay(),Q.m=0,Q.d="W"in Q?(Q.w+6)%7+Q.W*7-(at+5)%7:Q.w+Q.U*7-(at+6)%7);return"Z"in Q?(Q.H+=Q.Z/100|0,Q.M+=Q.Z%100,Oj(Q)):_j(Q)}}function P(te,me,fe,Q){for(var $e=0,Ee=me.length,at=fe.length,tt,_t;$e<Ee;){if(Q>=at)return-1;if(tt=me.charCodeAt($e++),tt===37){if(tt=me.charAt($e++),_t=j[tt in JL?me.charAt($e++):tt],!_t||(Q=_t(te,fe,Q))<0)return-1}else if(tt!=fe.charCodeAt(Q++))return-1}return Q}function T(te,me,fe){var Q=u.exec(me.slice(fe));return Q?(te.p=d.get(Q[0].toLowerCase()),fe+Q[0].length):-1}function E(te,me,fe){var Q=h.exec(me.slice(fe));return Q?(te.w=g.get(Q[0].toLowerCase()),fe+Q[0].length):-1}function A(te,me,fe){var Q=p.exec(me.slice(fe));return Q?(te.w=m.get(Q[0].toLowerCase()),fe+Q[0].length):-1}function _(te,me,fe){var Q=v.exec(me.slice(fe));return Q?(te.m=b.get(Q[0].toLowerCase()),fe+Q[0].length):-1}function D(te,me,fe){var Q=f.exec(me.slice(fe));return Q?(te.m=x.get(Q[0].toLowerCase()),fe+Q[0].length):-1}function R(te,me,fe){return P(te,n,me,fe)}function M(te,me,fe){return P(te,r,me,fe)}function U(te,me,fe){return P(te,i,me,fe)}function z(te){return o[te.getDay()]}function O(te){return a[te.getDay()]}function $(te){return c[te.getMonth()]}function I(te){return l[te.getMonth()]}function Y(te){return s[+(te.getHours()>=12)]}function W(te){return 1+~~(te.getMonth()/3)}function F(te){return o[te.getUTCDay()]}function ae(te){return a[te.getUTCDay()]}function ge(te){return c[te.getUTCMonth()]}function be(te){return l[te.getUTCMonth()]}function Ne(te){return s[+(te.getUTCHours()>=12)]}function Me(te){return 1+~~(te.getUTCMonth()/3)}return{format:function(te){var me=w(te+="",y);return me.toString=function(){return te},me},parse:function(te){var me=q(te+="",!1);return me.toString=function(){return te},me},utcFormat:function(te){var me=w(te+="",N);return me.toString=function(){return te},me},utcParse:function(te){var me=q(te+="",!0);return me.toString=function(){return te},me}}}var JL={"-":"",_:" ",0:"0"},dn=/^\s*\d+/,bje=/^%/,yje=/[\\^$*+?|[\]().{}]/g;function He(e,n,r){var i=e<0?"-":"",s=(i?-e:e)+"",a=s.length;return i+(a<r?new Array(r-a+1).join(n)+s:s)}function jje(e){return e.replace(yje,"\\$&")}function xp(e){return new RegExp("^(?:"+e.map(jje).join("|")+")","i")}function vp(e){return new Map(e.map((n,r)=>[n.toLowerCase(),r]))}function wje(e,n,r){var i=dn.exec(n.slice(r,r+1));return i?(e.w=+i[0],r+i[0].length):-1}function Nje(e,n,r){var i=dn.exec(n.slice(r,r+1));return i?(e.u=+i[0],r+i[0].length):-1}function kje(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.U=+i[0],r+i[0].length):-1}function qje(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.V=+i[0],r+i[0].length):-1}function Sje(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.W=+i[0],r+i[0].length):-1}function XL(e,n,r){var i=dn.exec(n.slice(r,r+4));return i?(e.y=+i[0],r+i[0].length):-1}function ZL(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.y=+i[0]+(+i[0]>68?1900:2e3),r+i[0].length):-1}function Cje(e,n,r){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(r,r+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||"00")),r+i[0].length):-1}function Pje(e,n,r){var i=dn.exec(n.slice(r,r+1));return i?(e.q=i[0]*3-3,r+i[0].length):-1}function Eje(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.m=i[0]-1,r+i[0].length):-1}function e5(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.d=+i[0],r+i[0].length):-1}function Tje(e,n,r){var i=dn.exec(n.slice(r,r+3));return i?(e.m=0,e.d=+i[0],r+i[0].length):-1}function t5(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.H=+i[0],r+i[0].length):-1}function Ije(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.M=+i[0],r+i[0].length):-1}function Aje(e,n,r){var i=dn.exec(n.slice(r,r+2));return i?(e.S=+i[0],r+i[0].length):-1}function Lje(e,n,r){var i=dn.exec(n.slice(r,r+3));return i?(e.L=+i[0],r+i[0].length):-1}function Fje(e,n,r){var i=dn.exec(n.slice(r,r+6));return i?(e.L=Math.floor(i[0]/1e3),r+i[0].length):-1}function _je(e,n,r){var i=bje.exec(n.slice(r,r+1));return i?r+i[0].length:-1}function Oje(e,n,r){var i=dn.exec(n.slice(r));return i?(e.Q=+i[0],r+i[0].length):-1}function Rje(e,n,r){var i=dn.exec(n.slice(r));return i?(e.s=+i[0],r+i[0].length):-1}
673function n5(e,n){return He(e.getDate(),n,2)}function Dje(e,n){return He(e.getHours(),n,2)}function Mje(e,n){return He(e.getHours()%12||12,n,2)}function $je(e,n){return He(1+df.count(ma(e),e),n,3)}function RB(e,n){return He(e.getMilliseconds(),n,3)}function Bje(e,n){return RB(e,n)+"000"}function zje(e,n){return He(e.getMonth()+1,n,2)}function Uje(e,n){return He(e.getMinutes(),n,2)}function Vje(e,n){return He(e.getSeconds(),n,2)}function Wje(e){var n=e.getDay();return n===0?7:n}function Hje(e,n){return He(Ey.count(ma(e)-1,e),n,2)}function DB(e){var n=e.getDay();return n>=4||n===0?td(e):td.ceil(e)}function Gje(e,n){return e=DB(e),He(td.count(ma(e),e)+(ma(e).getDay()===4),n,2)}function Kje(e){return e.getDay()}function Qje(e,n){return He(Lv.count(ma(e)-1,e),n,2)}function Yje(e,n){return He(e.getFullYear()%100,n,2)}function Jje(e,n){return e=DB(e),He(e.getFullYear()%100,n,2)}function Xje(e,n){return He(e.getFullYear()%1e4,n,4)}function Zje(e,n){var r=e.getDay();return e=r>=4||r===0?td(e):td.ceil(e),He(e.getFullYear()%1e4,n,4)}function ewe(e){var n=e.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+He(n/60|0,"0",2)+He(n%60,"0",2)}function r5(e,n){return He(e.getUTCDate(),n,2)}function twe(e,n){return He(e.getUTCHours(),n,2)}function nwe(e,n){return He(e.getUTCHours()%12||12,n,2)}function rwe(e,n){return He(1+Py.count(ha(e),e),n,3)}function MB(e,n){return He(e.getUTCMilliseconds(),n,3)}function iwe(e,n){return MB(e,n)+"000"}function swe(e,n){return He(e.getUTCMonth()+1,n,2)}function awe(e,n){return He(e.getUTCMinutes(),n,2)}function owe(e,n){return He(e.getUTCSeconds(),n,2)}function lwe(e){var n=e.getUTCDay();return n===0?7:n}function cwe(e,n){return He(Ty.count(ha(e)-1,e),n,2)}function $B(e){var n=e.getUTCDay();return n>=4||n===0?nd(e):nd.ceil(e)}function uwe(e,n){return e=$B(e),He(nd.count(ha(e),e)+(ha(e).getUTCDay()===4),n,2)}function dwe(e){return e.getUTCDay()}function pwe(e,n){return He(Fv.count(ha(e)-1,e),n,2)}function mwe(e,n){return He(e.getUTCFullYear()%100,n,2)}function hwe(e,n){return e=$B(e),He(e.getUTCFullYear()%100,n,2)}function fwe(e,n){return He(e.getUTCFullYear()%1e4,n,4)}function gwe(e,n){var r=e.getUTCDay();return e=r>=4||r===0?nd(e):nd.ceil(e),He(e.getUTCFullYear()%1e4,n,4)}function xwe(){return"+0000"}function i5(){return"%"}function s5(e){return+e}function a5(e){return Math.floor(+e/1e3)}var Pc,BB,zB;vwe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function vwe(e){return Pc=vje(e),BB=Pc.format,Pc.parse,zB=Pc.utcFormat,Pc.utcParse,Pc}function bwe(e){return new Date(e)}function ywe(e){return e instanceof Date?+e:+new Date(+e)}function kC(e,n,r,i,s,a,o,l,c,u){var d=uC(),p=d.invert,m=d.domain,h=u(".%L"),g=u(":%S"),f=u("%I:%M"),x=u("%I %p"),v=u("%a %d"),b=u("%b %d"),y=u("%B"),N=u("%Y");function j(w){return(c(w)<w?h:l(w)<w?g:o(w)<w?f:a(w)<w?x:i(w)<w?s(w)<w?v:b:r(w)<w?y:N)(w)}return d.invert=function(w){return new Date(p(w))},d.domain=function(w){return arguments.length?m(Array.from(w,ywe)):m().map(bwe)},d.ticks=function(w){var q=m();return e(q[0],q[q.length-1],w??10)},d.tickFormat=function(w,q){return q==null?j:u(q)},d.nice=function(w){var q=m();return(!w||typeof w.range!="function")&&(w=n(q[0],q[q.length-1],w??10)),w?m(PB(q,w)):d},d.copy=function(){return uf(d,kC(e,n,r,i,s,a,o,l,c,u))},d}function jwe(){return mi.apply(kC(gje,xje,ma,wC,Ey,df,yC,vC,kl,BB).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function wwe(){return mi.apply(kC(hje,fje,ha,NC,Ty,Py,jC,bC,kl,zB).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Iy(){var e=0,n=1,r,i,s,a,o=Hn,l=!1,c;function u(p){return p==null||isNaN(p=+p)?c:o(s===0?.5:(p=(a(p)-r)*s,l?Math.max(0,Math.min(1,p)):p))}u.domain=function(p){return arguments.length?([e,n]=p,r=a(e=+e),i=a(n=+n),s=r===i?0:1/(i-r),u):[e,n]},u.clamp=function(p){return arguments.length?(l=!!p,u):l},u.interpolator=function(p){return arguments.length?(o=p,u):o};function d(p){return function(m){var h,g;return arguments.length?([h,g]=m,o=p(h,g),u):[o(0),o(1)]}}return u.range=d(Ud),u.rangeRound=d(cC),u.unknown=function(p){return arguments.length?(c=p,u):c},function(p){return a=p,r=p(e),i=p(n),s=r===i?0:1/(i-r),u}}function Vo(e,n){return n.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}
vendor: 64,332 bytes, lines 673-699
673function UB(){var e=Uo(Iy()(Hn));return e.copy=function(){return Vo(e,UB())},wa.apply(e,arguments)}function VB(){var e=mC(Iy()).domain([1,10]);return e.copy=function(){return Vo(e,VB()).base(e.base())},wa.apply(e,arguments)}function WB(){var e=hC(Iy());return e.copy=function(){return Vo(e,WB()).constant(e.constant())},wa.apply(e,arguments)}function qC(){var e=fC(Iy());return e.copy=function(){return Vo(e,qC()).exponent(e.exponent())},wa.apply(e,arguments)}function Nwe(){return qC.apply(null,arguments).exponent(.5)}function HB(){var e=[],n=Hn;function r(i){if(i!=null&&!isNaN(i=+i))return n((lf(e,i,1)-1)/(e.length-1))}return r.domain=function(i){if(!arguments.length)return e.slice();e=[];for(let s of i)s!=null&&!isNaN(s=+s)&&e.push(s);return e.sort(qo),r},r.interpolator=function(i){return arguments.length?(n=i,r):n},r.range=function(){return e.map((i,s)=>n(s/(e.length-1)))},r.quantiles=function(i){return Array.from({length:i+1},(s,a)=>c0e(e,a/i))},r.copy=function(){return HB(n).domain(e)},wa.apply(r,arguments)}function Ay(){var e=0,n=.5,r=1,i=1,s,a,o,l,c,u=Hn,d,p=!1,m;function h(f){return isNaN(f=+f)?m:(f=.5+((f=+d(f))-a)*(i*f<i*a?l:c),u(p?Math.max(0,Math.min(1,f)):f))}h.domain=function(f){return arguments.length?([e,n,r]=f,s=d(e=+e),a=d(n=+n),o=d(r=+r),l=s===a?0:.5/(a-s),c=a===o?0:.5/(o-a),i=a<s?-1:1,h):[e,n,r]},h.clamp=function(f){return arguments.length?(p=!!f,h):p},h.interpolator=function(f){return arguments.length?(u=f,h):u};function g(f){return function(x){var v,b,y;return arguments.length?([v,b,y]=x,u=_0e(f,[v,b,y]),h):[u(0),u(.5),u(1)]}}return h.range=g(Ud),h.rangeRound=g(cC),h.unknown=function(f){return arguments.length?(m=f,h):m},function(f){return d=f,s=f(e),a=f(n),o=f(r),l=s===a?0:.5/(a-s),c=a===o?0:.5/(o-a),i=a<s?-1:1,h}}function GB(){var e=Uo(Ay()(Hn));return e.copy=function(){return Vo(e,GB())},wa.apply(e,arguments)}function KB(){var e=mC(Ay()).domain([.1,1,10]);return e.copy=function(){return Vo(e,KB()).base(e.base())},wa.apply(e,arguments)}function QB(){var e=hC(Ay());return e.copy=function(){return Vo(e,QB()).constant(e.constant())},wa.apply(e,arguments)}function SC(){var e=fC(Ay());return e.copy=function(){return Vo(e,SC()).exponent(e.exponent())},wa.apply(e,arguments)}function kwe(){return SC.apply(null,arguments).exponent(.5)}const o5=Object.freeze(Object.defineProperty({__proto__:null,scaleBand:Zm,scaleDiverging:GB,scaleDivergingLog:KB,scaleDivergingPow:SC,scaleDivergingSqrt:kwe,scaleDivergingSymlog:QB,scaleIdentity:CB,scaleImplicit:sN,scaleLinear:Iv,scaleLog:EB,scaleOrdinal:aC,scalePoint:om,scalePow:gC,scaleQuantile:AB,scaleQuantize:LB,scaleRadial:IB,scaleSequential:UB,scaleSequentialLog:VB,scaleSequentialPow:qC,scaleSequentialQuantile:HB,scaleSequentialSqrt:Nwe,scaleSequentialSymlog:WB,scaleSqrt:ije,scaleSymlog:TB,scaleThreshold:FB,scaleTime:jwe,scaleUtc:wwe,tickFormat:SB},Symbol.toStringTag,{value:"Module"}));var qwe=Fd;function Swe(e,n,r){for(var i=-1,s=e.length;++i<s;){var a=e[i],o=n(a);if(o!=null&&(l===void 0?o===o&&!qwe(o):r(o,l)))var l=o,c=a}return c}var YB=Swe;function Cwe(e,n){return e>n}var Pwe=Cwe,Ewe=YB,Twe=Pwe,Iwe=zd;function Awe(e){return e&&e.length?Ewe(e,Iwe,Twe):void 0}var Lwe=Awe;const mo=Ue(Lwe);function Fwe(e,n){return e<n}var _we=Fwe,Owe=YB,Rwe=_we,Dwe=zd;function Mwe(e){return e&&e.length?Owe(e,Dwe,Rwe):void 0}var $we=Mwe;const Ly=Ue($we);var Bwe=$S,zwe=zo,Uwe=rB,Vwe=hr;function Wwe(e,n){var r=Vwe(e)?Bwe:Uwe;return r(e,zwe(n))}var Hwe=Wwe,Gwe=tB,Kwe=Hwe;function Qwe(e,n){return Gwe(Kwe(e,n),1)}var Ywe=Qwe;const Jwe=Ue(Ywe);var Xwe=tC;function Zwe(e,n){return Xwe(e,n)}var e1e=Zwe;const ih=Ue(e1e);var Vd=1e9,t1e={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},PC,jt=!0,di="[DecimalError] ",Ul=di+"Invalid argument: ",CC=di+"Exponent out of range: ",Wd=Math.floor,hl=Math.pow,n1e=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Pr,ln=1e7,ht=7,JB=9007199254740991,_v=Wd(JB/ht),ce={};ce.absoluteValue=ce.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};ce.comparedTo=ce.cmp=function(e){var n,r,i,s,a=this;if(e=new a.constructor(e),a.s!==e.s)return a.s||-e.s;if(a.e!==e.e)return a.e>e.e^a.s<0?1:-1;for(i=a.d.length,s=e.d.length,n=0,r=i<s?i:s;n<r;++n)if(a.d[n]!==e.d[n])return a.d[n]>e.d[n]^a.s<0?1:-1;return i===s?0:i>s^a.s<0?1:-1};ce.decimalPlaces=ce.dp=function(){var e=this,n=e.d.length-1,r=(n-e.e)*ht;if(n=e.d[n],n)for(;n%10==0;n/=10)r--;return r<0?0:r};ce.dividedBy=ce.div=function(e){return ta(this,new this.constructor(e))};ce.dividedToIntegerBy=ce.idiv=function(e){var n=this,r=n.constructor;return it(ta(n,new r(e),0,1),r.precision)};ce.equals=ce.eq=function(e){return!this.cmp(e)};ce.exponent=function(){return Qt(this)};ce.greaterThan=ce.gt=function(e){return this.cmp(e)>0};ce.greaterThanOrEqualTo=ce.gte=function(e){return this.cmp(e)>=0};ce.isInteger=ce.isint=function(){return this.e>this.d.length-2};ce.isNegative=ce.isneg=function(){return this.s<0};ce.isPositive=ce.ispos=function(){return this.s>0};ce.isZero=function(){return this.s===0};ce.lessThan=ce.lt=function(e){return this.cmp(e)<0};ce.lessThanOrEqualTo=ce.lte=function(e){return this.cmp(e)<1};ce.logarithm=ce.log=function(e){var n,r=this,i=r.constructor,s=i.precision,a=s+5;if(e===void 0)e=new i(10);else if(e=new i(e),e.s<1||e.eq(Pr))throw Error(di+"NaN");if(r.s<1)throw Error(di+(r.s?"NaN":"-Infinity"));return r.eq(Pr)?new i(0):(jt=!1,n=ta(sh(r,a),sh(e,a),a),jt=!0,it(n,s))};ce.minus=ce.sub=function(e){var n=this;return e=new n.constructor(e),n.s==e.s?ez(n,e):XB(n,(e.s=-e.s,e))};ce.modulo=ce.mod=function(e){var n,r=this,i=r.constructor,s=i.precision;if(e=new i(e),!e.s)throw Error(di+"NaN");return r.s?(jt=!1,n=ta(r,e,0,1).times(e),jt=!0,r.minus(n)):it(new i(r),s)};ce.naturalExponential=ce.exp=function(){return ZB(this)};ce.naturalLogarithm=ce.ln=function(){return sh(this)};ce.negated=ce.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};ce.plus=ce.add=function(e){var n=this;return e=new n.constructor(e),n.s==e.s?XB(n,e):ez(n,(e.s=-e.s,e))};ce.precision=ce.sd=function(e){var n,r,i,s=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ul+e);if(n=Qt(s)+1,i=s.d.length-1,r=i*ht+1,i=s.d[i],i){for(;i%10==0;i/=10)r--;for(i=s.d[0];i>=10;i/=10)r++}return e&&n>r?n:r};ce.squareRoot=ce.sqrt=function(){var e,n,r,i,s,a,o,l=this,c=l.constructor;if(l.s<1){if(!l.s)return new c(0);throw Error(di+"NaN")}for(e=Qt(l),jt=!1,s=Math.sqrt(+l),s==0||s==1/0?(n=ds(l.d),(n.length+e)%2==0&&(n+="0"),s=Math.sqrt(n),e=Wd((e+1)/2)-(e<0||e%2),s==1/0?n="5e"+e:(n=s.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),i=new c(n)):i=new c(s.toString()),r=c.precision,s=o=r+3;;)if(a=i,i=a.plus(ta(l,a,o+2)).times(.5),ds(a.d).slice(0,o)===(n=ds(i.d)).slice(0,o)){if(n=n.slice(o-3,o+1),s==o&&n=="4999"){if(it(a,r+1,0),a.times(a).eq(l)){i=a;break}}else if(n!="9999")break;o+=4}return jt=!0,it(i,r)};ce.times=ce.mul=function(e){var n,r,i,s,a,o,l,c,u,d=this,p=d.constructor,m=d.d,h=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,r=d.e+e.e,c=m.length,u=h.length,c<u&&(a=m,m=h,h=a,o=c,c=u,u=o),a=[],o=c+u,i=o;i--;)a.push(0);for(i=u;--i>=0;){for(n=0,s=c+i;s>i;)l=a[s]+h[i]*m[s-i-1]+n,a[s--]=l%ln|0,n=l/ln|0;a[s]=(a[s]+n)%ln|0}for(;!a[--o];)a.pop();return n?++r:a.shift(),e.d=a,e.e=r,jt?it(e,p.precision):e};ce.toDecimalPlaces=ce.todp=function(e,n){var r=this,i=r.constructor;return r=new i(r),e===void 0?r:(Ns(e,0,Vd),n===void 0?n=i.rounding:Ns(n,0,8),it(r,e+Qt(r)+1,n))};ce.toExponential=function(e,n){var r,i=this,s=i.constructor;return e===void 0?r=ic(i,!0):(Ns(e,0,Vd),n===void 0?n=s.rounding:Ns(n,0,8),i=it(new s(i),e+1,n),r=ic(i,!0,e+1)),r};ce.toFixed=function(e,n){var r,i,s=this,a=s.constructor;return e===void 0?ic(s):(Ns(e,0,Vd),n===void 0?n=a.rounding:Ns(n,0,8),i=it(new a(s),e+Qt(s)+1,n),r=ic(i.abs(),!1,e+Qt(i)+1),s.isneg()&&!s.isZero()?"-"+r:r)};ce.toInteger=ce.toint=function(){var e=this,n=e.constructor;return it(new n(e),Qt(e)+1,n.rounding)};ce.toNumber=function(){return+this};ce.toPower=ce.pow=function(e){var n,r,i,s,a,o,l=this,c=l.constructor,u=12,d=+(e=new c(e));if(!e.s)return new c(Pr);if(l=new c(l),!l.s){if(e.s<1)throw Error(di+"Infinity");return l}if(l.eq(Pr))return l;if(i=c.precision,e.eq(Pr))return it(l,i);if(n=e.e,r=e.d.length-1,o=n>=r,a=l.s,o){if((r=d<0?-d:d)<=JB){for(s=new c(Pr),n=Math.ceil(i/ht+4),jt=!1;r%2&&(s=s.times(l),c5(s.d,n)),r=Wd(r/2),r!==0;)l=l.times(l),c5(l.d,n);return jt=!0,e.s<0?new c(Pr).div(s):it(s,i)}}else if(a<0)throw Error(di+"NaN");return a=a<0&&e.d[Math.max(n,r)]&1?-1:1,l.s=1,jt=!1,s=e.times(sh(l,i+u)),jt=!0,s=ZB(s),s.s=a,s};ce.toPrecision=function(e,n){var r,i,s=this,a=s.constructor;return e===void 0?(r=Qt(s),i=ic(s,r<=a.toExpNeg||r>=a.toExpPos)):(Ns(e,1,Vd),n===void 0?n=a.rounding:Ns(n,0,8),s=it(new a(s),e,n),r=Qt(s),i=ic(s,e<=r||r<=a.toExpNeg,e)),i};ce.toSignificantDigits=ce.tosd=function(e,n){var r=this,i=r.constructor;return e===void 0?(e=i.precision,n=i.rounding):(Ns(e,1,Vd),n===void 0?n=i.rounding:Ns(n,0,8)),it(new i(r),e,n)};ce.toString=ce.valueOf=ce.val=ce.toJSON=ce[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,n=Qt(e),r=e.constructor;return ic(e,n<=r.toExpNeg||n>=r.toExpPos)};function XB(e,n){var r,i,s,a,o,l,c,u,d=e.constructor,p=d.precision;if(!e.s||!n.s)return n.s||(n=new d(e)),jt?it(n,p):n;if(c=e.d,u=n.d,o=e.e,s=n.e,c=c.slice(),a=o-s,a){for(a<0?(i=c,a=-a,l=u.length):(i=u,s=o,l=c.length),o=Math.ceil(p/ht),l=o>l?o+1:l+1,a>l&&(a=l,i.length=1),i.reverse();a--;)i.push(0);i.reverse()}for(l=c.length,a=u.length,l-a<0&&(a=l,i=u,u=c,c=i),r=0;a;)r=(c[--a]=c[a]+u[a]+r)/ln|0,c[a]%=ln;for(r&&(c.unshift(r),++s),l=c.length;c[--l]==0;)c.pop();return n.d=c,n.e=s,jt?it(n,p):n}function Ns(e,n,r){if(e!==~~e||e<n||e>r)throw Error(Ul+e)}function ds(e){var n,r,i,s=e.length-1,a="",o=e[0];if(s>0){for(a+=o,n=1;n<s;n++)i=e[n]+"",r=ht-i.length,r&&(a+=Ka(r)),a+=i;o=e[n],i=o+"",r=ht-i.length,r&&(a+=Ka(r))}else if(o===0)return"0";for(;o%10===0;)o/=10;return a+o}var ta=function(){function e(i,s){var a,o=0,l=i.length;for(i=i.slice();l--;)a=i[l]*s+o,i[l]=a%ln|0,o=a/ln|0;return o&&i.unshift(o),i}function n(i,s,a,o){var l,c;if(a!=o)c=a>o?1:-1;else for(l=c=0;l<a;l++)if(i[l]!=s[l]){c=i[l]>s[l]?1:-1;break}return c}function r(i,s,a){for(var o=0;a--;)i[a]-=o,o=i[a]<s[a]?1:0,i[a]=o*ln+i[a]-s[a];for(;!i[0]&&i.length>1;)i.shift()}return function(i,s,a,o){var l,c,u,d,p,m,h,g,f,x,v,b,y,N,j,w,q,P,T=i.constructor,E=i.s==s.s?1:-1,A=i.d,_=s.d;if(!i.s)return new T(i);if(!s.s)throw Error(di+"Division by zero");for(c=i.e-s.e,q=_.length,j=A.length,h=new T(E),g=h.d=[],u=0;_[u]==(A[u]||0);)++u;if(_[u]>(A[u]||0)&&--c,a==null?b=a=T.precision:o?b=a+(Qt(i)-Qt(s))+1:b=a,b<0)return new T(0);if(b=b/ht+2|0,u=0,q==1)for(d=0,_=_[0],b++;(u<j||d)&&b--;u++)y=d*ln+(A[u]||0),g[u]=y/_|0,d=y%_|0;else{for(d=ln/(_[0]+1)|0,d>1&&(_=e(_,d),A=e(A,d),q=_.length,j=A.length),N=q,f=A.slice(0,q),x=f.length;x<q;)f[x++]=0;P=_.slice(),P.unshift(0),w=_[0],_[1]>=ln/2&&++w;do d=0,l=n(_,f,q,x),l<0?(v=f[0],q!=x&&(v=v*ln+(f[1]||0)),d=v/w|0,d>1?(d>=ln&&(d=ln-1),p=e(_,d),m=p.length,x=f.length,l=n(p,f,m,x),l==1&&(d--,r(p,q<m?P:_,m))):(d==0&&(l=d=1),p=_.slice()),m=p.length,m<x&&p.unshift(0),r(f,p,x),l==-1&&(x=f.length,l=n(_,f,q,x),l<1&&(d++,r(f,q<x?P:_,x))),x=f.length):l===0&&(d++,f=[0]),g[u++]=d,l&&f[0]?f[x++]=A[N]||0:(f=[A[N]],x=1);while((N++<j||f[0]!==void 0)&&b--)}return g[0]||g.shift(),h.e=c,it(h,o?a+Qt(h)+1:a)}}();function ZB(e,n){var r,i,s,a,o,l,c=0,u=0,d=e.constructor,p=d.precision;if(Qt(e)>16)throw Error(CC+Qt(e));if(!e.s)return new d(Pr);for(n==null?(jt=!1,l=p):l=n,o=new d(.03125);e.abs().gte(.1);)e=e.times(o),u+=5;for(i=Math.log(hl(2,u))/Math.LN10*2+5|0,l+=i,r=s=a=new d(Pr),d.precision=l;;){if(s=it(s.times(e),l),r=r.times(++c),o=a.plus(ta(s,r,l)),ds(o.d).slice(0,l)===ds(a.d).slice(0,l)){for(;u--;)a=it(a.times(a),l);return d.precision=p,n==null?(jt=!0,it(a,p)):a}a=o}}function Qt(e){for(var n=e.e*ht,r=e.d[0];r>=10;r/=10)n++;return n}function Rj(e,n,r){if(n>e.LN10.sd())throw jt=!0,r&&(e.precision=r),Error(di+"LN10 precision limit exceeded");return it(new e(e.LN10),n)}function Ka(e){for(var n="";e--;)n+="0";return n}function sh(e,n){var r,i,s,a,o,l,c,u,d,p=1,m=10,h=e,g=h.d,f=h.constructor,x=f.precision;if(h.s<1)throw Error(di+(h.s?"NaN":"-Infinity"));if(h.eq(Pr))return new f(0);if(n==null?(jt=!1,u=x):u=n,h.eq(10))return n==null&&(jt=!0),Rj(f,u);if(u+=m,f.precision=u,r=ds(g),i=r.charAt(0),a=Qt(h),Math.abs(a)<15e14){for(;i<7&&i!=1||i==1&&r.charAt(1)>3;)h=h.times(e),r=ds(h.d),i=r.charAt(0),p++;a=Qt(h),i>1?(h=new f("0."+r),a++):h=new f(i+"."+r.slice(1))}else return c=Rj(f,u+2,x).times(a+""),h=sh(new f(i+"."+r.slice(1)),u-m).plus(c),f.precision=x,n==null?(jt=!0,it(h,x)):h;for(l=o=h=ta(h.minus(Pr),h.plus(Pr),u),d=it(h.times(h),u),s=3;;){if(o=it(o.times(d),u),c=l.plus(ta(o,new f(s),u)),ds(c.d).slice(0,u)===ds(l.d).slice(0,u))return l=l.times(2),a!==0&&(l=l.plus(Rj(f,u+2,x).times(a+""))),l=ta(l,new f(p),u),f.precision=x,n==null?(jt=!0,it(l,x)):l;l=c,s+=2}}function l5(e,n){var r,i,s;for((r=n.indexOf("."))>-1&&(n=n.replace(".","")),(i=n.search(/e/i))>0?(r<0&&(r=i),r+=+n.slice(i+1),n=n.substring(0,i)):r<0&&(r=n.length),i=0;n.charCodeAt(i)===48;)++i;for(s=n.length;n.charCodeAt(s-1)===48;)--s;if(n=n.slice(i,s),n){if(s-=i,r=r-i-1,e.e=Wd(r/ht),e.d=[],i=(r+1)%ht,r<0&&(i+=ht),i<s){for(i&&e.d.push(+n.slice(0,i)),s-=ht;i<s;)e.d.push(+n.slice(i,i+=ht));n=n.slice(i),i=ht-n.length}else i-=s;for(;i--;)n+="0";if(e.d.push(+n),jt&&(e.e>_v||e.e<-_v))throw Error(CC+r)}else e.s=0,e.e=0,e.d=[0];return e}function it(e,n,r){var i,s,a,o,l,c,u,d,p=e.d;for(o=1,a=p[0];a>=10;a/=10)o++;if(i=n-o,i<0)i+=ht,s=n,u=p[d=0];else{if(d=Math.ceil((i+1)/ht),a=p.length,d>=a)return e;for(u=a=p[d],o=1;a>=10;a/=10)o++;i%=ht,s=i-ht+o}if(r!==void 0&&(a=hl(10,o-s-1),l=u/a%10|0,c=n<0||p[d+1]!==void 0||u%a,c=r<4?(l||c)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||c||r==6&&(i>0?s>0?u/hl(10,o-s):0:p[d-1])%10&1||r==(e.s<0?8:7))),n<1||!p[0])return c?(a=Qt(e),p.length=1,n=n-a-1,p[0]=hl(10,(ht-n%ht)%ht),e.e=Wd(-n/ht)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(i==0?(p.length=d,a=1,d--):(p.length=d+1,a=hl(10,ht-i),p[d]=s>0?(u/hl(10,o-s)%hl(10,s)|0)*a:0),c)for(;;)if(d==0){(p[0]+=a)==ln&&(p[0]=1,++e.e);break}else{if(p[d]+=a,p[d]!=ln)break;p[d--]=0,a=1}for(i=p.length;p[--i]===0;)p.pop();if(jt&&(e.e>_v||e.e<-_v))throw Error(CC+Qt(e));return e}function ez(e,n){var r,i,s,a,o,l,c,u,d,p,m=e.constructor,h=m.precision;if(!e.s||!n.s)return n.s?n.s=-n.s:n=new m(e),jt?it(n,h):n;if(c=e.d,p=n.d,i=n.e,u=e.e,c=c.slice(),o=u-i,o){for(d=o<0,d?(r=c,o=-o,l=p.length):(r=p,i=u,l=c.length),s=Math.max(Math.ceil(h/ht),l)+2,o>s&&(o=s,r.length=1),r.reverse(),s=o;s--;)r.push(0);r.reverse()}else{for(s=c.length,l=p.length,d=s<l,d&&(l=s),s=0;s<l;s++)if(c[s]!=p[s]){d=c[s]<p[s];break}o=0}for(d&&(r=c,c=p,p=r,n.s=-n.s),l=c.length,s=p.length-l;s>0;--s)c[l++]=0;for(s=p.length;s>o;){if(c[--s]<p[s]){for(a=s;a&&c[--a]===0;)c[a]=ln-1;--c[a],c[s]+=ln}c[s]-=p[s]}for(;c[--l]===0;)c.pop();for(;c[0]===0;c.shift())--i;return c[0]?(n.d=c,n.e=i,jt?it(n,h):n):new m(0)}function ic(e,n,r){var i,s=Qt(e),a=ds(e.d),o=a.length;return n?(r&&(i=r-o)>0?a=a.charAt(0)+"."+a.slice(1)+Ka(i):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(s<0?"e":"e+")+s):s<0?(a="0."+Ka(-s-1)+a,r&&(i=r-o)>0&&(a+=Ka(i))):s>=o?(a+=Ka(s+1-o),r&&(i=r-s-1)>0&&(a=a+"."+Ka(i))):((i=s+1)<o&&(a=a.slice(0,i)+"."+a.slice(i)),r&&(i=r-o)>0&&(s+1===o&&(a+="."),a+=Ka(i))),e.s<0?"-"+a:a}function c5(e,n){if(e.length>n)return e.length=n,!0}function tz(e){var n,r,i;function s(a){var o=this;if(!(o instanceof s))return new s(a);if(o.constructor=s,a instanceof s){o.s=a.s,o.e=a.e,o.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(Ul+a);if(a>0)o.s=1;else if(a<0)a=-a,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(a===~~a&&a<1e7){o.e=0,o.d=[a];return}return l5(o,a.toString())}else if(typeof a!="string")throw Error(Ul+a);if(a.charCodeAt(0)===45?(a=a.slice(1),o.s=-1):o.s=1,n1e.test(a))l5(o,a);else throw Error(Ul+a)}if(s.prototype=ce,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.clone=tz,s.config=s.set=r1e,e===void 0&&(e={}),e)for(i=["precision","rounding","toExpNeg","toExpPos","LN10"],n=0;n<i.length;)e.hasOwnProperty(r=i[n++])||(e[r]=this[r]);return s.config(e),s}function r1e(e){if(!e||typeof e!="object")throw Error(di+"Object expected");var n,r,i,s=["precision",1,Vd,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(n=0;n<s.length;n+=3)if((i=e[r=s[n]])!==void 0)if(Wd(i)===i&&i>=s[n+1]&&i<=s[n+2])this[r]=i;else throw Error(Ul+r+": "+i);if((i=e[r="LN10"])!==void 0)if(i==Math.LN10)this[r]=new this(i);else throw Error(Ul+r+": "+i);return this}var PC=tz(t1e);Pr=new PC(1);const et=PC;function i1e(e){return l1e(e)||o1e(e)||a1e(e)||s1e()}function s1e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
674In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function a1e(e,n){if(e){if(typeof e=="string")return cN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return cN(e,n)}}function o1e(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function l1e(e){if(Array.isArray(e))return cN(e)}function cN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}var c1e=function(n){return n},nz={"@@functional/placeholder":!0},rz=function(n){return n===nz},u5=function(n){return function r(){return arguments.length===0||arguments.length===1&&rz(arguments.length<=0?void 0:arguments[0])?r:n.apply(void 0,arguments)}},u1e=function e(n,r){return n===1?r:u5(function(){for(var i=arguments.length,s=new Array(i),a=0;a<i;a++)s[a]=arguments[a];var o=s.filter(function(l){return l!==nz}).length;return o>=n?r.apply(void 0,s):e(n-o,u5(function(){for(var l=arguments.length,c=new Array(l),u=0;u<l;u++)c[u]=arguments[u];var d=s.map(function(p){return rz(p)?c.shift():p});return r.apply(void 0,i1e(d).concat(c))}))})},Fy=function(n){return u1e(n.length,n)},uN=function(n,r){for(var i=[],s=n;s<r;++s)i[s-n]=s;return i},d1e=Fy(function(e,n){return Array.isArray(n)?n.map(e):Object.keys(n).map(function(r){return n[r]}).map(e)}),p1e=function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];if(!r.length)return c1e;var s=r.reverse(),a=s[0],o=s.slice(1);return function(){return o.reduce(function(l,c){return c(l)},a.apply(void 0,arguments))}},dN=function(n){return Array.isArray(n)?n.reverse():n.split("").reverse.join("")},iz=function(n){var r=null,i=null;return function(){for(var s=arguments.length,a=new Array(s),o=0;o<s;o++)a[o]=arguments[o];return r&&a.every(function(l,c){return l===r[c]})||(r=a,i=n.apply(void 0,a)),i}};function m1e(e){var n;return e===0?n=1:n=Math.floor(new et(e).abs().log(10).toNumber())+1,n}function h1e(e,n,r){for(var i=new et(e),s=0,a=[];i.lt(n)&&s<1e5;)a.push(i.toNumber()),i=i.add(r),s++;return a}var f1e=Fy(function(e,n,r){var i=+e,s=+n;return i+r*(s-i)}),g1e=Fy(function(e,n,r){var i=n-+e;return i=i||1/0,(r-e)/i}),x1e=Fy(function(e,n,r){var i=n-+e;return i=i||1/0,Math.max(0,Math.min(1,(r-e)/i))});const _y={rangeStep:h1e,getDigitCount:m1e,interpolateNumber:f1e,uninterpolateNumber:g1e,uninterpolateTruncation:x1e};function pN(e){return y1e(e)||b1e(e)||sz(e)||v1e()}function v1e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
675In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function b1e(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function y1e(e){if(Array.isArray(e))return mN(e)}function ah(e,n){return N1e(e)||w1e(e,n)||sz(e,n)||j1e()}function j1e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
676In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sz(e,n){if(e){if(typeof e=="string")return mN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mN(e,n)}}function mN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function w1e(e,n){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var r=[],i=!0,s=!1,a=void 0;try{for(var o=e[Symbol.iterator](),l;!(i=(l=o.next()).done)&&(r.push(l.value),!(n&&r.length===n));i=!0);}catch(c){s=!0,a=c}finally{try{!i&&o.return!=null&&o.return()}finally{if(s)throw a}}return r}}function N1e(e){if(Array.isArray(e))return e}function az(e){var n=ah(e,2),r=n[0],i=n[1],s=r,a=i;return r>i&&(s=i,a=r),[s,a]}function oz(e,n,r){if(e.lte(0))return new et(0);var i=_y.getDigitCount(e.toNumber()),s=new et(10).pow(i),a=e.div(s),o=i!==1?.05:.1,l=new et(Math.ceil(a.div(o).toNumber())).add(r).mul(o),c=l.mul(s);return n?c:new et(Math.ceil(c))}function k1e(e,n,r){var i=1,s=new et(e);if(!s.isint()&&r){var a=Math.abs(e);a<1?(i=new et(10).pow(_y.getDigitCount(e)-1),s=new et(Math.floor(s.div(i).toNumber())).mul(i)):a>1&&(s=new et(Math.floor(e)))}else e===0?s=new et(Math.floor((n-1)/2)):r||(s=new et(Math.floor(e)));var o=Math.floor((n-1)/2),l=p1e(d1e(function(c){return s.add(new et(c-o).mul(i)).toNumber()}),uN);return l(0,n)}function lz(e,n,r,i){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((n-e)/(r-1)))return{step:new et(0),tickMin:new et(0),tickMax:new et(0)};var a=oz(new et(n).sub(e).div(r-1),i,s),o;e<=0&&n>=0?o=new et(0):(o=new et(e).add(n).div(2),o=o.sub(new et(o).mod(a)));var l=Math.ceil(o.sub(e).div(a).toNumber()),c=Math.ceil(new et(n).sub(o).div(a).toNumber()),u=l+c+1;return u>r?lz(e,n,r,i,s+1):(u<r&&(c=n>0?c+(r-u):c,l=n>0?l:l+(r-u)),{step:a,tickMin:o.sub(new et(l).mul(a)),tickMax:o.add(new et(c).mul(a))})}function q1e(e){var n=ah(e,2),r=n[0],i=n[1],s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(s,2),l=az([r,i]),c=ah(l,2),u=c[0],d=c[1];if(u===-1/0||d===1/0){var p=d===1/0?[u].concat(pN(uN(0,s-1).map(function(){return 1/0}))):[].concat(pN(uN(0,s-1).map(function(){return-1/0})),[d]);return r>i?dN(p):p}if(u===d)return k1e(u,s,a);var m=lz(u,d,o,a),h=m.step,g=m.tickMin,f=m.tickMax,x=_y.rangeStep(g,f.add(new et(.1).mul(h)),h);return r>i?dN(x):x}function S1e(e,n){var r=ah(e,2),i=r[0],s=r[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=az([i,s]),l=ah(o,2),c=l[0],u=l[1];if(c===-1/0||u===1/0)return[i,s];if(c===u)return[c];var d=Math.max(n,2),p=oz(new et(u).sub(c).div(d-1),a,0),m=[].concat(pN(_y.rangeStep(new et(c),new et(u).sub(new et(.99).mul(p)),p)),[u]);return i>s?dN(m):m}var C1e=iz(q1e),P1e=iz(S1e),E1e="Invariant failed";function sc(e,n){throw new Error(E1e)}var T1e=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function rd(e){"@babel/helpers - typeof";return rd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},rd(e)}function Ov(){return Ov=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Ov.apply(this,arguments)}function I1e(e,n){return _1e(e)||F1e(e,n)||L1e(e,n)||A1e()}function A1e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
677In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function L1e(e,n){if(e){if(typeof e=="string")return d5(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d5(e,n)}}function d5(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function F1e(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function _1e(e){if(Array.isArray(e))return e}function O1e(e,n){if(e==null)return{};var r=R1e(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function R1e(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function D1e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function M1e(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,dz(i.key),i)}}function $1e(e,n,r){return n&&M1e(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function B1e(e,n,r){return n=Rv(n),z1e(e,cz()?Reflect.construct(n,r||[],Rv(e).constructor):n.apply(e,r))}function z1e(e,n){if(n&&(rd(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return U1e(e)}function U1e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(cz=function(){return!!e})()}function Rv(e){return Rv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Rv(e)}function V1e(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&hN(e,n)}function hN(e,n){return hN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},hN(e,n)}function uz(e,n,r){return n=dz(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function dz(e){var n=W1e(e,"string");return rd(n)=="symbol"?n:n+""}function W1e(e,n){if(rd(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(rd(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var Oy=function(e){function n(){return D1e(this,n),B1e(this,n,arguments)}return V1e(n,e),$1e(n,[{key:"render",value:function(){var i=this.props,s=i.offset,a=i.layout,o=i.width,l=i.dataKey,c=i.data,u=i.dataPointFormatter,d=i.xAxis,p=i.yAxis,m=O1e(i,T1e),h=Ie(m,!1);this.props.direction==="x"&&d.type!=="number"&&sc();var g=c.map(function(f){var x=u(f,l),v=x.x,b=x.y,y=x.value,N=x.errorVal;if(!N)return null;var j=[],w,q;if(Array.isArray(N)){var P=I1e(N,2);w=P[0],q=P[1]}else w=q=N;if(a==="vertical"){var T=d.scale,E=b+s,A=E+o,_=E-o,D=T(y-w),R=T(y+q);j.push({x1:R,y1:A,x2:R,y2:_}),j.push({x1:D,y1:E,x2:R,y2:E}),j.push({x1:D,y1:A,x2:D,y2:_})}else if(a==="horizontal"){var M=p.scale,U=v+s,z=U-o,O=U+o,$=M(y-w),I=M(y+q);j.push({x1:z,y1:I,x2:O,y2:I}),j.push({x1:U,y1:$,x2:U,y2:I}),j.push({x1:z,y1:$,x2:O,y2:$})}return L.createElement(kt,Ov({className:"recharts-errorBar",key:"bar-".concat(j.map(function(Y){return"".concat(Y.x1,"-").concat(Y.x2,"-").concat(Y.y1,"-").concat(Y.y2)}))},h),j.map(function(Y){return L.createElement("line",Ov({},Y,{key:"line-".concat(Y.x1,"-").concat(Y.x2,"-").concat(Y.y1,"-").concat(Y.y2)}))}))});return L.createElement(kt,{className:"recharts-errorBars"},g)}}])}(L.Component);uz(Oy,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});uz(Oy,"displayName","ErrorBar");function oh(e){"@babel/helpers - typeof";return oh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},oh(e)}function p5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function nl(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?p5(Object(r),!0).forEach(function(i){H1e(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function H1e(e,n,r){return n=G1e(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function G1e(e){var n=K1e(e,"string");return oh(n)=="symbol"?n:n+""}function K1e(e,n){if(oh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(oh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var pz=function(n){var r=n.children,i=n.formattedGraphicalItems,s=n.legendWidth,a=n.legendContent,o=Sr(r,Bl);if(!o)return null;var l=Bl.defaultProps,c=l!==void 0?nl(nl({},l),o.props):{},u;return o.props&&o.props.payload?u=o.props&&o.props.payload:a==="children"?u=(i||[]).reduce(function(d,p){var m=p.item,h=p.props,g=h.sectors||h.data||[];return d.concat(g.map(function(f){return{type:o.props.iconType||m.props.legendType,value:f.name,color:f.fill,payload:f}}))},[]):u=(i||[]).map(function(d){var p=d.item,m=p.type.defaultProps,h=m!==void 0?nl(nl({},m),p.props):{},g=h.dataKey,f=h.name,x=h.legendType,v=h.hide;return{inactive:v,dataKey:g,type:c.iconType||x||"square",color:EC(p),value:f||g,payload:h}}),nl(nl(nl({},c),Bl.getWithHeight(o,s)),{},{payload:u,item:o})};function lh(e){"@babel/helpers - typeof";return lh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},lh(e)}function m5(e){return X1e(e)||J1e(e)||Y1e(e)||Q1e()}function Q1e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
678In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Y1e(e,n){if(e){if(typeof e=="string")return fN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fN(e,n)}}function J1e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function X1e(e){if(Array.isArray(e))return fN(e)}function fN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function h5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function At(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?h5(Object(r),!0).forEach(function(i){wu(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function wu(e,n,r){return n=Z1e(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Z1e(e){var n=e2e(e,"string");return lh(n)=="symbol"?n:n+""}function e2e(e,n){if(lh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(lh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Rr(e,n,r){return Fe(e)||Fe(n)?r:nn(n)?oi(e,n,r):Pe(n)?n(e):r}function lm(e,n,r,i){var s=Jwe(e,function(l){return Rr(l,n)});if(r==="number"){var a=s.filter(function(l){return ie(l)||parseFloat(l)});return a.length?[Ly(a),mo(a)]:[1/0,-1/0]}var o=i?s.filter(function(l){return!Fe(l)}):s;return o.map(function(l){return nn(l)||l instanceof Date?l:""})}var t2e=function(n){var r,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],s=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=-1,l=(r=i==null?void 0:i.length)!==null&&r!==void 0?r:0;if(l<=1)return 0;if(a&&a.axisType==="angleAxis"&&Math.abs(Math.abs(a.range[1]-a.range[0])-360)<=1e-6)for(var c=a.range,u=0;u<l;u++){var d=u>0?s[u-1].coordinate:s[l-1].coordinate,p=s[u].coordinate,m=u>=l-1?s[0].coordinate:s[u+1].coordinate,h=void 0;if(Di(p-d)!==Di(m-p)){var g=[];if(Di(m-p)===Di(c[1]-c[0])){h=m;var f=p+c[1]-c[0];g[0]=Math.min(f,(f+d)/2),g[1]=Math.max(f,(f+d)/2)}else{h=d;var x=m+c[1]-c[0];g[0]=Math.min(p,(x+p)/2),g[1]=Math.max(p,(x+p)/2)}var v=[Math.min(p,(h+p)/2),Math.max(p,(h+p)/2)];if(n>v[0]&&n<=v[1]||n>=g[0]&&n<=g[1]){o=s[u].index;break}}else{var b=Math.min(d,m),y=Math.max(d,m);if(n>(b+p)/2&&n<=(y+p)/2){o=s[u].index;break}}}else for(var N=0;N<l;N++)if(N===0&&n<=(i[N].coordinate+i[N+1].coordinate)/2||N>0&&N<l-1&&n>(i[N].coordinate+i[N-1].coordinate)/2&&n<=(i[N].coordinate+i[N+1].coordinate)/2||N===l-1&&n>(i[N].coordinate+i[N-1].coordinate)/2){o=i[N].index;break}return o},EC=function(n){var r,i=n,s=i.type.displayName,a=(r=n.type)!==null&&r!==void 0&&r.defaultProps?At(At({},n.type.defaultProps),n.props):n.props,o=a.stroke,l=a.fill,c;switch(s){case"Line":c=o;break;case"Area":case"Radar":c=o&&o!=="none"?o:l;break;default:c=l;break}return c},n2e=function(n){var r=n.barSize,i=n.totalSize,s=n.stackGroups,a=s===void 0?{}:s;if(!a)return{};for(var o={},l=Object.keys(a),c=0,u=l.length;c<u;c++)for(var d=a[l[c]].stackGroups,p=Object.keys(d),m=0,h=p.length;m<h;m++){var g=d[p[m]],f=g.items,x=g.cateAxisId,v=f.filter(function(q){return Xs(q.type).indexOf("Bar")>=0});if(v&&v.length){var b=v[0].type.defaultProps,y=b!==void 0?At(At({},b),v[0].props):v[0].props,N=y.barSize,j=y[x];o[j]||(o[j]=[]);var w=Fe(N)?r:N;o[j].push({item:v[0],stackList:v.slice(1),barSize:Fe(w)?void 0:rc(w,i,0)})}}return o},r2e=function(n){var r=n.barGap,i=n.barCategoryGap,s=n.bandSize,a=n.sizeList,o=a===void 0?[]:a,l=n.maxBarSize,c=o.length;if(c<1)return null;var u=rc(r,s,0,!0),d,p=[];if(o[0].barSize===+o[0].barSize){var m=!1,h=s/c,g=o.reduce(function(N,j){return N+j.barSize||0},0);g+=(c-1)*u,g>=s&&(g-=(c-1)*u,u=0),g>=s&&h>0&&(m=!0,h*=.9,g=c*h);var f=(s-g)/2>>0,x={offset:f-u,size:0};d=o.reduce(function(N,j){var w={item:j.item,position:{offset:x.offset+x.size+u,size:m?h:j.barSize}},q=[].concat(m5(N),[w]);return x=q[q.length-1].position,j.stackList&&j.stackList.length&&j.stackList.forEach(function(P){q.push({item:P,position:x})}),q},p)}else{var v=rc(i,s,0,!0);s-2*v-(c-1)*u<=0&&(u=0);var b=(s-2*v-(c-1)*u)/c;b>1&&(b>>=0);var y=l===+l?Math.min(b,l):b;d=o.reduce(function(N,j,w){var q=[].concat(m5(N),[{item:j.item,position:{offset:v+(b+u)*w+(b-y)/2,size:y}}]);return j.stackList&&j.stackList.length&&j.stackList.forEach(function(P){q.push({item:P,position:q[q.length-1].position})}),q},p)}return d},i2e=function(n,r,i,s){var a=i.children,o=i.width,l=i.margin,c=o-(l.left||0)-(l.right||0),u=pz({children:a,legendWidth:c});if(u){var d=s||{},p=d.width,m=d.height,h=u.align,g=u.verticalAlign,f=u.layout;if((f==="vertical"||f==="horizontal"&&g==="middle")&&h!=="center"&&ie(n[h]))return At(At({},n),{},wu({},h,n[h]+(p||0)));if((f==="horizontal"||f==="vertical"&&h==="center")&&g!=="middle"&&ie(n[g]))return At(At({},n),{},wu({},g,n[g]+(m||0)))}return n},s2e=function(n,r,i){return Fe(r)?!0:n==="horizontal"?r==="yAxis":n==="vertical"||i==="x"?r==="xAxis":i==="y"?r==="yAxis":!0},mz=function(n,r,i,s,a){var o=r.props.children,l=Bi(o,Oy).filter(function(u){return s2e(s,a,u.props.direction)});if(l&&l.length){var c=l.map(function(u){return u.props.dataKey});return n.reduce(function(u,d){var p=Rr(d,i);if(Fe(p))return u;var m=Array.isArray(p)?[Ly(p),mo(p)]:[p,p],h=c.reduce(function(g,f){var x=Rr(d,f,0),v=m[0]-Math.abs(Array.isArray(x)?x[0]:x),b=m[1]+Math.abs(Array.isArray(x)?x[1]:x);return[Math.min(v,g[0]),Math.max(b,g[1])]},[1/0,-1/0]);return[Math.min(h[0],u[0]),Math.max(h[1],u[1])]},[1/0,-1/0])}return null},a2e=function(n,r,i,s,a){var o=r.map(function(l){return mz(n,l,i,a,s)}).filter(function(l){return!Fe(l)});return o&&o.length?o.reduce(function(l,c){return[Math.min(l[0],c[0]),Math.max(l[1],c[1])]},[1/0,-1/0]):null},hz=function(n,r,i,s,a){var o=r.map(function(c){var u=c.props.dataKey;return i==="number"&&u&&mz(n,c,u,s)||lm(n,u,i,a)});if(i==="number")return o.reduce(function(c,u){return[Math.min(c[0],u[0]),Math.max(c[1],u[1])]},[1/0,-1/0]);var l={};return o.reduce(function(c,u){for(var d=0,p=u.length;d<p;d++)l[u[d]]||(l[u[d]]=!0,c.push(u[d]));return c},[])},fz=function(n,r){return n==="horizontal"&&r==="xAxis"||n==="vertical"&&r==="yAxis"||n==="centric"&&r==="angleAxis"||n==="radial"&&r==="radiusAxis"},gz=function(n,r,i,s){if(s)return n.map(function(c){return c.coordinate});var a,o,l=n.map(function(c){return c.coordinate===r&&(a=!0),c.coordinate===i&&(o=!0),c.coordinate});return a||l.push(r),o||l.push(i),l},Gs=function(n,r,i){if(!n)return null;var s=n.scale,a=n.duplicateDomain,o=n.type,l=n.range,c=n.realScaleType==="scaleBand"?s.bandwidth()/2:2,u=(r||i)&&o==="category"&&s.bandwidth?s.bandwidth()/c:0;if(u=n.axisType==="angleAxis"&&(l==null?void 0:l.length)>=2?Di(l[0]-l[1])*2*u:u,r&&(n.ticks||n.niceTicks)){var d=(n.ticks||n.niceTicks).map(function(p){var m=a?a.indexOf(p):p;return{coordinate:s(m)+u,value:p,offset:u}});return d.filter(function(p){return!Md(p.coordinate)})}return n.isCategorical&&n.categoricalDomain?n.categoricalDomain.map(function(p,m){return{coordinate:s(p)+u,value:p,index:m,offset:u}}):s.ticks&&!i?s.ticks(n.tickCount).map(function(p){return{coordinate:s(p)+u,value:p,offset:u}}):s.domain().map(function(p,m){return{coordinate:s(p)+u,value:a?a[p]:p,index:m,offset:u}})},Dj=new WeakMap,fg=function(n,r){if(typeof r!="function")return n;Dj.has(n)||Dj.set(n,new WeakMap);var i=Dj.get(n);if(i.has(r))return i.get(r);var s=function(){n.apply(void 0,arguments),r.apply(void 0,arguments)};return i.set(r,s),s},o2e=function(n,r,i){var s=n.scale,a=n.type,o=n.layout,l=n.axisType;if(s==="auto")return o==="radial"&&l==="radiusAxis"?{scale:Zm(),realScaleType:"band"}:o==="radial"&&l==="angleAxis"?{scale:Iv(),realScaleType:"linear"}:a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!i)?{scale:om(),realScaleType:"point"}:a==="category"?{scale:Zm(),realScaleType:"band"}:{scale:Iv(),realScaleType:"linear"};if(nc(s)){var c="scale".concat(yy(s));return{scale:(o5[c]||om)(),realScaleType:o5[c]?c:"point"}}return Pe(s)?{scale:s}:{scale:om(),realScaleType:"point"}},f5=1e-4,l2e=function(n){var r=n.domain();if(!(!r||r.length<=2)){var i=r.length,s=n.range(),a=Math.min(s[0],s[1])-f5,o=Math.max(s[0],s[1])+f5,l=n(r[0]),c=n(r[i-1]);(l<a||l>o||c<a||c>o)&&n.domain([r[0],r[i-1]])}},c2e=function(n,r){if(!n)return null;for(var i=0,s=n.length;i<s;i++)if(n[i].item===r)return n[i].position;return null},u2e=function(n,r){if(!r||r.length!==2||!ie(r[0])||!ie(r[1]))return n;var i=Math.min(r[0],r[1]),s=Math.max(r[0],r[1]),a=[n[0],n[1]];return(!ie(n[0])||n[0]<i)&&(a[0]=i),(!ie(n[1])||n[1]>s)&&(a[1]=s),a[0]>s&&(a[0]=s),a[1]<i&&(a[1]=i),a},d2e=function(n){var r=n.length;if(!(r<=0))for(var i=0,s=n[0].length;i<s;++i)for(var a=0,o=0,l=0;l<r;++l){var c=Md(n[l][i][1])?n[l][i][0]:n[l][i][1];c>=0?(n[l][i][0]=a,n[l][i][1]=a+c,a=n[l][i][1]):(n[l][i][0]=o,n[l][i][1]=o+c,o=n[l][i][1])}},p2e=function(n){var r=n.length;if(!(r<=0))for(var i=0,s=n[0].length;i<s;++i)for(var a=0,o=0;o<r;++o){var l=Md(n[o][i][1])?n[o][i][0]:n[o][i][1];l>=0?(n[o][i][0]=a,n[o][i][1]=a+l,a=n[o][i][1]):(n[o][i][0]=0,n[o][i][1]=0)}},m2e={sign:d2e,expand:Pde,none:Qu,silhouette:Ede,wiggle:Tde,positive:p2e},h2e=function(n,r,i){var s=r.map(function(l){return l.props.dataKey}),a=m2e[i],o=Cde().keys(s).value(function(l,c){return+Rr(l,c,0)}).order($2).offset(a);return o(n)},f2e=function(n,r,i,s,a,o){if(!n)return null;var l=o?r.reverse():r,c={},u=l.reduce(function(p,m){var h,g=(h=m.type)!==null&&h!==void 0&&h.defaultProps?At(At({},m.type.defaultProps),m.props):m.props,f=g.stackId,x=g.hide;if(x)return p;var v=g[i],b=p[v]||{hasStack:!1,stackGroups:{}};if(nn(f)){var y=b.stackGroups[f]||{numericAxisId:i,cateAxisId:s,items:[]};y.items.push(m),b.hasStack=!0,b.stackGroups[f]=y}else b.stackGroups[af("_stackId_")]={numericAxisId:i,cateAxisId:s,items:[m]};return At(At({},p),{},wu({},v,b))},c),d={};return Object.keys(u).reduce(function(p,m){var h=u[m];if(h.hasStack){var g={};h.stackGroups=Object.keys(h.stackGroups).reduce(function(f,x){var v=h.stackGroups[x];return At(At({},f),{},wu({},x,{numericAxisId:i,cateAxisId:s,items:v.items,stackedData:h2e(n,v.items,a)}))},g)}return At(At({},p),{},wu({},m,h))},d)},g2e=function(n,r){var i=r.realScaleType,s=r.type,a=r.tickCount,o=r.originalDomain,l=r.allowDecimals,c=i||r.scale;if(c!=="auto"&&c!=="linear")return null;if(a&&s==="number"&&o&&(o[0]==="auto"||o[1]==="auto")){var u=n.domain();if(!u.length)return null;var d=C1e(u,a,l);return n.domain([Ly(d),mo(d)]),{niceTicks:d}}if(a&&s==="number"){var p=n.domain(),m=P1e(p,a,l);return{niceTicks:m}}return null};function g5(e){var n=e.axis,r=e.ticks,i=e.bandSize,s=e.entry,a=e.index,o=e.dataKey;if(n.type==="category"){if(!n.allowDuplicatedCategory&&n.dataKey&&!Fe(s[n.dataKey])){var l=lv(r,"value",s[n.dataKey]);if(l)return l.coordinate+i/2}return r[a]?r[a].coordinate+i/2:null}var c=Rr(s,Fe(o)?n.dataKey:o);return Fe(c)?null:n.scale(c)}var x5=function(n){var r=n.axis,i=n.ticks,s=n.offset,a=n.bandSize,o=n.entry,l=n.index;if(r.type==="category")return i[l]?i[l].coordinate+s:null;var c=Rr(o,r.dataKey,r.domain[l]);return Fe(c)?null:r.scale(c)-a/2+s},x2e=function(n){var r=n.numericAxis,i=r.scale.domain();if(r.type==="number"){var s=Math.min(i[0],i[1]),a=Math.max(i[0],i[1]);return s<=0&&a>=0?0:a<0?a:s}return i[0]},v2e=function(n,r){var i,s=(i=n.type)!==null&&i!==void 0&&i.defaultProps?At(At({},n.type.defaultProps),n.props):n.props,a=s.stackId;if(nn(a)){var o=r[a];if(o){var l=o.items.indexOf(n);return l>=0?o.stackedData[l]:null}}return null},b2e=function(n){return n.reduce(function(r,i){return[Ly(i.concat([r[0]]).filter(ie)),mo(i.concat([r[1]]).filter(ie))]},[1/0,-1/0])},xz=function(n,r,i){return Object.keys(n).reduce(function(s,a){var o=n[a],l=o.stackedData,c=l.reduce(function(u,d){var p=b2e(d.slice(r,i+1));return[Math.min(u[0],p[0]),Math.max(u[1],p[1])]},[1/0,-1/0]);return[Math.min(c[0],s[0]),Math.max(c[1],s[1])]},[1/0,-1/0]).map(function(s){return s===1/0||s===-1/0?0:s})},v5=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,b5=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,gN=function(n,r,i){if(Pe(n))return n(r,i);if(!Array.isArray(n))return r;var s=[];if(ie(n[0]))s[0]=i?n[0]:Math.min(n[0],r[0]);else if(v5.test(n[0])){var a=+v5.exec(n[0])[1];s[0]=r[0]-a}else Pe(n[0])?s[0]=n[0](r[0]):s[0]=r[0];if(ie(n[1]))s[1]=i?n[1]:Math.max(n[1],r[1]);else if(b5.test(n[1])){var o=+b5.exec(n[1])[1];s[1]=r[1]+o}else Pe(n[1])?s[1]=n[1](r[1]):s[1]=r[1];return s},Dv=function(n,r,i){if(n&&n.scale&&n.scale.bandwidth){var s=n.scale.bandwidth();if(!i||s>0)return s}if(n&&r&&r.length>=2){for(var a=rC(r,function(p){return p.coordinate}),o=1/0,l=1,c=a.length;l<c;l++){var u=a[l],d=a[l-1];o=Math.min((u.coordinate||0)-(d.coordinate||0),o)}return o===1/0?0:o}return i?void 0:0},y5=function(n,r,i){return!n||!n.length||ih(n,oi(i,"type.defaultProps.domain"))?r:n},vz=function(n,r){var i=n.type.defaultProps?At(At({},n.type.defaultProps),n.props):n.props,s=i.dataKey,a=i.name,o=i.unit,l=i.formatter,c=i.tooltipType,u=i.chartType,d=i.hide;return At(At({},Ie(n,!1)),{},{dataKey:s,unit:o,formatter:l,name:a||s,color:EC(n),value:Rr(r,s),type:c,payload:r,chartType:u,hide:d})};function ch(e){"@babel/helpers - typeof";return ch=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ch(e)}function j5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function w5(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?j5(Object(r),!0).forEach(function(i){y2e(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function y2e(e,n,r){return n=j2e(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function j2e(e){var n=w2e(e,"string");return ch(n)=="symbol"?n:n+""}function w2e(e,n){if(ch(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(ch(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var Mv=Math.PI/180,N2e=function(n){return n*180/Math.PI},xn=function(n,r,i,s){return{x:n+Math.cos(-Mv*s)*i,y:r+Math.sin(-Mv*s)*i}},k2e=function(n,r){var i=n.x,s=n.y,a=r.x,o=r.y;return Math.sqrt(Math.pow(i-a,2)+Math.pow(s-o,2))},q2e=function(n,r){var i=n.x,s=n.y,a=r.cx,o=r.cy,l=k2e({x:i,y:s},{x:a,y:o});if(l<=0)return{radius:l};var c=(i-a)/l,u=Math.acos(c);return s>o&&(u=2*Math.PI-u),{radius:l,angle:N2e(u),angleInRadian:u}},S2e=function(n){var r=n.startAngle,i=n.endAngle,s=Math.floor(r/360),a=Math.floor(i/360),o=Math.min(s,a);return{startAngle:r-o*360,endAngle:i-o*360}},C2e=function(n,r){var i=r.startAngle,s=r.endAngle,a=Math.floor(i/360),o=Math.floor(s/360),l=Math.min(a,o);return n+l*360},N5=function(n,r){var i=n.x,s=n.y,a=q2e({x:i,y:s},r),o=a.radius,l=a.angle,c=r.innerRadius,u=r.outerRadius;if(o<c||o>u)return!1;if(o===0)return!0;var d=S2e(r),p=d.startAngle,m=d.endAngle,h=l,g;if(p<=m){for(;h>m;)h-=360;for(;h<p;)h+=360;g=h>=p&&h<=m}else{for(;h>p;)h-=360;for(;h<m;)h+=360;g=h>=m&&h<=p}return g?w5(w5({},r),{},{radius:o,angle:C2e(h,r)}):null};function uh(e){"@babel/helpers - typeof";return uh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},uh(e)}var P2e=["offset"];function E2e(e){return L2e(e)||A2e(e)||I2e(e)||T2e()}function T2e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
679In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function I2e(e,n){if(e){if(typeof e=="string")return xN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xN(e,n)}}function A2e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function L2e(e){if(Array.isArray(e))return xN(e)}function xN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function F2e(e,n){if(e==null)return{};var r=_2e(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function _2e(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function k5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Zt(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?k5(Object(r),!0).forEach(function(i){O2e(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):k5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function O2e(e,n,r){return n=R2e(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function R2e(e){var n=D2e(e,"string");return uh(n)=="symbol"?n:n+""}function D2e(e,n){if(uh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(uh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function dh(){return dh=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},dh.apply(this,arguments)}var M2e=function(n){var r=n.value,i=n.formatter,s=Fe(n.children)?r:n.children;return Pe(i)?i(s):s},$2e=function(n,r){var i=Di(r-n),s=Math.min(Math.abs(r-n),360);return i*s},B2e=function(n,r,i){var s=n.position,a=n.viewBox,o=n.offset,l=n.className,c=a,u=c.cx,d=c.cy,p=c.innerRadius,m=c.outerRadius,h=c.startAngle,g=c.endAngle,f=c.clockWise,x=(p+m)/2,v=$2e(h,g),b=v>=0?1:-1,y,N;s==="insideStart"?(y=h+b*o,N=f):s==="insideEnd"?(y=g-b*o,N=!f):s==="end"&&(y=g+b*o,N=f),N=v<=0?N:!N;var j=xn(u,d,x,y),w=xn(u,d,x,y+(N?1:-1)*359),q="M".concat(j.x,",").concat(j.y,`
680    A`).concat(x,",").concat(x,",0,1,").concat(N?0:1,`,
681    `).concat(w.x,",").concat(w.y),P=Fe(n.id)?af("recharts-radial-line-"):n.id;return L.createElement("text",dh({},i,{dominantBaseline:"central",className:Re("recharts-radial-bar-label",l)}),L.createElement("defs",null,L.createElement("path",{id:P,d:q})),L.createElement("textPath",{xlinkHref:"#".concat(P)},r))},z2e=function(n){var r=n.viewBox,i=n.offset,s=n.position,a=r,o=a.cx,l=a.cy,c=a.innerRadius,u=a.outerRadius,d=a.startAngle,p=a.endAngle,m=(d+p)/2;if(s==="outside"){var h=xn(o,l,u+i,m),g=h.x,f=h.y;return{x:g,y:f,textAnchor:g>=o?"start":"end",verticalAnchor:"middle"}}if(s==="center")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(s==="centerTop")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"start"};if(s==="centerBottom")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"end"};var x=(c+u)/2,v=xn(o,l,x,m),b=v.x,y=v.y;return{x:b,y,textAnchor:"middle",verticalAnchor:"middle"}},U2e=function(n){var r=n.viewBox,i=n.parentViewBox,s=n.offset,a=n.position,o=r,l=o.x,c=o.y,u=o.width,d=o.height,p=d>=0?1:-1,m=p*s,h=p>0?"end":"start",g=p>0?"start":"end",f=u>=0?1:-1,x=f*s,v=f>0?"end":"start",b=f>0?"start":"end";if(a==="top"){var y={x:l+u/2,y:c-p*s,textAnchor:"middle",verticalAnchor:h};return Zt(Zt({},y),i?{height:Math.max(c-i.y,0),width:u}:{})}if(a==="bottom"){var N={x:l+u/2,y:c+d+m,textAnchor:"middle",verticalAnchor:g};return Zt(Zt({},N),i?{height:Math.max(i.y+i.height-(c+d),0),width:u}:{})}if(a==="left"){var j={x:l-x,y:c+d/2,textAnchor:v,verticalAnchor:"middle"};return Zt(Zt({},j),i?{width:Math.max(j.x-i.x,0),height:d}:{})}if(a==="right"){var w={x:l+u+x,y:c+d/2,textAnchor:b,verticalAnchor:"middle"};return Zt(Zt({},w),i?{width:Math.max(i.x+i.width-w.x,0),height:d}:{})}var q=i?{width:u,height:d}:{};return a==="insideLeft"?Zt({x:l+x,y:c+d/2,textAnchor:b,verticalAnchor:"middle"},q):a==="insideRight"?Zt({x:l+u-x,y:c+d/2,textAnchor:v,verticalAnchor:"middle"},q):a==="insideTop"?Zt({x:l+u/2,y:c+m,textAnchor:"middle",verticalAnchor:g},q):a==="insideBottom"?Zt({x:l+u/2,y:c+d-m,textAnchor:"middle",verticalAnchor:h},q):a==="insideTopLeft"?Zt({x:l+x,y:c+m,textAnchor:b,verticalAnchor:g},q):a==="insideTopRight"?Zt({x:l+u-x,y:c+m,textAnchor:v,verticalAnchor:g},q):a==="insideBottomLeft"?Zt({x:l+x,y:c+d-m,textAnchor:b,verticalAnchor:h},q):a==="insideBottomRight"?Zt({x:l+u-x,y:c+d-m,textAnchor:v,verticalAnchor:h},q):_d(a)&&(ie(a.x)||wl(a.x))&&(ie(a.y)||wl(a.y))?Zt({x:l+rc(a.x,u),y:c+rc(a.y,d),textAnchor:"end",verticalAnchor:"end"},q):Zt({x:l+u/2,y:c+d/2,textAnchor:"middle",verticalAnchor:"middle"},q)},V2e=function(n){return"cx"in n&&ie(n.cx)};function An(e){var n=e.offset,r=n===void 0?5:n,i=F2e(e,P2e),s=Zt({offset:r},i),a=s.viewBox,o=s.position,l=s.value,c=s.children,u=s.content,d=s.className,p=d===void 0?"":d,m=s.textBreakAll;if(!a||Fe(l)&&Fe(c)&&!k.isValidElement(u)&&!Pe(u))return null;if(k.isValidElement(u))return k.cloneElement(u,s);var h;if(Pe(u)){if(h=k.createElement(u,s),k.isValidElement(h))return h}else h=M2e(s);var g=V2e(a),f=Ie(s,!0);if(g&&(o==="insideStart"||o==="insideEnd"||o==="end"))return B2e(s,h,f);var x=g?z2e(s):U2e(s);return L.createElement(kv,dh({className:Re("recharts-label",p)},f,x,{breakAll:m}),h)}An.displayName="Label";var bz=function(n){var r=n.cx,i=n.cy,s=n.angle,a=n.startAngle,o=n.endAngle,l=n.r,c=n.radius,u=n.innerRadius,d=n.outerRadius,p=n.x,m=n.y,h=n.top,g=n.left,f=n.width,x=n.height,v=n.clockWise,b=n.labelViewBox;if(b)return b;if(ie(f)&&ie(x)){if(ie(p)&&ie(m))return{x:p,y:m,width:f,height:x};if(ie(h)&&ie(g))return{x:h,y:g,width:f,height:x}}return ie(p)&&ie(m)?{x:p,y:m,width:0,height:0}:ie(r)&&ie(i)?{cx:r,cy:i,startAngle:a||s||0,endAngle:o||s||0,innerRadius:u||0,outerRadius:d||c||l||0,clockWise:v}:n.viewBox?n.viewBox:{}},W2e=function(n,r){return n?n===!0?L.createElement(An,{key:"label-implicit",viewBox:r}):nn(n)?L.createElement(An,{key:"label-implicit",viewBox:r,value:n}):k.isValidElement(n)?n.type===An?k.cloneElement(n,{key:"label-implicit",viewBox:r}):L.createElement(An,{key:"label-implicit",content:n,viewBox:r}):Pe(n)?L.createElement(An,{key:"label-implicit",content:n,viewBox:r}):_d(n)?L.createElement(An,dh({viewBox:r},n,{key:"label-implicit"})):null:null},H2e=function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!n||!n.children&&i&&!n.label)return null;var s=n.children,a=bz(n),o=Bi(s,An).map(function(c,u){return k.cloneElement(c,{viewBox:r||a,key:"label-".concat(u)})});if(!i)return o;var l=W2e(n.label,r||a);return[l].concat(E2e(o))};An.parseViewBox=bz;An.renderCallByParent=H2e;function G2e(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}var K2e=G2e;const Q2e=Ue(K2e);function ph(e){"@babel/helpers - typeof";return ph=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ph(e)}var Y2e=["valueAccessor"],J2e=["data","dataKey","clockWise","id","textBreakAll"];function X2e(e){return nNe(e)||tNe(e)||eNe(e)||Z2e()}function Z2e(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
682In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eNe(e,n){if(e){if(typeof e=="string")return vN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vN(e,n)}}function tNe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function nNe(e){if(Array.isArray(e))return vN(e)}function vN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function $v(){return $v=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},$v.apply(this,arguments)}function q5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function S5(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?q5(Object(r),!0).forEach(function(i){rNe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):q5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function rNe(e,n,r){return n=iNe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function iNe(e){var n=sNe(e,"string");return ph(n)=="symbol"?n:n+""}function sNe(e,n){if(ph(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(ph(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function C5(e,n){if(e==null)return{};var r=aNe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function aNe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}var oNe=function(n){return Array.isArray(n.value)?Q2e(n.value):n.value};function So(e){var n=e.valueAccessor,r=n===void 0?oNe:n,i=C5(e,Y2e),s=i.data,a=i.dataKey,o=i.clockWise,l=i.id,c=i.textBreakAll,u=C5(i,J2e);return!s||!s.length?null:L.createElement(kt,{className:"recharts-label-list"},s.map(function(d,p){var m=Fe(a)?r(d,p):Rr(d&&d.payload,a),h=Fe(l)?{}:{id:"".concat(l,"-").concat(p)};return L.createElement(An,$v({},Ie(d,!0),u,h,{parentViewBox:d.parentViewBox,value:m,textBreakAll:c,viewBox:An.parseViewBox(Fe(o)?d:S5(S5({},d),{},{clockWise:o})),key:"label-".concat(p),index:p}))}))}So.displayName="LabelList";function lNe(e,n){return e?e===!0?L.createElement(So,{key:"labelList-implicit",data:n}):L.isValidElement(e)||Pe(e)?L.createElement(So,{key:"labelList-implicit",data:n,content:e}):_d(e)?L.createElement(So,$v({data:n},e,{key:"labelList-implicit"})):null:null}function cNe(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var i=e.children,s=Bi(i,So).map(function(o,l){return k.cloneElement(o,{data:n,key:"labelList-".concat(l)})});if(!r)return s;var a=lNe(e.label,n);return[a].concat(X2e(s))}So.renderCallByParent=cNe;function mh(e){"@babel/helpers - typeof";return mh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},mh(e)}function bN(){return bN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},bN.apply(this,arguments)}function P5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function E5(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?P5(Object(r),!0).forEach(function(i){uNe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function uNe(e,n,r){return n=dNe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function dNe(e){var n=pNe(e,"string");return mh(n)=="symbol"?n:n+""}function pNe(e,n){if(mh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(mh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var mNe=function(n,r){var i=Di(r-n),s=Math.min(Math.abs(r-n),359.999);return i*s},gg=function(n){var r=n.cx,i=n.cy,s=n.radius,a=n.angle,o=n.sign,l=n.isExternal,c=n.cornerRadius,u=n.cornerIsExternal,d=c*(l?1:-1)+s,p=Math.asin(c/d)/Mv,m=u?a:a+o*p,h=xn(r,i,d,m),g=xn(r,i,s,m),f=u?a-o*p:a,x=xn(r,i,d*Math.cos(p*Mv),f);return{center:h,circleTangency:g,lineTangency:x,theta:p}},yz=function(n){var r=n.cx,i=n.cy,s=n.innerRadius,a=n.outerRadius,o=n.startAngle,l=n.endAngle,c=mNe(o,l),u=o+c,d=xn(r,i,a,o),p=xn(r,i,a,u),m="M ".concat(d.x,",").concat(d.y,`
683    A `).concat(a,",").concat(a,`,0,
684    `).concat(+(Math.abs(c)>180),",").concat(+(o>u),`,
685    `).concat(p.x,",").concat(p.y,`
686  `);if(s>0){var h=xn(r,i,s,o),g=xn(r,i,s,u);m+="L ".concat(g.x,",").concat(g.y,`
687            A `).concat(s,",").concat(s,`,0,
688            `).concat(+(Math.abs(c)>180),",").concat(+(o<=u),`,
689            `).concat(h.x,",").concat(h.y," Z")}else m+="L ".concat(r,",").concat(i," Z");return m},hNe=function(n){var r=n.cx,i=n.cy,s=n.innerRadius,a=n.outerRadius,o=n.cornerRadius,l=n.forceCornerRadius,c=n.cornerIsExternal,u=n.startAngle,d=n.endAngle,p=Di(d-u),m=gg({cx:r,cy:i,radius:a,angle:u,sign:p,cornerRadius:o,cornerIsExternal:c}),h=m.circleTangency,g=m.lineTangency,f=m.theta,x=gg({cx:r,cy:i,radius:a,angle:d,sign:-p,cornerRadius:o,cornerIsExternal:c}),v=x.circleTangency,b=x.lineTangency,y=x.theta,N=c?Math.abs(u-d):Math.abs(u-d)-f-y;if(N<0)return l?"M ".concat(g.x,",").concat(g.y,`
690        a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0
691        a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0
692      `):yz({cx:r,cy:i,innerRadius:s,outerRadius:a,startAngle:u,endAngle:d});var j="M ".concat(g.x,",").concat(g.y,`
693    A`).concat(o,",").concat(o,",0,0,").concat(+(p<0),",").concat(h.x,",").concat(h.y,`
694    A`).concat(a,",").concat(a,",0,").concat(+(N>180),",").concat(+(p<0),",").concat(v.x,",").concat(v.y,`
695    A`).concat(o,",").concat(o,",0,0,").concat(+(p<0),",").concat(b.x,",").concat(b.y,`
696  `);if(s>0){var w=gg({cx:r,cy:i,radius:s,angle:u,sign:p,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),q=w.circleTangency,P=w.lineTangency,T=w.theta,E=gg({cx:r,cy:i,radius:s,angle:d,sign:-p,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),A=E.circleTangency,_=E.lineTangency,D=E.theta,R=c?Math.abs(u-d):Math.abs(u-d)-T-D;if(R<0&&o===0)return"".concat(j,"L").concat(r,",").concat(i,"Z");j+="L".concat(_.x,",").concat(_.y,`
697      A`).concat(o,",").concat(o,",0,0,").concat(+(p<0),",").concat(A.x,",").concat(A.y,`
698      A`).concat(s,",").concat(s,",0,").concat(+(R>180),",").concat(+(p>0),",").concat(q.x,",").concat(q.y,`
699      A`).concat(o,",").concat(o,",0,0,").concat(+(p<0),",").concat(P.x,",").concat(P.y,"Z")}else j+="L".concat(r,",").concat(i,"Z");return j},fNe={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},jz=function(n){var r=E5(E5({},fNe),n),i=r.cx,s=r.cy,a=r.innerRadius,o=r.outerRadius,l=r.cornerRadius,c=r.forceCornerRadius,u=r.cornerIsExternal,d=r.startAngle,p=r.endAngle,m=r.className;if(o<a||d===p)return null;var h=Re("recharts-sector",m),g=o-a,f=rc(l,g,0,!0),x;return f>0&&Math.abs(d-p)<360?x=hNe({cx:i,cy:s,innerRadius:a,outerRadius:o,cornerRadius:Math.min(f,g/2),forceCornerRadius:c,cornerIsExternal:u,startAngle:d,endAngle:p}):x=yz({cx:i,cy:s,innerRadius:a,outerRadius:o,startAngle:d,endAngle:p}),L.createElement("path",bN({},Ie(r,!0),{className:h,d:x,role:"img"}))};function hh(e){"@babel/helpers - typeof";return hh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},hh(e)}function yN(){return yN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},yN.apply(this,arguments)}function T5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function I5(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};
699n%2?T5(Object(r),!0).forEach(function(i){gNe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function gNe(e,n,r){return n=xNe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function xNe(e){var n=vNe(e,"string");return hh(n)=="symbol"?n:n+""}function vNe(e,n){if(hh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(hh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var A5={curveBasisClosed:gde,curveBasisOpen:xde,curveBasis:fde,curveBumpX:tde,curveBumpY:nde,curveLinearClosed:vde,curveLinear:wy,curveMonotoneX:bde,curveMonotoneY:yde,curveNatural:jde,curveStep:wde,curveStepAfter:kde,curveStepBefore:Nde},xg=function(n){return n.x===+n.x&&n.y===+n.y},bp=function(n){return n.x},yp=function(n){return n.y},bNe=function(n,r){if(Pe(n))return n;var i="curve".concat(yy(n));return(i==="curveMonotone"||i==="curveBump")&&r?A5["".concat(i).concat(r==="vertical"?"Y":"X")]:A5[i]||wy},yNe=function(n){var r=n.type,i=r===void 0?"linear":r,s=n.points,a=s===void 0?[]:s,o=n.baseLine,l=n.layout,c=n.connectNulls,u=c===void 0?!1:c,d=bNe(i,l),p=u?a.filter(function(f){return xg(f)}):a,m;if(Array.isArray(o)){var h=u?o.filter(function(f){return xg(f)}):o,g=p.map(function(f,x){return I5(I5({},f),{},{base:h[x]})});return l==="vertical"?m=og().y(yp).x1(bp).x0(function(f){return f.base.x}):m=og().x(bp).y1(yp).y0(function(f){return f.base.y}),m.defined(xg).curve(d),m(g)}return l==="vertical"&&ie(o)?m=og().y(yp).x1(bp).x0(o):ie(o)?m=og().x(bp).y1(yp).y0(o):m=y$().x(bp).y(yp),m.defined(xg).curve(d),m(p)},cm=function(n){var r=n.className,i=n.points,s=n.path,a=n.pathRef;if((!i||!i.length)&&!s)return null;var o=i&&i.length?yNe(n):s;return k.createElement("path",yN({},Ie(n,!1),cv(n),{className:Re("recharts-curve",r),d:o,ref:a}))},wz={exports:{}},jNe="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",wNe=jNe,NNe=wNe;function Nz(){}function kz(){}kz.resetWarningCache=Nz;var kNe=function(){function e(i,s,a,o,l,c){if(c!==NNe){var u=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 u.name="Invariant Violation",u}}e.isRequired=e;function n(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:n,element:e,elementType:e,instanceOf:n,node:e,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:kz,resetWarningCache:Nz};return r.PropTypes=r,r};wz.exports=kNe();var qNe=wz.exports;const Ge=Ue(qNe);var SNe=Object.getOwnPropertyNames,CNe=Object.getOwnPropertySymbols,PNe=Object.prototype.hasOwnProperty;function L5(e,n){return function(i,s,a){return e(i,s,a)&&n(i,s,a)}}function vg(e){return function(r,i,s){if(!r||!i||typeof r!="object"||typeof i!="object")return e(r,i,s);var a=s.cache,o=a.get(r),l=a.get(i);if(o&&l)return o===i&&l===r;a.set(r,i),a.set(i,r);var c=e(r,i,s);return a.delete(r),a.delete(i),c}}function F5(e){return SNe(e).concat(CNe(e))}var ENe=Object.hasOwn||function(e,n){return PNe.call(e,n)};function gc(e,n){return e===n||!e&&!n&&e!==e&&n!==n}var TNe="__v",INe="__o",ANe="_owner",_5=Object.getOwnPropertyDescriptor,O5=Object.keys;function LNe(e,n,r){var i=e.length;if(n.length!==i)return!1;for(;i-- >0;)if(!r.equals(e[i],n[i],i,i,e,n,r))return!1;return!0}function FNe(e,n){return gc(e.getTime(),n.getTime())}function _Ne(e,n){return e.name===n.name&&e.message===n.message&&e.cause===n.cause&&e.stack===n.stack}function ONe(e,n){return e===n}function R5(e,n,r){var i=e.size;if(i!==n.size)return!1;if(!i)return!0;for(var s=new Array(i),a=e.entries(),o,l,c=0;(o=a.next())&&!o.done;){for(var u=n.entries(),d=!1,p=0;(l=u.next())&&!l.done;){if(s[p]){p++;continue}var m=o.value,h=l.value;if(r.equals(m[0],h[0],c,p,e,n,r)&&r.equals(m[1],h[1],m[0],h[0],e,n,r)){d=s[p]=!0;break}p++}if(!d)return!1;c++}return!0}var RNe=gc;function DNe(e,n,r){var i=O5(e),s=i.length;if(O5(n).length!==s)return!1;for(;s-- >0;)if(!qz(e,n,r,i[s]))return!1;return!0}function jp(e,n,r){var i=F5(e),s=i.length;if(F5(n).length!==s)return!1;for(var a,o,l;s-- >0;)if(a=i[s],!qz(e,n,r,a)||(o=_5(e,a),l=_5(n,a),(o||l)&&(!o||!l||o.configurable!==l.configurable||o.enumerable!==l.enumerable||o.writable!==l.writable)))return!1;return!0}function MNe(e,n){return gc(e.valueOf(),n.valueOf())}function $Ne(e,n){return e.source===n.source&&e.flags===n.flags}function D5(e,n,r){var i=e.size;if(i!==n.size)return!1;if(!i)return!0;for(var s=new Array(i),a=e.values(),o,l;(o=a.next())&&!o.done;){for(var c=n.values(),u=!1,d=0;(l=c.next())&&!l.done;){if(!s[d]&&r.equals(o.value,l.value,o.value,l.value,e,n,r)){u=s[d]=!0;break}d++}if(!u)return!1}return!0}function BNe(e,n){var r=e.length;if(n.length!==r)return!1;for(;r-- >0;)if(e[r]!==n[r])return!1;return!0}function zNe(e,n){return e.hostname===n.hostname&&e.pathname===n.pathname&&e.protocol===n.protocol&&e.port===n.port&&e.hash===n.hash&&e.username===n.username&&e.password===n.password}function qz(e,n,r,i){return(i===ANe||i===INe||i===TNe)&&(e.$$typeof||n.$$typeof)?!0:ENe(n,i)&&r.equals(e[i],n[i],i,i,e,n,r)}var UNe="[object Arguments]",VNe="[object Boolean]",WNe="[object Date]",HNe="[object Error]",GNe="[object Map]",KNe="[object Number]",QNe="[object Object]",YNe="[object RegExp]",JNe="[object Set]",XNe="[object String]",ZNe="[object URL]",eke=Array.isArray,M5=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,$5=Object.assign,tke=Object.prototype.toString.call.bind(Object.prototype.toString);function nke(e){var n=e.areArraysEqual,r=e.areDatesEqual,i=e.areErrorsEqual,s=e.areFunctionsEqual,a=e.areMapsEqual,o=e.areNumbersEqual,l=e.areObjectsEqual,c=e.arePrimitiveWrappersEqual,u=e.areRegExpsEqual,d=e.areSetsEqual,p=e.areTypedArraysEqual,m=e.areUrlsEqual;return function(g,f,x){if(g===f)return!0;
699if(g==null||f==null)return!1;var v=typeof g;if(v!==typeof f)return!1;if(v!=="object")return v==="number"?o(g,f,x):v==="function"?s(g,f,x):!1;var b=g.constructor;if(b!==f.constructor)return!1;if(b===Object)return l(g,f,x);if(eke(g))return n(g,f,x);if(M5!=null&&M5(g))return p(g,f,x);if(b===Date)return r(g,f,x);if(b===RegExp)return u(g,f,x);if(b===Map)return a(g,f,x);if(b===Set)return d(g,f,x);var y=tke(g);return y===WNe?r(g,f,x):y===YNe?u(g,f,x):y===GNe?a(g,f,x):y===JNe?d(g,f,x):y===QNe?typeof g.then!="function"&&typeof f.then!="function"&&l(g,f,x):y===ZNe?m(g,f,x):y===HNe?i(g,f,x):y===UNe?l(g,f,x):y===VNe||y===KNe||y===XNe?c(g,f,x):!1}}function rke(e){var n=e.circular,r=e.createCustomConfig,i=e.strict,s={areArraysEqual:i?jp:LNe,areDatesEqual:FNe,areErrorsEqual:_Ne,areFunctionsEqual:ONe,areMapsEqual:i?L5(R5,jp):R5,areNumbersEqual:RNe,areObjectsEqual:i?jp:DNe,arePrimitiveWrappersEqual:MNe,areRegExpsEqual:$Ne,areSetsEqual:i?L5(D5,jp):D5,areTypedArraysEqual:i?jp:BNe,areUrlsEqual:zNe};if(r&&(s=$5({},s,r(s))),n){var a=vg(s.areArraysEqual),o=vg(s.areMapsEqual),l=vg(s.areObjectsEqual),c=vg(s.areSetsEqual);s=$5({},s,{areArraysEqual:a,areMapsEqual:o,areObjectsEqual:l,areSetsEqual:c})}return s}function ike(e){return function(n,r,i,s,a,o,l){return e(n,r,l)}}function ske(e){var n=e.circular,r=e.comparator,i=e.createState,s=e.equals,a=e.strict;if(i)return function(c,u){var d=i(),p=d.cache,m=p===void 0?n?new WeakMap:void 0:p,h=d.meta;return r(c,u,{cache:m,equals:s,meta:h,strict:a})};if(n)return function(c,u){return r(c,u,{cache:new WeakMap,equals:s,meta:void 0,strict:a})};var o={cache:void 0,equals:s,meta:void 0,strict:a};return function(c,u){return r(c,u,o)}}var ake=Wo();Wo({strict:!0});Wo({circular:!0});Wo({circular:!0,strict:!0});Wo({createInternalComparator:function(){return gc}});Wo({strict:!0,createInternalComparator:function(){return gc}});Wo({circular:!0,createInternalComparator:function(){return gc}});Wo({circular:!0,createInternalComparator:function(){return gc},strict:!0});function Wo(e){e===void 0&&(e={});var n=e.circular,r=n===void 0?!1:n,i=e.createInternalComparator,s=e.createState,a=e.strict,o=a===void 0?!1:a,l=rke(e),c=nke(l),u=i?i(c):ike(c);return ske({circular:r,comparator:c,createState:s,equals:u,strict:o})}function oke(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function B5(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=-1,i=function s(a){r<0&&(r=a),a-r>n?(e(a),r=-1):oke(s)};requestAnimationFrame(i)}function jN(e){"@babel/helpers - typeof";return jN=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},jN(e)}function lke(e){return pke(e)||dke(e)||uke(e)||cke()}function cke(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
700In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uke(e,n){if(e){if(typeof e=="string")return z5(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return z5(e,n)}}function z5(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function dke(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function pke(e){if(Array.isArray(e))return e}function mke(){var e={},n=function(){return null},r=!1,i=function s(a){if(!r){if(Array.isArray(a)){if(!a.length)return;var o=a,l=lke(o),c=l[0],u=l.slice(1);if(typeof c=="number"){B5(s.bind(null,u),c);return}s(c),B5(s.bind(null,u));return}jN(a)==="object"&&(e=a,n(e)),typeof a=="function"&&a()}};return{stop:function(){r=!0},start:function(a){r=!1,i(a)},subscribe:function(a){return n=a,function(){n=function(){return null}}}}}function fh(e){"@babel/helpers - typeof";return fh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},fh(e)}function U5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function V5(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};
vendor: 158,821 bytes, lines 700-721
700n%2?U5(Object(r),!0).forEach(function(i){Sz(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Sz(e,n,r){return n=hke(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function hke(e){var n=fke(e,"string");return fh(n)==="symbol"?n:String(n)}function fke(e,n){if(fh(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(fh(i)!=="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var gke=function(n,r){return[Object.keys(n),Object.keys(r)].reduce(function(i,s){return i.filter(function(a){return s.includes(a)})})},xke=function(n){return n},vke=function(n){return n.replace(/([A-Z])/g,function(r){return"-".concat(r.toLowerCase())})},um=function(n,r){return Object.keys(r).reduce(function(i,s){return V5(V5({},i),{},Sz({},s,n(s,r[s])))},{})},W5=function(n,r,i){return n.map(function(s){return"".concat(vke(s)," ").concat(r,"ms ").concat(i)}).join(",")};function bke(e,n){return wke(e)||jke(e,n)||Cz(e,n)||yke()}function yke(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
701In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jke(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function wke(e){if(Array.isArray(e))return e}function Nke(e){return Ske(e)||qke(e)||Cz(e)||kke()}function kke(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
702In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cz(e,n){if(e){if(typeof e=="string")return wN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wN(e,n)}}function qke(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ske(e){if(Array.isArray(e))return wN(e)}function wN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}var Bv=1e-4,Pz=function(n,r){return[0,3*n,3*r-6*n,3*n-3*r+1]},Ez=function(n,r){return n.map(function(i,s){return i*Math.pow(r,s)}).reduce(function(i,s){return i+s})},H5=function(n,r){return function(i){var s=Pz(n,r);return Ez(s,i)}},Cke=function(n,r){return function(i){var s=Pz(n,r),a=[].concat(Nke(s.map(function(o,l){return o*l}).slice(1)),[0]);return Ez(a,i)}},G5=function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];var s=r[0],a=r[1],o=r[2],l=r[3];if(r.length===1)switch(r[0]){case"linear":s=0,a=0,o=1,l=1;break;case"ease":s=.25,a=.1,o=.25,l=1;break;case"ease-in":s=.42,a=0,o=1,l=1;break;case"ease-out":s=.42,a=0,o=.58,l=1;break;case"ease-in-out":s=0,a=0,o=.58,l=1;break;default:{var c=r[0].split("(");if(c[0]==="cubic-bezier"&&c[1].split(")")[0].split(",").length===4){var u=c[1].split(")")[0].split(",").map(function(x){return parseFloat(x)}),d=bke(u,4);s=d[0],a=d[1],o=d[2],l=d[3]}}}var p=H5(s,o),m=H5(a,l),h=Cke(s,o),g=function(v){return v>1?1:v<0?0:v},f=function(v){for(var b=v>1?1:v,y=b,N=0;N<8;++N){var j=p(y)-b,w=h(y);if(Math.abs(j-b)<Bv||w<Bv)return m(y);y=g(y-j/w)}return m(y)};return f.isStepper=!1,f},Pke=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=n.stiff,i=r===void 0?100:r,s=n.damping,a=s===void 0?8:s,o=n.dt,l=o===void 0?17:o,c=function(d,p,m){var h=-(d-p)*i,g=m*a,f=m+(h-g)*l/1e3,x=m*l/1e3+d;return Math.abs(x-p)<Bv&&Math.abs(f)<Bv?[p,0]:[x,f]};return c.isStepper=!0,c.dt=l,c},Eke=function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];var s=r[0];if(typeof s=="string")switch(s){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return G5(s);case"spring":return Pke();default:if(s.split("(")[0]==="cubic-bezier")return G5(s)}return typeof s=="function"?s:null};function gh(e){"@babel/helpers - typeof";return gh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},gh(e)}function K5(e){return Ake(e)||Ike(e)||Tz(e)||Tke()}function Tke(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
703In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ike(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ake(e){if(Array.isArray(e))return kN(e)}function Q5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function mn(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Q5(Object(r),!0).forEach(function(i){NN(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function NN(e,n,r){return n=Lke(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Lke(e){var n=Fke(e,"string");return gh(n)==="symbol"?n:String(n)}function Fke(e,n){if(gh(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(gh(i)!=="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function _ke(e,n){return Dke(e)||Rke(e,n)||Tz(e,n)||Oke()}function Oke(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
704In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tz(e,n){if(e){if(typeof e=="string")return kN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kN(e,n)}}function kN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function Rke(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function Dke(e){if(Array.isArray(e))return e}var zv=function(n,r,i){return n+(r-n)*i},qN=function(n){var r=n.from,i=n.to;return r!==i},Mke=function e(n,r,i){var s=um(function(a,o){if(qN(o)){var l=n(o.from,o.to,o.velocity),c=_ke(l,2),u=c[0],d=c[1];return mn(mn({},o),{},{from:u,velocity:d})}return o},r);return i<1?um(function(a,o){return qN(o)?mn(mn({},o),{},{velocity:zv(o.velocity,s[a].velocity,i),from:zv(o.from,s[a].from,i)}):o},r):e(n,s,i-1)};const $ke=function(e,n,r,i,s){var a=gke(e,n),o=a.reduce(function(x,v){return mn(mn({},x),{},NN({},v,[e[v],n[v]]))},{}),l=a.reduce(function(x,v){return mn(mn({},x),{},NN({},v,{from:e[v],velocity:0,to:n[v]}))},{}),c=-1,u,d,p=function(){return null},m=function(){return um(function(v,b){return b.from},l)},h=function(){return!Object.values(l).filter(qN).length},g=function(v){u||(u=v);var b=v-u,y=b/r.dt;l=Mke(r,l,y),s(mn(mn(mn({},e),n),m())),u=v,h()||(c=requestAnimationFrame(p))},f=function(v){d||(d=v);var b=(v-d)/i,y=um(function(j,w){return zv.apply(void 0,K5(w).concat([r(b)]))},o);if(s(mn(mn(mn({},e),n),y)),b<1)c=requestAnimationFrame(p);else{var N=um(function(j,w){return zv.apply(void 0,K5(w).concat([r(1)]))},o);s(mn(mn(mn({},e),n),N))}};return p=r.isStepper?g:f,function(){return requestAnimationFrame(p),function(){cancelAnimationFrame(c)}}};function id(e){"@babel/helpers - typeof";return id=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},id(e)}var Bke=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function zke(e,n){if(e==null)return{};var r=Uke(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function Uke(e,n){if(e==null)return{};var r={},i=Object.keys(e),s,a;for(a=0;a<i.length;a++)s=i[a],!(n.indexOf(s)>=0)&&(r[s]=e[s]);return r}function Mj(e){return Gke(e)||Hke(e)||Wke(e)||Vke()}function Vke(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
705In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wke(e,n){if(e){if(typeof e=="string")return SN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return SN(e,n)}}function Hke(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Gke(e){if(Array.isArray(e))return SN(e)}function SN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function Y5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function ji(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Y5(Object(r),!0).forEach(function(i){zp(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function zp(e,n,r){return n=Iz(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Kke(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function Qke(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Iz(i.key),i)}}function Yke(e,n,r){return n&&Qke(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Iz(e){var n=Jke(e,"string");return id(n)==="symbol"?n:String(n)}function Jke(e,n){if(id(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(id(i)!=="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function Xke(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&CN(e,n)}function CN(e,n){return CN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},CN(e,n)}function Zke(e){var n=eqe();return function(){var i=Uv(e),s;if(n){var a=Uv(this).constructor;s=Reflect.construct(i,arguments,a)}else s=i.apply(this,arguments);return PN(this,s)}}function PN(e,n){if(n&&(id(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return EN(e)}function EN(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function eqe(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Uv(e){return Uv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Uv(e)}var fa=function(e){Xke(r,e);var n=Zke(r);function r(i,s){var a;Kke(this,r),a=n.call(this,i,s);var o=a.props,l=o.isActive,c=o.attributeName,u=o.from,d=o.to,p=o.steps,m=o.children,h=o.duration;if(a.handleStyleChange=a.handleStyleChange.bind(EN(a)),a.changeStyle=a.changeStyle.bind(EN(a)),!l||h<=0)return a.state={style:{}},typeof m=="function"&&(a.state={style:d}),PN(a);if(p&&p.length)a.state={style:p[0].style};else if(u){if(typeof m=="function")return a.state={style:u},PN(a);a.state={style:c?zp({},c,u):u}}else a.state={style:{}};return a}return Yke(r,[{key:"componentDidMount",value:function(){var s=this.props,a=s.isActive,o=s.canBegin;this.mounted=!0,!(!a||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(s){var a=this.props,o=a.isActive,l=a.canBegin,c=a.attributeName,u=a.shouldReAnimate,d=a.to,p=a.from,m=this.state.style;if(l){if(!o){var h={style:c?zp({},c,d):d};this.state&&m&&(c&&m[c]!==d||!c&&m!==d)&&this.setState(h);return}if(!(ake(s.to,d)&&s.canBegin&&s.isActive)){var g=!s.canBegin||!s.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var f=g||u?p:s.to;if(this.state&&m){var x={style:c?zp({},c,f):f};(c&&m[c]!==f||!c&&m!==f)&&this.setState(x)}this.runAnimation(ji(ji({},this.props),{},{from:f,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var s=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),s&&s()}},{key:"handleStyleChange",value:function(s){this.changeStyle(s)}},{key:"changeStyle",value:function(s){this.mounted&&this.setState({style:s})}},{key:"runJSAnimation",value:function(s){var a=this,o=s.from,l=s.to,c=s.duration,u=s.easing,d=s.begin,p=s.onAnimationEnd,m=s.onAnimationStart,h=$ke(o,l,Eke(u),c,this.changeStyle),g=function(){a.stopJSAnimation=h()};this.manager.start([m,d,g,c,p])}},{key:"runStepAnimation",value:function(s){var a=this,o=s.steps,l=s.begin,c=s.onAnimationStart,u=o[0],d=u.style,p=u.duration,m=p===void 0?0:p,h=function(f,x,v){if(v===0)return f;var b=x.duration,y=x.easing,N=y===void 0?"ease":y,j=x.style,w=x.properties,q=x.onAnimationEnd,P=v>0?o[v-1]:x,T=w||Object.keys(j);if(typeof N=="function"||N==="spring")return[].concat(Mj(f),[a.runJSAnimation.bind(a,{from:P.style,to:j,duration:b,easing:N}),b]);var E=W5(T,b,N),A=ji(ji(ji({},P.style),j),{},{transition:E});return[].concat(Mj(f),[A,b,q]).filter(xke)};return this.manager.start([c].concat(Mj(o.reduce(h,[d,Math.max(m,l)])),[s.onAnimationEnd]))}},{key:"runAnimation",value:function(s){this.manager||(this.manager=mke());var a=s.begin,o=s.duration,l=s.attributeName,c=s.to,u=s.easing,d=s.onAnimationStart,p=s.onAnimationEnd,m=s.steps,h=s.children,g=this.manager;if(this.unSubscribe=g.subscribe(this.handleStyleChange),typeof u=="function"||typeof h=="function"||u==="spring"){this.runJSAnimation(s);return}if(m.length>1){this.runStepAnimation(s);return}var f=l?zp({},l,c):c,x=W5(Object.keys(f),o,u);g.start([d,a,ji(ji({},f),{},{transition:x}),o,p])}},{key:"render",value:function(){var s=this.props,a=s.children;s.begin;var o=s.duration;s.attributeName,s.easing;var l=s.isActive;s.steps,s.from,s.to,s.canBegin,s.onAnimationEnd,s.shouldReAnimate,s.onAnimationReStart;var c=zke(s,Bke),u=k.Children.count(a),d=this.state.style;if(typeof a=="function")return a(d);if(!l||u===0||o<=0)return a;var p=function(h){var g=h.props,f=g.style,x=f===void 0?{}:f,v=g.className,b=k.cloneElement(h,ji(ji({},c),{},{style:ji(ji({},x),d),className:v}));return b};return u===1?p(k.Children.only(a)):L.createElement("div",null,k.Children.map(a,function(m){return p(m)}))}}]),r}(k.PureComponent);fa.displayName="Animate";fa.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};fa.propTypes={from:Ge.oneOfType([Ge.object,Ge.string]),to:Ge.oneOfType([Ge.object,Ge.string]),attributeName:Ge.string,duration:Ge.number,begin:Ge.number,easing:Ge.oneOfType([Ge.string,Ge.func]),steps:Ge.arrayOf(Ge.shape({duration:Ge.number.isRequired,style:Ge.object.isRequired,easing:Ge.oneOfType([Ge.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Ge.func]),properties:Ge.arrayOf("string"),onAnimationEnd:Ge.func})),children:Ge.oneOfType([Ge.node,Ge.func]),isActive:Ge.bool,canBegin:Ge.bool,onAnimationEnd:Ge.func,shouldReAnimate:Ge.bool,onAnimationStart:Ge.func,onAnimationReStart:Ge.func};function xh(e){"@babel/helpers - typeof";return xh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},xh(e)}function Vv(){return Vv=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Vv.apply(this,arguments)}function tqe(e,n){return sqe(e)||iqe(e,n)||rqe(e,n)||nqe()}function nqe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
706In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rqe(e,n){if(e){if(typeof e=="string")return J5(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return J5(e,n)}}function J5(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function iqe(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function sqe(e){if(Array.isArray(e))return e}function X5(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Z5(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?X5(Object(r),!0).forEach(function(i){aqe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):X5(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function aqe(e,n,r){return n=oqe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function oqe(e){var n=lqe(e,"string");return xh(n)=="symbol"?n:n+""}function lqe(e,n){if(xh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(xh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var e3=function(n,r,i,s,a){var o=Math.min(Math.abs(i)/2,Math.abs(s)/2),l=s>=0?1:-1,c=i>=0?1:-1,u=s>=0&&i>=0||s<0&&i<0?1:0,d;if(o>0&&a instanceof Array){for(var p=[0,0,0,0],m=0,h=4;m<h;m++)p[m]=a[m]>o?o:a[m];d="M".concat(n,",").concat(r+l*p[0]),p[0]>0&&(d+="A ".concat(p[0],",").concat(p[0],",0,0,").concat(u,",").concat(n+c*p[0],",").concat(r)),d+="L ".concat(n+i-c*p[1],",").concat(r),p[1]>0&&(d+="A ".concat(p[1],",").concat(p[1],",0,0,").concat(u,`,
707        `).concat(n+i,",").concat(r+l*p[1])),d+="L ".concat(n+i,",").concat(r+s-l*p[2]),p[2]>0&&(d+="A ".concat(p[2],",").concat(p[2],",0,0,").concat(u,`,
708        `).concat(n+i-c*p[2],",").concat(r+s)),d+="L ".concat(n+c*p[3],",").concat(r+s),p[3]>0&&(d+="A ".concat(p[3],",").concat(p[3],",0,0,").concat(u,`,
709        `).concat(n,",").concat(r+s-l*p[3])),d+="Z"}else if(o>0&&a===+a&&a>0){var g=Math.min(o,a);d="M ".concat(n,",").concat(r+l*g,`
710            A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(n+c*g,",").concat(r,`
711            L `).concat(n+i-c*g,",").concat(r,`
712            A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(n+i,",").concat(r+l*g,`
713            L `).concat(n+i,",").concat(r+s-l*g,`
714            A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(n+i-c*g,",").concat(r+s,`
715            L `).concat(n+c*g,",").concat(r+s,`
716            A `).concat(g,",").concat(g,",0,0,").concat(u,",").concat(n,",").concat(r+s-l*g," Z")}else d="M ".concat(n,",").concat(r," h ").concat(i," v ").concat(s," h ").concat(-i," Z");return d},cqe=function(n,r){if(!n||!r)return!1;var i=n.x,s=n.y,a=r.x,o=r.y,l=r.width,c=r.height;if(Math.abs(l)>0&&Math.abs(c)>0){var u=Math.min(a,a+l),d=Math.max(a,a+l),p=Math.min(o,o+c),m=Math.max(o,o+c);return i>=u&&i<=d&&s>=p&&s<=m}return!1},uqe={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},TC=function(n){var r=Z5(Z5({},uqe),n),i=k.useRef(),s=k.useState(-1),a=tqe(s,2),o=a[0],l=a[1];k.useEffect(function(){if(i.current&&i.current.getTotalLength)try{var N=i.current.getTotalLength();N&&l(N)}catch{}},[]);var c=r.x,u=r.y,d=r.width,p=r.height,m=r.radius,h=r.className,g=r.animationEasing,f=r.animationDuration,x=r.animationBegin,v=r.isAnimationActive,b=r.isUpdateAnimationActive;if(c!==+c||u!==+u||d!==+d||p!==+p||d===0||p===0)return null;var y=Re("recharts-rectangle",h);return b?L.createElement(fa,{canBegin:o>0,from:{width:d,height:p,x:c,y:u},to:{width:d,height:p,x:c,y:u},duration:f,animationEasing:g,isActive:b},function(N){var j=N.width,w=N.height,q=N.x,P=N.y;return L.createElement(fa,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:x,duration:f,isActive:v,easing:g},L.createElement("path",Vv({},Ie(r,!0),{className:y,d:e3(q,P,j,w,m),ref:i})))}):L.createElement("path",Vv({},Ie(r,!0),{className:y,d:e3(c,u,d,p,m)}))};function TN(){return TN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},TN.apply(this,arguments)}var IC=function(n){var r=n.cx,i=n.cy,s=n.r,a=n.className,o=Re("recharts-dot",a);return r===+r&&i===+i&&s===+s?k.createElement("circle",TN({},Ie(n,!1),cv(n),{className:o,cx:r,cy:i,r:s})):null};function vh(e){"@babel/helpers - typeof";return vh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},vh(e)}var dqe=["x","y","top","left","width","height","className"];function IN(){return IN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},IN.apply(this,arguments)}function t3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function pqe(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?t3(Object(r),!0).forEach(function(i){mqe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function mqe(e,n,r){return n=hqe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function hqe(e){var n=fqe(e,"string");return vh(n)=="symbol"?n:n+""}function fqe(e,n){if(vh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(vh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function gqe(e,n){if(e==null)return{};var r=xqe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function xqe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}var vqe=function(n,r,i,s,a,o){return"M".concat(n,",").concat(a,"v").concat(s,"M").concat(o,",").concat(r,"h").concat(i)},bqe=function(n){var r=n.x,i=r===void 0?0:r,s=n.y,a=s===void 0?0:s,o=n.top,l=o===void 0?0:o,c=n.left,u=c===void 0?0:c,d=n.width,p=d===void 0?0:d,m=n.height,h=m===void 0?0:m,g=n.className,f=gqe(n,dqe),x=pqe({x:i,y:a,top:l,left:u,width:p,height:h},f);return!ie(i)||!ie(a)||!ie(p)||!ie(h)||!ie(l)||!ie(u)?null:L.createElement("path",IN({},Ie(x,!0),{className:Re("recharts-cross",g),d:vqe(i,a,p,h,l,u)}))},yqe=V$,jqe=yqe(Object.getPrototypeOf,Object),wqe=jqe,Nqe=ya,kqe=wqe,qqe=ja,Sqe="[object Object]",Cqe=Function.prototype,Pqe=Object.prototype,Az=Cqe.toString,Eqe=Pqe.hasOwnProperty,Tqe=Az.call(Object);function Iqe(e){if(!qqe(e)||Nqe(e)!=Sqe)return!1;var n=kqe(e);if(n===null)return!0;var r=Eqe.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&Az.call(r)==Tqe}var Aqe=Iqe;const Lqe=Ue(Aqe);var Fqe=ya,_qe=ja,Oqe="[object Boolean]";function Rqe(e){return e===!0||e===!1||_qe(e)&&Fqe(e)==Oqe}var Dqe=Rqe;const Mqe=Ue(Dqe);function bh(e){"@babel/helpers - typeof";return bh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},bh(e)}function Wv(){return Wv=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Wv.apply(this,arguments)}function $qe(e,n){return Vqe(e)||Uqe(e,n)||zqe(e,n)||Bqe()}function Bqe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
717In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zqe(e,n){if(e){if(typeof e=="string")return n3(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n3(e,n)}}function n3(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function Uqe(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function Vqe(e){if(Array.isArray(e))return e}function r3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function i3(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?r3(Object(r),!0).forEach(function(i){Wqe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):r3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Wqe(e,n,r){return n=Hqe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Hqe(e){var n=Gqe(e,"string");return bh(n)=="symbol"?n:n+""}function Gqe(e,n){if(bh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(bh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var s3=function(n,r,i,s,a){var o=i-s,l;return l="M ".concat(n,",").concat(r),l+="L ".concat(n+i,",").concat(r),l+="L ".concat(n+i-o/2,",").concat(r+a),l+="L ".concat(n+i-o/2-s,",").concat(r+a),l+="L ".concat(n,",").concat(r," Z"),l},Kqe={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Qqe=function(n){var r=i3(i3({},Kqe),n),i=k.useRef(),s=k.useState(-1),a=$qe(s,2),o=a[0],l=a[1];k.useEffect(function(){if(i.current&&i.current.getTotalLength)try{var y=i.current.getTotalLength();y&&l(y)}catch{}},[]);var c=r.x,u=r.y,d=r.upperWidth,p=r.lowerWidth,m=r.height,h=r.className,g=r.animationEasing,f=r.animationDuration,x=r.animationBegin,v=r.isUpdateAnimationActive;if(c!==+c||u!==+u||d!==+d||p!==+p||m!==+m||d===0&&p===0||m===0)return null;var b=Re("recharts-trapezoid",h);return v?L.createElement(fa,{canBegin:o>0,from:{upperWidth:0,lowerWidth:0,height:m,x:c,y:u},to:{upperWidth:d,lowerWidth:p,height:m,x:c,y:u},duration:f,animationEasing:g,isActive:v},function(y){var N=y.upperWidth,j=y.lowerWidth,w=y.height,q=y.x,P=y.y;return L.createElement(fa,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:x,duration:f,easing:g},L.createElement("path",Wv({},Ie(r,!0),{className:b,d:s3(q,P,N,j,w),ref:i})))}):L.createElement("g",null,L.createElement("path",Wv({},Ie(r,!0),{className:b,d:s3(c,u,d,p,m)})))},Yqe=["option","shapeType","propTransformer","activeClassName","isActive"];function yh(e){"@babel/helpers - typeof";return yh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},yh(e)}function Jqe(e,n){if(e==null)return{};var r=Xqe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function Xqe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function a3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Hv(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?a3(Object(r),!0).forEach(function(i){Zqe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Zqe(e,n,r){return n=eSe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function eSe(e){var n=tSe(e,"string");return yh(n)=="symbol"?n:n+""}function tSe(e,n){if(yh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(yh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function nSe(e,n){return Hv(Hv({},n),e)}function rSe(e,n){return e==="symbols"}function o3(e){var n=e.shapeType,r=e.elementProps;switch(n){case"rectangle":return L.createElement(TC,r);case"trapezoid":return L.createElement(Qqe,r);case"sector":return L.createElement(jz,r);case"symbols":if(rSe(n))return L.createElement(QS,r);break;default:return null}}function iSe(e){return k.isValidElement(e)?e.props:e}function sSe(e){var n=e.option,r=e.shapeType,i=e.propTransformer,s=i===void 0?nSe:i,a=e.activeClassName,o=a===void 0?"recharts-active-shape":a,l=e.isActive,c=Jqe(e,Yqe),u;if(k.isValidElement(n))u=k.cloneElement(n,Hv(Hv({},c),iSe(n)));else if(Pe(n))u=n(c);else if(Lqe(n)&&!Mqe(n)){var d=s(n,c);u=L.createElement(o3,{shapeType:r,elementProps:d})}else{var p=c;u=L.createElement(o3,{shapeType:r,elementProps:p})}return l?L.createElement(kt,{className:o},u):u}function Ry(e,n){return n!=null&&"trapezoids"in e.props}function Dy(e,n){return n!=null&&"sectors"in e.props}function jh(e,n){return n!=null&&"points"in e.props}function aSe(e,n){var r,i,s=e.x===(n==null||(r=n.labelViewBox)===null||r===void 0?void 0:r.x)||e.x===n.x,a=e.y===(n==null||(i=n.labelViewBox)===null||i===void 0?void 0:i.y)||e.y===n.y;return s&&a}function oSe(e,n){var r=e.endAngle===n.endAngle,i=e.startAngle===n.startAngle;return r&&i}function lSe(e,n){var r=e.x===n.x,i=e.y===n.y,s=e.z===n.z;return r&&i&&s}function cSe(e,n){var r;return Ry(e,n)?r=aSe:Dy(e,n)?r=oSe:jh(e,n)&&(r=lSe),r}function uSe(e,n){var r;return Ry(e,n)?r="trapezoids":Dy(e,n)?r="sectors":jh(e,n)&&(r="points"),r}function dSe(e,n){if(Ry(e,n)){var r;return(r=n.tooltipPayload)===null||r===void 0||(r=r[0])===null||r===void 0||(r=r.payload)===null||r===void 0?void 0:r.payload}if(Dy(e,n)){var i;return(i=n.tooltipPayload)===null||i===void 0||(i=i[0])===null||i===void 0||(i=i.payload)===null||i===void 0?void 0:i.payload}return jh(e,n)?n.payload:{}}function pSe(e){var n=e.activeTooltipItem,r=e.graphicalItem,i=e.itemData,s=uSe(r,n),a=dSe(r,n),o=i.filter(function(c,u){var d=ih(a,c),p=r.props[s].filter(function(g){var f=cSe(r,n);return f(g,n)}),m=r.props[s].indexOf(p[p.length-1]),h=u===m;return d&&h}),l=i.indexOf(o[o.length-1]);return l}var mSe=Math.ceil,hSe=Math.max;function fSe(e,n,r,i){for(var s=-1,a=hSe(mSe((n-e)/(r||1)),0),o=Array(a);a--;)o[i?a:++s]=e,e+=r;return o}var gSe=fSe,xSe=cB,l3=1/0,vSe=17976931348623157e292;function bSe(e){if(!e)return e===0?e:0;if(e=xSe(e),e===l3||e===-l3){var n=e<0?-1:1;return n*vSe}return e===e?e:0}var Lz=bSe,ySe=gSe,jSe=Sy,$j=Lz;function wSe(e){return function(n,r,i){return i&&typeof i!="number"&&jSe(n,r,i)&&(r=i=void 0),n=$j(n),r===void 0?(r=n,n=0):r=$j(r),i=i===void 0?n<r?1:-1:$j(i),ySe(n,r,i,e)}}var NSe=wSe,kSe=NSe,qSe=kSe(),SSe=qSe;const Gv=Ue(SSe);function wh(e){"@babel/helpers - typeof";return wh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},wh(e)}function c3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function u3(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?c3(Object(r),!0).forEach(function(i){Fz(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function Fz(e,n,r){return n=CSe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function CSe(e){var n=PSe(e,"string");return wh(n)=="symbol"?n:n+""}function PSe(e,n){if(wh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(wh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var ESe=["Webkit","Moz","O","ms"],TSe=function(n,r){var i=n.replace(/(\w)/,function(a){return a.toUpperCase()}),s=ESe.reduce(function(a,o){return u3(u3({},a),{},Fz({},o+i,r))},{});return s[n]=r,s};function sd(e){"@babel/helpers - typeof";return sd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},sd(e)}function Kv(){return Kv=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Kv.apply(this,arguments)}function d3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Bj(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?d3(Object(r),!0).forEach(function(i){kr(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function ISe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function p3(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Oz(i.key),i)}}function ASe(e,n,r){return n&&p3(e.prototype,n),r&&p3(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function LSe(e,n,r){return n=Qv(n),FSe(e,_z()?Reflect.construct(n,r||[],Qv(e).constructor):n.apply(e,r))}function FSe(e,n){if(n&&(sd(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _Se(e)}function _Se(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(_z=function(){return!!e})()}function Qv(e){return Qv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Qv(e)}function OSe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&AN(e,n)}function AN(e,n){return AN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},AN(e,n)}function kr(e,n,r){return n=Oz(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Oz(e){var n=RSe(e,"string");return sd(n)=="symbol"?n:n+""}function RSe(e,n){if(sd(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(sd(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var DSe=function(n){var r=n.data,i=n.startIndex,s=n.endIndex,a=n.x,o=n.width,l=n.travellerWidth;if(!r||!r.length)return{};var c=r.length,u=om().domain(Gv(0,c)).range([a,a+o-l]),d=u.domain().map(function(p){return u(p)});return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,isTravellerFocused:!1,startX:u(i),endX:u(s),scale:u,scaleValues:d}},m3=function(n){return n.changedTouches&&!!n.changedTouches.length},ad=function(e){function n(r){var i;return ISe(this,n),i=LSe(this,n,[r]),kr(i,"handleDrag",function(s){i.leaveTimer&&(clearTimeout(i.leaveTimer),i.leaveTimer=null),i.state.isTravellerMoving?i.handleTravellerMove(s):i.state.isSlideMoving&&i.handleSlideDrag(s)}),kr(i,"handleTouchMove",function(s){s.changedTouches!=null&&s.changedTouches.length>0&&i.handleDrag(s.changedTouches[0])}),kr(i,"handleDragEnd",function(){i.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var s=i.props,a=s.endIndex,o=s.onDragEnd,l=s.startIndex;o==null||o({endIndex:a,startIndex:l})}),i.detachDragEndListener()}),kr(i,"handleLeaveWrapper",function(){(i.state.isTravellerMoving||i.state.isSlideMoving)&&(i.leaveTimer=window.setTimeout(i.handleDragEnd,i.props.leaveTimeOut))}),kr(i,"handleEnterSlideOrTraveller",function(){i.setState({isTextActive:!0})}),kr(i,"handleLeaveSlideOrTraveller",function(){i.setState({isTextActive:!1})}),kr(i,"handleSlideDragStart",function(s){var a=m3(s)?s.changedTouches[0]:s;i.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:a.pageX}),i.attachDragEndListener()}),i.travellerDragStartHandlers={startX:i.handleTravellerDragStart.bind(i,"startX"),endX:i.handleTravellerDragStart.bind(i,"endX")},i.state={},i}return OSe(n,e),ASe(n,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(i){var s=i.startX,a=i.endX,o=this.state.scaleValues,l=this.props,c=l.gap,u=l.data,d=u.length-1,p=Math.min(s,a),m=Math.max(s,a),h=n.getIndexInRange(o,p),g=n.getIndexInRange(o,m);return{startIndex:h-h%c,endIndex:g===d?d:g-g%c}}},{key:"getTextOfTick",value:function(i){var s=this.props,a=s.data,o=s.tickFormatter,l=s.dataKey,c=Rr(a[i],l,i);return Pe(o)?o(c,i):c}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(i){var s=this.state,a=s.slideMoveStartX,o=s.startX,l=s.endX,c=this.props,u=c.x,d=c.width,p=c.travellerWidth,m=c.startIndex,h=c.endIndex,g=c.onChange,f=i.pageX-a;f>0?f=Math.min(f,u+d-p-l,u+d-p-o):f<0&&(f=Math.max(f,u-o,u-l));var x=this.getIndex({startX:o+f,endX:l+f});(x.startIndex!==m||x.endIndex!==h)&&g&&g(x),this.setState({startX:o+f,endX:l+f,slideMoveStartX:i.pageX})}},{key:"handleTravellerDragStart",value:function(i,s){var a=m3(s)?s.changedTouches[0]:s;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:i,brushMoveStartX:a.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(i){var s=this.state,a=s.brushMoveStartX,o=s.movingTravellerId,l=s.endX,c=s.startX,u=this.state[o],d=this.props,p=d.x,m=d.width,h=d.travellerWidth,g=d.onChange,f=d.gap,x=d.data,v={startX:this.state.startX,endX:this.state.endX},b=i.pageX-a;b>0?b=Math.min(b,p+m-h-u):b<0&&(b=Math.max(b,p-u)),v[o]=u+b;var y=this.getIndex(v),N=y.startIndex,j=y.endIndex,w=function(){var P=x.length-1;return o==="startX"&&(l>c?N%f===0:j%f===0)||l<c&&j===P||o==="endX"&&(l>c?j%f===0:N%f===0)||l>c&&j===P};this.setState(kr(kr({},o,u+b),"brushMoveStartX",i.pageX),function(){g&&w()&&g(y)})}},{key:"handleTravellerMoveKeyboard",value:function(i,s){var a=this,o=this.state,l=o.scaleValues,c=o.startX,u=o.endX,d=this.state[s],p=l.indexOf(d);if(p!==-1){var m=p+i;if(!(m===-1||m>=l.length)){var h=l[m];s==="startX"&&h>=u||s==="endX"&&h<=c||this.setState(kr({},s,h),function(){a.props.onChange(a.getIndex({startX:a.state.startX,endX:a.state.endX}))})}}}},{key:"renderBackground",value:function(){var i=this.props,s=i.x,a=i.y,o=i.width,l=i.height,c=i.fill,u=i.stroke;return L.createElement("rect",{stroke:u,fill:c,x:s,y:a,width:o,height:l})}},{key:"renderPanorama",value:function(){var i=this.props,s=i.x,a=i.y,o=i.width,l=i.height,c=i.data,u=i.children,d=i.padding,p=k.Children.only(u);return p?L.cloneElement(p,{x:s,y:a,width:o,height:l,margin:d,compact:!0,data:c}):null}},{key:"renderTravellerLayer",value:function(i,s){var a,o,l=this,c=this.props,u=c.y,d=c.travellerWidth,p=c.height,m=c.traveller,h=c.ariaLabel,g=c.data,f=c.startIndex,x=c.endIndex,v=Math.max(i,this.props.x),b=Bj(Bj({},Ie(this.props,!1)),{},{x:v,y:u,width:d,height:p}),y=h||"Min value: ".concat((a=g[f])===null||a===void 0?void 0:a.name,", Max value: ").concat((o=g[x])===null||o===void 0?void 0:o.name);return L.createElement(kt,{tabIndex:0,role:"slider","aria-label":y,"aria-valuenow":i,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[s],onTouchStart:this.travellerDragStartHandlers[s],onKeyDown:function(j){["ArrowLeft","ArrowRight"].includes(j.key)&&(j.preventDefault(),j.stopPropagation(),l.handleTravellerMoveKeyboard(j.key==="ArrowRight"?1:-1,s))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},n.renderTraveller(m,b))}},{key:"renderSlide",value:function(i,s){var a=this.props,o=a.y,l=a.height,c=a.stroke,u=a.travellerWidth,d=Math.min(i,s)+u,p=Math.max(Math.abs(s-i)-u,0);return L.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:c,fillOpacity:.2,x:d,y:o,width:p,height:l})}},{key:"renderText",value:function(){var i=this.props,s=i.startIndex,a=i.endIndex,o=i.y,l=i.height,c=i.travellerWidth,u=i.stroke,d=this.state,p=d.startX,m=d.endX,h=5,g={pointerEvents:"none",fill:u};return L.createElement(kt,{className:"recharts-brush-texts"},L.createElement(kv,Kv({textAnchor:"end",verticalAnchor:"middle",x:Math.min(p,m)-h,y:o+l/2},g),this.getTextOfTick(s)),L.createElement(kv,Kv({textAnchor:"start",verticalAnchor:"middle",x:Math.max(p,m)+c+h,y:o+l/2},g),this.getTextOfTick(a)))}},{key:"render",value:function(){var i=this.props,s=i.data,a=i.className,o=i.children,l=i.x,c=i.y,u=i.width,d=i.height,p=i.alwaysShowText,m=this.state,h=m.startX,g=m.endX,f=m.isTextActive,x=m.isSlideMoving,v=m.isTravellerMoving,b=m.isTravellerFocused;if(!s||!s.length||!ie(l)||!ie(c)||!ie(u)||!ie(d)||u<=0||d<=0)return null;var y=Re("recharts-brush",a),N=L.Children.count(o)===1,j=TSe("userSelect","none");return L.createElement(kt,{className:y,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:j},this.renderBackground(),N&&this.renderPanorama(),this.renderSlide(h,g),this.renderTravellerLayer(h,"startX"),this.renderTravellerLayer(g,"endX"),(f||x||v||b||p)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(i){var s=i.x,a=i.y,o=i.width,l=i.height,c=i.stroke,u=Math.floor(a+l/2)-1;return L.createElement(L.Fragment,null,L.createElement("rect",{x:s,y:a,width:o,height:l,fill:c,stroke:"none"}),L.createElement("line",{x1:s+1,y1:u,x2:s+o-1,y2:u,fill:"none",stroke:"#fff"}),L.createElement("line",{x1:s+1,y1:u+2,x2:s+o-1,y2:u+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(i,s){var a;return L.isValidElement(i)?a=L.cloneElement(i,s):Pe(i)?a=i(s):a=n.renderDefaultTraveller(s),a}},{key:"getDerivedStateFromProps",value:function(i,s){var a=i.data,o=i.width,l=i.x,c=i.travellerWidth,u=i.updateId,d=i.startIndex,p=i.endIndex;if(a!==s.prevData||u!==s.prevUpdateId)return Bj({prevData:a,prevTravellerWidth:c,prevUpdateId:u,prevX:l,prevWidth:o},a&&a.length?DSe({data:a,width:o,x:l,travellerWidth:c,startIndex:d,endIndex:p}):{scale:null,scaleValues:null});if(s.scale&&(o!==s.prevWidth||l!==s.prevX||c!==s.prevTravellerWidth)){s.scale.range([l,l+o-c]);var m=s.scale.domain().map(function(h){return s.scale(h)});return{prevData:a,prevTravellerWidth:c,prevUpdateId:u,prevX:l,prevWidth:o,startX:s.scale(i.startIndex),endX:s.scale(i.endIndex),scaleValues:m}}return null}},{key:"getIndexInRange",value:function(i,s){for(var a=i.length,o=0,l=a-1;l-o>1;){var c=Math.floor((o+l)/2);i[c]>s?l=c:o=c}return s>=i[l]?l:o}}])}(k.PureComponent);kr(ad,"displayName","Brush");kr(ad,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var MSe=nC;function $Se(e,n){var r;return MSe(e,function(i,s,a){return r=n(i,s,a),!r}),!!r}var BSe=$Se,zSe=O$,USe=zo,VSe=BSe,WSe=hr,HSe=Sy;function GSe(e,n,r){var i=WSe(e)?zSe:VSe;return r&&HSe(e,n,r)&&(n=void 0),i(e,USe(n))}var KSe=GSe;const QSe=Ue(KSe);var bs=function(n,r){var i=n.alwaysShow,s=n.ifOverflow;return i&&(s="extendDomain"),s===r},h3=iB;function YSe(e,n,r){n=="__proto__"&&h3?h3(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}var JSe=YSe,XSe=JSe,ZSe=nB,eCe=zo;function tCe(e,n){var r={};return n=eCe(n),ZSe(e,function(i,s,a){XSe(r,s,n(i,s,a))}),r}var nCe=tCe;const rCe=Ue(nCe);function iCe(e,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(!n(e[r],r,e))return!1;return!0}var sCe=iCe,aCe=nC;function oCe(e,n){var r=!0;return aCe(e,function(i,s,a){return r=!!n(i,s,a),r}),r}var lCe=oCe,cCe=sCe,uCe=lCe,dCe=zo,pCe=hr,mCe=Sy;function hCe(e,n,r){var i=pCe(e)?cCe:uCe;return r&&mCe(e,n,r)&&(n=void 0),i(e,dCe(n))}var fCe=hCe;const Rz=Ue(fCe);var gCe=["x","y"];function Nh(e){"@babel/helpers - typeof";return Nh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Nh(e)}function LN(){return LN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},LN.apply(this,arguments)}function f3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function wp(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?f3(Object(r),!0).forEach(function(i){xCe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function xCe(e,n,r){return n=vCe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function vCe(e){var n=bCe(e,"string");return Nh(n)=="symbol"?n:n+""}function bCe(e,n){if(Nh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Nh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function yCe(e,n){if(e==null)return{};var r=jCe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function jCe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function wCe(e,n){var r=e.x,i=e.y,s=yCe(e,gCe),a="".concat(r),o=parseInt(a,10),l="".concat(i),c=parseInt(l,10),u="".concat(n.height||s.height),d=parseInt(u,10),p="".concat(n.width||s.width),m=parseInt(p,10);return wp(wp(wp(wp(wp({},n),s),o?{x:o}:{}),c?{y:c}:{}),{},{height:d,width:m,name:n.name,radius:n.radius})}function g3(e){return L.createElement(sSe,LN({shapeType:"rectangle",propTransformer:wCe,activeClassName:"recharts-active-bar"},e))}var NCe=function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(i,s){if(typeof n=="number")return n;var a=ie(i)||$ce(i);return a?n(i,s):(a||sc(),r)}},kCe=["value","background"],Dz;function od(e){"@babel/helpers - typeof";return od=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},od(e)}function qCe(e,n){if(e==null)return{};var r=SCe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function SCe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function Yv(){return Yv=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Yv.apply(this,arguments)}function x3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Vt(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?x3(Object(r),!0).forEach(function(i){ho(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function CCe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function v3(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,$z(i.key),i)}}function PCe(e,n,r){return n&&v3(e.prototype,n),r&&v3(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function ECe(e,n,r){return n=Jv(n),TCe(e,Mz()?Reflect.construct(n,r||[],Jv(e).constructor):n.apply(e,r))}function TCe(e,n){if(n&&(od(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ICe(e)}function ICe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Mz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Mz=function(){return!!e})()}function Jv(e){return Jv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Jv(e)}function ACe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&FN(e,n)}function FN(e,n){return FN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},FN(e,n)}function ho(e,n,r){return n=$z(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function $z(e){var n=LCe(e,"string");return od(n)=="symbol"?n:n+""}function LCe(e,n){if(od(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(od(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var pf=function(e){function n(){var r;CCe(this,n);for(var i=arguments.length,s=new Array(i),a=0;a<i;a++)s[a]=arguments[a];return r=ECe(this,n,[].concat(s)),ho(r,"state",{isAnimationFinished:!1}),ho(r,"id",af("recharts-bar-")),ho(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),o&&o()}),ho(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),o&&o()}),r}return ACe(n,e),PCe(n,[{key:"renderRectanglesStatically",value:function(i){var s=this,a=this.props,o=a.shape,l=a.dataKey,c=a.activeIndex,u=a.activeBar,d=Ie(this.props,!1);return i&&i.map(function(p,m){var h=m===c,g=h?u:o,f=Vt(Vt(Vt({},d),p),{},{isActive:h,option:g,index:m,dataKey:l,onAnimationStart:s.handleAnimationStart,onAnimationEnd:s.handleAnimationEnd});return L.createElement(kt,Yv({className:"recharts-bar-rectangle"},uv(s.props,p,m),{key:"rectangle-".concat(p==null?void 0:p.x,"-").concat(p==null?void 0:p.y,"-").concat(p==null?void 0:p.value,"-").concat(m)}),L.createElement(g3,f))})}},{key:"renderRectanglesWithAnimation",value:function(){var i=this,s=this.props,a=s.data,o=s.layout,l=s.isAnimationActive,c=s.animationBegin,u=s.animationDuration,d=s.animationEasing,p=s.animationId,m=this.state.prevData;return L.createElement(fa,{begin:c,duration:u,isActive:l,easing:d,from:{t:0},to:{t:1},key:"bar-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(h){var g=h.t,f=a.map(function(x,v){var b=m&&m[v];if(b){var y=ni(b.x,x.x),N=ni(b.y,x.y),j=ni(b.width,x.width),w=ni(b.height,x.height);return Vt(Vt({},x),{},{x:y(g),y:N(g),width:j(g),height:w(g)})}if(o==="horizontal"){var q=ni(0,x.height),P=q(g);return Vt(Vt({},x),{},{y:x.y+x.height-P,height:P})}var T=ni(0,x.width),E=T(g);return Vt(Vt({},x),{},{width:E})});return L.createElement(kt,null,i.renderRectanglesStatically(f))})}},{key:"renderRectangles",value:function(){var i=this.props,s=i.data,a=i.isAnimationActive,o=this.state.prevData;return a&&s&&s.length&&(!o||!ih(o,s))?this.renderRectanglesWithAnimation():this.renderRectanglesStatically(s)}},{key:"renderBackground",value:function(){var i=this,s=this.props,a=s.data,o=s.dataKey,l=s.activeIndex,c=Ie(this.props.background,!1);return a.map(function(u,d){u.value;var p=u.background,m=qCe(u,kCe);if(!p)return null;var h=Vt(Vt(Vt(Vt(Vt({},m),{},{fill:"#eee"},p),c),uv(i.props,u,d)),{},{onAnimationStart:i.handleAnimationStart,onAnimationEnd:i.handleAnimationEnd,dataKey:o,index:d,className:"recharts-bar-background-rectangle"});return L.createElement(g3,Yv({key:"background-bar-".concat(d),option:i.props.background,isActive:d===l},h))})}},{key:"renderErrorBar",value:function(i,s){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var a=this.props,o=a.data,l=a.xAxis,c=a.yAxis,u=a.layout,d=a.children,p=Bi(d,Oy);if(!p)return null;var m=u==="vertical"?o[0].height/2:o[0].width/2,h=function(x,v){var b=Array.isArray(x.value)?x.value[1]:x.value;return{x:x.x,y:x.y,value:b,errorVal:Rr(x,v)}},g={clipPath:i?"url(#clipPath-".concat(s,")"):null};return L.createElement(kt,g,p.map(function(f){return L.cloneElement(f,{key:"error-bar-".concat(s,"-").concat(f.props.dataKey),data:o,xAxis:l,yAxis:c,layout:u,offset:m,dataPointFormatter:h})}))}},{key:"render",value:function(){var i=this.props,s=i.hide,a=i.data,o=i.className,l=i.xAxis,c=i.yAxis,u=i.left,d=i.top,p=i.width,m=i.height,h=i.isAnimationActive,g=i.background,f=i.id;if(s||!a||!a.length)return null;var x=this.state.isAnimationFinished,v=Re("recharts-bar",o),b=l&&l.allowDataOverflow,y=c&&c.allowDataOverflow,N=b||y,j=Fe(f)?this.id:f;return L.createElement(kt,{className:v},b||y?L.createElement("defs",null,L.createElement("clipPath",{id:"clipPath-".concat(j)},L.createElement("rect",{x:b?u:u-p/2,y:y?d:d-m/2,width:b?p:p*2,height:y?m:m*2}))):null,L.createElement(kt,{className:"recharts-bar-rectangles",clipPath:N?"url(#clipPath-".concat(j,")"):null},g?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(N,j),(!h||x)&&So.renderCallByParent(this.props,a))}}],[{key:"getDerivedStateFromProps",value:function(i,s){return i.animationId!==s.prevAnimationId?{prevAnimationId:i.animationId,curData:i.data,prevData:s.curData}:i.data!==s.curData?{curData:i.data}:null}}])}(k.PureComponent);Dz=pf;ho(pf,"displayName","Bar");ho(pf,"defaultProps",{xAxisId:0,yAxisId:0,legendType:"rect",minPointSize:0,hide:!1,data:[],layout:"vertical",activeBar:!1,isAnimationActive:!ea.isSsr,animationBegin:0,animationDuration:400,animationEasing:"ease"});ho(pf,"getComposedData",function(e){var n=e.props,r=e.item,i=e.barPosition,s=e.bandSize,a=e.xAxis,o=e.yAxis,l=e.xAxisTicks,c=e.yAxisTicks,u=e.stackedData,d=e.dataStartIndex,p=e.displayedData,m=e.offset,h=c2e(i,r);if(!h)return null;var g=n.layout,f=r.type.defaultProps,x=f!==void 0?Vt(Vt({},f),r.props):r.props,v=x.dataKey,b=x.children,y=x.minPointSize,N=g==="horizontal"?o:a,j=u?N.scale.domain():null,w=x2e({numericAxis:N}),q=Bi(b,pB),P=p.map(function(T,E){var A,_,D,R,M,U;u?A=u2e(u[d+E],j):(A=Rr(T,v),Array.isArray(A)||(A=[w,A]));var z=NCe(y,Dz.defaultProps.minPointSize)(A[1],E);if(g==="horizontal"){var O,$=[o.scale(A[0]),o.scale(A[1])],I=$[0],Y=$[1];_=x5({axis:a,ticks:l,bandSize:s,offset:h.offset,entry:T,index:E}),D=(O=Y??I)!==null&&O!==void 0?O:void 0,R=h.size;var W=I-Y;if(M=Number.isNaN(W)?0:W,U={x:_,y:o.y,width:R,height:o.height},Math.abs(z)>0&&Math.abs(M)<Math.abs(z)){var F=Di(M||z)*(Math.abs(z)-Math.abs(M));D-=F,M+=F}}else{var ae=[a.scale(A[0]),a.scale(A[1])],ge=ae[0],be=ae[1];if(_=ge,D=x5({axis:o,ticks:c,bandSize:s,offset:h.offset,entry:T,index:E}),R=be-ge,M=h.size,U={x:a.x,y:D,width:a.width,height:M},Math.abs(z)>0&&Math.abs(R)<Math.abs(z)){var Ne=Di(R||z)*(Math.abs(z)-Math.abs(R));R+=Ne}}return Vt(Vt(Vt({},T),{},{x:_,y:D,width:R,height:M,value:u?A:A[1],payload:T,background:U},q&&q[E]&&q[E].props),{},{tooltipPayload:[vz(r,T)],tooltipPosition:{x:_+R/2,y:D+M/2}})});return Vt({data:P,layout:g},m)});function kh(e){"@babel/helpers - typeof";return kh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},kh(e)}function FCe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function b3(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Bz(i.key),i)}}function _Ce(e,n,r){return n&&b3(e.prototype,n),r&&b3(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function y3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Ai(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?y3(Object(r),!0).forEach(function(i){My(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function My(e,n,r){return n=Bz(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Bz(e){var n=OCe(e,"string");return kh(n)=="symbol"?n:n+""}function OCe(e,n){if(kh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(kh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var RCe=function(n,r,i,s,a){var o=n.width,l=n.height,c=n.layout,u=n.children,d=Object.keys(r),p={left:i.left,leftMirror:i.left,right:o-i.right,rightMirror:o-i.right,top:i.top,topMirror:i.top,bottom:l-i.bottom,bottomMirror:l-i.bottom},m=!!Sr(u,pf);return d.reduce(function(h,g){var f=r[g],x=f.orientation,v=f.domain,b=f.padding,y=b===void 0?{}:b,N=f.mirror,j=f.reversed,w="".concat(x).concat(N?"Mirror":""),q,P,T,E,A;if(f.type==="number"&&(f.padding==="gap"||f.padding==="no-gap")){var _=v[1]-v[0],D=1/0,R=f.categoricalDomain.sort(Uce);if(R.forEach(function(ae,ge){ge>0&&(D=Math.min((ae||0)-(R[ge-1]||0),D))}),Number.isFinite(D)){var M=D/_,U=f.layout==="vertical"?i.height:i.width;if(f.padding==="gap"&&(q=M*U/2),f.padding==="no-gap"){var z=rc(n.barCategoryGap,M*U),O=M*U/2;q=O-z-(O-z)/U*z}}}s==="xAxis"?P=[i.left+(y.left||0)+(q||0),i.left+i.width-(y.right||0)-(q||0)]:s==="yAxis"?P=c==="horizontal"?[i.top+i.height-(y.bottom||0),i.top+(y.top||0)]:[i.top+(y.top||0)+(q||0),i.top+i.height-(y.bottom||0)-(q||0)]:P=f.range,j&&(P=[P[1],P[0]]);var $=o2e(f,a,m),I=$.scale,Y=$.realScaleType;I.domain(v).range(P),l2e(I);var W=g2e(I,Ai(Ai({},f),{},{realScaleType:Y}));s==="xAxis"?(A=x==="top"&&!N||x==="bottom"&&N,T=i.left,E=p[w]-A*f.height):s==="yAxis"&&(A=x==="left"&&!N||x==="right"&&N,T=p[w]-A*f.width,E=i.top);var F=Ai(Ai(Ai({},f),W),{},{realScaleType:Y,x:T,y:E,scale:I,width:s==="xAxis"?i.width:f.width,height:s==="yAxis"?i.height:f.height});return F.bandSize=Dv(F,W),!f.hide&&s==="xAxis"?p[w]+=(A?-1:1)*F.height:f.hide||(p[w]+=(A?-1:1)*F.width),Ai(Ai({},h),{},My({},g,F))},{})},zz=function(n,r){var i=n.x,s=n.y,a=r.x,o=r.y;return{x:Math.min(i,a),y:Math.min(s,o),width:Math.abs(a-i),height:Math.abs(o-s)}},DCe=function(n){var r=n.x1,i=n.y1,s=n.x2,a=n.y2;return zz({x:r,y:i},{x:s,y:a})},Uz=function(){function e(n){FCe(this,e),this.scale=n}return _Ce(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=i.bandAware,a=i.position;if(r!==void 0){if(a)switch(a){case"start":return this.scale(r);case"middle":{var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+o}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(r)+l}default:return this.scale(r)}if(s){var c=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+c}return this.scale(r)}}},{key:"isInRange",value:function(r){var i=this.range(),s=i[0],a=i[i.length-1];return s<=a?r>=s&&r<=a:r>=a&&r<=s}}],[{key:"create",value:function(r){return new e(r)}}])}();My(Uz,"EPS",1e-4);var AC=function(n){var r=Object.keys(n).reduce(function(i,s){return Ai(Ai({},i),{},My({},s,Uz.create(n[s])))},{});return Ai(Ai({},r),{},{apply:function(s){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=a.bandAware,l=a.position;return rCe(s,function(c,u){return r[u].apply(c,{bandAware:o,position:l})})},isInRange:function(s){return Rz(s,function(a,o){return r[o].isInRange(a)})}})};function MCe(e){return(e%180+180)%180}var $Ce=function(n){var r=n.width,i=n.height,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=MCe(s),o=a*Math.PI/180,l=Math.atan(i/r),c=o>l&&o<Math.PI-l?i/Math.sin(o):r/Math.cos(o);return Math.abs(c)},BCe=zo,zCe=of,UCe=ky;function VCe(e){return function(n,r,i){var s=Object(n);if(!zCe(n)){var a=BCe(r);n=UCe(n),r=function(l){return a(s[l],l,s)}}var o=e(n,r,i);return o>-1?s[a?n[o]:o]:void 0}}var WCe=VCe,HCe=Lz;function GCe(e){var n=HCe(e),r=n%1;return n===n?r?n-r:n:0}var KCe=GCe,QCe=Y$,YCe=zo,JCe=KCe,XCe=Math.max;function ZCe(e,n,r){var i=e==null?0:e.length;if(!i)return-1;var s=r==null?0:JCe(r);return s<0&&(s=XCe(i+s,0)),QCe(e,YCe(n),s)}var ePe=ZCe,tPe=WCe,nPe=ePe,rPe=tPe(nPe),iPe=rPe;const sPe=Ue(iPe);var aPe=Vle(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),LC=k.createContext(void 0),FC=k.createContext(void 0),Vz=k.createContext(void 0),Wz=k.createContext({}),Hz=k.createContext(void 0),Gz=k.createContext(0),Kz=k.createContext(0),j3=function(n){var r=n.state,i=r.xAxisMap,s=r.yAxisMap,a=r.offset,o=n.clipPathId,l=n.children,c=n.width,u=n.height,d=aPe(a);return L.createElement(LC.Provider,{value:i},L.createElement(FC.Provider,{value:s},L.createElement(Wz.Provider,{value:a},L.createElement(Vz.Provider,{value:d},L.createElement(Hz.Provider,{value:o},L.createElement(Gz.Provider,{value:u},L.createElement(Kz.Provider,{value:c},l)))))))},oPe=function(){return k.useContext(Hz)},Qz=function(n){var r=k.useContext(LC);r==null&&sc();var i=r[n];return i==null&&sc(),i},lPe=function(){var n=k.useContext(LC);return Ja(n)},cPe=function(){var n=k.useContext(FC),r=sPe(n,function(i){return Rz(i.domain,Number.isFinite)});return r||Ja(n)},Yz=function(n){var r=k.useContext(FC);r==null&&sc();var i=r[n];return i==null&&sc(),i},uPe=function(){var n=k.useContext(Vz);return n},dPe=function(){return k.useContext(Wz)},_C=function(){return k.useContext(Kz)},OC=function(){return k.useContext(Gz)};function ld(e){"@babel/helpers - typeof";return ld=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ld(e)}function pPe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function mPe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,Xz(i.key),i)}}function hPe(e,n,r){return n&&mPe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function fPe(e,n,r){return n=Xv(n),gPe(e,Jz()?Reflect.construct(n,r||[],Xv(e).constructor):n.apply(e,r))}function gPe(e,n){if(n&&(ld(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return xPe(e)}function xPe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Jz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Jz=function(){return!!e})()}function Xv(e){return Xv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Xv(e)}function vPe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&_N(e,n)}function _N(e,n){return _N=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},_N(e,n)}function w3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function N3(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?w3(Object(r),!0).forEach(function(i){RC(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function RC(e,n,r){return n=Xz(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function Xz(e){var n=bPe(e,"string");return ld(n)=="symbol"?n:n+""}function bPe(e,n){if(ld(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(ld(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function yPe(e,n){return kPe(e)||NPe(e,n)||wPe(e,n)||jPe()}function jPe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
718In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wPe(e,n){if(e){if(typeof e=="string")return k3(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return k3(e,n)}}function k3(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function NPe(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function kPe(e){if(Array.isArray(e))return e}function ON(){return ON=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},ON.apply(this,arguments)}var qPe=function(n,r){var i;return L.isValidElement(n)?i=L.cloneElement(n,r):Pe(n)?i=n(r):i=L.createElement("line",ON({},r,{className:"recharts-reference-line-line"})),i},SPe=function(n,r,i,s,a,o,l,c,u){var d=a.x,p=a.y,m=a.width,h=a.height;if(i){var g=u.y,f=n.y.apply(g,{position:o});if(bs(u,"discard")&&!n.y.isInRange(f))return null;var x=[{x:d+m,y:f},{x:d,y:f}];return c==="left"?x.reverse():x}if(r){var v=u.x,b=n.x.apply(v,{position:o});if(bs(u,"discard")&&!n.x.isInRange(b))return null;var y=[{x:b,y:p+h},{x:b,y:p}];return l==="top"?y.reverse():y}if(s){var N=u.segment,j=N.map(function(w){return n.apply(w,{position:o})});return bs(u,"discard")&&QSe(j,function(w){return!n.isInRange(w)})?null:j}return null};function CPe(e){var n=e.x,r=e.y,i=e.segment,s=e.xAxisId,a=e.yAxisId,o=e.shape,l=e.className,c=e.alwaysShow,u=oPe(),d=Qz(s),p=Yz(a),m=uPe();if(!u||!m)return null;Zs(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var h=AC({x:d.scale,y:p.scale}),g=nn(n),f=nn(r),x=i&&i.length===2,v=SPe(h,g,f,x,m,e.position,d.orientation,p.orientation,e);if(!v)return null;var b=yPe(v,2),y=b[0],N=y.x,j=y.y,w=b[1],q=w.x,P=w.y,T=bs(e,"hidden")?"url(#".concat(u,")"):void 0,E=N3(N3({clipPath:T},Ie(e,!0)),{},{x1:N,y1:j,x2:q,y2:P});return L.createElement(kt,{className:Re("recharts-reference-line",l)},qPe(o,E),An.renderCallByParent(e,DCe({x1:N,y1:j,x2:q,y2:P})))}var DC=function(e){function n(){return pPe(this,n),fPe(this,n,arguments)}return vPe(n,e),hPe(n,[{key:"render",value:function(){return L.createElement(CPe,this.props)}}])}(L.Component);RC(DC,"displayName","ReferenceLine");RC(DC,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function RN(){return RN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},RN.apply(this,arguments)}function cd(e){"@babel/helpers - typeof";return cd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},cd(e)}function q3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function S3(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?q3(Object(r),!0).forEach(function(i){$y(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):q3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function PPe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function EPe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,e7(i.key),i)}}function TPe(e,n,r){return n&&EPe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function IPe(e,n,r){return n=Zv(n),APe(e,Zz()?Reflect.construct(n,r||[],Zv(e).constructor):n.apply(e,r))}function APe(e,n){if(n&&(cd(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return LPe(e)}function LPe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Zz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Zz=function(){return!!e})()}function Zv(e){return Zv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Zv(e)}function FPe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&DN(e,n)}function DN(e,n){return DN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},DN(e,n)}function $y(e,n,r){return n=e7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function e7(e){var n=_Pe(e,"string");return cd(n)=="symbol"?n:n+""}function _Pe(e,n){if(cd(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(cd(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var OPe=function(n){var r=n.x,i=n.y,s=n.xAxis,a=n.yAxis,o=AC({x:s.scale,y:a.scale}),l=o.apply({x:r,y:i},{bandAware:!0});return bs(n,"discard")&&!o.isInRange(l)?null:l},By=function(e){function n(){return PPe(this,n),IPe(this,n,arguments)}return FPe(n,e),TPe(n,[{key:"render",value:function(){var i=this.props,s=i.x,a=i.y,o=i.r,l=i.alwaysShow,c=i.clipPathId,u=nn(s),d=nn(a);if(Zs(l===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.'),!u||!d)return null;var p=OPe(this.props);if(!p)return null;var m=p.x,h=p.y,g=this.props,f=g.shape,x=g.className,v=bs(this.props,"hidden")?"url(#".concat(c,")"):void 0,b=S3(S3({clipPath:v},Ie(this.props,!0)),{},{cx:m,cy:h});return L.createElement(kt,{className:Re("recharts-reference-dot",x)},n.renderDot(f,b),An.renderCallByParent(this.props,{x:m-o,y:h-o,width:2*o,height:2*o}))}}])}(L.Component);$y(By,"displayName","ReferenceDot");$y(By,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#fff",stroke:"#ccc",fillOpacity:1,strokeWidth:1});$y(By,"renderDot",function(e,n){var r;return L.isValidElement(e)?r=L.cloneElement(e,n):Pe(e)?r=e(n):r=L.createElement(IC,RN({},n,{cx:n.cx,cy:n.cy,className:"recharts-reference-dot-dot"})),r});function MN(){return MN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},MN.apply(this,arguments)}function ud(e){"@babel/helpers - typeof";return ud=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ud(e)}function C3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function P3(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?C3(Object(r),!0).forEach(function(i){zy(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function RPe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function DPe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,n7(i.key),i)}}function MPe(e,n,r){return n&&DPe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function $Pe(e,n,r){return n=eb(n),BPe(e,t7()?Reflect.construct(n,r||[],eb(e).constructor):n.apply(e,r))}function BPe(e,n){if(n&&(ud(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return zPe(e)}function zPe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function t7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(t7=function(){return!!e})()}function eb(e){return eb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},eb(e)}function UPe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&$N(e,n)}function $N(e,n){return $N=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},$N(e,n)}function zy(e,n,r){return n=n7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function n7(e){var n=VPe(e,"string");return ud(n)=="symbol"?n:n+""}function VPe(e,n){if(ud(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(ud(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var WPe=function(n,r,i,s,a){var o=a.x1,l=a.x2,c=a.y1,u=a.y2,d=a.xAxis,p=a.yAxis;if(!d||!p)return null;var m=AC({x:d.scale,y:p.scale}),h={x:n?m.x.apply(o,{position:"start"}):m.x.rangeMin,y:i?m.y.apply(c,{position:"start"}):m.y.rangeMin},g={x:r?m.x.apply(l,{position:"end"}):m.x.rangeMax,y:s?m.y.apply(u,{position:"end"}):m.y.rangeMax};return bs(a,"discard")&&(!m.isInRange(h)||!m.isInRange(g))?null:zz(h,g)},Uy=function(e){function n(){return RPe(this,n),$Pe(this,n,arguments)}return UPe(n,e),MPe(n,[{key:"render",value:function(){var i=this.props,s=i.x1,a=i.x2,o=i.y1,l=i.y2,c=i.className,u=i.alwaysShow,d=i.clipPathId;Zs(u===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var p=nn(s),m=nn(a),h=nn(o),g=nn(l),f=this.props.shape;if(!p&&!m&&!h&&!g&&!f)return null;var x=WPe(p,m,h,g,this.props);if(!x&&!f)return null;var v=bs(this.props,"hidden")?"url(#".concat(d,")"):void 0;return L.createElement(kt,{className:Re("recharts-reference-area",c)},n.renderRect(f,P3(P3({clipPath:v},Ie(this.props,!0)),x)),An.renderCallByParent(this.props,x))}}])}(L.Component);zy(Uy,"displayName","ReferenceArea");zy(Uy,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#ccc",fillOpacity:.5,stroke:"none",strokeWidth:1});zy(Uy,"renderRect",function(e,n){var r;return L.isValidElement(e)?r=L.cloneElement(e,n):Pe(e)?r=e(n):r=L.createElement(TC,MN({},n,{className:"recharts-reference-area-rect"})),r});function r7(e,n,r){if(n<1)return[];if(n===1&&r===void 0)return e;for(var i=[],s=0;s<e.length;s+=n)i.push(e[s]);return i}function HPe(e,n,r){var i={width:e.width+n.width,height:e.height+n.height};return $Ce(i,r)}function GPe(e,n,r){var i=r==="width",s=e.x,a=e.y,o=e.width,l=e.height;return n===1?{start:i?s:a,end:i?s+o:a+l}:{start:i?s+o:a+l,end:i?s:a}}function tb(e,n,r,i,s){if(e*n<e*i||e*n>e*s)return!1;var a=r();return e*(n-e*a/2-i)>=0&&e*(n+e*a/2-s)<=0}function KPe(e,n){return r7(e,n+1)}function QPe(e,n,r,i,s){for(var a=(i||[]).slice(),o=n.start,l=n.end,c=0,u=1,d=o,p=function(){var g=i==null?void 0:i[c];if(g===void 0)return{v:r7(i,u)};var f=c,x,v=function(){return x===void 0&&(x=r(g,f)),x},b=g.coordinate,y=c===0||tb(e,b,v,d,l);y||(c=0,d=o,u+=1),y&&(d=b+e*(v()/2+s),c+=u)},m;u<=a.length;)if(m=p(),m)return m.v;return[]}function qh(e){"@babel/helpers - typeof";return qh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},qh(e)}function E3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Tn(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?E3(Object(r),!0).forEach(function(i){YPe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function YPe(e,n,r){return n=JPe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function JPe(e){var n=XPe(e,"string");return qh(n)=="symbol"?n:n+""}function XPe(e,n){if(qh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(qh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function ZPe(e,n,r,i,s){for(var a=(i||[]).slice(),o=a.length,l=n.start,c=n.end,u=function(m){var h=a[m],g,f=function(){return g===void 0&&(g=r(h,m)),g};if(m===o-1){var x=e*(h.coordinate+e*f()/2-c);a[m]=h=Tn(Tn({},h),{},{tickCoord:x>0?h.coordinate-x*e:h.coordinate})}else a[m]=h=Tn(Tn({},h),{},{tickCoord:h.coordinate});var v=tb(e,h.tickCoord,f,l,c);v&&(c=h.tickCoord-e*(f()/2+s),a[m]=Tn(Tn({},h),{},{isShow:!0}))},d=o-1;d>=0;d--)u(d);return a}function eEe(e,n,r,i,s,a){var o=(i||[]).slice(),l=o.length,c=n.start,u=n.end;if(a){var d=i[l-1],p=r(d,l-1),m=e*(d.coordinate+e*p/2-u);o[l-1]=d=Tn(Tn({},d),{},{tickCoord:m>0?d.coordinate-m*e:d.coordinate});var h=tb(e,d.tickCoord,function(){return p},c,u);h&&(u=d.tickCoord-e*(p/2+s),o[l-1]=Tn(Tn({},d),{},{isShow:!0}))}for(var g=a?l-1:l,f=function(b){var y=o[b],N,j=function(){return N===void 0&&(N=r(y,b)),N};if(b===0){var w=e*(y.coordinate-e*j()/2-c);o[b]=y=Tn(Tn({},y),{},{tickCoord:w<0?y.coordinate-w*e:y.coordinate})}else o[b]=y=Tn(Tn({},y),{},{tickCoord:y.coordinate});var q=tb(e,y.tickCoord,j,c,u);q&&(c=y.tickCoord+e*(j()/2+s),o[b]=Tn(Tn({},y),{},{isShow:!0}))},x=0;x<g;x++)f(x);return o}function MC(e,n,r){var i=e.tick,s=e.ticks,a=e.viewBox,o=e.minTickGap,l=e.orientation,c=e.interval,u=e.tickFormatter,d=e.unit,p=e.angle;if(!s||!s.length||!i)return[];if(ie(c)||ea.isSsr)return KPe(s,typeof c=="number"&&ie(c)?c:0);var m=[],h=l==="top"||l==="bottom"?"width":"height",g=d&&h==="width"?am(d,{fontSize:n,letterSpacing:r}):{width:0,height:0},f=function(y,N){var j=Pe(u)?u(y.value,N):y.value;return h==="width"?HPe(am(j,{fontSize:n,letterSpacing:r}),g,p):am(j,{fontSize:n,letterSpacing:r})[h]},x=s.length>=2?Di(s[1].coordinate-s[0].coordinate):1,v=GPe(a,x,h);return c==="equidistantPreserveStart"?QPe(x,v,f,s,o):(c==="preserveStart"||c==="preserveStartEnd"?m=eEe(x,v,f,s,o,c==="preserveStartEnd"):m=ZPe(x,v,f,s,o),m.filter(function(b){return b.isShow}))}var tEe=["viewBox"],nEe=["viewBox"],rEe=["ticks"];function dd(e){"@babel/helpers - typeof";return dd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},dd(e)}function su(){return su=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},su.apply(this,arguments)}function T3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Jt(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?T3(Object(r),!0).forEach(function(i){$C(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function zj(e,n){if(e==null)return{};var r=iEe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function iEe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function sEe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function I3(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,s7(i.key),i)}}function aEe(e,n,r){return n&&I3(e.prototype,n),r&&I3(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function oEe(e,n,r){return n=nb(n),lEe(e,i7()?Reflect.construct(n,r||[],nb(e).constructor):n.apply(e,r))}function lEe(e,n){if(n&&(dd(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return cEe(e)}function cEe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(i7=function(){return!!e})()}function nb(e){return nb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},nb(e)}function uEe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&BN(e,n)}function BN(e,n){return BN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},BN(e,n)}function $C(e,n,r){return n=s7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function s7(e){var n=dEe(e,"string");return dd(n)=="symbol"?n:n+""}function dEe(e,n){if(dd(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(dd(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var Hd=function(e){function n(r){var i;return sEe(this,n),i=oEe(this,n,[r]),i.state={fontSize:"",letterSpacing:""},i}return uEe(n,e),aEe(n,[{key:"shouldComponentUpdate",value:function(i,s){var a=i.viewBox,o=zj(i,tEe),l=this.props,c=l.viewBox,u=zj(l,nEe);return!yu(a,c)||!yu(o,u)||!yu(s,this.state)}},{key:"componentDidMount",value:function(){var i=this.layerReference;if(i){var s=i.getElementsByClassName("recharts-cartesian-axis-tick-value")[0];s&&this.setState({fontSize:window.getComputedStyle(s).fontSize,letterSpacing:window.getComputedStyle(s).letterSpacing})}}},{key:"getTickLineCoord",value:function(i){var s=this.props,a=s.x,o=s.y,l=s.width,c=s.height,u=s.orientation,d=s.tickSize,p=s.mirror,m=s.tickMargin,h,g,f,x,v,b,y=p?-1:1,N=i.tickSize||d,j=ie(i.tickCoord)?i.tickCoord:i.coordinate;switch(u){case"top":h=g=i.coordinate,x=o+ +!p*c,f=x-y*N,b=f-y*m,v=j;break;case"left":f=x=i.coordinate,g=a+ +!p*l,h=g-y*N,v=h-y*m,b=j;break;case"right":f=x=i.coordinate,g=a+ +p*l,h=g+y*N,v=h+y*m,b=j;break;default:h=g=i.coordinate,x=o+ +p*c,f=x+y*N,b=f+y*m,v=j;break}return{line:{x1:h,y1:f,x2:g,y2:x},tick:{x:v,y:b}}}},{key:"getTickTextAnchor",value:function(){var i=this.props,s=i.orientation,a=i.mirror,o;switch(s){case"left":o=a?"start":"end";break;case"right":o=a?"end":"start";break;default:o="middle";break}return o}},{key:"getTickVerticalAnchor",value:function(){var i=this.props,s=i.orientation,a=i.mirror,o="end";switch(s){case"left":case"right":o="middle";break;case"top":o=a?"start":"end";break;default:o=a?"end":"start";break}return o}},{key:"renderAxisLine",value:function(){var i=this.props,s=i.x,a=i.y,o=i.width,l=i.height,c=i.orientation,u=i.mirror,d=i.axisLine,p=Jt(Jt(Jt({},Ie(this.props,!1)),Ie(d,!1)),{},{fill:"none"});if(c==="top"||c==="bottom"){var m=+(c==="top"&&!u||c==="bottom"&&u);p=Jt(Jt({},p),{},{x1:s,y1:a+m*l,x2:s+o,y2:a+m*l})}else{var h=+(c==="left"&&!u||c==="right"&&u);p=Jt(Jt({},p),{},{x1:s+h*o,y1:a,x2:s+h*o,y2:a+l})}return L.createElement("line",su({},p,{className:Re("recharts-cartesian-axis-line",oi(d,"className"))}))}},{key:"renderTicks",value:function(i,s,a){var o=this,l=this.props,c=l.tickLine,u=l.stroke,d=l.tick,p=l.tickFormatter,m=l.unit,h=MC(Jt(Jt({},this.props),{},{ticks:i}),s,a),g=this.getTickTextAnchor(),f=this.getTickVerticalAnchor(),x=Ie(this.props,!1),v=Ie(d,!1),b=Jt(Jt({},x),{},{fill:"none"},Ie(c,!1)),y=h.map(function(N,j){var w=o.getTickLineCoord(N),q=w.line,P=w.tick,T=Jt(Jt(Jt(Jt({textAnchor:g,verticalAnchor:f},x),{},{stroke:"none",fill:u},v),P),{},{index:j,payload:N,visibleTicksCount:h.length,tickFormatter:p});return L.createElement(kt,su({className:"recharts-cartesian-axis-tick",key:"tick-".concat(N.value,"-").concat(N.coordinate,"-").concat(N.tickCoord)},uv(o.props,N,j)),c&&L.createElement("line",su({},b,q,{className:Re("recharts-cartesian-axis-tick-line",oi(c,"className"))})),d&&n.renderTickItem(d,T,"".concat(Pe(p)?p(N.value,j):N.value).concat(m||"")))});return L.createElement("g",{className:"recharts-cartesian-axis-ticks"},y)}},{key:"render",value:function(){var i=this,s=this.props,a=s.axisLine,o=s.width,l=s.height,c=s.ticksGenerator,u=s.className,d=s.hide;if(d)return null;var p=this.props,m=p.ticks,h=zj(p,rEe),g=m;return Pe(c)&&(g=m&&m.length>0?c(this.props):c(h)),o<=0||l<=0||!g||!g.length?null:L.createElement(kt,{className:Re("recharts-cartesian-axis",u),ref:function(x){i.layerReference=x}},a&&this.renderAxisLine(),this.renderTicks(g,this.state.fontSize,this.state.letterSpacing),An.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(i,s,a){var o,l=Re(s.className,"recharts-cartesian-axis-tick-value");return L.isValidElement(i)?o=L.cloneElement(i,Jt(Jt({},s),{},{className:l})):Pe(i)?o=i(Jt(Jt({},s),{},{className:l})):o=L.createElement(kv,su({},s,{className:"recharts-cartesian-axis-tick-value"}),a),o}}])}(k.Component);$C(Hd,"displayName","CartesianAxis");$C(Hd,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var pEe=["x1","y1","x2","y2","key"],mEe=["offset"];function ac(e){"@babel/helpers - typeof";return ac=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ac(e)}function A3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Ln(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?A3(Object(r),!0).forEach(function(i){hEe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function hEe(e,n,r){return n=fEe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function fEe(e){var n=gEe(e,"string");return ac(n)=="symbol"?n:n+""}function gEe(e,n){if(ac(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(ac(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function ql(){return ql=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},ql.apply(this,arguments)}function L3(e,n){if(e==null)return{};var r=xEe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function xEe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}var vEe=function(n){var r=n.fill;if(!r||r==="none")return null;var i=n.fillOpacity,s=n.x,a=n.y,o=n.width,l=n.height,c=n.ry;return L.createElement("rect",{x:s,y:a,ry:c,width:o,height:l,stroke:"none",fill:r,fillOpacity:i,className:"recharts-cartesian-grid-bg"})};function a7(e,n){var r;if(L.isValidElement(e))r=L.cloneElement(e,n);else if(Pe(e))r=e(n);else{var i=n.x1,s=n.y1,a=n.x2,o=n.y2,l=n.key,c=L3(n,pEe),u=Ie(c,!1);u.offset;var d=L3(u,mEe);r=L.createElement("line",ql({},d,{x1:i,y1:s,x2:a,y2:o,fill:"none",key:l}))}return r}function bEe(e){var n=e.x,r=e.width,i=e.horizontal,s=i===void 0?!0:i,a=e.horizontalPoints;if(!s||!a||!a.length)return null;var o=a.map(function(l,c){var u=Ln(Ln({},e),{},{x1:n,y1:l,x2:n+r,y2:l,key:"line-".concat(c),index:c});return a7(s,u)});return L.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function yEe(e){var n=e.y,r=e.height,i=e.vertical,s=i===void 0?!0:i,a=e.verticalPoints;if(!s||!a||!a.length)return null;var o=a.map(function(l,c){var u=Ln(Ln({},e),{},{x1:l,y1:n,x2:l,y2:n+r,key:"line-".concat(c),index:c});return a7(s,u)});return L.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function jEe(e){var n=e.horizontalFill,r=e.fillOpacity,i=e.x,s=e.y,a=e.width,o=e.height,l=e.horizontalPoints,c=e.horizontal,u=c===void 0?!0:c;if(!u||!n||!n.length)return null;var d=l.map(function(m){return Math.round(m+s-s)}).sort(function(m,h){return m-h});s!==d[0]&&d.unshift(0);var p=d.map(function(m,h){var g=!d[h+1],f=g?s+o-m:d[h+1]-m;if(f<=0)return null;var x=h%n.length;return L.createElement("rect",{key:"react-".concat(h),y:m,x:i,height:f,width:a,stroke:"none",fill:n[x],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return L.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function wEe(e){var n=e.vertical,r=n===void 0?!0:n,i=e.verticalFill,s=e.fillOpacity,a=e.x,o=e.y,l=e.width,c=e.height,u=e.verticalPoints;if(!r||!i||!i.length)return null;var d=u.map(function(m){return Math.round(m+a-a)}).sort(function(m,h){return m-h});a!==d[0]&&d.unshift(0);var p=d.map(function(m,h){var g=!d[h+1],f=g?a+l-m:d[h+1]-m;if(f<=0)return null;var x=h%i.length;return L.createElement("rect",{key:"react-".concat(h),x:m,y:o,width:f,height:c,stroke:"none",fill:i[x],fillOpacity:s,className:"recharts-cartesian-grid-bg"})});return L.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var NEe=function(n,r){var i=n.xAxis,s=n.width,a=n.height,o=n.offset;return gz(MC(Ln(Ln(Ln({},Hd.defaultProps),i),{},{ticks:Gs(i,!0),viewBox:{x:0,y:0,width:s,height:a}})),o.left,o.left+o.width,r)},kEe=function(n,r){var i=n.yAxis,s=n.width,a=n.height,o=n.offset;return gz(MC(Ln(Ln(Ln({},Hd.defaultProps),i),{},{ticks:Gs(i,!0),viewBox:{x:0,y:0,width:s,height:a}})),o.top,o.top+o.height,r)},Ec={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function BC(e){var n,r,i,s,a,o,l=_C(),c=OC(),u=dPe(),d=Ln(Ln({},e),{},{stroke:(n=e.stroke)!==null&&n!==void 0?n:Ec.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:Ec.fill,horizontal:(i=e.horizontal)!==null&&i!==void 0?i:Ec.horizontal,horizontalFill:(s=e.horizontalFill)!==null&&s!==void 0?s:Ec.horizontalFill,vertical:(a=e.vertical)!==null&&a!==void 0?a:Ec.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:Ec.verticalFill,x:ie(e.x)?e.x:u.left,y:ie(e.y)?e.y:u.top,width:ie(e.width)?e.width:u.width,height:ie(e.height)?e.height:u.height}),p=d.x,m=d.y,h=d.width,g=d.height,f=d.syncWithTicks,x=d.horizontalValues,v=d.verticalValues,b=lPe(),y=cPe();if(!ie(h)||h<=0||!ie(g)||g<=0||!ie(p)||p!==+p||!ie(m)||m!==+m)return null;var N=d.verticalCoordinatesGenerator||NEe,j=d.horizontalCoordinatesGenerator||kEe,w=d.horizontalPoints,q=d.verticalPoints;if((!w||!w.length)&&Pe(j)){var P=x&&x.length,T=j({yAxis:y?Ln(Ln({},y),{},{ticks:P?x:y.ticks}):void 0,width:l,height:c,offset:u},P?!0:f);Zs(Array.isArray(T),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(ac(T),"]")),Array.isArray(T)&&(w=T)}if((!q||!q.length)&&Pe(N)){var E=v&&v.length,A=N({xAxis:b?Ln(Ln({},b),{},{ticks:E?v:b.ticks}):void 0,width:l,height:c,offset:u},E?!0:f);Zs(Array.isArray(A),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(ac(A),"]")),Array.isArray(A)&&(q=A)}return L.createElement("g",{className:"recharts-cartesian-grid"},L.createElement(vEe,{fill:d.fill,fillOpacity:d.fillOpacity,x:d.x,y:d.y,width:d.width,height:d.height,ry:d.ry}),L.createElement(bEe,ql({},d,{offset:u,horizontalPoints:w,xAxis:b,yAxis:y})),L.createElement(yEe,ql({},d,{offset:u,verticalPoints:q,xAxis:b,yAxis:y})),L.createElement(jEe,ql({},d,{horizontalPoints:w})),L.createElement(wEe,ql({},d,{verticalPoints:q})))}BC.displayName="CartesianGrid";var qEe=["layout","type","stroke","connectNulls","isRange","ref"],SEe=["key"],o7;function pd(e){"@babel/helpers - typeof";return pd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},pd(e)}function l7(e,n){if(e==null)return{};var r=CEe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function CEe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function Sl(){return Sl=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},Sl.apply(this,arguments)}function F3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Wa(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?F3(Object(r),!0).forEach(function(i){ps(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function PEe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function _3(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,u7(i.key),i)}}function EEe(e,n,r){return n&&_3(e.prototype,n),r&&_3(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function TEe(e,n,r){return n=rb(n),IEe(e,c7()?Reflect.construct(n,r||[],rb(e).constructor):n.apply(e,r))}function IEe(e,n){if(n&&(pd(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return AEe(e)}function AEe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(c7=function(){return!!e})()}function rb(e){return rb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},rb(e)}function LEe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&zN(e,n)}function zN(e,n){return zN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},zN(e,n)}function ps(e,n,r){return n=u7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function u7(e){var n=FEe(e,"string");return pd(n)=="symbol"?n:n+""}function FEe(e,n){if(pd(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(pd(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var zi=function(e){function n(){var r;PEe(this,n);for(var i=arguments.length,s=new Array(i),a=0;a<i;a++)s[a]=arguments[a];return r=TEe(this,n,[].concat(s)),ps(r,"state",{isAnimationFinished:!0}),ps(r,"id",af("recharts-area-")),ps(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),Pe(o)&&o()}),ps(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),Pe(o)&&o()}),r}return LEe(n,e),EEe(n,[{key:"renderDots",value:function(i,s,a){var o=this.props.isAnimationActive,l=this.state.isAnimationFinished;if(o&&!l)return null;var c=this.props,u=c.dot,d=c.points,p=c.dataKey,m=Ie(this.props,!1),h=Ie(u,!0),g=d.map(function(x,v){var b=Wa(Wa(Wa({key:"dot-".concat(v),r:3},m),h),{},{index:v,cx:x.x,cy:x.y,dataKey:p,value:x.value,payload:x.payload,points:d});return n.renderDotItem(u,b)}),f={clipPath:i?"url(#clipPath-".concat(s?"":"dots-").concat(a,")"):null};return L.createElement(kt,Sl({className:"recharts-area-dots"},f),g)}},{key:"renderHorizontalRect",value:function(i){var s=this.props,a=s.baseLine,o=s.points,l=s.strokeWidth,c=o[0].x,u=o[o.length-1].x,d=i*Math.abs(c-u),p=mo(o.map(function(m){return m.y||0}));return ie(a)&&typeof a=="number"?p=Math.max(a,p):a&&Array.isArray(a)&&a.length&&(p=Math.max(mo(a.map(function(m){return m.y||0})),p)),ie(p)?L.createElement("rect",{x:c<u?c:c-d,y:0,width:d,height:Math.floor(p+(l?parseInt("".concat(l),10):1))}):null}},{key:"renderVerticalRect",value:function(i){var s=this.props,a=s.baseLine,o=s.points,l=s.strokeWidth,c=o[0].y,u=o[o.length-1].y,d=i*Math.abs(c-u),p=mo(o.map(function(m){return m.x||0}));return ie(a)&&typeof a=="number"?p=Math.max(a,p):a&&Array.isArray(a)&&a.length&&(p=Math.max(mo(a.map(function(m){return m.x||0})),p)),ie(p)?L.createElement("rect",{x:0,y:c<u?c:c-d,width:p+(l?parseInt("".concat(l),10):1),height:Math.floor(d)}):null}},{key:"renderClipRect",value:function(i){var s=this.props.layout;return s==="vertical"?this.renderVerticalRect(i):this.renderHorizontalRect(i)}},{key:"renderAreaStatically",value:function(i,s,a,o){var l=this.props,c=l.layout,u=l.type,d=l.stroke,p=l.connectNulls,m=l.isRange;l.ref;var h=l7(l,qEe);return L.createElement(kt,{clipPath:a?"url(#clipPath-".concat(o,")"):null},L.createElement(cm,Sl({},Ie(h,!0),{points:i,connectNulls:p,type:u,baseLine:s,layout:c,stroke:"none",className:"recharts-area-area"})),d!=="none"&&L.createElement(cm,Sl({},Ie(this.props,!1),{className:"recharts-area-curve",layout:c,type:u,connectNulls:p,fill:"none",points:i})),d!=="none"&&m&&L.createElement(cm,Sl({},Ie(this.props,!1),{className:"recharts-area-curve",layout:c,type:u,connectNulls:p,fill:"none",points:s})))}},{key:"renderAreaWithAnimation",value:function(i,s){var a=this,o=this.props,l=o.points,c=o.baseLine,u=o.isAnimationActive,d=o.animationBegin,p=o.animationDuration,m=o.animationEasing,h=o.animationId,g=this.state,f=g.prevPoints,x=g.prevBaseLine;return L.createElement(fa,{begin:d,duration:p,isActive:u,easing:m,from:{t:0},to:{t:1},key:"area-".concat(h),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(v){var b=v.t;if(f){var y=f.length/l.length,N=l.map(function(P,T){var E=Math.floor(T*y);if(f[E]){var A=f[E],_=ni(A.x,P.x),D=ni(A.y,P.y);return Wa(Wa({},P),{},{x:_(b),y:D(b)})}return P}),j;if(ie(c)&&typeof c=="number"){var w=ni(x,c);j=w(b)}else if(Fe(c)||Md(c)){var q=ni(x,0);j=q(b)}else j=c.map(function(P,T){var E=Math.floor(T*y);if(x[E]){var A=x[E],_=ni(A.x,P.x),D=ni(A.y,P.y);return Wa(Wa({},P),{},{x:_(b),y:D(b)})}return P});return a.renderAreaStatically(N,j,i,s)}return L.createElement(kt,null,L.createElement("defs",null,L.createElement("clipPath",{id:"animationClipPath-".concat(s)},a.renderClipRect(b))),L.createElement(kt,{clipPath:"url(#animationClipPath-".concat(s,")")},a.renderAreaStatically(l,c,i,s)))})}},{key:"renderArea",value:function(i,s){var a=this.props,o=a.points,l=a.baseLine,c=a.isAnimationActive,u=this.state,d=u.prevPoints,p=u.prevBaseLine,m=u.totalLength;return c&&o&&o.length&&(!d&&m>0||!ih(d,o)||!ih(p,l))?this.renderAreaWithAnimation(i,s):this.renderAreaStatically(o,l,i,s)}},{key:"render",value:function(){var i,s=this.props,a=s.hide,o=s.dot,l=s.points,c=s.className,u=s.top,d=s.left,p=s.xAxis,m=s.yAxis,h=s.width,g=s.height,f=s.isAnimationActive,x=s.id;if(a||!l||!l.length)return null;var v=this.state.isAnimationFinished,b=l.length===1,y=Re("recharts-area",c),N=p&&p.allowDataOverflow,j=m&&m.allowDataOverflow,w=N||j,q=Fe(x)?this.id:x,P=(i=Ie(o,!1))!==null&&i!==void 0?i:{r:3,strokeWidth:2},T=P.r,E=T===void 0?3:T,A=P.strokeWidth,_=A===void 0?2:A,D=Xce(o)?o:{},R=D.clipDot,M=R===void 0?!0:R,U=E*2+_;return L.createElement(kt,{className:y},N||j?L.createElement("defs",null,L.createElement("clipPath",{id:"clipPath-".concat(q)},L.createElement("rect",{x:N?d:d-h/2,y:j?u:u-g/2,width:N?h:h*2,height:j?g:g*2})),!M&&L.createElement("clipPath",{id:"clipPath-dots-".concat(q)},L.createElement("rect",{x:d-U/2,y:u-U/2,width:h+U,height:g+U}))):null,b?null:this.renderArea(w,q),(o||b)&&this.renderDots(w,M,q),(!f||v)&&So.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(i,s){return i.animationId!==s.prevAnimationId?{prevAnimationId:i.animationId,curPoints:i.points,curBaseLine:i.baseLine,prevPoints:s.curPoints,prevBaseLine:s.curBaseLine}:i.points!==s.curPoints||i.baseLine!==s.curBaseLine?{curPoints:i.points,curBaseLine:i.baseLine}:null}}])}(k.PureComponent);o7=zi;ps(zi,"displayName","Area");ps(zi,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!ea.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});ps(zi,"getBaseValue",function(e,n,r,i){var s=e.layout,a=e.baseValue,o=n.props.baseValue,l=o??a;if(ie(l)&&typeof l=="number")return l;var c=s==="horizontal"?i:r,u=c.scale.domain();if(c.type==="number"){var d=Math.max(u[0],u[1]),p=Math.min(u[0],u[1]);return l==="dataMin"?p:l==="dataMax"||d<0?d:Math.max(Math.min(u[0],u[1]),0)}return l==="dataMin"?u[0]:l==="dataMax"?u[1]:u[0]});ps(zi,"getComposedData",function(e){var n=e.props,r=e.item,i=e.xAxis,s=e.yAxis,a=e.xAxisTicks,o=e.yAxisTicks,l=e.bandSize,c=e.dataKey,u=e.stackedData,d=e.dataStartIndex,p=e.displayedData,m=e.offset,h=n.layout,g=u&&u.length,f=o7.getBaseValue(n,r,i,s),x=h==="horizontal",v=!1,b=p.map(function(N,j){var w;g?w=u[d+j]:(w=Rr(N,c),Array.isArray(w)?v=!0:w=[f,w]);var q=w[1]==null||g&&Rr(N,c)==null;return x?{x:g5({axis:i,ticks:a,bandSize:l,entry:N,index:j}),y:q?null:s.scale(w[1]),value:w,payload:N}:{x:q?null:i.scale(w[1]),y:g5({axis:s,ticks:o,bandSize:l,entry:N,index:j}),value:w,payload:N}}),y;return g||v?y=b.map(function(N){var j=Array.isArray(N.value)?N.value[0]:null;return x?{x:N.x,y:j!=null&&N.y!=null?s.scale(j):null}:{x:j!=null?i.scale(j):null,y:N.y}}):y=x?s.scale(f):i.scale(f),Wa({points:b,baseLine:y,layout:h,isRange:v},m)});ps(zi,"renderDotItem",function(e,n){var r;if(L.isValidElement(e))r=L.cloneElement(e,n);else if(Pe(e))r=e(n);else{var i=Re("recharts-area-dot",typeof e!="boolean"?e.className:""),s=n.key,a=l7(n,SEe);r=L.createElement(IC,Sl({},a,{key:s,className:i}))}return r});function md(e){"@babel/helpers - typeof";return md=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},md(e)}function _Ee(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function OEe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,m7(i.key),i)}}function REe(e,n,r){return n&&OEe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function DEe(e,n,r){return n=ib(n),MEe(e,d7()?Reflect.construct(n,r||[],ib(e).constructor):n.apply(e,r))}function MEe(e,n){if(n&&(md(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return $Ee(e)}function $Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(d7=function(){return!!e})()}function ib(e){return ib=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ib(e)}function BEe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&UN(e,n)}function UN(e,n){return UN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},UN(e,n)}function p7(e,n,r){return n=m7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function m7(e){var n=zEe(e,"string");return md(n)=="symbol"?n:n+""}function zEe(e,n){if(md(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(md(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function VN(){return VN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},VN.apply(this,arguments)}function UEe(e){var n=e.xAxisId,r=_C(),i=OC(),s=Qz(n);return s==null?null:k.createElement(Hd,VN({},s,{className:Re("recharts-".concat(s.axisType," ").concat(s.axisType),s.className),viewBox:{x:0,y:0,width:r,height:i},ticksGenerator:function(o){return Gs(o,!0)}}))}var mf=function(e){function n(){return _Ee(this,n),DEe(this,n,arguments)}return BEe(n,e),REe(n,[{key:"render",value:function(){return k.createElement(UEe,this.props)}}])}(k.Component);p7(mf,"displayName","XAxis");p7(mf,"defaultProps",{allowDecimals:!0,hide:!1,orientation:"bottom",width:0,height:30,mirror:!1,xAxisId:0,tickCount:5,type:"category",padding:{left:0,right:0},allowDataOverflow:!1,scale:"auto",reversed:!1,allowDuplicatedCategory:!0});function hd(e){"@babel/helpers - typeof";return hd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},hd(e)}function VEe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function WEe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,g7(i.key),i)}}function HEe(e,n,r){return n&&WEe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function GEe(e,n,r){return n=sb(n),KEe(e,h7()?Reflect.construct(n,r||[],sb(e).constructor):n.apply(e,r))}function KEe(e,n){if(n&&(hd(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return QEe(e)}function QEe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(h7=function(){return!!e})()}function sb(e){return sb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},sb(e)}function YEe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&WN(e,n)}function WN(e,n){return WN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},WN(e,n)}function f7(e,n,r){return n=g7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function g7(e){var n=JEe(e,"string");return hd(n)=="symbol"?n:n+""}function JEe(e,n){if(hd(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(hd(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function HN(){return HN=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},HN.apply(this,arguments)}var XEe=function(n){var r=n.yAxisId,i=_C(),s=OC(),a=Yz(r);return a==null?null:k.createElement(Hd,HN({},a,{className:Re("recharts-".concat(a.axisType," ").concat(a.axisType),a.className),viewBox:{x:0,y:0,width:i,height:s},ticksGenerator:function(l){return Gs(l,!0)}}))},hf=function(e){function n(){return VEe(this,n),GEe(this,n,arguments)}return YEe(n,e),HEe(n,[{key:"render",value:function(){return k.createElement(XEe,this.props)}}])}(k.Component);f7(hf,"displayName","YAxis");f7(hf,"defaultProps",{allowDuplicatedCategory:!0,allowDecimals:!0,hide:!1,orientation:"left",width:60,height:0,mirror:!1,yAxisId:0,tickCount:5,type:"number",padding:{top:0,bottom:0},allowDataOverflow:!1,scale:"auto",reversed:!1});function O3(e){return nTe(e)||tTe(e)||eTe(e)||ZEe()}function ZEe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
719In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eTe(e,n){if(e){if(typeof e=="string")return GN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return GN(e,n)}}function tTe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function nTe(e){if(Array.isArray(e))return GN(e)}function GN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}var KN=function(n,r,i,s,a){var o=Bi(n,DC),l=Bi(n,By),c=[].concat(O3(o),O3(l)),u=Bi(n,Uy),d="".concat(s,"Id"),p=s[0],m=r;if(c.length&&(m=c.reduce(function(f,x){if(x.props[d]===i&&bs(x.props,"extendDomain")&&ie(x.props[p])){var v=x.props[p];return[Math.min(f[0],v),Math.max(f[1],v)]}return f},m)),u.length){var h="".concat(p,"1"),g="".concat(p,"2");m=u.reduce(function(f,x){if(x.props[d]===i&&bs(x.props,"extendDomain")&&ie(x.props[h])&&ie(x.props[g])){var v=x.props[h],b=x.props[g];return[Math.min(f[0],v,b),Math.max(f[1],v,b)]}return f},m)}return a&&a.length&&(m=a.reduce(function(f,x){return ie(x)?[Math.min(f[0],x),Math.max(f[1],x)]:f},m)),m},x7={exports:{}};(function(e){var n=Object.prototype.hasOwnProperty,r="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function s(c,u,d){this.fn=c,this.context=u,this.once=d||!1}function a(c,u,d,p,m){if(typeof d!="function")throw new TypeError("The listener must be a function");var h=new s(d,p||c,m),g=r?r+u:u;return c._events[g]?c._events[g].fn?c._events[g]=[c._events[g],h]:c._events[g].push(h):(c._events[g]=h,c._eventsCount++),c}function o(c,u){--c._eventsCount===0?c._events=new i:delete c._events[u]}function l(){this._events=new i,this._eventsCount=0}l.prototype.eventNames=function(){var u=[],d,p;if(this._eventsCount===0)return u;for(p in d=this._events)n.call(d,p)&&u.push(r?p.slice(1):p);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},l.prototype.listeners=function(u){var d=r?r+u:u,p=this._events[d];if(!p)return[];if(p.fn)return[p.fn];for(var m=0,h=p.length,g=new Array(h);m<h;m++)g[m]=p[m].fn;return g},l.prototype.listenerCount=function(u){var d=r?r+u:u,p=this._events[d];return p?p.fn?1:p.length:0},l.prototype.emit=function(u,d,p,m,h,g){var f=r?r+u:u;if(!this._events[f])return!1;var x=this._events[f],v=arguments.length,b,y;if(x.fn){switch(x.once&&this.removeListener(u,x.fn,void 0,!0),v){case 1:return x.fn.call(x.context),!0;case 2:return x.fn.call(x.context,d),!0;case 3:return x.fn.call(x.context,d,p),!0;case 4:return x.fn.call(x.context,d,p,m),!0;case 5:return x.fn.call(x.context,d,p,m,h),!0;case 6:return x.fn.call(x.context,d,p,m,h,g),!0}for(y=1,b=new Array(v-1);y<v;y++)b[y-1]=arguments[y];x.fn.apply(x.context,b)}else{var N=x.length,j;for(y=0;y<N;y++)switch(x[y].once&&this.removeListener(u,x[y].fn,void 0,!0),v){case 1:x[y].fn.call(x[y].context);break;case 2:x[y].fn.call(x[y].context,d);break;case 3:x[y].fn.call(x[y].context,d,p);break;case 4:x[y].fn.call(x[y].context,d,p,m);break;default:if(!b)for(j=1,b=new Array(v-1);j<v;j++)b[j-1]=arguments[j];x[y].fn.apply(x[y].context,b)}}return!0},l.prototype.on=function(u,d,p){return a(this,u,d,p,!1)},l.prototype.once=function(u,d,p){return a(this,u,d,p,!0)},l.prototype.removeListener=function(u,d,p,m){var h=r?r+u:u;if(!this._events[h])return this;if(!d)return o(this,h),this;var g=this._events[h];if(g.fn)g.fn===d&&(!m||g.once)&&(!p||g.context===p)&&o(this,h);else{for(var f=0,x=[],v=g.length;f<v;f++)(g[f].fn!==d||m&&!g[f].once||p&&g[f].context!==p)&&x.push(g[f]);x.length?this._events[h]=x.length===1?x[0]:x:o(this,h)}return this},l.prototype.removeAllListeners=function(u){var d;return u?(d=r?r+u:u,this._events[d]&&o(this,d)):(this._events=new i,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=r,l.EventEmitter=l,e.exports=l})(x7);var rTe=x7.exports;const iTe=Ue(rTe);var Uj=new iTe,Vj="recharts.syncMouseEvents";function Sh(e){"@babel/helpers - typeof";return Sh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Sh(e)}function sTe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function aTe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,v7(i.key),i)}}function oTe(e,n,r){return n&&aTe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Wj(e,n,r){return n=v7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function v7(e){var n=lTe(e,"string");return Sh(n)=="symbol"?n:n+""}function lTe(e,n){if(Sh(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n);if(Sh(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var cTe=function(){function e(){sTe(this,e),Wj(this,"activeIndex",0),Wj(this,"coordinateList",[]),Wj(this,"layout","horizontal")}return oTe(e,[{key:"setDetails",value:function(r){var i,s=r.coordinateList,a=s===void 0?null:s,o=r.container,l=o===void 0?null:o,c=r.layout,u=c===void 0?null:c,d=r.offset,p=d===void 0?null:d,m=r.mouseHandlerCallback,h=m===void 0?null:m;this.coordinateList=(i=a??this.coordinateList)!==null&&i!==void 0?i:[],this.container=l??this.container,this.layout=u??this.layout,this.offset=p??this.offset,this.mouseHandlerCallback=h??this.mouseHandlerCallback,this.activeIndex=Math.min(Math.max(this.activeIndex,0),this.coordinateList.length-1)}},{key:"focus",value:function(){this.spoofMouse()}},{key:"keyboardEvent",value:function(r){if(this.coordinateList.length!==0)switch(r.key){case"ArrowRight":{if(this.layout!=="horizontal")return;this.activeIndex=Math.min(this.activeIndex+1,this.coordinateList.length-1),this.spoofMouse();break}case"ArrowLeft":{if(this.layout!=="horizontal")return;this.activeIndex=Math.max(this.activeIndex-1,0),this.spoofMouse();break}}}},{key:"setIndex",value:function(r){this.activeIndex=r}},{key:"spoofMouse",value:function(){var r,i;if(this.layout==="horizontal"&&this.coordinateList.length!==0){var s=this.container.getBoundingClientRect(),a=s.x,o=s.y,l=s.height,c=this.coordinateList[this.activeIndex].coordinate,u=((r=window)===null||r===void 0?void 0:r.scrollX)||0,d=((i=window)===null||i===void 0?void 0:i.scrollY)||0,p=a+c+u,m=o+this.offset.top+l/2+d;this.mouseHandlerCallback({pageX:p,pageY:m})}}}])}();function uTe(e,n,r){if(r==="number"&&n===!0&&Array.isArray(e)){var i=e==null?void 0:e[0],s=e==null?void 0:e[1];if(i&&s&&ie(i)&&ie(s))return!0}return!1}function dTe(e,n,r,i){var s=i/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?n.x-s:r.left+.5,y:e==="horizontal"?r.top+.5:n.y-s,width:e==="horizontal"?i:r.width-1,height:e==="horizontal"?r.height-1:i}}function b7(e){var n=e.cx,r=e.cy,i=e.radius,s=e.startAngle,a=e.endAngle,o=xn(n,r,i,s),l=xn(n,r,i,a);return{points:[o,l],cx:n,cy:r,radius:i,startAngle:s,endAngle:a}}function pTe(e,n,r){var i,s,a,o;if(e==="horizontal")i=n.x,a=i,s=r.top,o=r.top+r.height;else if(e==="vertical")s=n.y,o=s,i=r.left,a=r.left+r.width;else if(n.cx!=null&&n.cy!=null)if(e==="centric"){var l=n.cx,c=n.cy,u=n.innerRadius,d=n.outerRadius,p=n.angle,m=xn(l,c,u,p),h=xn(l,c,d,p);i=m.x,s=m.y,a=h.x,o=h.y}else return b7(n);return[{x:i,y:s},{x:a,y:o}]}function Ch(e){"@babel/helpers - typeof";return Ch=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ch(e)}function R3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function bg(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?R3(Object(r),!0).forEach(function(i){mTe(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):R3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function mTe(e,n,r){return n=hTe(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function hTe(e){var n=fTe(e,"string");return Ch(n)=="symbol"?n:n+""}function fTe(e,n){if(Ch(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Ch(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function gTe(e){var n,r,i=e.element,s=e.tooltipEventType,a=e.isActive,o=e.activeCoordinate,l=e.activePayload,c=e.offset,u=e.activeTooltipIndex,d=e.tooltipAxisBandSize,p=e.layout,m=e.chartName,h=(n=i.props.cursor)!==null&&n!==void 0?n:(r=i.type.defaultProps)===null||r===void 0?void 0:r.cursor;if(!i||!h||!a||!o||m!=="ScatterChart"&&s!=="axis")return null;var g,f=cm;if(m==="ScatterChart")g=o,f=bqe;else if(m==="BarChart")g=dTe(p,o,c,d),f=TC;else if(p==="radial"){var x=b7(o),v=x.cx,b=x.cy,y=x.radius,N=x.startAngle,j=x.endAngle;g={cx:v,cy:b,startAngle:N,endAngle:j,innerRadius:y,outerRadius:y},f=jz}else g={points:pTe(p,o,c)},f=cm;var w=bg(bg(bg(bg({stroke:"#ccc",pointerEvents:"none"},c),g),Ie(h,!1)),{},{payload:l,payloadIndex:u,className:Re("recharts-tooltip-cursor",h.className)});return k.isValidElement(h)?k.cloneElement(h,w):k.createElement(f,w)}var xTe=["item"],vTe=["children","className","width","height","style","compact","title","desc"];function fd(e){"@babel/helpers - typeof";return fd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},fd(e)}function au(){return au=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},au.apply(this,arguments)}function D3(e,n){return jTe(e)||yTe(e,n)||j7(e,n)||bTe()}function bTe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
720In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yTe(e,n){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var i,s,a,o,l=[],c=!0,u=!1;try{if(a=(r=r.call(e)).next,n!==0)for(;!(c=(i=a.call(r)).done)&&(l.push(i.value),l.length!==n);c=!0);}catch(d){u=!0,s=d}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw s}}return l}}function jTe(e){if(Array.isArray(e))return e}function M3(e,n){if(e==null)return{};var r=wTe(e,n),i,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)i=a[s],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}function wTe(e,n){if(e==null)return{};var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){if(n.indexOf(i)>=0)continue;r[i]=e[i]}return r}function NTe(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function kTe(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,w7(i.key),i)}}function qTe(e,n,r){return n&&kTe(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function STe(e,n,r){return n=ab(n),CTe(e,y7()?Reflect.construct(n,r||[],ab(e).constructor):n.apply(e,r))}function CTe(e,n){if(n&&(fd(n)==="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return PTe(e)}function PTe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y7(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(y7=function(){return!!e})()}function ab(e){return ab=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ab(e)}function ETe(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&QN(e,n)}function QN(e,n){return QN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,s){return i.__proto__=s,i},QN(e,n)}function gd(e){return ATe(e)||ITe(e)||j7(e)||TTe()}function TTe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
721In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function j7(e,n){if(e){if(typeof e=="string")return YN(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return YN(e,n)}}function ITe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ATe(e){if(Array.isArray(e))return YN(e)}function YN(e,n){(n==null||n>e.length)&&(n=e.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=e[r];return i}function $3(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function G(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?$3(Object(r),!0).forEach(function(i){ye(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$3(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function ye(e,n,r){return n=w7(n),n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function w7(e){var n=LTe(e,"string");return fd(n)=="symbol"?n:n+""}function LTe(e,n){if(fd(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(fd(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}var FTe={xAxis:["bottom","top"],yAxis:["left","right"]},_Te={width:"100%",height:"100%"},N7={x:0,y:0};function yg(e){return e}var OTe=function(n,r){return r==="horizontal"?n.x:r==="vertical"?n.y:r==="centric"?n.angle:n.radius},RTe=function(n,r,i,s){var a=r.find(function(d){return d&&d.index===i});if(a){if(n==="horizontal")return{x:a.coordinate,y:s.y};if(n==="vertical")return{x:s.x,y:a.coordinate};if(n==="centric"){var o=a.coordinate,l=s.radius;return G(G(G({},s),xn(s.cx,s.cy,l,o)),{},{angle:o,radius:l})}var c=a.coordinate,u=s.angle;return G(G(G({},s),xn(s.cx,s.cy,c,u)),{},{angle:u,radius:c})}return N7},Vy=function(n,r){var i=r.graphicalItems,s=r.dataStartIndex,a=r.dataEndIndex,o=(i??[]).reduce(function(l,c){var u=c.props.data;return u&&u.length?[].concat(gd(l),gd(u)):l},[]);return o.length>0?o:n&&n.length&&ie(s)&&ie(a)?n.slice(s,a+1):[]};function k7(e){return e==="number"?[0,"auto"]:void 0}var JN=function(n,r,i,s){var a=n.graphicalItems,o=n.tooltipAxis,l=Vy(r,n);return i<0||!a||!a.length||i>=l.length?null:a.reduce(function(c,u){var d,p=(d=u.props.data)!==null&&d!==void 0?d:r;p&&n.dataStartIndex+n.dataEndIndex!==0&&n.dataEndIndex-n.dataStartIndex>=i&&(p=p.slice(n.dataStartIndex,n.dataEndIndex+1));var m;if(o.dataKey&&!o.allowDuplicatedCategory){var h=p===void 0?l:p;m=lv(h,o.dataKey,s)}else m=p&&p[i]||l[i];return m?[].concat(gd(c),[vz(u,m)]):c},[])},B3=function(n,r,i,s){var a=s||{x:n.chartX,y:n.chartY},o=OTe(a,i),l=n.orderedTooltipTicks,c=n.tooltipAxis,u=n.tooltipTicks,d=t2e(o,l,u,c);if(d>=0&&u){var p=u[d]&&u[d].value,m=JN(n,r,d,p),h=RTe(i,l,d,a);return{activeTooltipIndex:d,activeLabel:p,activePayload:m,activeCoordinate:h}}return null},DTe=function(n,r){var i=r.axes,s=r.graphicalItems,a=r.axisType,o=r.axisIdKey,l=r.stackGroups,c=r.dataStartIndex,u=r.dataEndIndex,d=n.layout,p=n.children,m=n.stackOffset,h=fz(d,a);return i.reduce(function(g,f){var x,v=f.type.defaultProps!==void 0?G(G({},f.type.defaultProps),f.props):f.props,b=v.type,y=v.dataKey,N=v.allowDataOverflow,j=v.allowDuplicatedCategory,w=v.scale,q=v.ticks,P=v.includeHidden,T=v[o];if(g[T])return g;var E=Vy(n.data,{graphicalItems:s.filter(function(W){var F,ae=o in W.props?W.props[o]:(F=W.type.defaultProps)===null||F===void 0?void 0:F[o];return ae===T}),dataStartIndex:c,dataEndIndex:u}),A=E.length,_,D,R;uTe(v.domain,N,b)&&(_=gN(v.domain,null,N),h&&(b==="number"||w!=="auto")&&(R=lm(E,y,"category")));var M=k7(b);if(!_||_.length===0){var U,z=(U=v.domain)!==null&&U!==void 0?U:M;if(y){if(_=lm(E,y,b),b==="category"&&h){var O=zce(_);j&&O?(D=_,_=Gv(0,A)):j||(_=y5(z,_,f).reduce(function(W,F){return W.indexOf(F)>=0?W:[].concat(gd(W),[F])},[]))}else if(b==="category")j?_=_.filter(function(W){return W!==""&&!Fe(W)}):_=y5(z,_,f).reduce(function(W,F){return W.indexOf(F)>=0||F===""||Fe(F)?W:[].concat(gd(W),[F])},[]);else if(b==="number"){var $=a2e(E,s.filter(function(W){var F,ae,ge=o in W.props?W.props[o]:(F=W.type.defaultProps)===null||F===void 0?void 0:F[o],be="hide"in W.props?W.props.hide:(ae=W.type.defaultProps)===null||ae===void 0?void 0:ae.hide;return ge===T&&(P||!be)}),y,a,d);$&&(_=$)}h&&(b==="number"||w!=="auto")&&(R=lm(E,y,"category"))}else h?_=Gv(0,A):l&&l[T]&&l[T].hasStack&&b==="number"?_=m==="expand"?[0,1]:xz(l[T].stackGroups,c,u):_=hz(E,s.filter(function(W){var F=o in W.props?W.props[o]:W.type.defaultProps[o],ae="hide"in W.props?W.props.hide:W.type.defaultProps.hide;return F===T&&(P||!ae)}),b,d,!0);if(b==="number")_=KN(p,_,T,a,q),z&&(_=gN(z,_,N));else if(b==="category"&&z){var I=z,Y=_.every(function(W){return I.indexOf(W)>=0});Y&&(_=I)}}return G(G({},g),{},ye({},T,G(G({},v),{},{axisType:a,domain:_,categoricalDomain:R,duplicateDomain:D,originalDomain:(x=v.domain)!==null&&x!==void 0?x:M,isCategorical:h,layout:d})))},{})},MTe=function(n,r){var i=r.graphicalItems,s=r.Axis,a=r.axisType,o=r.axisIdKey,l=r.stackGroups,c=r.dataStartIndex,u=r.dataEndIndex,d=n.layout,p=n.children,m=Vy(n.data,{graphicalItems:i,dataStartIndex:c,dataEndIndex:u}),h=m.length,g=fz(d,a),f=-1;return i.reduce(function(x,v){var b=v.type.defaultProps!==void 0?G(G({},v.type.defaultProps),v.props):v.props,y=b[o],N=k7("number");if(!x[y]){f++;var j;return g?j=Gv(0,h):l&&l[y]&&l[y].hasStack?(j=xz(l[y].stackGroups,c,u),j=KN(p,j,y,a)):(j=gN(N,hz(m,i.filter(function(w){var q,P,T=o in w.props?w.props[o]:(q=w.type.defaultProps)===null||q===void 0?void 0:q[o],E="hide"in w.props?w.props.hide:(P=w.type.defaultProps)===null||P===void 0?void 0:P.hide;return T===y&&!E}),"number",d),s.defaultProps.allowDataOverflow),j=KN(p,j,y,a)),G(G({},x),{},ye({},y,G(G({axisType:a},s.defaultProps),{},{hide:!0,orientation:oi(FTe,"".concat(a,".").concat(f%2),null),domain:j,originalDomain:N,isCategorical:g,layout:d})))}return x},{})},$Te=function(n,r){var i=r.axisType,s=i===void 0?"xAxis":i,a=r.AxisComp,o=r.graphicalItems,l=r.stackGroups,c=r.dataStartIndex,u=r.dataEndIndex,d=n.children,p="".concat(s,"Id"),m=Bi(d,a),h={};return m&&m.length?h=DTe(n,{axes:m,graphicalItems:o,axisType:s,axisIdKey:p,stackGroups:l,dataStartIndex:c,dataEndIndex:u}):o&&o.length&&(h=MTe(n,{Axis:a,graphicalItems:o,axisType:s,axisIdKey:p,stackGroups:l,dataStartIndex:c,dataEndIndex:u})),h},BTe=function(n){var r=Ja(n),i=Gs(r,!1,!0);return{tooltipTicks:i,orderedTooltipTicks:rC(i,function(s){return s.coordinate}),tooltipAxis:r,tooltipAxisBandSize:Dv(r,i)}},z3=function(n){var r=n.children,i=n.defaultShowTooltip,s=Sr(r,ad),a=0,o=0;return n.data&&n.data.length!==0&&(o=n.data.length-1),s&&s.props&&(s.props.startIndex>=0&&(a=s.props.startIndex),s.props.endIndex>=0&&(o=s.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:a,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!i}},zTe=function(n){return!n||!n.length?!1:n.some(function(r){var i=Xs(r&&r.type);return i&&i.indexOf("Bar")>=0})},U3=function(n){return n==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:n==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:n==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},UTe=function(n,r){var i=n.props,s=n.graphicalItems,a=n.xAxisMap,o=a===void 0?{}:a,l=n.yAxisMap,c=l===void 0?{}:l,u=i.width,d=i.height,p=i.children,m=i.margin||{},h=Sr(p,ad),g=Sr(p,Bl),f=Object.keys(c).reduce(function(j,w){var q=c[w],P=q.orientation;return!q.mirror&&!q.hide?G(G({},j),{},ye({},P,j[P]+q.width)):j},{left:m.left||0,right:m.right||0}),x=Object.keys(o).reduce(function(j,w){var q=o[w],P=q.orientation;return!q.mirror&&!q.hide?G(G({},j),{},ye({},P,oi(j,"".concat(P))+q.height)):j},{top:m.top||0,bottom:m.bottom||0}),v=G(G({},x),f),b=v.bottom;h&&(v.bottom+=h.props.height||ad.defaultProps.height),g&&r&&(v=i2e(v,s,i,r));var y=u-v.left-v.right,N=d-v.top-v.bottom;return G(G({brushBottom:b},v),{},{width:Math.max(y,0),height:Math.max(N,0)})},VTe=function(n,r){if(r==="xAxis")return n[r].width;if(r==="yAxis")return n[r].height},WTe=function(n){var r=n.chartName,i=n.GraphicalChild,s=n.defaultTooltipEventType,a=s===void 0?"axis":s,o=n.validateTooltipEventTypes,l=o===void 0?["axis"]:o,c=n.axisComponents,u=n.legendContent,d=n.formatAxisMap,p=n.defaultProps,m=function(v,b){var y=b.graphicalItems,N=b.stackGroups,j=b.offset,w=b.updateId,q=b.dataStartIndex,P=b.dataEndIndex,T=v.barSize,E=v.layout,A=v.barGap,_=v.barCategoryGap,D=v.maxBarSize,R=U3(E),M=R.numericAxisName,U=R.cateAxisName,z=zTe(y),O=[];return y.forEach(function($,I){var Y=Vy(v.data,{graphicalItems:[$],dataStartIndex:q,dataEndIndex:P}),W=$.type.defaultProps!==void 0?G(G({},$.type.defaultProps),$.props):$.props,F=W.dataKey,ae=W.maxBarSize,ge=W["".concat(M,"Id")],be=W["".concat(U,"Id")],Ne={},Me=c.reduce(function(Dn,Br){var gr=b["".concat(Br.axisType,"Map")],vc=W["".concat(Br.axisType,"Id")];gr&&gr[vc]||Br.axisType==="zAxis"||sc();var bc=gr[vc];return G(G({},Dn),{},ye(ye({},Br.axisType,bc),"".concat(Br.axisType,"Ticks"),Gs(bc)))},Ne),te=Me[U],me=Me["".concat(U,"Ticks")],fe=N&&N[ge]&&N[ge].hasStack&&v2e($,N[ge].stackGroups),Q=Xs($.type).indexOf("Bar")>=0,$e=Dv(te,me),Ee=[],at=z&&n2e({barSize:T,stackGroups:N,totalSize:VTe(Me,U)});if(Q){var tt,_t,yn=Fe(ae)?D:ae,jn=(tt=(_t=Dv(te,me,!0))!==null&&_t!==void 0?_t:yn)!==null&&tt!==void 0?tt:0;Ee=r2e({barGap:A,barCategoryGap:_,bandSize:jn!==$e?jn:$e,sizeList:at[be],maxBarSize:yn}),jn!==$e&&(Ee=Ee.map(function(Dn){return G(G({},Dn),{},{position:G(G({},Dn.position),{},{offset:Dn.position.offset-jn/2})})}))}var Yi=$&&$.type&&$.type.getComposedData;Yi&&O.push({props:G(G({},Yi(G(G({},Me),{},{displayedData:Y,props:v,dataKey:F,item:$,bandSize:$e,barPosition:Ee,offset:j,stackedData:fe,layout:E,dataStartIndex:q,dataEndIndex:P}))),{},ye(ye(ye({key:$.key||"item-".concat(I)},M,Me[M]),U,Me[U]),"animationId",w)),childIndex:tue($,v.children),item:$})}),O},h=function(v,b){var y=v.props,N=v.dataStartIndex,j=v.dataEndIndex,w=v.updateId;if(!mA({props:y}))return null;var q=y.children,P=y.layout,T=y.stackOffset,E=y.data,A=y.reverseStackOrder,_=U3(P),D=_.numericAxisName,R=_.cateAxisName,M=Bi(q,i),U=f2e(E,M,"".concat(D,"Id"),"".concat(R,"Id"),T,A),z=c.reduce(function(W,F){var ae="".concat(F.axisType,"Map");return G(G({},W),{},ye({},ae,$Te(y,G(G({},F),{},{graphicalItems:M,stackGroups:F.axisType===D&&U,dataStartIndex:N,dataEndIndex:j}))))},{}),O=UTe(G(G({},z),{},{props:y,graphicalItems:M}),b==null?void 0:b.legendBBox);Object.keys(z).forEach(function(W){z[W]=d(y,z[W],O,W.replace("Map",""),r)});var $=z["".concat(R,"Map")],I=BTe($),Y=m(y,G(G({},z),{},{dataStartIndex:N,dataEndIndex:j,updateId:w,graphicalItems:M,stackGroups:U,offset:O}));return G(G({formattedGraphicalItems:Y,graphicalItems:M,offset:O,stackGroups:U},I),z)},g=function(x){function v(b){var y,N,j;return NTe(this,v),j=STe(this,v,[b]),ye(j,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),ye(j,"accessibilityManager",new cTe),ye(j,"handleLegendBBoxUpdate",function(w){if(w){var q=j.state,P=q.dataStartIndex,T=q.dataEndIndex,E=q.updateId;j.setState(G({legendBBox:w},h({props:j.props,dataStartIndex:P,dataEndIndex:T,updateId:E},G(G({},j.state),{},{legendBBox:w}))))}}),ye(j,"handleReceiveSyncEvent",function(w,q,P){if(j.props.syncId===w){if(P===j.eventEmitterSymbol&&typeof j.props.syncMethod!="function")return;j.applySyncEvent(q)}}),ye(j,"handleBrushChange",function(w){var q=w.startIndex,P=w.endIndex;if(q!==j.state.dataStartIndex||P!==j.state.dataEndIndex){var T=j.state.updateId;j.setState(function(){return G({dataStartIndex:q,dataEndIndex:P},h({props:j.props,dataStartIndex:q,dataEndIndex:P,updateId:T},j.state))}),j.triggerSyncEvent({dataStartIndex:q,dataEndIndex:P})}}),ye(j,"handleMouseEnter",function(w){var q=j.getMouseInfo(w);if(q){var P=G(G({},q),{},{isTooltipActive:!0});j.setState(P),j.triggerSyncEvent(P);var T=j.props.onMouseEnter;Pe(T)&&T(P,w)}}),ye(j,"triggeredAfterMouseMove",function(w){var q=j.getMouseInfo(w),P=q?G(G({},q),{},{isTooltipActive:!0}):{isTooltipActive:!1};j.setState(P),j.triggerSyncEvent(P);var T=j.props.onMouseMove;Pe(T)&&T(P,w)}),ye(j,"handleItemMouseEnter",function(w){j.setState(function(){return{isTooltipActive:!0,activeItem:w,activePayload:w.tooltipPayload,activeCoordinate:w.tooltipPosition||{x:w.cx,y:w.cy}}})}),ye(j,"handleItemMouseLeave",function(){j.setState(function(){return{isTooltipActive:!1}})}),ye(j,"handleMouseMove",function(w){w.persist(),j.throttleTriggeredAfterMouseMove(w)}),ye(j,"handleMouseLeave",function(w){j.throttleTriggeredAfterMouseMove.cancel();var q={isTooltipActive:!1};j.setState(q),j.triggerSyncEvent(q);var P=j.props.onMouseLeave;Pe(P)&&P(q,w)}),ye(j,"handleOuterEvent",function(w){var q=eue(w),P=oi(j.props,"".concat(q));if(q&&Pe(P)){var T,E;/.*touch.*/i.test(q)?E=j.getMouseInfo(w.changedTouches[0]):E=j.getMouseInfo(w),P((T=E)!==null&&T!==void 0?T:{},w)}}),ye(j,"handleClick",function(w){var q=j.getMouseInfo(w);if(q){var P=G(G({},q),{},{isTooltipActive:!0});j.setState(P),j.triggerSyncEvent(P);var T=j.props.onClick;Pe(T)&&T(P,w)}}),ye(j,"handleMouseDown",function(w){var q=j.props.onMouseDown;if(Pe(q)){var P=j.getMouseInfo(w);q(P,w)}}),ye(j,"handleMouseUp",function(w){var q=j.props.onMouseUp;if(Pe(q)){var P=j.getMouseInfo(w);q(P,w)}}),ye(j,"handleTouchMove",function(w){w.changedTouches!=null&&w.changedTouches.length>0&&j.throttleTriggeredAfterMouseMove(w.changedTouches[0])}),ye(j,"handleTouchStart",function(w){w.changedTouches!=null&&w.changedTouches.length>0&&j.handleMouseDown(w.changedTouches[0])}),ye(j,"handleTouchEnd",function(w){w.changedTouches!=null&&w.changedTouches.length>0&&j.handleMouseUp(w.changedTouches[0])}),ye(j,"handleDoubleClick",function(w){var q=j.props.onDoubleClick;if(Pe(q)){var P=j.getMouseInfo(w);q(P,w)}}),ye(j,"handleContextMenu",function(w){var q=j.props.onContextMenu;if(Pe(q)){var P=j.getMouseInfo(w);q(P,w)}}),ye(j,"triggerSyncEvent",function(w){j.props.syncId!==void 0&&Uj.emit(Vj,j.props.syncId,w,j.eventEmitterSymbol)}),ye(j,"applySyncEvent",function(w){var q=j.props,P=q.layout,T=q.syncMethod,E=j.state.updateId,A=w.dataStartIndex,_=w.dataEndIndex;if(w.dataStartIndex!==void 0||w.dataEndIndex!==void 0)j.setState(G({dataStartIndex:A,dataEndIndex:_},h({props:j.props,dataStartIndex:A,dataEndIndex:_,updateId:E},j.state)));else if(w.activeTooltipIndex!==void 0){var D=w.chartX,R=w.chartY,M=w.activeTooltipIndex,U=j.state,z=U.offset,O=U.tooltipTicks;if(!z)return;if(typeof T=="function")M=T(O,w);else if(T==="value"){M=-1;for(var $=0;$<O.length;$++)if(O[$].value===w.activeLabel){M=$;break}}var I=G(G({},z),{},{x:z.left,y:z.top}),Y=Math.min(D,I.x+I.width),W=Math.min(R,I.y+I.height),F=O[M]&&O[M].value,ae=JN(j.state,j.props.data,M),ge=O[M]?{x:P==="horizontal"?O[M].coordinate:Y,y:P==="horizontal"?W:O[M].coordinate}:N7;j.setState(G(G({},w),{},{activeLabel:F,activeCoordinate:ge,activePayload:ae,activeTooltipIndex:M}))}else j.setState(w)}),ye(j,"renderCursor",function(w){var q,P=j.state,T=P.isTooltipActive,E=P.activeCoordinate,A=P.activePayload,_=P.offset,D=P.activeTooltipIndex,R=P.tooltipAxisBandSize,M=j.getTooltipEventType(),U=(q=w.props.active)!==null&&q!==void 0?q:T,z=j.props.layout,O=w.key||"_recharts-cursor";return L.createElement(gTe,{key:O,activeCoordinate:E,activePayload:A,activeTooltipIndex:D,chartName:r,element:w,isActive:U,layout:z,offset:_,tooltipAxisBandSize:R,tooltipEventType:M})}),ye(j,"renderPolarAxis",function(w,q,P){var T=oi(w,"type.axisType"),E=oi(j.state,"".concat(T,"Map")),A=w.type.defaultProps,_=A!==void 0?G(G({},A),w.props):w.props,D=E&&E[_["".concat(T,"Id")]];return k.cloneElement(w,G(G({},D),{},{className:Re(T,D.className),key:w.key||"".concat(q,"-").concat(P),ticks:Gs(D,!0)}))}),ye(j,"renderPolarGrid",function(w){var q=w.props,P=q.radialLines,T=q.polarAngles,E=q.polarRadius,A=j.state,_=A.radiusAxisMap,D=A.angleAxisMap,R=Ja(_),M=Ja(D),U=M.cx,z=M.cy,O=M.innerRadius,$=M.outerRadius;return k.cloneElement(w,{polarAngles:Array.isArray(T)?T:Gs(M,!0).map(function(I){return I.coordinate}),polarRadius:Array.isArray(E)?E:Gs(R,!0).map(function(I){return I.coordinate}),cx:U,cy:z,innerRadius:O,outerRadius:$,key:w.key||"polar-grid",radialLines:P})}),ye(j,"renderLegend",function(){var w=j.state.formattedGraphicalItems,q=j.props,P=q.children,T=q.width,E=q.height,A=j.props.margin||{},_=T-(A.left||0)-(A.right||0),D=pz({children:P,formattedGraphicalItems:w,legendWidth:_,legendContent:u});if(!D)return null;var R=D.item,M=M3(D,xTe);return k.cloneElement(R,G(G({},M),{},{chartWidth:T,chartHeight:E,margin:A,onBBoxUpdate:j.handleLegendBBoxUpdate}))}),ye(j,"renderTooltip",function(){var w,q=j.props,P=q.children,T=q.accessibilityLayer,E=Sr(P,Ii);if(!E)return null;var A=j.state,_=A.isTooltipActive,D=A.activeCoordinate,R=A.activePayload,M=A.activeLabel,U=A.offset,z=(w=E.props.active)!==null&&w!==void 0?w:_;return k.cloneElement(E,{viewBox:G(G({},U),{},{x:U.left,y:U.top}),active:z,label:M,payload:z?R:[],coordinate:D,accessibilityLayer:T})}),ye(j,"renderBrush",function(w){var q=j.props,P=q.margin,T=q.data,E=j.state,A=E.offset,_=E.dataStartIndex,D=E.dataEndIndex,R=E.updateId;return k.cloneElement(w,{key:w.key||"_recharts-brush",onChange:fg(j.handleBrushChange,w.props.onChange),data:T,x:ie(w.props.x)?w.props.x:A.left,y:ie(w.props.y)?w.props.y:A.top+A.height+A.brushBottom-(P.bottom||0),width:ie(w.props.width)?w.props.width:A.width,startIndex:_,endIndex:D,updateId:"brush-".concat(R)})}),ye(j,"renderReferenceElement",function(w,q,P){if(!w)return null;var T=j,E=T.clipPathId,A=j.state,_=A.xAxisMap,D=A.yAxisMap,R=A.offset,M=w.type.defaultProps||{},U=w.props,z=U.xAxisId,O=z===void 0?M.xAxisId:z,$=U.yAxisId,I=$===void 0?M.yAxisId:$;return k.cloneElement(w,{key:w.key||"".concat(q,"-").concat(P),xAxis:_[O],yAxis:D[I],viewBox:{x:R.left,y:R.top,width:R.width,height:R.height},clipPathId:E})}),ye(j,"renderActivePoints",function(w){var q=w.item,P=w.activePoint,T=w.basePoint,E=w.childIndex,A=w.isRange,_=[],D=q.props.key,R=q.item.type.defaultProps!==void 0?G(G({},q.item.type.defaultProps),q.item.props):q.item.props,M=R.activeDot,U=R.dataKey,z=G(G({index:E,dataKey:U,cx:P.x,cy:P.y,r:4,fill:EC(q.item),strokeWidth:2,stroke:"#fff",payload:P.payload,value:P.value},Ie(M,!1)),cv(M));return _.push(v.renderActiveDot(M,z,"".concat(D,"-activePoint-").concat(E))),T?_.push(v.renderActiveDot(M,G(G({},z),{},{cx:T.x,cy:T.y}),"".concat(D,"-basePoint-").concat(E))):A&&_.push(null),_}),ye(j,"renderGraphicChild",function(w,q,P){var T=j.filterFormatItem(w,q,P);if(!T)return null;var E=j.getTooltipEventType(),A=j.state,_=A.isTooltipActive,D=A.tooltipAxis,R=A.activeTooltipIndex,M=A.activeLabel,U=j.props.children,z=Sr(U,Ii),O=T.props,$=O.points,I=O.isRange,Y=O.baseLine,W=T.item.type.defaultProps!==void 0?G(G({},T.item.type.defaultProps),T.item.props):T.item.props,F=W.activeDot,ae=W.hide,ge=W.activeBar,be=W.activeShape,Ne=!!(!ae&&_&&z&&(F||ge||be)),Me={};E!=="axis"&&z&&z.props.trigger==="click"?Me={onClick:fg(j.handleItemMouseEnter,w.props.onClick)}:E!=="axis"&&(Me={onMouseLeave:fg(j.handleItemMouseLeave,w.props.onMouseLeave),onMouseEnter:fg(j.handleItemMouseEnter,w.props.onMouseEnter)});var te=k.cloneElement(w,G(G({},T.props),Me));function me(Br){return typeof D.dataKey=="function"?D.dataKey(Br.payload):null}if(Ne)if(R>=0){var fe,Q;if(D.dataKey&&!D.allowDuplicatedCategory){var $e=typeof D.dataKey=="function"?me:"payload.".concat(D.dataKey.toString());fe=lv($,$e,M),Q=I&&Y&&lv(Y,$e,M)}else fe=$==null?void 0:$[R],Q=I&&Y&&Y[R];if(be||ge){var Ee=w.props.activeIndex!==void 0?w.props.activeIndex:R;return[k.cloneElement(w,G(G(G({},T.props),Me),{},{activeIndex:Ee})),null,null]}if(!Fe(fe))return[te].concat(gd(j.renderActivePoints({item:T,activePoint:fe,basePoint:Q,childIndex:R,isRange:I})))}else{var at,tt=(at=j.getItemByXY(j.state.activeCoordinate))!==null&&at!==void 0?at:{graphicalItem:te},_t=tt.graphicalItem,yn=_t.item,jn=yn===void 0?w:yn,Yi=_t.childIndex,Dn=G(G(G({},T.props),Me),{},{activeIndex:Yi});return[k.cloneElement(jn,Dn),null,null]}return I?[te,null,null]:[te,null]}),ye(j,"renderCustomized",function(w,q,P){return k.cloneElement(w,G(G({key:"recharts-customized-".concat(P)},j.props),j.state))}),ye(j,"renderMap",{CartesianGrid:{handler:yg,once:!0},ReferenceArea:{handler:j.renderReferenceElement},ReferenceLine:{handler:yg},ReferenceDot:{handler:j.renderReferenceElement},XAxis:{handler:yg},YAxis:{handler:yg},Brush:{handler:j.renderBrush,once:!0},Bar:{handler:j.renderGraphicChild},Line:{handler:j.renderGraphicChild},Area:{handler:j.renderGraphicChild},Radar:{handler:j.renderGraphicChild},RadialBar:{handler:j.renderGraphicChild},Scatter:{handler:j.renderGraphicChild},Pie:{handler:j.renderGraphicChild},Funnel:{handler:j.renderGraphicChild},Tooltip:{handler:j.renderCursor,once:!0},PolarGrid:{handler:j.renderPolarGrid,once:!0},PolarAngleAxis:{handler:j.renderPolarAxis},PolarRadiusAxis:{handler:j.renderPolarAxis},Customized:{handler:j.renderCustomized}}),j.clipPathId="".concat((y=b.id)!==null&&y!==void 0?y:af("recharts"),"-clip"),j.throttleTriggeredAfterMouseMove=uB(j.triggeredAfterMouseMove,(N=b.throttleDelay)!==null&&N!==void 0?N:1e3/60),j.state={},j}return ETe(v,x),qTe(v,[{key:"componentDidMount",value:function(){var y,N;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(y=this.props.margin.left)!==null&&y!==void 0?y:0,top:(N=this.props.margin.top)!==null&&N!==void 0?N:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var y=this.props,N=y.children,j=y.data,w=y.height,q=y.layout,P=Sr(N,Ii);if(P){var T=P.props.defaultIndex;if(!(typeof T!="number"||T<0||T>this.state.tooltipTicks.length-1)){var E=this.state.tooltipTicks[T]&&this.state.tooltipTicks[T].value,A=JN(this.state,j,T,E),_=this.state.tooltipTicks[T].coordinate,D=(this.state.offset.top+w)/2,R=q==="horizontal",M=R?{x:_,y:D}:{y:_,x:D},U=this.state.formattedGraphicalItems.find(function(O){var $=O.item;return $.type.name==="Scatter"});U&&(M=G(G({},M),U.props.points[T].tooltipPosition),A=U.props.points[T].tooltipPayload);var z={activeTooltipIndex:T,isTooltipActive:!0,activeLabel:E,activePayload:A,activeCoordinate:M};this.setState(z),this.renderCursor(P),this.accessibilityManager.setIndex(T)}}}},{key:"getSnapshotBeforeUpdate",value:function(y,N){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==N.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==y.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==y.margin){var j,w;this.accessibilityManager.setDetails({offset:{left:(j=this.props.margin.left)!==null&&j!==void 0?j:0,top:(w=this.props.margin.top)!==null&&w!==void 0?w:0}})}return null}},{key:"componentDidUpdate",value:function(y){I2([Sr(y.children,Ii)],[Sr(this.props.children,Ii)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var y=Sr(this.props.children,Ii);if(y&&typeof y.props.shared=="boolean"){var N=y.props.shared?"axis":"item";return l.indexOf(N)>=0?N:a}return a}},{key:"getMouseInfo",value:function(y){if(!this.container)return null;var N=this.container,j=N.getBoundingClientRect(),w=Cye(j),q={chartX:Math.round(y.pageX-w.left),chartY:Math.round(y.pageY-w.top)},P=j.width/N.offsetWidth||1,T=this.inRange(q.chartX,q.chartY,P);if(!T)return null;var E=this.state,A=E.xAxisMap,_=E.yAxisMap,D=this.getTooltipEventType(),R=B3(this.state,this.props.data,this.props.layout,T);if(D!=="axis"&&A&&_){var M=Ja(A).scale,U=Ja(_).scale,z=M&&M.invert?M.invert(q.chartX):null,O=U&&U.invert?U.invert(q.chartY):null;return G(G({},q),{},{xValue:z,yValue:O},R)}return R?G(G({},q),R):null}},{key:"inRange",value:function(y,N){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,w=this.props.layout,q=y/j,P=N/j;if(w==="horizontal"||w==="vertical"){var T=this.state.offset,E=q>=T.left&&q<=T.left+T.width&&P>=T.top&&P<=T.top+T.height;return E?{x:q,y:P}:null}var A=this.state,_=A.angleAxisMap,D=A.radiusAxisMap;if(_&&D){var R=Ja(_);return N5({x:q,y:P},R)}return null}},{key:"parseEventsOfWrapper",value:function(){var y=this.props.children,N=this.getTooltipEventType(),j=Sr(y,Ii),w={};j&&N==="axis"&&(j.props.trigger==="click"?w={onClick:this.handleClick}:w={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var q=cv(this.props,this.handleOuterEvent);return G(G({},q),w)}},{key:"addListener",value:function(){Uj.on(Vj,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Uj.removeListener(Vj,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(y,N,j){for(var w=this.state.formattedGraphicalItems,q=0,P=w.length;q<P;q++){var T=w[q];if(T.item===y||T.props.key===y.key||N===Xs(T.item.type)&&j===T.childIndex)return T}return null}},{key:"renderClipPath",value:function(){var y=this.clipPathId,N=this.state.offset,j=N.left,w=N.top,q=N.height,P=N.width;return L.createElement("defs",null,L.createElement("clipPath",{id:y},L.createElement("rect",{x:j,y:w,height:q,width:P})))}},{key:"getXScales",value:function(){var y=this.state.xAxisMap;return y?Object.entries(y).reduce(function(N,j){var w=D3(j,2),q=w[0],P=w[1];return G(G({},N),{},ye({},q,P.scale))},{}):null}},{key:"getYScales",value:function(){var y=this.state.yAxisMap;return y?Object.entries(y).reduce(function(N,j){var w=D3(j,2),q=w[0],P=w[1];return G(G({},N),{},ye({},q,P.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(y){var N;return(N=this.state.xAxisMap)===null||N===void 0||(N=N[y])===null||N===void 0?void 0:N.scale}},{key:"getYScaleByAxisId",value:function(y){var N;return(N=this.state.yAxisMap)===null||N===void 0||(N=N[y])===null||N===void 0?void 0:N.scale}},{key:"getItemByXY",value:function(y){var N=this.state,j=N.formattedGraphicalItems,w=N.activeItem;if(j&&j.length)for(var q=0,P=j.length;q<P;q++){var T=j[q],E=T.props,A=T.item,_=A.type.defaultProps!==void 0?G(G({},A.type.defaultProps),A.props):A.props,D=Xs(A.type);if(D==="Bar"){var R=(E.data||[]).find(function(O){return cqe(y,O)});if(R)return{graphicalItem:T,payload:R}}else if(D==="RadialBar"){var M=(E.data||[]).find(function(O){return N5(y,O)});if(M)return{graphicalItem:T,payload:M}}else if(Ry(T,w)||Dy(T,w)||jh(T,w)){var U=pSe({graphicalItem:T,activeTooltipItem:w,itemData:_.data}),z=_.activeIndex===void 0?U:_.activeIndex;return{graphicalItem:G(G({},T),{},{childIndex:z}),payload:jh(T,w)?_.data[U]:T.props.data[U]}}}return null}},{key:"render",value:function(){var y=this;if(!mA(this))return null;var N=this.props,j=N.children,w=N.className,q=N.width,P=N.height,T=N.style,E=N.compact,A=N.title,_=N.desc,D=M3(N,vTe),R=Ie(D,!1);if(E)return L.createElement(j3,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},L.createElement(L2,au({},R,{width:q,height:P,title:A,desc:_}),this.renderClipPath(),fA(j,this.renderMap)));if(this.props.accessibilityLayer){var M,U;R.tabIndex=(M=this.props.tabIndex)!==null&&M!==void 0?M:0,R.role=(U=this.props.role)!==null&&U!==void 0?U:"application",R.onKeyDown=function(O){y.accessibilityManager.keyboardEvent(O)},R.onFocus=function(){y.accessibilityManager.focus()}}var z=this.parseEventsOfWrapper();return L.createElement(j3,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},L.createElement("div",au({className:Re("recharts-wrapper",w),style:G({position:"relative",curs
721or:"default",width:q,height:P},T)},z,{ref:function($){y.container=$}}),L.createElement(L2,au({},R,{width:q,height:P,title:A,desc:_,style:_Te}),this.renderClipPath(),fA(j,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])}(k.Component);ye(g,"displayName",r),ye(g,"defaultProps",G({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},p)),ye(g,"getDerivedStateFromProps",function(x,v){var b=x.dataKey,y=x.data,N=x.children,j=x.width,w=x.height,q=x.layout,P=x.stackOffset,T=x.margin,E=v.dataStartIndex,A=v.dataEndIndex;if(v.updateId===void 0){var _=z3(x);return G(G(G({},_),{},{updateId:0},h(G(G({props:x},_),{},{updateId:0}),v)),{},{prevDataKey:b,prevData:y,prevWidth:j,prevHeight:w,prevLayout:q,prevStackOffset:P,prevMargin:T,prevChildren:N})}if(b!==v.prevDataKey||y!==v.prevData||j!==v.prevWidth||w!==v.prevHeight||q!==v.prevLayout||P!==v.prevStackOffset||!yu(T,v.prevMargin)){var D=z3(x),R={chartX:v.chartX,chartY:v.chartY,isTooltipActive:v.isTooltipActive},M=G(G({},B3(v,y,q)),{},{updateId:v.updateId+1}),U=G(G(G({},D),R),M);return G(G(G({},U),h(G({props:x},U),v)),{},{prevDataKey:b,prevData:y,prevWidth:j,prevHeight:w,prevLayout:q,prevStackOffset:P,prevMargin:T,prevChildren:N})}if(!I2(N,v.prevChildren)){var z,O,$,I,Y=Sr(N,ad),W=Y&&(z=(O=Y.props)===null||O===void 0?void 0:O.startIndex)!==null&&z!==void 0?z:E,F=Y&&($=(I=Y.props)===null||I===void 0?void 0:I.endIndex)!==null&&$!==void 0?$:A,ae=W!==E||F!==A,ge=!Fe(y),be=ge&&!ae?v.updateId:v.updateId+1;return G(G({updateId:be},h(G(G({props:x},v),{},{updateId:be,dataStartIndex:W,dataEndIndex:F}),v)),{},{prevChildren:N,dataStartIndex:W,dataEndIndex:F})}return null}),ye(g,"renderActiveDot",function(x,v,b){var y;return k.isValidElement(x)?y=k.cloneElement(x,v):Pe(x)?y=x(v):y=L.createElement(IC,v),L.createElement(kt,{className:"recharts-active-dot",key:b},y)});var f=k.forwardRef(function(v,b){return L.createElement(g,au({},v,{ref:b}))});return f.displayName=g.displayName,f},q7=WTe({chartName:"AreaChart",GraphicalChild:zi,axisComponents:[{axisType:"xAxis",AxisComp:mf},{axisType:"yAxis",AxisComp:hf}],formatAxisMap:RCe});const Mn=[.16,1,.3,1],HTe=[{year:"2015",pe:100,cac:100,sp:100},{year:"2016",pe:112,cac:105,sp:112},{year:"2017",pe:128,cac:116,sp:124},{year:"2018",pe:143,cac:105,sp:118},{year:"2019",pe:162,cac:134,sp:155},{year:"2020",pe:175,cac:127,sp:183},{year:"2021",pe:210,cac:164,sp:236},{year:"2022",pe:225,cac:148,sp:193},{year:"2023",pe:248,cac:172,sp:244},{year:"2024",pe:278,cac:173,sp:280},{year:"2025",pe:305,cac:185,sp:295}],GTe=({active:e,payload:n,label:r})=>!e||!n?null:t.jsxs("div",{className:"bg-card/95 backdrop-blur-xl border border-border/40 rounded-lg p-4 shadow-2xl",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-2 font-medium",children:r}),n.map(i=>t.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[t.jsx("div",{className:"w-2.5 h-2.5 rounded-full",style:{backgroundColor:i.color}}),t.jsxs("span",{className:"text-muted-foreground",children:[i.name,":"]}),t.jsx("span",{className:"font-medium text-foreground",children:i.value})]},i.name))]}),KTe=()=>{const[e,n]=k.useState(null),r=qq(),{tr:i}=K(),s="/blog/pe-secondaires",a=[{value:i(`Dès
72250 000 €`,`From
723€50,000`),label:i("Ticket d'entrée institutionnel","Institutional entry ticket")},{value:">10%",label:i("TRI cible visé par les gérants*","Managers' targeted IRR*")},{value:"0%",label:i("Sans commission de souscription","No subscription commission")},{value:"7-10 ans",label:i("Capital immobilisé sur la durée du fonds","Capital locked over the fund's life")}],o=[{icon:Lt,title:"Growth Capital",desc:i("Prise de participation minoritaire dans des entreprises déjà rentables, encore en accélération, dans l'objectif d'accompagner un changement de dimension avant une cession ou une cotation.","Minority stake in companies that are already profitable but still accelerating, supporting a step change ahead of a sale or listing.")},{icon:va,title:"Buyout (LBO)",desc:i("Reprise majoritaire d'entreprises établies, avec une part de dette d'acquisition. La création de valeur repose principalement sur des leviers opérationnels : marges, croissance externe, build-up, gouvernance.","Majority takeover of established companies, part-financed by acquisition debt. Value creation stems mainly from operational levers: margins, add-on M&A, build-up, governance.")},{icon:la,title:i("Secondaires","Secondaries"),desc:i("Reprise de positions dans des fonds déjà investis, souvent avec décote sur la valeur d'inventaire. L'intérêt : une visibilité plus grande sur le portefeuille sous-jacent et un profil J-Curve fortement atténué.","Purchase of positions in already-invested funds, often at a discount to NAV. The interest: better visibility on the underlying portfolio and a materially flattened J-curve.")},{icon:Bb,title:i("Dette Privée","Private Debt"),desc:i("Financement direct d'entreprises non cotées, en substitution ou en complément du crédit bancaire. Le profil vise un rendement régulier issu des intérêts, avec un risque de crédit à évaluer dossier par dossier.","Direct lending to non-listed companies, replacing or complementing bank credit. The profile aims for a steady coupon-driven return, with credit risk to be assessed deal by deal.")},{icon:ER,title:"Venture Capital",desc:i("Financement de sociétés en phase d'amorçage ou de développement précoce. Poche à forte dispersion des résultats : quelques dossiers portent la performance, une part des lignes ne rendra pas le capital investi.","Funding of seed or early-stage companies. A highly dispersed sleeve: a few names carry the returns, while some positions will not return the invested capital.")}
723,{icon:rn,title:"Infrastructure",desc:i("Financement d'actifs de long terme — production d'énergie, réseaux, mobilité, télécoms. Cash flows généralement contractualisés, indexés, mais fortement dépendants du cadre réglementaire et de la durée du concession.","Long-duration asset financing — power generation, networks, mobility, telecoms. Cash flows are typically contracted and indexed, but strongly tied to the regulatory framework and the concession length.")}],l=[{name:"Odyssey 2026",manager:"Altaroc",strategies:"Growth Equity, Buyout",triCible:"10-15%",minimum:"100 000 €",logo:nae,logoClass:"h-8",formUrl:"https://fo2m8.share-eu1.hsforms.com/23u_JrjpWQNyoYnNS2dfTYQ"},{name:"Five Arrows PE Fund",manager:"Rothschild & Co",strategies:"Buyout, Coinvestment",triCible:"15-20%",minimum:"100 000 €",logo:rae,logoClass:"h-7",formUrl:"https://fo2m8.share-eu1.hsforms.com/2Znyh76WGQhGu5LG8JGBp6g"},{name:"Committed Advisors Fund",manager:"Committed Advisors",strategies:"Buyout, Secondaries",triCible:"15-20%",minimum:"100 000 €",logo:iae,logoClass:"h-12",formUrl:"https://fo2m8.share-eu1.hsforms.com/2-GoZ3SAHSQW8i9Qb3o2KDA"},{name:"Ardian Buyout Fund",manager:"Ardian",strategies:"Buyout, Co-investment",triCible:"10-15%",minimum:"100 000 €",logo:sae,logoClass:"h-8",formUrl:"https://fo2m8.share-eu1.hsforms.com/22MOBvsPaQXmWhTI09o7_Yw"},{name:"EQT Equity Fund",manager:"EQT",strategies:"Buyout",triCible:"15-20%",minimum:"100 000 €",logo:aae,logoClass:"h-10",formUrl:"https://fo2m8.share-eu1.hsforms.com/2c1BZG6VSTSKj0I96ipytfA"},{name:"US MidCap Buyout Strategies",manager:"Neuberger Berman",strategies:"Buyout, Mid-Cap US",triCible:"15,5-16,5%",minimum:"100 000 €",logo:oae,logoClass:"h-10",formUrl:"https://fo2m8.share-eu1.hsforms.com/2Wr_H0oUJRjS0T0L93FJ_gg"}],c=[{title:i("Un moteur de rendement additionnel","An additional return engine"),desc:i("Historiquement, les fonds de premier quartile ont dégagé un TRI médian net proche de 12 à 15 % sur longue période. Cette dispersion entre gérants est forte : la sélection du fonds pèse autant que l'exposition à la classe d'actifs.","Historically, top-quartile funds have posted net median IRRs in the 12–15% range over the long run. Dispersion between managers is wide: fund selection matters as much as exposure to the asset class itself.")},{title:i("Une exposition différente des marchés cotés","Exposure that differs from listed markets"),desc:i("La valorisation n'est pas mark-to-market quotidien. Les cycles suivis sont ceux des sociétés en portefeuille, pas ceux des indices, ce qui limite le stress court terme mais masque aussi les corrections tant qu'elles ne se matérialisent pas.","Valuation is not daily mark-to-market. The cycles followed are those of the portfolio companies, not those of indices — which dampens short-term stress but also delays visibility on corrections until they materialise.")},{title:i("Accès à des fonds difficilement ouverts au particulier","Access to funds rarely open to individuals"),desc:i("Colbr donne accès à des véhicules feeders sur des fonds normalement adressés aux compagnies d'assurance, aux fonds de pension et aux family offices institutionnels — avec des minima d'entrée abaissés, sans frais supplémentaires côté Colbr.","Colbr provides access to feeder vehicles into funds normally intended for insurance companies, pension funds and institutional family offices — with lowered entry minimums and no additional layer of fees on our side.")},{title:i("Cadres fiscaux à considérer","Tax frameworks worth reviewing"),desc:i("Selon votre situation, certains dispositifs peuvent avoir du sens : FCPR fiscal, PER, assurance-vie luxembourgeoise, ou remploi 150-0 B ter après cession d'entreprise. L'intérêt réel se juge au cas par cas — jamais uniquement pour l'avantage fiscal.","Depending on your situation, several regimes may apply: tax-eligible FCPR, PER, Luxembourg life insurance, or 150-0 B ter reinvestment following a business disposal. Real usefulness is assessed case by case — never for the tax break alone.")}],u=[{title:i("Assurance-vie","Life insurance"),desc:i("Loger une poche de non-coté dans un contrat luxembourgeois ou français permet de conserver le cadre successoral et fiscal du contrat, tout en logeant l'engagement long dans une enveloppe adaptée à ce type d'horizon.","Housing a private-markets sleeve inside a Luxembourg or French policy preserves the contract's estate and tax framework while placing the long-term commitment in a wrapper suited to that horizon."),link:"/assurance-vie"},{title:"PER",desc:i("Aligner un PER avec une allocation en non-coté peut faire sens : l'illiquidité du fonds se calque sur celle du plan, et les versements ouvrent droit à une déduction fiscale à l'entrée — à évaluer selon votre tranche marginale.","Aligning a P
723ER with a private-markets allocation can make sense: the fund's illiquidity matches that of the plan, and contributions are deductible on entry — to be weighed against your marginal tax bracket."),link:"/plan-epargne-retraite"},{title:i("Nominatif pur","Direct registered"),desc:i("Souscription en direct au registre du fonds, sans enveloppe intermédiaire. La forme la plus lisible : vous êtes porteur en nom propre, avec la fiscalité de droit commun sur les distributions et la plus-value de sortie.","Direct subscription on the fund's register, with no wrapper in between. The most transparent form: you hold in your own name, with standard tax treatment on distributions and exit gains."),link:"/scpi/nominatif"}],d=[{q:i("Qu'entend-on exactement par Private Equity ?","What is meant, precisely, by Private Equity?"),a:i("Le capital-investissement regroupe les prises de participation dans des entreprises non cotées : sociétés en croissance, reprises par LBO, restructurations, ou financements d'actifs longs. Le retour se matérialise à la sortie — cession industrielle, IPO, refinancement — et non par un dividende régulier.","Private capital covers equity stakes in non-listed companies: growth companies, LBO buyouts, restructurings, or long-duration asset financing. The return crystallises at exit — trade sale, IPO, refinancing — not through a regular dividend.")},{q:i("À partir de quel ticket peut-on commencer ?","What is the starting ticket size?"),a:i(`Notre plancher pratique se situe à
72450 000 €. Certains véhicules restent réservés à des tickets plus élevés (100 000 € et au-delà), notamment les stratégies buyout millésimées et les co-investissements. Le montant à engager doit rester cohérent avec la part de votre patrimoine que vous acceptez d'immobiliser plusieurs années.`,`Our practical floor is
725€50,000. Some funds still require larger tickets (€100,000 and above), typically vintage buyout strategies and co-investments. The amount committed should stay consistent with the share of wealth you are willing to lock up for several years.`)},{q:i("Combien de temps le capital reste-t-il immobilisé ?","How long does capital stay committed?"),a:i("Un fonds primaire déploie sur 3 à 5 ans puis restitue le capital sur les 4 à 6 années suivantes, soit une durée totale de 7 à 10 ans, parfois prolongée d'un à deux ans. Les stratégies secondaires raccourcissent ce cycle (4 à 6 ans). Il n'existe pas de marché de revente organisé sur ces parts : partez du principe que le capital est engagé jusqu'à liquidation du véhicule.","A primary fund calls capital over 3 to 5 years, then returns it over the following 4 to 6, for a total life of 7 to 10 years, sometimes extended by one or two. Secondary strategies shorten that cycle (4 to 6 years). There is no organised resale market for these interests: treat the capital as committed until the vehicle winds down.")},{q:i("Existe-t-il un risque de perte en capital ?","Is there a risk of capital loss?"),a:i("Oui, sans réserve. Certaines sociétés en portefeuille peuvent ne pas rendre le capital investi. Le fonds mutualise ce risque via un portefeuille de plusieurs dizaines de lignes, et le choix du gérant est déterminant — la performance moyenne masque une dispersion très large entre le premier et le dernier quartile.","Yes, unequivocally. Some portfolio companies may not return the invested capital. The fund mutualises this risk through several dozen positions, and manager selection is decisive — the average return hides very wide dispersion between top and bottom quartiles.")},{q:i("Quels indicateurs suivre pour juger d'un fonds ?","Which metrics matter to assess a fund?"),a:i("Trois lectures complémentaires : le TRI, qui intègre le calendrier des flux ; le MOIC (multiple sur capital investi), qui traduit la création de valeur brute ; et le DPI (Distributed to Paid-In), qui mesure ce qui a réellement été restitué en cash. Un TRI élevé associé à un DPI encore faible signifie que la performance affichée reste en grande partie latente.","Three complementary readings: IRR, which factors in the timing of cash flows; MOIC (multiple on invested capital), which reflects gross value creation; and DPI (Distributed to Paid-In), which captures what has actually been returned in cash. A high IRR coupled with a still-low DPI means most of the reported performance remains unrealised.")},{q:i("Comment se décomposent les frais réels ?","How do fees actually break down?"),a:i("Trois blocs à distinguer : les frais de gestion du fonds (1,5 % à 2 % par an sur les engagements ou les actifs), le carried interest (autour de 20 % au-delà d'un seuil de rentabilité, typiquement 8 %), et, le cas échéant, les frais du véhicule feeder par lequel vous accédez au fonds. Colbr n'ajoute pas de commission de souscription à cet ensemble.","Three blocks to separate: fund management fees (1.5% to 2% per year on commitments or NAV), carried interest (around 20% above a hurdle, typically 8%), and, where relevant, feeder-vehicle fees through which you access the fund. Colbr does not add a subscription commission on top.")},{q:i("Peut-on loger cette allocation dans une enveloppe ?","Can this allocation sit inside a tax wrapper?"),a:i("Une partie des fonds de notre sélection est éligible à l'assurance-vie (française ou luxembourgeoise) et au PER. Cela peut aligner l'illiquidité du sous-jacent avec celle de l'enveloppe, tout en optimisant la fiscalité à la sortie. L'éligibilité s'apprécie contrat par contrat et fonds par fonds — nous validons ce point en amont de toute souscription.","Part of our selection is eligible for life insurance (French or Luxembourg) and PER. This can align the underlying's illiquidity with the wrapper's, while optimising taxation at exit. Eligibility must be checked contract by contract and fund by fund — we confirm this before any subscription.")},{q:i("À qui s'adresse cette classe d'actifs ?","Who is this asset class for?"),a:i("À un investisseur qui a déjà c
725onstitué une allocation liquide cohérente (livrets, contrats en euros, actions cotées) et qui peut se permettre d'engager une fraction limitée de son patrimoine sur plusieurs années sans devoir la mobiliser. Ce n'est pas une porte d'entrée en épargne, c'est une brique de diversification en aval.","An investor who has already built a coherent liquid allocation (savings, euro-denominated contracts, listed equities) and can commit a limited fraction of wealth over several years without needing to touch it. It is not an entry point to saving — it is a downstream diversification block.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Mn},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:"Private Equity"}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[i("Private Equity :","Private Equity:")," ",t.jsx("span",{className:"text-gradient-gold",children:i("accès institutionnel, ticket 50k€+","institutional access, tickets from €50k+")})]}),t.jsxs("ul",{className:"space-y-3 text-muted-foreground text-lg leading-relaxed mb-8 max-w-lg",children:[t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary mt-2.5 shrink-0"}),i("Pre-IPO, secondaire, co-investment","Pre-IPO, secondaries, co-investment")]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary mt-2.5 shrink-0"}),i("12-18% IRR cible, diversifié par secteur/vintage","12-18% target IRR, diversified by sector/vintage")]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary mt-2.5 shrink-0"}),i("Due diligence internalisée, reporting temps réel","Internal due diligence, real-time reporting")]})]}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs(C,{to:"/produits-structures",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[i("Voir les fonds","See the funds"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:i("Cadrer un premier échange","Set up an initial call")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:Mn},className:"grid grid-cols-2 gap-4",children:a.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+m*.08,ease:Mn},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1 whitespace-pre-line",children:p.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:p.label})]},m))})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Mn},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:i("Ce que le non-coté a apporté","What private markets have delivered")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[i("Un moteur de rendement historique,","A historical return engine,")," ",t.jsx("span",{className:"text-gradient-gold",children:i("avec une lecture prudente","read with caution")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:i("Sur la décennie écoulée, les fonds de premier quartile ont largement devancé les indices actions. Il ne s'agit pas d'une règle mécanique : la dispersion entre gérants reste très large et la performance passée ne préjuge pas de celle à venir.","Over the past decade, top-quartile funds have significantly outpaced equity indices. This is not a mechanical rule: manager dispersion remains wide and past performance does not predict future returns.")})]}),t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:Mn},className:"p-6 md:p-10 rounded-2xl bg-card/40 border border-border/30 mb-12",children:[t.jsx(dB,{width:"100%",height:400,children:t.jsxs(q7,{data:HTe,margin:{top:10,right:10,left:-10,bottom:0},children:[t.jsxs("defs",{children:[t.jsxs("linearGradient",{id:"gradientPE",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"5%",
725stopColor:"hsl(var(--primary))",stopOpacity:.3}),t.jsx("stop",{offset:"95%",stopColor:"hsl(var(--primary))",stopOpacity:0})]}),t.jsxs("linearGradient",{id:"gradientCAC",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"5%",stopColor:"#6b7280",stopOpacity:.15}),t.jsx("stop",{offset:"95%",stopColor:"#6b7280",stopOpacity:0})]}),t.jsxs("linearGradient",{id:"gradientSP",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"5%",stopColor:"#3b82f6",stopOpacity:.15}),t.jsx("stop",{offset:"95%",stopColor:"#3b82f6",stopOpacity:0})]})]}),t.jsx(BC,{strokeDasharray:"3 3",stroke:"hsl(var(--border) / 0.2)",vertical:!1}),t.jsx(mf,{dataKey:"year",tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},axisLine:{stroke:"hsl(var(--border) / 0.3)"},tickLine:!1}),t.jsx(hf,{tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},axisLine:!1,tickLine:!1,domain:[80,340]}),t.jsx(Ii,{content:t.jsx(GTe,{})}),t.jsx(Bl,{verticalAlign:"top",height:36,iconType:"circle",iconSize:8,formatter:p=>t.jsx("span",{style:{color:"hsl(var(--muted-foreground))",fontSize:12},children:p})}),t.jsx(zi,{type:"monotone",dataKey:"pe",name:"Private Equity (1er quartile)",stroke:"hsl(var(--primary))",strokeWidth:2.5,fill:"url(#gradientPE)",dot:!1,activeDot:{r:5,strokeWidth:2,stroke:"hsl(var(--primary))",fill:"hsl(var(--background))"}}),t.jsx(zi,{type:"monotone",dataKey:"sp",name:"S&P 500",stroke:"#3b82f6",strokeWidth:1.5,fill:"url(#gradientSP)",dot:!1,activeDot:{r:4,strokeWidth:2,stroke:"#3b82f6",fill:"hsl(var(--background))"}}),t.jsx(zi,{type:"monotone",dataKey:"cac",name:"CAC 40",stroke:"#6b7280",strokeWidth:1.5,fill:"url(#gradientCAC)",dot:!1,activeDot:{r:4,strokeWidth:2,stroke:"#6b7280",fill:"hsl(var(--background))"}})]})}),t.jsx("p",{className:"text-[11px] text-muted-foreground/50 mt-4 text-center",children:i("*Données indicatives basées sur les indices de référence. Les performances passées ne préjugent pas des performances futures.","*Indicative data based on benchmark indices. Past performance is not indicative of future results.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:c.map((p,m)=>t.jsxs(S.button,{type:"button",onClick:()=>r(s),initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Mn,delay:m*.1},className:"block w-full p-8 rounded-2xl bg-card/40 border border-border/30 text-left transition-colors hover:bg-card/60 hover:border-border/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 cursor-pointer",children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:p.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p.desc})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Mn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:i("Six angles pour construire l'allocation","Six angles to build the allocation")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[i("Comprendre ce que","Understanding what")," ",t.jsx("span",{className:"text-gradient-gold",children:i("finance chaque stratégie","each strategy actually finances")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:i("Chaque famille de stratégie répond à un profil de risque et à un horizon différents. Les combiner par millésimes permet d'étaler à la fois les périodes de déploiement et les fenêtres de sortie.","Each strategy family answers a distinct risk profile and horizon. Combining them across vintages spreads both deployment periods and exit windows.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:o.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Mn,delay:m*.08},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(p.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:p.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p.desc})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Mn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:i("Notre sélection actuelle","Our current selection")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[i("Fonds","Funds")," ",t.jsx("span",{className:"text-gradient-gold",children:i("accessibles via Colbr","accessible through Colbr")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:i("Un nombre volontairement limité de véhicules retenus après due diligence — historique du gérant, discipline d'allocation, alignement d'intérêts, calendrier de restitution.","A deliberately limited set of vehicles selected through due diligence — manager track record, allocation discipline, alignment of interests, distribution schedule.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8",children:l.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:Mn,delay:m*.06},className:"relative rounded-2xl bg-gradient-to-br from-card via-card to-[hsl(var(--primary)/0.03)] border border-border/30 hover:border-primary/40 hover:shadow-[0_12px_50px_-15px_hsl(var(--primary)/0.2)] transition-all duration-500 flex flex-col overflow-hidden group",children:[t.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 bg-[radial-gradient(circle_at_100%_0%,hsl(var(--primary)/0.08),transparent_70%)] opacity-0 group-hover:opacity-100 transition-opacity duration-700 pointer-events-none"}),t.jsx("div",{className:"relative h-36 flex items-center justify-center p-8 border-b border-border/20 bg-gradient-to-b from-[hsl(var(--surface-elevated))] to-card",children:t.jsx("img",{src:p.logo,alt:p.manager,className:`${p.logoClass} w-auto max-w-[80%] object-contain opacity-90 group-hover:opacity-100 group-hover:scale-105 transition-all duration-500 brightness-0`})}),t.jsxs("div",{className:"px-6 pb-6 pt-4 flex flex-col flex-1",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-1 group-hover:text-gradient-gold transition-all duration-300",children:p.manager}),t.jsx("p",{className:"text-xs text-muted-foreground mb-5 blur-[4px] select-none group-hover:blur-none transition-all duration-500 cursor-default",children:p.name}),t.jsxs("div",{className:"space-y-3.5 pt-4 border-t border-border/20 flex-1",children:[t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-muted-foreground text-xs",children:i("Stratég
725ies","Strategies")}),t.jsx("span",{className:"text-foreground text-right text-xs font-medium",children:p.strategies})]}),t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-muted-foreground text-xs",children:i("TRI cible","Target IRR")}),t.jsx("span",{className:"font-display font-semibold text-lg text-primary",children:p.triCible})]}),t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-muted-foreground text-xs",children:i("À partir de","From")}),t.jsx("span",{className:"font-medium text-foreground text-sm",children:p.minimum})]})]}),p.formUrl?t.jsx(xt,{shareUrl:p.formUrl,title:i(`Recevoir la brochure ${p.manager}`,`Receive the ${p.manager} brochure`),description:i(`Renseignez vos coordonnées pour recevoir la brochure confidentielle ${p.manager} par e-mail.`,`Enter your details to receive the confidential ${p.manager} brochure by email.`),eyebrow:i("Demande de brochure","Brochure request"),children:t.jsxs("button",{type:"button",className:"mt-6 inline-flex items-center justify-center gap-2 w-full py-3 text-sm font-medium rounded-lg bg-primary/10 border border-primary/20 text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 group-hover:border-primary/40",children:[i("Découvrir la sélection","Explore the selection"),t.jsx(V,{className:"w-3.5 h-3.5 group-hover:translate-x-0.5 transition-transform"})]})}):t.jsxs("a",{href:"#rdv",className:"mt-6 inline-flex items-center justify-center gap-2 w-full py-3 text-sm font-medium rounded-lg bg-primary/10 border border-primary/20 text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 group-hover:border-primary/40",children:[i("Découvrir la sélection","Explore the selection"),t.jsx(V,{className:"w-3.5 h-3.5 group-hover:translate-x-0.5 transition-transform"})]})]})]},p.name))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Mn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:i("Où loger cette allocation","Where to hold this allocation")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[i("Choisir l'enveloppe cohérente","Pick the wrapper that fits")," ",t.jsx("span",{className:"text-gradient-gold",children:i("avec votre situation","your situation")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:i("Le choix de l'enveloppe n'est pas neutre : il conditionne la fiscalité de sortie, la transmission et la souplesse d'arbitrage. À arbitrer en fonction de votre horizon et du reste de votre allocation.","The wrapper is not a neutral choice: it drives exit taxation, estate treatment and rebalancing flexibility. To be weighed against your horizon and the rest of your allocation.")})]}),t.jsx("div",{className:"flex flex-wrap justify-center gap-6 [&>*]:w-full md:[&>*]:w-[calc(50%-0.75rem)] lg:[&>*]:w-[calc(25%-1.125rem)]",children:u.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Mn,delay:m*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300 flex flex-col",children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:p.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-6 flex-1",children:p.desc}),t.jsxs("a",{href:p.link,className:"inline-flex items-center gap-2 text-sm text-primary hover:underline",children:[i("Découvrir","Discover")," ",p.title,t.jsx(V,{className:"w-3.5 h-3.5"})]})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Mn},className:"text-center p-12 rounded-2xl bg-primary/[0.04] border border-primary/20",children:[t.jsx(qd,{className:"w-10 h-10 text-primary mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl tracking-tight mb-4",children:i("Cadrer une allocation en non-coté","Framing a private markets allocation")}),t.jsx("p",{className:"text-muted-foreground max-w-lg mx-auto mb-8",children:i("Avant toute souscription, nous prenons le temps de resituer cette poche dans votre patrimoine global : part à engager, calendrier de déploiement, choix des stratég
725ies, enveloppe de détention. Un premier échange, sans engagement.","Before any subscription, we take the time to place this sleeve within your overall wealth: share to commit, deployment schedule, choice of strategies, holding wrapper. A first, no-strings conversation.")}),t.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[t.jsxs("a",{href:"https://app.colbr.co",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[i("Découvrir notre sélection","Explore our selection"),t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:i("Prendre rendez-vous","Book an appointment")})]})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Mn},className:"text-center mb-16",children:t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[i("Questions","Frequently asked")," ",t.jsx("span",{className:"text-gradient-gold",children:i("fréquentes","questions")})]})}),t.jsx("div",{className:"space-y-3",children:d.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,delay:m*.05,ease:Mn},className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>n(e===m?null:m),className:"w-full flex items-center justify-between px-6 py-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:p.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${e===m?"rotate-180":""}`})]}),e===m&&t.jsx(S.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},transition:{duration:.2},className:"px-6 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p.a})})]},m))})]})}),t.jsx(Ft,{items:[{to:"/club-deal",label:i("Club Deal","Club Deal"),description:i("Co-investissez avec d'autres investisseurs sur des opérations sélectionnées.","Co-invest with other investors in selected transactions."),eyebrow:i("Investissement direct","Direct investment")},{to:"/assurance-vie-luxembourgeoise",label:i("Assurance-vie luxembourgeoise","Luxembourg life insurance"),description:i("Logez vos parts de Private Equity dans une enveloppe luxembourgeoise.","Hold your Private Equity interests within a Luxembourg insurance wrapper."),eyebrow:i("Structuration","Structuring")},{to:"/produits-structures",label:i("Produits structurés","Structured products"),description:i("Diversifiez avec des produits à formule au profil rendement-risque calibré.","Diversify with formula-based products offering a calibrated risk/return profile."),eyebrow:i("Diversification","Diversification")}]}),t.jsx($o,{items:[{to:"/blog/courbe-en-j",eyebrow:"Comprendre",title:"La courbe en J et les appels de fonds",description:"Pourquoi la performance se dessine dans la durée."},{to:"/blog/pe-secondaires",eyebrow:"Liquidité",title:"Le marché secondaire du private equity",description:"Une voie d’accès à des portefeuilles déjà constitués."},{to:"/club-deal",eyebrow:"Solution",title:"Les club deals Colbr",description:"Immobilier, late-stage venture et art, opération par opération."},{to:"/blog/patrimoine-structure-dediee",eyebrow:"Structuration",title:"Loger le non-coté dans une structure dédiée",description:"Holding, contrat, détention directe : les arbitrages."}]}),t.jsx(re,{})]})},QTe=1,YTe="4e1490e9-aa20-477c-b69d-f4672a661d07",JTe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",XTe="/__l5e/assets-v1/4e1490e9-aa20-477c-b69d-f4672a661d07/les-echos-colbr.pdf",ZTe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/4e1490e9-aa20-477c-b69d-f4672a661d07/les-echos-colbr.pdf",eIe="les-echos-colbr.pdf",tIe=176698,nIe="application/pdf",rIe
725="2026-06-05T07:09:46Z",iIe={version:QTe,asset_id:YTe,project_id:JTe,url:XTe,r2_key:ZTe,original_filename:eIe,size:tIe,content_type:nIe,created_at:rIe},sIe="/assets/scpi-bfm-thumbnail-DiRQBseY.png",aIe="/assets/logo-remake-Cl5Cty6-.png",oIe="/assets/logo-wemo-reim-TLmwHOyZ.png",lIe="/assets/logo-arkea-reim-C0DoWkdW.png",cIe="/assets/logo-axa-CJDoWVaS.png",uIe="/assets/logo-cfcal-C9YGm-E0.png",dIe="/assets/logo-ca-B_AsSvp_.png",Xt=[.16,1,.3,1],pIe=()=>{const{tr:e}=K(),[n,r]=k.useState(null),[i,s]=k.useState(!1),a=[{value:e(`Dès
7261 000 €`,`From
727€1,000`),label:e("Investissement minimum","Minimum investment")},{value:"~7%*",label:e("Rendement moyen 2025 de notre sélection","Average 2025 yield of our selection")},{value:"<5%",label:e("Des SCPI du marché sélectionnées","Of market SCPI funds selected")},{value:e("Long terme","Long term"),label:e("Horizon recommandé","Recommended horizon")}],o=[{icon:Lt,title:e("Revenus réguliers","Regular income"),desc:e(`Percevez des loyers trimestriels sans les contraintes de la gestion locative. Un revenu passif accessible dès
7281 000 €.`,`Receive quarterly rental income without the burden of property management. Passive income accessible from
729€1,000.`)},{icon:yR,title:e("Diversification immobilière","Real estate diversification"),desc:e("Investissez dans un portefeuille diversifié de bureaux, commerces, logistique et santé à travers l'Europe.","Invest in a diversified portfolio of offices, retail, logistics and healthcare assets across Europe.")},{icon:We,title:e("Mutualisation du risque","Risk pooling"),desc:e("Votre investissement est réparti sur des dizaines d'actifs et de locataires, réduisant considérablement le risque locatif.","Your investment is spread across dozens of assets and tenants, significantly reducing rental risk.")},{icon:St,title:e("Accessibilité","Accessibility"),desc:e("Contrairement à l'immobilier en direct, la SCPI permet d'investir dès quelques centaines d'euros sans gestion ni emprunt obligatoire.","Unlike direct property investment, SCPI (French real-estate funds) allow you to invest from just a few hundred euros, with no management obligations or mandatory borrowing.")}],l=[{name:"Remake Live",manager:"Remake",sector:e("Bureaux, Logistique, Locaux d'activité, Commerces","Offices, Logistics, Business premises, Retail"),tdCible:"7,05%*",tdLabel:"TD 2025",minimum:"204 €",logo:aIe,logoClass:"h-8",logoFilter:"brightness-0",formUrl:"https://fo2m8.share-eu1.hsforms.com/21GTHM-C_QSqb8Gx0eIBzcw"},{name:"Wemo One",manager:"Wemo REIM",sector:e("Commerces, Bureaux, Hôtels, Santé","Retail, Offices, Hotels, Healthcare"),tdCible:"15,27%*",tdLabel:"TD 2025",minimum:"200 €",logo:oIe,logoClass:"h-12",logoFilter:"brightness-0",formUrl:"https://fo2m8.share-eu1.hsforms.com/2qnaGNp3nTJCWU1yD9-vw3w"},{name:"Transitions Europe",manager:"Arkéa REIM",sector:e("Bureaux, Santé, Logistique, Résidentiel","Offices, Healthcare, Logistics, Residential"),tdCible:"7,60%*",tdLabel:"TD 2025",minimum:"202 €",logo:lIe,logoClass:"h-10",logoFilter:"brightness-0",formUrl:"https://fo2m8.share-eu1.hsforms.com/26BdujVepRK-LGwlZa8xpOw"}],c=[{title:e("Assurance-vie","Life insurance (assurance-vie)"),desc:e("Intégrez des SCPI à votre assurance-vie pour combiner rendement immobilier et fiscalité avantageuse.","Incorporate SCPI funds into your life insurance policy to combine real-estate returns with favourable tax treatment."),link:"/assurance-vie"},{title:e("Nominatif pur","Direct ownership"),desc:e("Souscription en direct auprès de la société de gestion, la forme la plus directe d'investissement en SCPI.","Subscribe directly with the management company — the most straightforward form of SCPI investment."),link:"/scpi/nominatif"}],u=[{q:e("Qu'est-ce qu'une SCPI ?","What is a SCPI?"),a:e("Une Société Civile de Placement Immobilier (SCPI) est un véhicule d'investissement collectif qui permet d'investir dans l'immobilier professionnel (bureaux, commerces, entrepôts, santé…) sans les contraintes de la gestion directe. Les investisseurs perçoivent des revenus locatifs proportionnels à leur investissement.","A SCPI (Société Civile de Placement Immobilier) is a collective investment vehicle that provides exposure to commercial real estate — offices, retail, warehouses, healthcare — without the complexities of direct ownership. Investors receive rental income in proportion to their investment.")},{q:e("Quel est le rendement attendu ?","What is the expected return?"),a:e("Le taux de distribution moyen des SCPI se situe autour de 4,5% à 7% selon les stratég
729ies et les sociétés de gestion. Notre sélection se concentre sur les SCPI offrant un rendement supérieur à la moyenne du marché, tout en maintenant une gestion rigoureuse du risque.","The average distribution rate for SCPI funds ranges from approximately 4.5% to 7%, depending on strategy and management company. Our selection focuses on funds delivering above-market yields while maintaining rigorous risk management.")},{q:e("Quels sont les risques ?","What are the risks?"),a:e("Comme tout investissement immobilier, les SCPI comportent un risque de perte en capital et un risque de liquidité. Les revenus ne sont pas garantis et peuvent varier. La diversification des actifs et des locataires au sein d'une SCPI permet de mitiger ces risques par rapport à un investissement immobilier en direct.","Like any real-estate investment, SCPI funds carry capital loss risk and liquidity risk. Returns are not guaranteed and may vary. The diversification of assets and tenants within a SCPI helps mitigate these risks compared with direct property investment.")},{q:e("Puis-je investir en SCPI via mon assurance-vie ?","Can I invest in SCPI through my life insurance policy?"),a:e("Oui, de nombreuses SCPI sont référencées dans nos contrats d'assurance-vie. Cela permet de bénéficier de la fiscalité avantageuse de l'assurance-vie tout en accédant aux rendements de l'immobilier.","Yes, many SCPI funds are available within our life insurance contracts, allowing you to benefit from favourable tax treatment while accessing real-estate returns.")},{q:e("Quelle est la durée d'investissement recommandée ?","What is the recommended investment horizon?"),a:e("La SCPI est un investissement de long terme. Nous recommandons un horizon minimum de 8 à 10 ans pour lisser les cycles immobiliers et optimiser la performance globale de votre investissement.","SCPI is a long-term investment. We recommend a minimum horizon of 8 to 10 years in order to smooth out real-estate cycles and optimise the overall performance of your portfolio.")},{q:e("Comment Colbr sélectionne-t-il les SCPI ?","How does Colbr select SCPI funds?"),a:e("Notre équipe analyse rigoureusement chaque SCPI selon des critères quantitatifs (rendement, taux d'occupation, valeur de reconstitution) et qualitatifs (qualité de la société de gestion, stratégie d'acquisition, diversification géographique et sectorielle). Seules les SCPI répondant à nos exigences intègrent notre sélection.","Our team rigorously analyses each SCPI against quantitative criteria (yield, occupancy rate, reconstitution value) and qualitative criteria (management company quality, acquisition strategy, geographic and sector diversification). Only funds that meet our standards are included in our selection.")}],d=[e(`"Il est nécessaire de s'intéresser aux méthodes de valorisation qui distinguent les foncières cotées des SCPI."`,'"It is essential to examine the valuation methods that distinguish listed REITs from SCPI funds."'),e('"Les foncières cotées ont décroché de près de 29% par rapport aux SCPI en 2020."','"Listed real-estate companies underperformed SCPI funds by nearly 29% in 2020."'),e('"Du fait des mutations à venir dans le secteur immobilier, les épargnants vont devoir réétudier leurs stratégies de placement."','"Given the structural changes ahead in the real-estate sector, investors will need to reassess their allocation strategies."')];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Xt},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Immobilier · SCPI","Real Estate · SCPI")}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[e("Investissez dans","Invest in")," ",t.jsx("span",{className:"text-gradient-gold",children:e("l'immobilier","real estate")}),t.jsx("br",{}),e("sans contrainte","without constraint")]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8 max-w-lg",children:e(`Accédez aux meilleures SCPI du marché et percevez des revenus locatifs réguliers. Dès
7301 000 €, sans frais de souscription additionnels.`,`Access the best SCPI funds on the market and receive regular rental income. From
731€1,000, with no additional subscription fees.`)}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs("a",{href:"https://app.colbr.co",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Découvrir notre sélection","Explore our selection"),t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Échanger avec un conseiller","Speak with an adviser")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20}
731,animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:Xt},className:"grid grid-cols-2 gap-4",children:a.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+m*.08,ease:Xt},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1 whitespace-pre-line",children:p.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:p.label})]},p.label))})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Pourquoi la SCPI","Why SCPI")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("L'immobilier accessible,","Real estate made accessible,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("sans contrainte","without constraint")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Avant de découvrir notre sélection, comprenez pourquoi la SCPI s'impose comme le véhicule immobilier le plus adapté aux investisseurs exigeants.","Before exploring our selection, understand why SCPI has established itself as the real-estate vehicle best suited to discerning investors.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:o.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Xt,delay:m*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300",children:[t.jsx(p.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:p.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p.desc})]},p.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Sélection","Selection")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Une sélection","A")," ",t.jsx("span",{className:"text-gradient-gold",children:e("exigeante","rigorous selection")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Parmi les centaines de SCPI analysées chaque année, seules quelques-unes intègrent notre sélection. En voici trois.","From the hundreds of SCPI funds analysed every year, only a handful make it into our selection. Here are three of them.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8",children:l.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:Xt,delay:m*.06},className:"relative rounded-2xl bg-gradient-to-br from-card via-card to-[hsl(var(--primary)/0.03)] border border-border/30 hover:border-primary/40 hover:shadow-[0_12px_50px_-15px_hsl(var(--primary)/0.2)] transition-all duration-500 flex flex-col overflow-hidden group",children:[t.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 bg-[radial-gradient(circle_at_100%_0%,hsl(var(--primary)/0.08),transparent_70%)] opacity-0 group-hover:opacity-100 transition-opacity duration-700 pointer-events-none"}),t.jsx("div",{className:"relative h-36 flex items-center justify-center p-8 border-b border-border/20 bg-gradient-to-b from-[hsl(var(--surface-elevated))] to-card",children:t.jsx("img",{src:p.logo,alt:p.manager,className:`${p.logoClass} w-auto max-w-[80%] object-contain opacity-100 group-hover:scale-105 transition-all duration-500 ${p.logoFilter}`})}),t.jsxs("div",{className:"px-6 pb-6 pt-4 flex flex-col flex-1",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-1 group-hover:text-gradient-gold transition-all duration-300",children:p.manager}),t.jsx("p",{className:"text-xs text-muted-foreground mb-5 blur-[4px] select-none group-hover:blur-none transition-all duration-500 cursor-default",children:p.name}),t.jsxs("div",{className:"space-y-3.5 pt-4 border-t border-border/20 flex-1",children:[t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-muted-foreground text-xs",children:e("Secteur","Sector")}
731),t.jsx("span",{className:"text-foreground text-right text-xs font-medium max-w-[60%]",children:p.sector})]}),t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-muted-foreground text-xs",children:p.tdLabel||"TD 2024"}),t.jsx("span",{className:"font-display font-semibold text-lg text-primary",children:p.tdCible})]}),t.jsxs("div",{className:"flex justify-between items-center text-sm",children:[t.jsx("span",{className:"text-muted-foreground text-xs",children:e("Prix de part","Share price")}),t.jsx("span",{className:"font-medium text-foreground text-sm",children:p.minimum})]})]}),p.formUrl?t.jsx(xt,{shareUrl:p.formUrl,title:e(`Recevoir la brochure ${p.manager}`,`Receive the ${p.manager} brochure`),description:e(`Renseignez vos coordonnées pour recevoir la brochure dédiée à la SCPI ${p.manager}.`,`Enter your details to receive the dedicated brochure for the ${p.manager} SCPI fund.`),eyebrow:e("Demande de brochure","Brochure request"),children:t.jsxs("button",{type:"button",className:"mt-6 inline-flex items-center justify-center gap-2 w-full py-3 text-sm font-medium rounded-lg bg-primary/10 border border-primary/20 text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 group-hover:border-primary/40",children:[e("Découvrir","Discover"),t.jsx(V,{className:"w-3.5 h-3.5 group-hover:translate-x-0.5 transition-transform"})]})}):t.jsxs("a",{href:"https://app.colbr.co",target:"_blank",rel:"noopener noreferrer",className:"mt-6 inline-flex items-center justify-center gap-2 w-full py-3 text-sm font-medium rounded-lg bg-primary/10 border border-primary/20 text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 group-hover:border-primary/40",children:[e("Découvrir","Discover"),t.jsx(V,{className:"w-3.5 h-3.5 group-hover:translate-x-0.5 transition-transform"})]})]})]},p.name))}),t.jsx("p",{className:"text-[11px] text-muted-foreground/50 mt-6 text-center italic",children:e("*Les performances passées ne préjugent pas des performances futures.","*Past performance is not indicative of future results.")}),t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Xt,delay:.2},className:"mt-12 text-center",children:[t.jsx("p",{className:"text-muted-foreground text-sm mb-5",children:e("Et d'autres SCPI disponibles sur demande, notre sélection évolue en permanence selon nos convictions de marché.","Additional SCPI funds are available on request — our selection evolves continuously in line with our market convictions.")}),t.jsxs("a",{href:"https://app.colbr.co/auth/signin?callbackUrl=https%3A%2F%2Fapp.colbr.co%2F&error=SessionRequired",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-primary/30 text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 rounded-lg",children:[e("Découvrir l'intégralité de notre sélection","Explore our full selection"),t.jsx(V,{className:"w-4 h-4"})]})]})]})}),t.jsxs("section",{className:"py-24 border-t border-border/20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_70%_30%,hsl(var(--primary)/0.04),transparent_60%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-[1fr_1.2fr] gap-12 lg:gap-20 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:Xt},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(BQ,{className:"w-5 h-5 text-primary/70"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Tribune · Les Echos · Mars 2021","Op-ed · Les Echos · March 2021")})]}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-6 leading-tight",children:[e("Comment nous faisons","What sets us")," ",t.jsx("span",{className:"text-gradient-gold",children:e("la différence","apart")})," ?"]}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6 text-justify",children:e("En mars 2021, deux ans avant les premières baisses de prix de parts, Gustav Sondén, cofondateur de C
731olbr, publiait dans Les Echos une tribune alertant sur les risques structurels de l'immobilier commercial. Cette capacité d'anticipation guide chacune de nos recommandations.","In March 2021, two years before the first share-price declines, Gustav Sondén, co-founder of Colbr, published an op-ed in Les Echos warning of structural risks in commercial real estate. This capacity for anticipation underpins each of our recommendations.")}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-8 text-sm text-justify",children:e("Résultat : nos clients ont été protégés de la crise de 2023, et orientés vers les SCPI qui aujourd'hui surperforment le marché.","As a result, our clients were shielded from the 2023 downturn and directed towards the SCPI funds that are outperforming the market today.")}),t.jsx("div",{className:"flex flex-wrap gap-4",children:t.jsxs("a",{href:iIe.url,download:"Les-Echos-Colbr.pdf",className:"inline-flex items-center gap-2 px-6 py-3 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Télécharger l'article","Download the article"),t.jsx(Iq,{className:"w-4 h-4"})]})})]}),t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,delay:.15,ease:Xt},className:"relative",children:t.jsxs("div",{className:"p-8 md:p-10 rounded-2xl bg-card/60 border border-border/30 backdrop-blur-sm relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-40 h-40 bg-[radial-gradient(circle_at_100%_0%,hsl(var(--primary)/0.06),transparent_70%)] pointer-events-none"}),t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center",children:t.jsx("span",{className:"font-display text-lg text-primary",children:'"'})}),t.jsxs("div",{children:[t.jsx("p",{className:"text-sm font-medium",children:"Gustav Sondén"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:e("Cofondateur de Colbr · Les Echos, 30 mars 2021","Co-founder of Colbr · Les Echos, 30 March 2021")})]})]}),t.jsx("div",{className:"space-y-6",children:d.map((p,m)=>t.jsxs("div",{className:"flex gap-4 items-start",children:[t.jsx(gu,{className:"w-4 h-4 text-primary shrink-0 mt-1"}),t.jsx("p",{className:"text-sm text-foreground/90 leading-relaxed italic text-justify",children:p})]},m))}),t.jsx("div",{className:"mt-8 pt-6 border-t border-border/20",children:t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"h-px flex-1 bg-primary/20"}),t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-primary/50",children:e("2 ans avant la crise des SCPI de 2023","2 years before the 2023 SCPI downturn")}),t.jsx("div",{className:"h-px flex-1 bg-primary/20"})]})})]})})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:"BFM Business"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Faut-il encore investir","Should you still invest")," ",t.jsx("span",{className:"text-gradient-gold",children:e("en SCPI ?","in SCPI?")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Ces convictions, nous les partageons aussi publiquement. Retrouvez notre décryptage en direct sur BFM Business.","We share these convictions publicly as well. Watch our live analysis on BFM Business.")})]}),t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,ease:Xt},className:"relative rounded-2xl overflow-hidden shadow-2xl shadow-black/30",children:i?t.jsx("div",{className:"aspect-video",children:t.jsx("iframe",{src:"https://www.youtube.com/embed/G4kdl1M9D4s?autoplay=1&rel=0",title:e("Faut-il encore investir en SCPI ?, BFM Business","Should you still invest in SCPI?, BFM Business"),className:"w-full h-full",allow:"autoplay; encrypted-media",allowFullScreen:!0})}):t.jsxs("div",{className:"aspect-video relative cursor-pointer group",onClick:()=>s(!0),children:[t.jsx("img",{src:sIe,alt:e("Faut-il encore investir en SCPI ?, BFM Business","Should you still invest in SCPI?, BFM Business"),className:"w-full h-full object-cover opacity-80 group-hover:opacity-90 group-hover:scale-[1.01] transition-all duration-700"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent"}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx("div",{className:"w-20 h-20 rounded-full bg-white/10 backdrop-blur-sm border border-white/20 flex items-center justify-center group-hover:bg-primary/80 group-hover:border-primary/60 transition-all duration-300",children:t.jsx(Xh,{className:"w-8 h-8 text-white fill-white ml-1"})})}),t.jsxs("div",{className:"absolute bottom-0 left-0 right-0 p-6 md:p-8",children:[t.jsx("p",{className:"text-[10px] tracking-[0.15em] uppercase text-white/50 mb-2",children:"BFM Business"}),t.jsx("h4",{className:"text-lg md:text-xl font-medium text-white leading-snug",children:e("Faut-il encore investir en SCPI ?","Should you still invest in SCPI?")})]})]})})]})}),t.jsx("section",{id:"tribune-cta",className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt}
731,className:"p-10 md:p-14 rounded-2xl bg-card/60 border border-border/30 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 left-0 w-60 h-60 bg-[radial-gradient(circle_at_0%_0%,hsl(var(--primary)/0.06),transparent_60%)] pointer-events-none"}),t.jsxs("div",{className:"grid md:grid-cols-[1fr_1.1fr] gap-10 items-center relative",children:[t.jsxs("div",{children:[t.jsx(pr,{className:"w-10 h-10 text-primary mb-5"}),t.jsxs("h2",{className:"font-display text-2xl md:text-3xl tracking-tight mb-4",children:[e("Recevez notre tribune","Receive our op-ed")," ",t.jsx("span",{className:"text-gradient-gold",children:"Les Echos"})]}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-2",children:e("Découvrez l'analyse complète de Gustav Sondén sur les conséquences de la pandémie sur l'épargne en immobilier commercial, publiée 2 ans avant la crise.","Read Gustav Sondén's full analysis of the pandemic's impact on commercial real-estate savings, published two years before the market downturn.")}),t.jsx("p",{className:"text-muted-foreground/60 text-xs italic",children:e("Tribune publiée le 30 mars 2021 dans Les Echos.","Op-ed published on 30 March 2021 in Les Echos.")})]}),t.jsx("div",{children:t.jsxs("div",{className:"relative p-8 md:p-10 rounded-2xl bg-gradient-to-br from-background/80 to-card/60 border border-border/40 overflow-hidden group",children:[t.jsx("div",{className:"absolute -top-16 -right-16 w-48 h-48 rounded-full bg-[radial-gradient(circle,hsl(var(--primary)/0.12),transparent_70%)] pointer-events-none"}),t.jsx("div",{className:"absolute bottom-0 left-0 w-40 h-40 bg-[radial-gradient(circle_at_0%_100%,hsl(var(--gold)/0.08),transparent_70%)] pointer-events-none"}),t.jsxs("div",{className:"relative",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-5",children:[t.jsx("span",{className:"h-px w-8 bg-gradient-to-r from-primary/60 to-transparent"}),t.jsx("span",{className:"text-[10px] tracking-[0.25em] uppercase text-primary/70",children:e("Tribune exclusive","Exclusive op-ed")})]}),t.jsxs("h3",{className:"font-display text-xl md:text-2xl tracking-tight mb-3 leading-snug",children:[e("Recevez la tribune complète","Get the full op-ed")," ",t.jsx("span",{className:"text-gradient-gold",children:e("par email","by email")})]}),t.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-7",children:e("Renseignez vos coordonnées en moins d'une minute pour recevoir l'anal
731yse intégrale signée Gustav Sondén.","Share your details in under a minute to receive the full analysis by Gustav Sondén.")}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2YSTtoBltRU6scuAELaDiLg",title:e("Recevoir la tribune Les Echos","Receive the Les Echos op-ed"),description:e("Renseignez vos coordonnées pour recevoir l'analyse intégrale signée Gustav Sondén.","Enter your details to receive the full analysis by Gustav Sondén."),eyebrow:e("Demande de tribune","Op-ed request"),children:t.jsxs("button",{type:"button",className:"inline-flex items-center justify-center gap-2 w-full md:w-auto px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground rounded-lg shadow-[0_8px_24px_-12px_hsl(var(--primary)/0.5)] hover:shadow-[0_12px_28px_-10px_hsl(var(--primary)/0.55)] hover:-translate-y-0.5 transition-all duration-300",children:[t.jsx(pr,{className:"w-4 h-4"}),e("Demander la tribune","Request the op-ed"),t.jsx(V,{className:"w-4 h-4 transition-transform duration-300 group-hover:translate-x-1"})]})}),t.jsx("p",{className:"text-[10px] text-muted-foreground/50 mt-5 leading-relaxed",children:e("Vos données sont protégées conformément à notre politique de confidentialité.","Your data is protected in accordance with our privacy policy.")})]})]})})]})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Enveloppes compatibles","Compatible wrappers")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Investissez via l'enveloppe","Invest through the wrapper")," ",t.jsx("span",{className:"text-gradient-gold",children:e("adaptée","best suited to you")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("La SCPI est accessible via plusieurs enveloppes, chacune offrant des avantages fiscaux spécifiques.","SCPI funds are accessible through several investment wrappers, each offering distinct tax advantages.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6 max-w-3xl mx-auto",children:c.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Xt,delay:m*.1},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/20 transition-all duration-300 flex flex-col",children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:p.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-6 flex-1",children:p.desc}),t.jsxs("a",{href:p.link,className:"inline-flex items-center gap-2 text-sm text-primary hover:underline",children:[e("Découvrir","Discover")," ",p.title,t.jsx(V,{className:"w-3.5 h-3.5"})]})]},p.title))})]})}),t.jsx("section",{className:"py-20 bg-[hsl(35,15%,93%)]",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt},className:"text-center",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-[hsl(38,55%,55%)]/70 mb-4 block",children:e("Crédit immobilier","Property financing")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4 text-[hsl(220,15%,12%)]",children:[e("Faites financer vos","Finance your")," ",t.jsx("span",{className:"text-gradient-gold",children:"SCPI"})]}),t.jsx("p",{className:"text-[hsl(220,8%,40%)] max-w-2xl mx-auto mb-12",children:e("Grâce à nos partenaires bancaires, financez vos parts de SCPI à crédit et profitez de l'effet de levier pour maximiser votre investissement.","Through our banking partners, finance your SCPI shares with a loan and benefit from leverage to maximise your investment.")}),t.jsx("div",{className:"flex items-center justify-center gap-12 md:gap-16 mb-12",children:[{src:cIe,alt:"AXA Banque"},{src:uIe,alt:"CFCAL Crédit Mutuel Arkéa"}
731,{src:dIe,alt:"Crédit Agricole Consumer Finance"}].map(p=>t.jsx("img",{src:p.src,alt:p.alt,className:"h-12 md:h-16 object-contain"},p.alt))}),t.jsxs("a",{href:"/simulateur-credit-scpi",className:"inline-flex items-center gap-2 px-8 py-3.5 rounded-full bg-primary text-primary-foreground font-medium hover:opacity-90 transition-opacity",children:[e("Simuler mon financement","Simulate my financing"),t.jsx(V,{className:"w-4 h-4"})]})]})})}),t.jsx("section",{id:"rdv",className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt},className:"text-center p-12 rounded-2xl bg-primary/[0.04] border border-primary/20",children:[t.jsx(rn,{className:"w-10 h-10 text-primary mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl tracking-tight mb-4",children:e("Prêt à investir en SCPI ?","Ready to invest in SCPI?")}),t.jsx("p",{className:"text-muted-foreground max-w-lg mx-auto mb-8",children:e("Nos conseillers spécialisés vous accompagnent pour sélectionner les SCPI adaptées à votre profil et vos objectifs patrimoniaux.","Our specialist advisers will guide you in selecting the SCPI funds best matched to your profile and wealth objectives.")}),t.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[t.jsxs("a",{href:"https://app.colbr.co",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Découvrir notre sélection","Explore our selection"),t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Prendre rendez-vous","Book an appointment")})]})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Xt},className:"text-center mb-16",children:t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Questions","Frequently asked")," ",t.jsx("span",{className:"text-gradient-gold",children:e("fréquentes","questions")})]})}),t.jsx("div",{className:"space-y-3",children:u.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,delay:m*.05,ease:Xt},className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===m?null:m),className:"w-full flex items-center justify-between px-6 py-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:p.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===m?"rotate-180":""}`})]}),n===m&&t.jsx(S.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},transition:{duration:.2},className:"px-6 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p.a})})]},m))})]})}),t.jsx(Ft,{items:[{to:"/simulateur-credit-scpi",label:e("Simulateur crédit SCPI","SCPI Loan Simulator"),description:e("Modélisez l'achat à crédit de SCPI : effet de levier, fiscalité, patrimoine net.","Model a leveraged SCPI purchase: leverage effect, tax impact, net wealth."),eyebrow:e("Simulation","Simulation")},{to:"/assurance-vie",label:e("Assurance-vie","Life Insurance"),description:e("Logez vos SCPI dans une enveloppe assurance-vie pour optimiser leur fiscalité.","Hold your SCPI funds within a life insurance policy to optimise their tax treatment."),eyebrow:e("Enveloppe fiscale","Tax wrapper")},{to:"/plan-epargne-retraite",label:e("PER","PER"),description:e("Combinez SCPI et PER pour préparer votre retraite avec un actif tangible.","Combine SCPI funds with a PER retirement plan to build your retirement around a tangible asset."),eyebrow:e("Retraite","Retirement")}]}),t.jsx(re,{})]})},jg=[.16,1,.3,1],mIe=()=>{const{tr:e}=K(),n=[{icon:t.jsx(AQ,{className:"w-5 h-5"}),title:e("Souscription directe","Direct subscription"),description:e("Vous souscrivez directement auprès de la société de gestion de la SCPI, sans intermédiaire bancaire ni contrat d'assurance-vie. Vos parts sont inscrites nominativement à votre nom.","You subscribe directly with the SCPI management company, without a banking intermediary or life insurance contract. Your shares are registered nominatively in your name.")},{icon:t.jsx(Lt,{className:"w-5 h-5"}),title:e("Rendements bruts","Gross returns"),description:e("Les revenus distribués sont perçus en brut de fiscalité. Contrairement à l'assurance-vie, il n'y a pas d'abattement annuel ni d'encaissement différé possible.","Distributed income is received gross of tax. Unlike life insurance, there is no annual allowance nor deferred withdrawal possible.")},{icon:t.jsx(We,{className:"w-5 h-5"}),title:e("Propriété directe","Direct ownership"),description:e("En tant qu'associé, vous détenez une quote-part réelle du patr
731imoine immobilier de la SCPI. Vous êtes propriétaire indirect des actifs et percevez des revenus locatifs.","As a partner, you hold a real share of the SCPI's real estate assets. You are an indirect owner of the assets and receive rental income.")},{icon:t.jsx(vR,{className:"w-5 h-5"}),title:e("Liquidité limitée","Limited liquidity"),description:e("La revente de vos parts se fait via le marché secondaire géré par la société de gestion. Les délais de rachat peuvent varier de quelques mois à plusieurs années selon la SCPI.","Resale of your shares occurs through the secondary market managed by the management company. Buyback delays can range from a few months to several years depending on the SCPI.")},{icon:t.jsx(uc,{className:"w-5 h-5"}),title:e("Fiscalité du revenu","Income taxation"),description:e("Les distributions sont imposées au barème progressif de l'impôt sur le revenu (+ 17,2% de prélèvements sociaux). Une option forfaitaire de 30% (flat tax) est également possible.","Distributions are taxed under the progressive income tax scale (+ 17.2% social contributions). A flat tax option of 30% is also available.")},{icon:t.jsx(CQ,{className:"w-5 h-5"}),title:e("Pas de durée minimale","No minimum duration"),description:e("Contrairement à l'assurance-vie, il n'y a pas de durée d'engagement minimale. Vous pouvez demander le rachat de vos parts à tout moment, sous réserve des liquidités de la SCPI.","Unlike life insurance, there is no minimum commitment period. You can request redemption of your shares at any time, subject to the SCPI's liquidity.")}],r=[{label:e("Frais d'entrée","Entry fees"),nominatif:e("~3% à 10%","~3% to 10%"),assurance:e("~0%","~0%")},{label:e("Fiscalité sur les revenus","Taxation on income"),nominatif:e("Barème ou flat tax 30%","Scale or flat tax 30%"),assurance:e("Abattement annuel puis barème","Annual allowance then scale")},{label:e("Transmission","Inheritance"),nominatif:e("Droits de succession classiques","Standard inheritance tax"),assurance:e("Avantages fiscaux spécifiques","Specific tax advantages")},{label:e("Liquidité","Liquidity"),nominatif:e("Marché secondaire","Secondary market"),assurance:e("Rachat rapide","Fast redemption")},{label:e("Frais de gestion","Management fees"),nominatif:e("Inclus dans la SCPI","Included in the SCPI"),assurance:e("Frais du contrat + SCPI","Contract fees + SCPI")},{label:e("Revente partielle","Partial sale"),nominatif:e("Possible, par parts","Possible, by shares"),assurance:e("Possible, par arbitrage","Possible, by switch")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-40 pb-24 bg-background min-h-screen flex items-center",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(C,{to:"/scpi",className:"inline-flex items-center gap-2 text-xs tracking-[0.2em] uppercase text-muted-foreground hover:text-foreground transition-colors mb-10",children:[t.jsx(pe,{className:"w-3.5 h-3.5"}),e("Retour aux SCPI","Back to SCPI")]}),t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.8,ease:jg},children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-6 block",children:e("Nominatif pur","Direct ownership")}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-6xl tracking-tight leading-[1.1] mb-8 max-w-3xl",children:[e("Investir en SCPI","Investing in SCPI")," ",t.jsx("span",{className:"text-gradient-gold",children:e("en nominatif pur","via direct ownership")})]}),t.jsx("p",{className:"text-muted-foreground text-base md:text-lg leading-relaxed max-w-2xl text-justify",children:e("Le nominatif pur est la forme d'investissement la plus directe en SCPI. Vous devenez associé de la société civile de placement immobilier et percevez des revenus locatifs proportionnels à votre détention, sans enveloppe fiscale intermédiaire.","Direct ownership is the most straightforward form of SCPI investment. You become a partner in the real estate investment company and receive rental income proportional to your holding, without an intermediate tax wrapper.")})]})]})}),t.jsx("section",{className:"py-24 bg-[hsl(var(--surface-stone))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs("div",{className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Caractéristiques","Characteristics")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug",children:[e("Six points clés du","Six key points of")," ",t.jsx("span",{className:"text-gradient-gold",children:e("nominatif pur","direct ownership")}),"."]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-border/30",children:n.map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.5,ease:jg,delay:s*.05},className:"bg-[hsl(var(--surface-stone))] p-8 md:p-10",children:[t.jsxs("div",{className:"flex items-center gap-4 mb-5",children:[t.jsx("span",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center text-primary shrink-0",children:i.icon}),t.jsx("h3",{className:"font-display text-xl tracking-tight",children:i.title})]}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:i.description})]},i.title))})]})}),t.jsx("section",{className:"py-28 bg-background",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs("div",{className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Comparatif","Comparison")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug",children:[e("Nominatif pur","Direct ownership")," ",t.jsx("span",{className:"text-gradient-gold",children:e("vs Assurance-vie","vs Life insurance")}),"."]})]}),t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"border-b border-border",children:[t.jsx("th",{className:"text-left py-4 pr-6 font-medium text-muted-foreground",children:e("Critère","Criteria")}),t.jsx("th",{className:"text-left py-4 pr-6 font-display tracking-tight",children:e("Nominatif pur","Direct ownership")}),t.jsx("th",{className:"text-left py-4 font-display tracking-tight text-primary",children:e("Assurance-vie","Life insurance")})]})}),t.jsx("tbody",{children:r.map((i,s)=>t.jsxs(S.tr,{initial:{opacity:0,x:10},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.4,ease:jg,delay:s*.05},className:"border-b border-border/30 last:border-0",children:[t.jsx("td",{className:"py-5 pr-6 text-muted-foreground",children:i.label}),t.jsx("td",{className:"py-5 pr-6",children:i.nominatif}),t.jsx("td",{className:"py-5 text-primary/90",children:i.assurance})]},i.label))})]})})]})}),t.jsx("section",{className:"py-24 bg-[hsl(var(--surface-stone))]",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs("div",{className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground mb-4 block",children:e("Profil d'investisseur","Investor profile")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug",children:[e("À qui s'adresse le","Who is")," ",t.jsx("span",{className:"text-gradient-gold",children:e("nominatif pur ?","direct ownership for?")})]})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:[{icon:t.jsx(Jh,{className:"w-6 h-6"}),title:e("Recherche de rendement brut","Seeking gross yield"),desc:e("Investisseurs dont le taux marginal d'imposition est faible ou nul, souhaitant maximiser les revenus nets sans contrainte d'enveloppe.","Investors with a low or nil marginal tax rate, looking to maximise net income without wrapper constraints.")},{icon:t.jsx(pr,{className:"w-6 h-6"}
731),title:e("Transparence patrimoniale","Wealth transparency"),desc:e("Ceux qui préfèrent une détention directe et lisible de leurs actifs immobiliers, sans complexité contractuelle.","Those who prefer direct and transparent ownership of their real estate assets, without contractual complexity.")},{icon:t.jsx(Lt,{className:"w-6 h-6"}),title:e("Horizon de long terme","Long-term horizon"),desc:e("Investisseurs ayant un horizon de placement supérieur à 10 ans et ne prévoyant pas de besoin de liquidité à court terme.","Investors with an investment horizon exceeding 10 years and no anticipated short-term liquidity needs.")}].map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:jg,delay:s*.08},className:"p-8 bg-background border border-border/30 rounded-2xl",children:[t.jsx("span",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center text-primary mb-5",children:i.icon}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:i.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:i.desc})]},i.title))})]})}),t.jsx("section",{className:"py-24 bg-background",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight leading-snug mb-6",children:e("Intéressé par un investissement en nominatif pur ?","Interested in a direct ownership investment?")}),t.jsx("p",{className:"text-muted-foreground text-sm md:text-base leading-relaxed mb-10 max-w-xl mx-auto",children:e("Nos conseillers vous accompagnent dans le choix des SCPI et la souscription en nominatif pur, en cohérence avec votre profil fiscal et patrimonial.","Our advisors guide you in selecting SCPI funds and subscribing via direct ownership, aligned with your tax and wealth profile.")}),t.jsx(C,{to:"/scpi#rdv",className:"inline-flex items-center gap-2 px-8 py-4 bg-primary text-primary-foreground text-sm tracking-wide hover:opacity-90 transition-opacity",children:e("Prendre rendez-vous","Book an appointment")})]})}),t.jsx(re,{})]})},Tc=[.16,1,.3,1],hIe=()=>{const{tr:e}=K(),n=[{icon:t.jsx(pr,{className:"w-5 h-5"}),title:e("Apport avant cession","Contribution before sale"),description:e("Vous apportez les titres de votre société opérationnelle à une holding que vous contrôlez, avant leur cession. La plus-value d'apport est alors placée en report d'imposition automatique.","You contribute the shares of your operating company to a holding you control, before their sale. The contribution gain is then placed in automatic tax deferral.")},{icon:t.jsx(Sd,{className:"w-5 h-5"}),title:e("Report d'imposition","Tax deferral"),description:e("L'imposition de la plus-value (30 % de flat tax + éventuelle CEHR) est différée tant que la holding conserve les titres et respecte les conditions de réinvestissement.","Taxation of the gain (30% flat tax + potential CEHR) is deferred as long as the holding retains the shares and meets the reinvestment conditions.")},{icon:t.jsx(oa,{className:"w-5 h-5"}),title:e("Réinvestissement de 60 %","60% reinvestment"),description:e("En cas de cession des titres apportés par la holding dans les 3 ans, au moins 60 % du produit de cession doit être réinvesti dans une activité économique éligible dans un délai de 2 ans pour maintenir le report.","If the holding sells the contributed shares within 3 years, at least 60% of the sale proceeds must be reinvested in an eligible economic activity within 2 years to maintain the deferral.")},{icon:t.jsx(bR,{className:"w-5 h-5"}),title:e("Actifs éligibles","Eligible assets"),description:e("Sociétés opérationnelles, fonds de Private Equity éligibles (FCPR, FPCI, SLP), club deals, immobilier d'exploitation. L'immobilier locatif passif et les actifs purement financiers sont exclus.","Operating companies, eligible Private Equity funds (FCPR, FPCI, SLP), club deals, operating real estate. Passive rental property and purely financial assets are excluded.")},{icon:t.jsx(We,{className:"w-5 h-5"}),title:e("Transmission optimisée","Optimised transmission"),description:e("En cas de donation des titres de la holding à vos enfants, le report d'imposition peut être définitivement purgé sous conditions, transformant le différé en exonération.","If you donate the holding's shares to your children, the tax deferral may be permanently eliminated under conditions, turning the deferral into an exemption.")},{icon:t.jsx(uc,{className:"w-5 h-5"}),title:e("Cadre juridique strict","Strict legal framework"),description:e("Le dispositif, codifié à l'article 150-0 B ter du CGI, exige un contrôle de la holding par l'apporteur et un suivi rigoureux des obligations déclaratives auprès de l'administration fiscale.","The scheme, codified in article 150-0 B ter of the French Tax Code, requires control of the holding by the contributor and rigorous monitoring of reporting obligations to the tax authorities.")}],r=[{step:"01",title:e("Audit patrimonial","Wealth audit"),description:e("Analyse de la structure de détention, valorisation des titres, identification du calendrier de cession et des objectifs de réemploi.","Analysis of the holding structure, valuation of shares, identification of the sale schedule and reinvestment objectives.")},{step:"02",title:e("Constitution de la holding","Setting up the holding"),description:e("Création de la société holding, rédaction des statuts, traité d'apport et évaluation des titres par un commissaire aux apports.","Creation of the holding company, drafting of articles, contribution agreement and valuation of shares by a contribution auditor.")},{step:"03",title:e("Cession et sécurisation","Sale and securing"),description:e("Cession des titres par la holding et sécurisation immédiate des liquidités sur des supports adaptés (compte à terme, monétaire institutionnel).","Sale of shares by the holding and immediate securing of liquidity on suitable instruments (term deposit, institutional money market).")},{step:"04",title:e("Réemploi éligible","Eligible reinvestment"),description:e("Sélection rigoureuse des véhicules d'investissement éligibles (Pr
731ivate Equity, club deals, opérationnel) pour satisfaire le seuil de 60 % dans les délais.","Rigorous selection of eligible investment vehicles (Private Equity, club deals, operating) to meet the 60% threshold within the deadlines.")},{step:"05",title:e("Suivi annuel","Annual monitoring"),description:e("Reporting fiscal, déclarations annuelles, suivi des ratios et anticipation des évolutions réglementaires sur toute la durée du report.","Tax reporting, annual filings, ratio monitoring and anticipation of regulatory changes throughout the deferral period.")}];return t.jsxs("div",{className:"min-h-screen bg-background",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-40 pb-20 bg-surface-warm",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-10",children:[t.jsx(pe,{className:"w-4 h-4"}),e("Retour à la Gestion Privée","Back to Private Wealth")]}),t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,ease:Tc},children:[t.jsx("p",{className:"text-sm tracking-[0.2em] uppercase text-primary mb-5",children:e("Article 150-0 B ter du CGI","Article 150-0 B ter of the French Tax Code")}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl tracking-tight mb-6",style:{color:"hsl(var(--surface-warm-foreground))"},children:[e("Apport-cession","Contribution-sale")," ",t.jsx("span",{className:"font-semibold",children:"150-0 B ter"})]}),t.jsx("p",{className:"text-lg leading-relaxed max-w-3xl text-justify",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Le dispositif d'apport-cession permet aux dirigeants et actionnaires de différer l'imposition de la plus-value réalisée lors de la cession de leur société, en apportant préalablement leurs titres à une holding. Une stratégie patrimoniale incontournable lors d'une cession d'entreprise, qui exige rigueur, anticipation et une sélection précise des actifs de réemploi.","The contribution-sale scheme allows executives and shareholders to defer taxation of the gain realised when selling their company, by first contributing their shares to a holding. An essential wealth strategy during a business sale, requiring rigour, anticipation and precise selection of reinvestment assets.")})]})]})}),t.jsx("section",{className:"py-24 bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:Tc},className:"text-center mb-16",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase text-muted-foreground mb-4",children:e("Principes clés","Key principles")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:e("Comprendre le mécanisme","Understanding the mechanism")})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:n.map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.2},transition:{duration:.5,ease:Tc,delay:s*.05},className:"p-8 rounded-2xl border border-border bg-card",children:[t.jsx("div",{className:"w-10 h-10 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-5",children:i.icon}),t.jsx("h3",{className:"text-lg font-semibold mb-3 text-foreground",children:i.title}),t.jsx("p",{className:"text-sm leading-relaxed text-muted-foreground text-justify",children:i.description})]},i.title))})]})}),t.jsx("section",{className:"py-24 bg-surface-warm",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:Tc},className:"text-center mb-16",children:[t.jsx("p",{className:"text-sm tracking-[0.15em] uppercase mb-4",style:{color:"hsl(var(--surface-warm-muted))"},children:e("Méthodologie","Methodology")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",style:{color:"hsl(var(--surface-warm-foreground))"},children:e("Notre accompagnement","Our advisory process")})]}),t.jsx("div",{className:"space-y-5",children:r.map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,x:-20},whileInView:{opacity:1,x:0},viewport:{once:!0,amount:.2},transition:{duration:.5,ease:Tc,delay:s*.07},className:"flex gap-6 p-7 rounded-2xl bg-white/60 border border-black/[0.06]",children:[t.jsx("div",{className:"font-display text-3xl text-primary shrink-0 w-14",children:i.step}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-semibold mb-2",style:{color:"hsl(var(--surface-warm-foreground))"},children:i.title}),t.jsx("p",{className:"text-sm leading-relaxed text-justify",style:{color:"hsl(var(--surface-warm-muted))"},children:i.description})]})]},i.step))})]})}),t.jsx("section",{className:"py-24 bg-background",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.6,ease:Tc},className:"rounded-2xl border border-border p-10 md:p-14 text-center",children:[t.jsx("div",{className:"inline-flex items-center justify-center w-14 h-14 roun
731ded-full bg-primary/10 text-primary mb-6",children:t.jsx(gu,{className:"w-7 h-7"})}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight mb-5",children:e("Vous préparez la cession de votre entreprise ?","Are you preparing to sell your business?")}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-8 max-w-2xl mx-auto text-justify",children:e("Anticipez avec nos experts en ingénierie patrimoniale. Nous structurons l'opération en amont, sélectionnons les actifs de réemploi éligibles et assurons le suivi déclaratif sur toute la durée du report.","Anticipate with our wealth engineering experts. We structure the operation upstream, select eligible reinvestment assets and ensure reporting follow-up throughout the deferral period.")}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center px-8 py-3.5 text-sm font-medium tracking-wide bg-primary text-primary-foreground hover:brightness-110 transition-all",children:e("Prendre rendez-vous","Book an appointment")})]})})}),t.jsx(re,{})]})},Hj=[.16,1,.3,1],fIe=[0,11,30,41,45],_a=e=>new Intl.NumberFormat("fr-FR",{style:"currency",currency:"EUR",maximumFractionDigits:0}).format(e),Np=e=>new Intl.NumberFormat("fr-FR",{style:"currency",currency:"EUR",maximumFractionDigits:0}).format(Math.round(e)),gIe=()=>{const{tr:e}=K(),[n,r]=k.useState(1e5),[i,s]=k.useState(0),[a,o]=k.useState(20),[l,c]=k.useState(3.2),[u,d]=k.useState("personnel"),[p,m]=k.useState(30),[h,g]=k.useState(25),[f,x]=k.useState(50),[v,b]=k.useState(7),[y,N]=k.useState(0),[j,w]=k.useState(0),[q,P]=k.useState(17.2),T=k.useMemo(()=>{const E=n-i,A=l/100/12,_=a*12,D=E>0&&A>0?E*A/(1-Math.pow(1+A,-_)):E>0?E/_:0,R=n*(v/100),M=R/12,U=1-f/100,z=f/100,O=u==="personnel"?p:h,$=M*U*(O/100),I=M*U*(q/100),Y=M*z*(O*.8/100),W=$+I+Y,F=D+W-M,ae=R*a,ge=F*_,be=n*Math.pow(1+y/100,a),Ne=be-ge-i,Me=[];let te=E;for(let me=0;me<=a;me++){const fe=n*Math.pow(1+y/100,me);if(me>0){const Q=D*12-te*l/100;te=Math.max(0,te-Q)}Me.push({annee:e(`Année ${me}`,`Year ${me}`),patrimoine:Math.round(fe-te),valeurParts:Math.round(fe)})}
731return{mensualite:D,loyerMensuel:M,totalFiscalite:W,effortMensuel:F,totalLoyers:ae,valeurTerme:be,gainTerme:Ne,epargneTotal:ge,emprunt:E,chartData:Me}},[n,i,a,l,u,p,h,f,v,y,j,q,e]);return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-16",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Hj},className:"text-center mb-4",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Simulateur","Simulator")}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl tracking-tight mb-4",children:[e("Simulez votre","Simulate your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("crédit SCPI","SCPI leverage")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto text-lg",children:e("Estimez votre effort d'épargne, vos revenus et votre gain patrimonial grâce à l'effet de levier du crédit.","Estimate your savings effort, income, and net wealth gain through the power of leveraged SCPI investment.")})]})})}),t.jsx("section",{className:"pb-24",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsxs("div",{className:"grid lg:grid-cols-5 gap-8",children:[t.jsxs(S.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.7,ease:Hj,delay:.1},className:"lg:col-span-3 space-y-6",children:[t.jsxs("div",{className:"rounded-2xl bg-card/60 border border-border/30 p-8",children:[t.jsxs("h2",{className:"font-display text-xl tracking-tight mb-8 flex items-center gap-2",children:[t.jsx(oa,{className:"w-5 h-5 text-primary"}),e("Mon projet","My Project")]}),t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Je souhaite investir","I wish to invest")}),t.jsx("span",{className:"font-display text-2xl text-primary",children:_a(n)})]}),t.jsx(Jr,{value:[n],onValueChange:([E])=>r(E),min:1e4,max:1e6,step:5e3,className:"w-full"}),t.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground/50 mt-1",children:[t.jsx("span",{children:"10 000 €"}),t.jsx("span",{children:"1 000 000 €"})]})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Mon apport personnel","My personal contribution")}),t.jsx("span",{className:"font-display text-2xl text-primary",children:_a(i)})]}),t.jsx(Jr,{value:[i],onValueChange:([E])=>s(Math.min(E,n)),min:0,max:n,step:1e3,className:"w-full"})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Durée de l'emprunt","Loan duration")}),t.jsxs("span",{className:"font-display text-2xl text-primary",children:[a," ",e("ans","yrs")]})]}),t.jsx(Jr,{value:[a],onValueChange:([E])=>o(E),min:5,max:25,step:1,className:"w-full"}),t.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground/50 mt-1",children:[t.jsx("span",{children:e("5 ans","5 yrs")}),t.jsx("span",{children:e("25 ans","25 yrs")})]})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Taux d'emprunt","Loan interest rate")}),t.jsxs("span",{className:"font-display text-2xl text-primary",children:[l.toFixed(2)," %"]})]}),t.jsx(Jr,{value:[l],onValueChange:([E])=>c(E),min:1,max:6,step:.05,className:"w-full"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-sm text-muted-foreground block mb-3",children:e("J'investis","I am investing")}),t.jsxs("div",{className:"flex rounded-xl overflow-hidden border border-border/30",children:[t.jsx("button",{onClick:()=>d("personnel"),className:`flex-1 py-2.5 text-sm font-medium transition-all ${u==="personnel"?"bg-primary text-primary-foreground":"bg-card/40 text-muted-foreground hover:text-foreground"}`,children:e("À titre personnel","As an individual")}),t.jsx("button",{onClick:()=>d("societe"),className:`flex-1 py-2.5 text-sm font-medium transition-all ${u==="societe"?"bg-primary text-primary-foreground":"bg-card/40 text-muted-foreground hover:text-foreground"}`,children:e("Via une société","Through a company")})]})]})]})]}),t.jsxs("div",{className:"rounded-2xl bg-card/60 border border-border/30 p-8",children:[t.jsxs("h2",{className:"font-display text-xl tracking-tight mb-8 flex items-center gap-2",children:[t.jsx(Vb,{className:"w-5 h-5 text-primary"}),e("Ma situation fiscale","My Tax Situation")]}),t.jsxs("div",{className:"space-y-8",children:[u==="personnel"?t.jsxs("div",{children:[t.jsx("label",{className:"text-sm text-muted-foreground block mb-3",children:e("Tranche Marginale d'Imposition","Marginal Tax Bracket")}),t.jsx("div",{className:"flex rounded-xl overflow-hidden border border-border/30",children:fIe.map(E=>
731t.jsxs("button",{onClick:()=>m(E),className:`flex-1 py-2.5 text-sm font-medium transition-all ${p===E?"bg-primary text-primary-foreground":"bg-card/40 text-muted-foreground hover:text-foreground"}`,children:[E,"%"]},E))})]}):t.jsxs("div",{children:[t.jsx("label",{className:"text-sm text-muted-foreground block mb-3",children:e("Impôt sur les sociétés","Corporate tax rate")}),t.jsx("div",{className:"flex rounded-xl overflow-hidden border border-border/30 max-w-xs",children:[15,25].map(E=>t.jsxs("button",{onClick:()=>g(E),className:`flex-1 py-2.5 text-sm font-medium transition-all ${h===E?"bg-primary text-primary-foreground":"bg-card/40 text-muted-foreground hover:text-foreground"}`,children:[E,"%"]},E))})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Part de SCPI hors France","Share of non-French SCPI")}),t.jsxs("span",{className:"font-display text-xl text-primary",children:[f," %"]})]}),t.jsx(Jr,{value:[f],onValueChange:([E])=>x(E),min:0,max:100,step:5,className:"w-full"})]})]})]}),t.jsxs("div",{className:"rounded-2xl bg-card/60 border border-border/30 p-8",children:[t.jsxs("h2",{className:"font-display text-xl tracking-tight mb-8 flex items-center gap-2",children:[t.jsx(Lt,{className:"w-5 h-5 text-primary"}),e("Paramètres de l'opération","Transaction Parameters")]}),t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Taux de distribution brut","Gross distribution yield")}),t.jsxs("span",{className:"font-display text-xl text-primary",children:[v.toFixed(1)," %"]})]}),t.jsx(Jr,{value:[v],onValueChange:([E])=>b(E),min:3,max:10,step:.1,className:"w-full"})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Revalorisation des parts / an","Share appreciation p.a.")}),t.jsxs("span",{className:"font-display text-xl text-primary",children:[y.toFixed(1)," %"]})]}),t.jsx(Jr,{value:[y],onValueChange:([E])=>N(E),min:-3,max:5,step:.1,className:"w-full"})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Revalorisation des loyers / an","Rental income growth p.a.")}),t.jsxs("span",{className:"font-display text-xl text-primary",children:[j.toFixed(1)," %"]})]}),t.jsx(Jr,{value:[j],onValueChange:([E])=>w(E),min:-2,max:5,step:.1,className:"w-full"})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-sm text-muted-foreground",children:e("Prélèvements sociaux","Social levies")}),t.jsxs("span",{className:"font-display text-xl text-primary",children:[q.toFixed(1)," %"]})]}),t.jsx(Jr,{value:[q],onValueChange:([E])=>P(E),min:0,max:20,step:.1,className:"w-full"}),t.jsxs("p",{className:"text-xs text-muted-foreground/50 mt-2 flex items-start gap-1",children:[t.jsx(Aq,{className:"w-3 h-3 mt-0.5 shrink-0"}),e("Sur la partie hors France, les prélèvements sociaux sont exonérés.","For the non-French portion, social levies are exempt.")]})]})]})]})]}),t.jsxs(S.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},transition:{duration:.7,ease:Hj,delay:.2},className:"lg:col-span-2 space-y-6",children:[t.jsxs("div",{className:"rounded-2xl bg-card/60 border border-border/30 p-8",children:[t.jsxs("h2",{className:"font-display text-xl tracking-tight mb-6 flex items-center gap-2",children:[t.jsx(Jh,{className:"w-5 h-5 text-primary"}),e("Synthèse de l'opération","Transaction Summary")]}),t.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[t.jsxs("div",{className:"rounded-xl bg-background/60 border border-border/20 p-5",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:e("Total des loyers perçus","Total rental income received")}),t.jsx("p",{className:"font-display text-2xl text-primary",children:_a(T.totalLoyers)})]}),t.jsxs("div",{className:"rounded-xl bg-background/60 border border-border/20 p-5",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:e("Effort d'épargne moyen / mois","Average monthly savings effort")}),t.jsx("p",{className:"font-display text-2xl text-primary",children:Np(T.effortMensuel)})]}),t.jsxs("div",{className:"rounded-xl bg-gradient-to-br from-primary/20 to-primary/5 border border-primary/20 p-5",children:[t.jsx("p",{className:"text-xs text-muted-foreground mb-1",children:e("Gain estimé au terme","Estimated gain at maturity")}),t.jsx("p",{className:"font-display text-3xl text-primary",children:_a(T.gainTerme)})]})]})]}),t.jsxs("div",{className:"rounded-2xl bg-card/60 border border-border/30 p-8",children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-5",children:e("Trésorerie mensuelle","Monthly Cash Flow")}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Revenus fonciers (loyers)","Property income (rents)")}),t.jsx("span",{className:"text-foreground",children:Np(T.loyerMensuel)})]}),t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("- Remboursement bancaire","- Loan repayment")}),t.jsxs("span",{className:"text-destructive",children:["-",Np(T.mensualite)]})]}),t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("- Fiscalité sur les loyers","- Tax on rental income")}),t.jsxs("span",{className:"text-destructive",children:["-",Np(T.totalFiscalite)]})]}),t.jsx("div",{className:"h-px bg-border/30 my-2"}),t.jsxs("div",{className:"flex justify-between text-sm font-medium",children:[t.jsx("span",{children:e("Effort d'épargne moyen","Average savings effort")}),t.jsx("span",{className:T.effortMensuel>0?"text-destructive":"text-green-400",children:Np(T.effortMensuel)})]})]})]}),t.jsxs("div",{className:"rounded-2xl bg-card/60 border border-border/30 p-8",children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-5",children:e("Situation au terme","Position at Maturity")}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Valeur des SCPI","SCPI portfolio value")}),t.jsx("span",{children:_a(T.valeurTerme)})]}),t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("- Dette restante","- Outstanding debt")}),t.jsx("span",{children:"0 €"})]}),t.jsxs("div",{className:"flex justify-between text-sm",children:[t.jsx("span",{className:"text-muted-foreground",children:e("- Épargne mobilisée","- Capital deployed")}),t.jsxs("span",{className:"text-destructive",children:["-",_a(Math.abs(T.epargneTotal)+i)]})]}),t.jsx("div",{className:"h-px bg-border/30 my-2"}),t.jsxs("div",{className:"flex justify-between font-medium rounded-lg bg-primary/10 px-3 py-2",children:[t.jsx("span",{children:e("Gain au terme","Net gain at maturity")}),t.jsx("span",{className:"text-primary",children:_a(T.gainTerme)})]})]})]}),t.jsxs("div",{className:"rounded-2xl bg-card/60 border border-border/30 p-8",children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-5",children:e("Valeur nette de votre patrimoine","Net Wealth Value")}),t.jsx("div",{className:"h-64",children:t.jsx(dB,{width:"100%",height:"100%",children:t.jsxs(q7,{data:T.chartData,children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"patrimoineGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"5%",
731stopColor:"hsl(38, 55%, 55%)",stopOpacity:.3}),t.jsx("stop",{offset:"95%",stopColor:"hsl(38, 55%, 55%)",stopOpacity:0})]})}),t.jsx(BC,{strokeDasharray:"3 3",stroke:"hsl(220, 10%, 14%)"}),t.jsx(mf,{dataKey:"annee",tick:{fontSize:10,fill:"hsl(220, 8%, 50%)"},tickLine:!1,axisLine:!1,interval:4}),t.jsx(hf,{tick:{fontSize:10,fill:"hsl(220, 8%, 50%)"},tickLine:!1,axisLine:!1,tickFormatter:E=>`${(E/1e3).toFixed(0)}k`}),t.jsx(Ii,{contentStyle:{backgroundColor:"hsl(220, 12%, 8%)",border:"1px solid hsl(220, 10%, 14%)",borderRadius:"0.75rem",fontSize:12},formatter:E=>[_a(E),e("Patrimoine net","Net wealth")]}),t.jsx(zi,{type:"monotone",dataKey:"patrimoine",stroke:"hsl(38, 55%, 55%)",strokeWidth:2,fill:"url(#patrimoineGrad)"})]})})})]}),t.jsxs("div",{className:"rounded-2xl bg-gradient-to-br from-primary/15 to-primary/5 border border-primary/20 p-8 text-center",children:[t.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:e("Cette simulation est indicative. Échangez avec un conseiller pour affiner votre projet.","This simulation is indicative. Speak with an advisor to refine your investment strategy.")}),t.jsxs("a",{href:"/scpi#rdv",className:"inline-flex items-center gap-2 px-8 py-3.5 rounded-full bg-primary text-primary-foreground font-medium hover:opacity-90 transition-opacity",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]})]})]})]})})}),t.jsx(re,{})]})},xIe=1,vIe="02b2eea7-243d-410e-8f7b-f2e2ab03617d",bIe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",yIe="/__l5e/assets-v1/02b2eea7-243d-410e-8f7b-f2e2ab03617d/image-41.png",jIe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/02b2eea7-243d-410e-8f7b-f2e2ab03617d/image-41.png",wIe="image-41.png",NIe=18242,kIe="image/webp",qIe="2026-07-28T12:31:10Z",SIe={version:xIe,asset_id:vIe,project_id:bIe,url:yIe,r2_key:jIe,original_filename:wIe,size:NIe,content_type:kIe,created_at:qIe},CIe=1,PIe="8382c9f5-c90f-471e-af82-b18b609e89bf",EIe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",TIe="/__l5e/assets-v1/8382c9f5-c90f-471e-af82-b18b609e89bf/image-42.png",IIe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/8382c9f5-c90f-471e-af82-b18b609e89bf/image-42.png",AIe="image-42.png",LIe=19238,FIe="image/webp",_Ie="2026-07-28T12:31:13Z",OIe={version:CIe,asset_id:PIe,project_id:EIe,url:TIe,r2_key:IIe,original_filename:AIe,size:LIe,content_type:FIe,created_at:_Ie},RIe=1,DIe="83a0b7cf-a5fb-42ea-9bec-1b1140f5c746",MIe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",$Ie="/__l5e/assets-v1/83a0b7cf-a5fb-42ea-9bec-1b1140f5c746/image-43.png",BIe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/83a0b7cf-a5fb-42ea-9bec-1b1140f5c746/image-43.png",zIe="image-43.png",UIe=22258,VIe="image/webp",WIe="2026-07-28T12:31:17Z",HIe={version:RIe,asset_id:DIe,project_id:MIe,url:$Ie,r2_key:BIe,original_filename:zIe,size:UIe,content_type:VIe,created_at:WIe},GIe=({items:e})=>{var i;const[n,r]=k.useState(((i=e[0])==null?void 0:i.id)??"");return k.useEffect(()=>{const s=e.map(o=>document.getElementById(o.id)).filter(o=>!!o);if(!s.length)return;const a=new IntersectionObserver(o=>{const l=o.filter(c=>c.isIntersecting).sort((c,u)=>c.boundingClientRect.top-u.boundingClientRect.top)[0];l&&r(l.target.id)},{rootMargin:"-30% 0px -55% 0px",threshold:0});return s.forEach(o=>a.observe(o)),()=>a.disconnect()},[e]),t.jsx("nav",{"aria-label":"Univers d'investissement",className:"sticky top-[72px] z-30 border-y border-border/40 bg-background/85 backdrop-blur-md",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsx("ul",{className:"flex items-stretch gap-1 overflow-x-auto no-scrollbar",children:e.map(s=>{const a=n===s.id;return t.jsx("li",{className:"shrink-0",children:t.jsxs("a",{href:`#${s.id}`,"aria-current":a?"true":void 0,className:Yt("group flex flex-col gap-0.5 px-5 py-4 border-b-2 transition-colors duration-300",a?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:[t.jsx("span",{className:"text-sm font-medium tracking-tight",children:s.label}),t.jsx("span",{className:"text-[10px] uppercase tracking-[0.18em] text-muted-foreground/60",children:s.hint})]})},s.id)})})})})},KIe="/assets/vendome-FtUDPjMg.jpg",QIe="/assets/fenelon-Dk9FCXnG.jpg",YIe="/assets/valmy-BkocqExG.jpg",JIe="/assets/victoires-BmUJ23n1.jpg",XIe="/assets/marais-DaagVsaa.jpg",V3="/assets/courchevel-_9BlnFWr.jpg",ZIe="/assets/venture-secondaire-Cqz-s9e9.jpg",eAe="/assets/art-pierre-soulages-B
731MPgwb0M.jpg",tAe="/assets/art-keith-haring-72oAuuUp.jpg",nAe="/assets/art-fx-lalanne-CodlDuER.jpg",Ye=[.16,1,.3,1],ot={initial:{opacity:0,y:18},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"}},rAe=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{id:"immobilier",label:e("Immobilier","Real estate"),hint:e("Actif tangible","Tangible asset")},{id:"venture",label:e("Late-stage venture","Late-stage venture"),hint:e("Secondaire","Secondary")},{id:"art",label:e("Art","Art"),hint:e("Rareté","Scarcity")}],s=[{value:"",label:""},{value:"",label:""},{value:"",label:""},{value:"",label:""}],a={icon:X1,segment:"immobilier",status:e("Ouverte à la souscription","Open for subscription"),name:e("Chalet · Courchevel 1850","Chalet · Courchevel 1850"),kicker:e("Immobilier · opération à la une","Real estate · featured transaction"),text:e("Acquisition d'un chalet ski-in ski-out sur le versant Bellecôte, rénovation lourde menée par un opérateur savoyard co-investi, revente à l'unité auprès d'une clientèle internationale.","Acquisition of a ski-in ski-out chalet on the Bellecôte slope, heavy renovation led by a co-invested Savoyard operator, unit resale to an international clientele."),img:V3,facts:[{k:e("Ticket minimum","Minimum ticket"),v:"100 000 €"},{k:e("Horizon","Horizon"),v:e("36 mois","36 months")},{k:e("PERFORMANCE CIBLE (%)","TARGET PERFORMANCE (%)"),v:"18%"},{k:e("Liquidité","Liquidity"),v:"-"}]},o=[{icon:rn,segment:"immobilier",status:e("Ouverte","Open"),open:!0,name:e("Hôtel particulier Saint-Georges","Saint-Georges townhouse"),detail:e("Division et changement d'usage · Paris 9e · 26 mois","Division and change of use · Paris 9th · 26 months"),ticket:e("Minimum 100 000 €","Minimum €100,000")},{icon:Qx,segment:"venture",status:e("En structuration","Being structured"),open:!1,name:e("Secondaire · éditeur SaaS européen","Secondary · European SaaS vendor"),detail:e("SPV dédié · horizon 4 à 6 ans","Dedicated SPV · 4 to 6 year horizon"),ticket:e("Minimum 100 000 €","Minimum €100,000")},{icon:rT,segment:"art",status:e("Sur rendez-vous","By appointment"),open:!1,name:e("Oeuvres d'art blue-chip","Blue-chip artworks"),detail:e("Cote établie · marché secondaire profond","Established rating · deep secondary market"),ticket:e("Minimum 20 000 €","Minimum €20,000")}],l=[{icon:rn,title:e("Immobilier","Real estate"),engine:e("Moteur foncier et opérationnel","Land and operational engine"),horizon:e("Horizon 18 à 36 mois","18 to 36 month horizon"),ticket:e("À partir de 150 000 €","From €150,000"),text:e("Des opérations adossées à un actif tangible, portées par un opérateur identifié, avec un scénario de sortie écrit avant l'engagement.","Transactions backed by a tangible asset, led by an identified operator, with an exit scenario written before any commitment.")},{icon:Qx,title:e("Late-stage venture","Late-stage venture"),engine:e("Moteur de croissance","Growth engine"),horizon:e("Horizon 3 à 6 ans","3 to 6 year horizon"),ticket:e("À partir de 125 000 €","From €125,000"),text:e("Une exposition à des sociétés technologiques déjà installées, acquise auprès d'actionnaires historiques par voie secondaire.","Exposure to already established technology companies, acquired from existing shareholders through secondary transactions.")},{icon:rT,title:e("Art","Art"),engine:e("Moteur de rareté","Scarcity engine"),horizon:e("Horizon 7 ans et plus","7 years and beyond"),ticket:e("À partir de 200 000 €","From €200,000"),text:e("Des œuvres à cote établie, choisies pour la profondeur de leur marché secondaire et leur rôle de réserve de valeur.","Works with an established rating, chosen for the depth of their secondary market and their store-of-value role.")}],c=[{step:"01",title:e("Un premier échange de 30 minutes","A first 30-minute conversation"),text:e("Nous cadrons votre patrimoine, votre horizon et la part réellement immobilisable.","We frame your wealth, your horizon and the share you can genuinely immobilise."),time:e("Semaine 1","Week 1")},{step:"02",title:e("Vous recevez la note d'opération","You receive the deal memo"),text:e("Thèse, horizon, risques, liquidité, ticket et frais, écrits avant toute décision.","Thesis, horizon, risks, liquidity, ticket and fees, written before any decision."),time:e("Dès qu'un dossier passe le crible","As soon as a file clears the sieve")},{step:"03",title:e("Vous décidez, dossier par dossier","You decide, file by file"),text:e("Aucun engagement de récurrence : dire non n'a aucune conséquence sur la suite.","No recurring commitment: saying no has no impact on what follows."),time:e("Sans délai imposé","No imposed deadline")},{step:"04",title:e("Suivi jusqu'au dénouement","Monitoring through to unwinding"),text:e("Reporting à échéance fixe et information immédiate en cas de dérive du calendrier.","Fixed-interval reporting and immediate notice if the schedule slips."),time:e("Toute la durée de l'opération","For the life of the transaction")}],u=[{icon:zQ,step:"01",title:e("Sourcing propriétaire","Proprietary sourcing"),text:e("Nos opérations proviennent de relations directes : opérateurs immobiliers, actionnaires de sociétés technologiques, maisons de vente et marchands. Nous ne relayons pas de plateformes.","Our transactions come from direct relationships: real estate operators, technology company shareholders, auction houses and dealers. We do not relay platforms.")},{icon:zb,step:"02",title:e("Analyse contradictoire","Adversarial analysis"),text:e("Chaque dossier est instruit à charge : qualité de l'opérateur, structure de dette, sûretés, ancrage de la valorisation, scénario défavorable. Nous cherchons d'abord la raison de refuser.","Every file is examined against itself: operator quality, debt structure, security interests, valuation anchoring, downside scenario. We look for the reason to decline first.")},{icon:SR,step:"03",title:e("Structuration","Structuring"),text:e("Véhicule, gouvernance, droits des minoritaires, traitement fiscal et articulation avec votre patrimoine existant sont arrêtés avant toute présentation.","Vehicle, governance, minority rights, tax treatment and articulation with your existing wealth are settled before any presentation.")},{icon:Jl,step:"04",title:e("Suivi et sortie","Monitoring and exit"),text:e("Reporting à échéance fixe, information immédiate en cas de dérive du calendrier, accompagnement jusqu'au dénouement de l'opération.","Reporting at fixed intervals, immediate notification if the schedule slips, support through to the unwinding of the transaction.")}],d=[e("Opérateur ayant déjà mené des opérations comparables à leur terme","Operator having already completed comparable transactions"),e("Prix d'acquisition confronté aux références de marché récentes","Acquisition price tested against recent market references"),e("Structure de dette, sûretés et rang des investisseurs explicités","Debt structure, security interests and investor ranking made explicit"),e("Autorisations administratives obtenues ou risque clairement chiffré","Permits secured, or the related risk clearly quantified"),e("Scénario défavorable modélisé avant le scénario central","Downside scenario modelled before the central case")],p=[{name:e("Courchevel 1850","Courchevel 1850"),montant:"12 400 000 €",horizon:e("22 mois","22 months"),img:V3},{name:e("Rue de la Paix · Paris 2e","Rue de la Paix · Paris 2nd"),montant:"9 250 000 €",horizon:e("20 mois","20 months"),img:KIe},{name:e("Rue d'Hauteville · Paris 10e","Rue d'Hauteville · Paris 10th"),montant:"16 800 000 €",horizon:e("34 mois","34 months"),img:QIe},{name:e("Quai de Jemmapes · Paris 10e","Quai de Jemmapes · Paris 10th"),montant:"8 600 000 €",horizon:e("25 mois","25 months"),img:YIe},{name:e("Rue d'Aboukir · Paris 2e","Rue d'Aboukir · Paris 2nd"),montant:"7 350 000 €",horizon:e("28 mois","28 months"),img:JIe},{name:e("Rue de Turenne · Paris 3e","Rue de Turenne · Paris 3rd"),montant:"6 400 000 €",horizon:e("19 mois","19 months"),img:XIe}],m=[{title:e("Une société, pas un fonds","A company, not a fund"),text:e("Vous vous exposez à une entreprise identifiée, dont vous connaissez le métier, les revenus et la gouvernance, et non à un portefeuille aveugle constitué après votre engagement.","You gain exposure to an identified company whose business, revenues and governance you know, rather than to a blind portfolio assembled after your commitment.")},{title:e("Une entrée par le secondaire","Entry through the secondary market"),text:e("Les titres sont rachetés à des actionnaires historiques (fondateurs, salariés, fonds arrivés à échéance). Cette voie évite la période aveugle des premières années de vie d'une société.","Shares are bought from existing holders (founders, employees, funds reaching the end of their life). This route avoids the blind early years of a company's life.")},{title:e("Un véhicule dédié par opération","A dedicated vehicle per transaction"),text:e("Chaque opération est logée dans un véhicule ad hoc, avec ses propres statuts, sa propre documentation et ses propres frais. Rien n'est mutualisé avec une autre opération.","Each transaction sits in a dedicated vehicle, with its own articles, documentation and fees. Nothing is pooled with another transaction.")},{title:e("Une liquidité conditionnelle","Conditional liquidity"),text:e("La sortie dépend d'un événement : introduction en bourse, cession industrielle ou nouvelle transaction secondaire. Aucune de ces issues n'est acquise, ni datée à l'avance.","The exit depends on an event: listing, trade sale or a new secondary transaction. None of these outcomes is certain, nor scheduled in advance.")}],h=[e("Table de capitalisation opaque ou droits des minoritaires non documentés","Opaque cap table or und
731ocumented minority rights"),e("Valorisation non ancrée sur une transaction récente et vérifiable","Valuation not anchored to a recent, verifiable transaction"),e("Information financière trop ancienne ou non auditée","Financial information too old or unaudited"),e("Chaîne d'intermédiaires empilant des frais successifs","Chain of intermediaries stacking successive layers of fees")],g=[{title:e("Un segment, pas un goût","A segment, not a taste"),text:e("Nous n'intervenons que sur des artistes à cote établie, dont les œuvres s'échangent régulièrement en vente publique. La qualité esthétique reste votre affaire ; la profondeur du marché reste la nôtre.","We only operate on artists with an established rating, whose works trade regularly at public sale. Aesthetic quality remains your business; market depth remains ours.")},{title:e("La provenance avant le prix","Provenance before price"),text:e("Historique de propriété, authentification, état de conservation et publication au catalogue raisonné sont vérifiés avant toute discussion sur la valeur.","Ownership history, authentication, condition and catalogue raisonné publication are verified before any discussion of value.")},{title:e("Le coût de portage, dit clairement","Carrying costs, stated plainly"),text:e("Conservation, assurance, transport, restauration éventuelle et commissions de vente sont chiffrés dès l'origine et intégrés au scénario de sortie.","Storage, insurance, transport, any restoration and selling commissions are quantified from the outset and built into the exit scenario.")},{title:e("Une place patrimoniale mesurée","A measured place in your wealth"),text:e("L'art se prête à la transmission et à la diversification, pas au besoin de liquidité. Nous en limitons volontairement le poids dans une allocation.","Art lends itself to transmission and diversification, not to liquidity needs. We deliberately cap its weight within an allocation.")}],f=[{icon:pr,title:e("Thèse d'investissement","Investment thesis"),text:e("Pourquoi cette opération, et ce qui doit se produire pour qu'elle réussisse.","Why this transaction, and what must happen for it to succeed.")},{icon:TR,title:e("Horizon indicatif","Indicative horizon"),text:e("La durée de blocage attendue, et ce qui peut l'allonger.","The expected lock-up, and what could extend it.")},{icon:e2,title:e("Risques identifiés","Identified risks"),text:e("Les facteurs susceptibles d'entraîner une perte, classés par importance.","The factors liable to cause a loss, ranked by significance.")},{icon:la,title:e("Liquidité","Liquidity"),text:e("Les conditions de sortie réelles, et l'absence de marché organisé.","Actual exit conditions, and the absence of any organised market.")},{icon:rn,title:e("Montant minimum","Minimum amount"),text:e("Le ticket d'entrée propre à l'opération, sans effet d'annonce.","The ticket specific to the transaction, without headline effect.")},{icon:Jl,title:e("Frais et rémunération","Fees and remuneration"),text:e("Ce que coûte l'opération, et comment Colbr est rémunéré.","What the transaction costs, and how Colbr is remunerated.")}],x=[e("Nous ne garantissons aucun rendement, sur aucun des trois terrains.","We guarantee no return, on any of the three grounds."),e("Nous n'organisons pas de sortie anticipée : un engagement est illiquide.","We do not organise early exits: a commitment is illiquid."),e("Nous ne cherchons pas le volume : une année sans opération reste possible.","We do not chase volume: a year without a transaction remains possible."),e("Nous ne recueillons aucun engagement sans note d'opération lue et discutée.","We take no commitment without a deal memo read and discussed.")],v=[{q:e("Faut-il s'engager sur un programme ou sur une opération ?","Do I commit to a programme or to a transaction?"),a:e("Sur une opération, et uniquement celle-là. Il n'existe ni abonnement, ni engagement de récurrence, ni obligation de suivre les dossiers suivants. Chaque décision est indépendante de la précédente.","To a transaction, and to that transaction alone. There is no subscription, no recurring commitment and no obligation to follow subsequent files. Each decision is independent of the previous one.")},{q:e("Quel montant minimum faut-il prévoir ?","What minimum amount should I expect?"),a:e("Le ticket dépend du terrain et du véhicule retenu. Il débute autour de 150 000 € en immobilier, 125 000 € en venture secondaire et 200 000 € en art, où l'œuvre elle-même ajuste le montant.","The ticket depends on the ground and the vehicle used. It starts around €150,000 for real estate, €125,000 for secondary venture and €200,000 for art, where the work itself adjusts the amount.")},{q:e("Comment les trois terrains se combinent-ils ?","How do the three grounds combine?"),a:e("Ils répondent à des moteurs et des horizons différents : opérationnel et court en immobilier, croissance et moyen terme en venture, rareté et long terme en art. Ils ne se substituent pas à votre allocation cœur, ils la complètent à la marge.","They answer to different engines and horizons: operational and short in real estate, growth and medium term in venture, scarcity and long term in art. They do not replace your core allocation, they complement it at the margin.")},{q:e("Que se passe-t-il si le calendrier dérape ?","What happens if the schedule slips?"),a:e("Vous en êtes informé sans attendre l'échéance de reporting suivante, avec les conséquences chiffrées sur la durée et sur le résultat attendu. Un retard n'est pas un incident exceptionnel : c'est une hypothèse intégrée dès l'analyse.","You are informed without waiting for the next reporting date, with the quantified consequences on duration and expected outcome. A delay is not an exceptional event: it is an assumption built into the analysis.")},{q:e("Puis-je loger ces opérations dans une enveloppe existante ?","Can these transactions sit inside an existing wrapper?"),a:e("Selon les cas, un contrat luxembourgeois ou une holding patrimoniale peut accueillir certaines participations. Cette question est traitée en amont, car elle conditionne la structuration du véhicule.","Depen
731ding on the case, a Luxembourg policy or a holding company may accommodate certain interests. This question is addressed upfront, as it drives the structuring of the vehicle.")},{q:e("Ces opérations conviennent-elles à tous les investisseurs ?","Are these transactions suitable for every investor?"),a:e("Non. Elles s'adressent à des investisseurs avertis, capables d'immobiliser une fraction de leur patrimoine sur plusieurs années et d'en supporter la perte totale sans conséquence sur leur équilibre financier.","No. They are intended for informed investors able to immobilise a portion of their wealth for several years and to bear its total loss without consequence for their financial balance.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_25%_15%,hsl(var(--primary)/0.07),transparent_65%)]"}),t.jsx("div",{className:"container max-w-5xl mx-auto px-6 relative",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Ye},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-primary/70",children:e("Opérations sélectionnées","Selected transactions")})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl leading-[1.05] tracking-tight mb-8 max-w-4xl",children:[e("Investir opération par opération,","Investing deal by deal,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("jamais par défaut.","never by default.")})]}),t.jsx("p",{className:"text-lg md:text-xl text-muted-foreground leading-relaxed max-w-3xl mb-10",children:e("Quelques opérations par an, choisies une à une, sur trois terrains complémentaires : immobilier, late stage Venture de maturité et oeuvre d'art de collection. Vous décidez dossier par dossier, en connaissance de la thèse, de l'horizon, des risques, de la liquidité et du montant engagé.","A handful of transactions each year, chosen one by one, across three complementary grounds: real estate, mature technology capital and collectible art. You decide file by file, with full knowledge of the thesis, horizon, risks, liquidity and amount committed.")}),t.jsxs("div",{className:"flex flex-wrap gap-4 mb-14",children:[t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-full",children:[e("Recevoir nos prochains deals en avant-première","Get our next deals first"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border rounded-full hover:bg-muted/50 transition-colors duration-200",children:e("Prendre rendez-vous","Book a meeting")})]}),t.jsxs("div",{className:"rounded-2xl border border-border/50 bg-card/60 backdrop-blur-sm overflow-hidden",children:[t.jsxs("div",{className:"flex items-center justify-between gap-4 px-6 py-4 border-b border-border/50",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-muted-foreground",children:e("Opération à la une","Featured transaction")}),t.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[10px] uppercase tracking-[0.16em] text-secondary",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-secondary"}),a.status]})]}),t.jsxs("div",{className:"grid lg:grid-cols-2",children:[t.jsxs("div",{className:"relative min-h-[260px] lg:min-h-[380px] overflow-hidden",children:[t.jsx("img",{src:a.img,alt:a.name,width:1280,height:860,className:"absolute inset-0 w-full h-full object-cover"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-background/70 via-background/10 to-transparent"})]}),t.jsxs("div",{className:"p-8 lg:p-10 flex flex-col",children:[t.jsxs("div",{className:"flex items-center gap-2.5 mb-5",children:[t.jsx(a.icon,{className:"w-4 h-4 text-primary"}),t.jsx("span",{className:"text-[11px] uppercase tracking-[0.18em] text-muted-foreground",children:a.kicker})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl leading-tight tracking-tight mb-4",children:a.name}),t.jsx("p",{className:"text-[15px] text-muted-foreground leading-[1.8] mb-8",children:a.text}),t.jsx("dl",{className:"grid grid-cols-2 gap-x-6 gap-y-5 mb-8",children:a.facts.map(b=>t.jsxs("div",{children:[t.jsx("dt",{className:"text-[11px] uppercase tracking-[0.16em] text-muted-foreground
731/70 mb-1.5",children:b.k}),t.jsx("dd",{className:"font-display text-lg text-foreground",children:b.v})]},b.k))}),t.jsxs("div",{className:"mt-auto flex flex-wrap gap-3",children:[t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-6 py-3 text-[13px] font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-full",children:[e("Recevoir nos prochains deals en avant-première","Get our next deals first"),t.jsx(V,{className:"w-3.5 h-3.5"})]}),t.jsx("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-6 py-3 text-[13px] font-medium border border-border rounded-full hover:bg-muted/50 transition-colors duration-200",children:e("Prendre rendez-vous","Book a meeting")})]})]})]}),t.jsx("div",{className:"px-6 py-4 border-t border-border/50",children:t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-muted-foreground",children:e("Également au calendrier","Also on the calendar")})}),t.jsx("div",{className:"grid sm:grid-cols-3 divide-y sm:divide-y-0 sm:divide-x divide-border/50 border-t border-border/50",children:o.map((b,y)=>t.jsxs(S.a,{href:`#${b.segment}`,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.5,delay:.25+y*.08,ease:Ye},className:"group p-6 hover:bg-muted/40 transition-colors duration-300",children:[t.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[t.jsx(b.icon,{className:"w-4 h-4 text-primary"}),t.jsxs("span",{className:`inline-flex items-center gap-1.5 text-[10px] uppercase tracking-[0.16em] ${b.open?"text-secondary":"text-muted-foreground/80"}`,children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${b.open?"bg-secondary":"bg-muted-foreground/40"}`}),b.status]})]}),t.jsx("p",{className:"font-display text-lg leading-snug mb-2",children:b.name}),t.jsx("p",{className:"text-[14px] text-muted-foreground leading-[1.7] mb-3",children:b.detail}),t.jsx("p",{className:"text-[13px] font-medium text-foreground/80",children:b.ticket})]},y))}),t.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 px-6 py-4 border-t border-border/50 bg-muted/30",children:[t.jsx("p",{className:"text-[13px] text-muted-foreground",children:e("Les notes d'opération complètes sont transmises après un premier échange.","Full deal memos are shared after a first conversation.")}),t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 text-[13px] font-medium text-primary hover:gap-3 transition-all duration-200",children:[e("Demander les notes d'opération","Request the deal memos"),t.jsx(V,{className:"w-3.5 h-3.5"})]})]})]}),t.jsx("ul",{className:"mt-6 flex flex-wrap items-center gap-x-6 gap-y-2",children:s.map((b,y)=>t.jsxs("li",{className:"text-[12px] text-muted-foreground",children:[t.jsx("span",{className:"text-foreground/80",children:b.value})," · ",b.label]},y))})]})})]}),t.jsx(GIe,{items:i}),t.jsx("section",{className:"py-24 bg-muted/30",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"max-w-3xl mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-primary/70 mb-5 block",children:e("Trois terrains","Three grounds")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-6",children:[e("Trois moteurs différents,","Three different engines,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("une même discipline.","one same discipline.")})]}),t.jsx("p",{className:"text-muted-foreground leading-[1.8] text-lg",children:e("Ces trois univers ne poursuivent pas le même objectif et ne réagissent pas aux mêmes cycles. Leur intérêt tient précisément à cette dissemblance : ils s'ajoutent à une allocation cœur sans en reproduire les expositions.","These three universes do not pursue the same objective and do not react to the same cycles. Their value lies precisely in this dissimilarity: they sit alongside a core allocation without replicating its exposures.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:l.map((b,y)=>t.jsxs(S.a,{href:`#${i[y].id}`,...ot,transition:{duration:.6,delay:y*.1,ease:Ye},className:"group p-8 rounded-2xl bg-card border border-border/40 hover:border-primary/40 transition-colors duration-300",children:[t.jsx(b.icon,{className:"w-6 h-6 text-primary mb-6"}),t.jsx("h3",{className:"font-display text-2xl tracking-tight mb-4",children:b.title}),t.jsx("p",{className:"text-[15px] text-muted-foreground leading-[1.75] mb-6",children:b.text}),t.jsxs("div",{className:"space-y-1.5 pt-5 border-t border-border/40",children:[t.jsx("p",{className:"text-[11px] uppercase tracking-[0.16em] text-muted-foreground
731/70",children:b.engine}),t.jsx("p",{className:"text-[11px] uppercase tracking-[0.16em] text-muted-foreground/70"}),t.jsx("p",{className:"text-[11px] uppercase tracking-[0.16em] text-foreground/70",children:b.ticket})]}),t.jsxs("span",{className:"mt-6 inline-flex items-center gap-2 text-xs font-medium text-primary",children:[e("Découvrir","Explore"),t.jsx(V,{className:"w-3.5 h-3.5 transition-transform duration-300 group-hover:translate-x-1"})]})]},y))})]})}),t.jsx("section",{id:"crible",className:"py-24 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"max-w-3xl mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-primary/70 mb-5 block",children:e("Le crible","The sieve")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-6",children:[e("Ce qui se passe avant","What happens before")," ",t.jsx("span",{className:"text-gradient-gold",children:e("qu'un dossier vous parvienne.","a file reaches you.")})]}),t.jsx("p",{className:"text-muted-foreground leading-[1.8] text-lg",children:e("Nous écartons la très grande majorité des dossiers examinés. Un refus n'a pas besoin d'être compensé par une alternative : lorsqu'aucune opération ne franchit le crible, nous ne présentons rien.","We set aside the vast majority of the files we review. A refusal does not need to be offset by an alternative: when no transaction passes the sieve, we present nothing.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-x-12 gap-y-10",children:u.map((b,y)=>t.jsxs(S.div,{...ot,transition:{duration:.6,delay:y*.08,ease:Ye},className:"flex gap-6",children:[t.jsxs("div",{className:"shrink-0",children:[t.jsx("div",{className:"w-12 h-12 rounded-full border border-border/60 flex items-center justify-center",children:t.jsx(b.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("span",{className:"block text-center mt-2 text-[10px] tracking-[0.2em] text-muted-foreground/50",children:b.step})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:b.title}),t.jsx("p",{className:"text-[15px] text-muted-foreground leading-[1.75]",children:b.text})]})]},y))})]})}),t.jsx("section",{id:"immobilier",className:"py-24 bg-muted/30 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"max-w-3xl mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-primary/70 mb-5 block",children:e("Terrain 01 · Immobilier","Ground 01 · Real estate")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-6",children:[e("Un actif que l'on peut","An asset you can")," ",t.jsx("span",{className:"text-gradient-gold",children:e("visiter, mesurer, revendre.","visit, measure and resell.")})]}),t.jsx("p",{className:"text-muted-foreground leading-[1.8] text-lg",children:e("Restructuration d'immeubles, changement d'usage, chalets d'altitude et opérations de marchand de biens en zone tendue : des projets courts, portés par un opérateur qui engage ses propres fonds à nos côtés. La valeur se crée par le travail effectué sur l'actif, pas par l'attente d'une hausse de marché.","Building refurbishment, change of use, alpine chalets and property trading in supply-constrained areas: short projects led by an operator who commits its own capital alongside ours. Value is created through work performed on the asset, not by waiting for the market to rise.")})]}),t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"grid lg:grid-cols-5 gap-10 mb-16",children:[t.jsxs("div",{className:"lg:col-span-2 p-8 rounded-2xl bg-card border border-border/40",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-6",children:e("Ce que nous exigeons","What we require")}),t.jsx("ul",{className:"space-y-4",children:d.map((b,y)=>t.jsxs("li",{className:"flex gap-3 text-[15px] text-muted-foreground leading-[1.75]",children:[t.jsx("span",{className:"text-primary/60 text-xs mt-1",children:String(y+1).padStart(2,"0")}),t.jsx("span",{children:b})]},y))})]}),t.jsxs("div",{className:"lg:col-span-3",children:[t.jsx("p",{className:"text-[11px] uppercase tracking-[0.2em] text-muted-foreground
731/60 mb-5",children:e("Opérations passées","Past transactions")}),t.jsx("div",{className:"grid sm:grid-cols-2 gap-4",children:p.map((b,y)=>t.jsxs(S.div,{...ot,transition:{duration:.5,delay:y*.05,ease:Ye},className:"rounded-xl overflow-hidden border border-border/40 bg-card",children:[t.jsx("div",{className:"h-28 overflow-hidden",children:t.jsx("img",{src:b.img,alt:b.name,loading:"lazy",width:480,height:280,className:"w-full h-full object-cover transition-transform duration-700 hover:scale-105"})}),t.jsxs("div",{className:"p-4",children:[t.jsx("p",{className:"text-sm font-medium tracking-tight mb-1",children:b.name}),t.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[b.montant," · ",b.horizon]})]})]},y))}),t.jsx("p",{className:"text-[11px] text-muted-foreground/60 italic mt-5",children:e("Opérations réalisées, citées à titre d'illustration. Elles ne préjugent en rien des opérations futures ni de leur résultat.","Completed transactions, shown for illustration only. They are in no way indicative of future transactions or of their outcome.")})]})]}),t.jsx(S.div,{...ot,transition:{duration:.6,ease:Ye},children:t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-full",children:[e("Recevoir les prochaines notes d'opération immobilière","Receive our next real estate deal memos"),t.jsx(V,{className:"w-4 h-4"})]})})]})}),t.jsxs("section",{id:"venture",className:"py-24 bg-surface-dark text-surface-dark-foreground scroll-mt-32 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 opacity-[0.16] pointer-events-none",children:t.jsxs("svg",{width:"100%",height:"100%","aria-hidden":"true",children:[t.jsx("defs",{children:t.jsx("pattern",{id:"venture-grid",width:"56",height:"56",patternUnits:"userSpaceOnUse",children:t.jsx("path",{d:"M56 0H0V56",fill:"none",stroke:"currentColor",strokeWidth:"0.5"})})}),t.jsx("rect",{width:"100%",height:"100%",fill:"url(#venture-grid)"})]})}),t.jsxs("div",{className:"container max-w-6xl mx-auto px-6 relative",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"max-w-3xl mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-surface-dark-foreground/60 mb-5 block",children:e("Terrain 02 · Late-stage venture","Ground 02 · Late-stage venture")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-6",children:[e("Entrer dans une société technologique","Entering a technology company")," ",t.jsx("span",{className:"text-gradient-gold",children:e("après la phase d'incertitude.","after the uncertainty phase.")})]}),t.jsx("p",{className:"text-surface-dark-foreground/75 leading-[1.8] text-lg",children:e("Nous nous intéressons à des entreprises déjà installées : produit adopté, revenus récurrents, gouvernance structurée, actionnariat professionnel. L'accès se fait par rachat de titres existants, dans un véhicule dédié constitué pour la seule opération concernée.","We focus on companies that are already established: adopted product, recurring revenues, structured governance, professional shareholder base. Access is obtained by purchasing existing shares through a dedicated vehicle formed for that single transaction.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6 mb-14",children:m.map((b,y)=>t.jsxs(S.div,{...ot,transition:{duration:.6,delay:y*.08,ease:Ye},className:"p-8 rounded-2xl border border-surface-dark-foreground/15 bg-surface-dark-foreground/[0.04]",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:b.title}),t.jsx("p",{className:"text-[15px] text-surface-dark-foreground/75 leading-[1.75]",children:b.text})]},y))}),t.jsxs(S.div,{...ot,transition:{duration:.6,ease:Ye},className:"p-8 rounded-2xl border border-surface-dark-foreground/15 mb-12",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(TQ,{className:"w-5 h-5 text-primary"}),t.jsx("h3",{className:"font-display text-xl tracking-tight",children:e("Ce qui nous fait renoncer","What makes us walk away")})]}),t.jsx("ul",{className:"grid sm:grid-cols-2 gap-4",children:h.map((b,y)=>
731t.jsx("li",{className:"text-[15px] text-surface-dark-foreground/75 leading-[1.75]",children:b},y))})]}),t.jsxs(S.div,{...ot,transition:{duration:.6,ease:Ye},className:"mb-12",children:[t.jsxs("div",{className:"relative rounded-2xl overflow-hidden border border-surface-dark-foreground/15 mb-8",children:[t.jsx("img",{src:ZIe,alt:e("Salle de conseil d'une société technologique","Technology company boardroom"),loading:"lazy",width:1280,height:860,className:"w-full h-[240px] md:h-[320px] object-cover opacity-80"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-surface-dark via-surface-dark/50 to-transparent"}),t.jsx("p",{className:"absolute bottom-6 left-6 right-6 font-display text-xl md:text-2xl tracking-tight max-w-xl",children:e("Des sociétés déjà installées, accessibles par le secondaire.","Established companies, accessible through the secondary market.")})]}),t.jsx("p",{className:"text-[11px] tracking-[0.22em] uppercase text-surface-dark-foreground/50 mb-6",children:e("Exemples de sociétés du marché secondaire","Examples of secondary market companies")}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[{src:SIe.url,alt:"Anthropic",note:e("Intelligence artificielle","Artificial intelligence")},{src:OIe.url,alt:"SpaceX",note:e("Spatial","Space")},{src:HIe.url,alt:"Revolut",note:e("Services financiers","Financial services")}].map(b=>t.jsxs("div",{className:"group rounded-2xl border border-surface-dark-foreground/15 bg-surface-dark-foreground/[0.06] hover:bg-surface-dark-foreground/[0.1] transition-colors duration-300 px-8 py-10 flex flex-col items-center justify-center gap-5",children:[t.jsx("img",{src:b.src,alt:b.alt,loading:"lazy",className:"h-9 md:h-11 w-auto object-contain invert brightness-0 opacity-90 group-hover:opacity-100 transition-opacity duration-300"}),t.jsx("span",{className:"text-[11px] uppercase tracking-[0.18em] text-surface-dark-foreground/55",children:b.note})]},b.alt))}),t.jsx("p",{className:"text-[11px] text-surface-dark-foreground/40 italic mt-6 max-w-2xl",children:e("Marques citées à titre illustratif du type de sociétés concernées par le marché secondaire. Aucune offre ni disponibilité n'est impliquée.","Brands shown for illustrative purposes only, indicating the type of companies traded on the secondary market. No offer or availability is implied.")})]}),t.jsxs(S.div,{...ot,transition:{duration:.6,ease:Ye},children:[t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-full",children:[e("Être informé des prochaines opérations secondaires","Be notified of our next secondary transactions"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("p",{className:"text-[11px] text-surface-dark-foreground/50 italic mt-5 max-w-2xl",children:e("Aucune introduction en bourse, cession ou revente de titres ne peut être anticipée ni garantie. La perte totale du montant engagé est possible.","No listing, sale or resale of shares can be anticipated or guaranteed. Total loss of the amount committed is possible.")})]})]})]}),t.jsx("section",{id:"art",className:"py-24 bg-brochure text-brochure-ink scroll-mt-32",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"max-w-3xl mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-brochure-muted mb-5 block",children:e("Terrain 03 · Art","Ground 03 · Art")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-6",children:[e("Un actif de long terme,","A long-term asset,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("choisi pour son marché.","chosen for its market.")})]}),t.jsx("p",{className:"text-brochure-muted leading-[1.8] text-lg",children:e("L'art n'entre dans un patrimoine ni pour sa liquidité, ni pour son rendement courant. Il y entre parce qu'il conserve une valeur d'échange indépendante des cycles f
731inanciers, qu'il se transmet et qu'il peut être détenu à plusieurs. Encore faut-il se limiter à des œuvres dont le marché existe réellement.","Art enters a portfolio neither for its liquidity nor for its current yield. It enters because it retains an exchange value independent of financial cycles, because it can be passed on and held jointly. Provided one sticks to works for which a market genuinely exists.")})]}),t.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-start mb-14",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"grid grid-cols-2 gap-4",children:[t.jsx("img",{src:eAe,alt:e("Œuvre de Pierre Soulages","Work by Pierre Soulages"),loading:"lazy",width:520,height:640,className:"w-full h-64 object-cover rounded-xl col-span-1"}),t.jsx("img",{src:tAe,alt:e("Œuvre de Keith Haring","Work by Keith Haring"),loading:"lazy",width:520,height:640,className:"w-full h-64 object-cover rounded-xl col-span-1"}),t.jsx("img",{src:nAe,alt:e("Œuvre de François-Xavier Lalanne","Work by François-Xavier Lalanne"),loading:"lazy",width:1040,height:520,className:"w-full h-48 object-cover rounded-xl col-span-2"})]}),t.jsx("div",{className:"space-y-6",children:g.map((b,y)=>t.jsxs(S.div,{...ot,transition:{duration:.6,delay:y*.07,ease:Ye},className:"pb-6 border-b border-brochure-line last:border-0",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:b.title}),t.jsx("p",{className:"text-[15px] text-brochure-muted leading-[1.75]",children:b.text})]},y))})]}),t.jsxs(S.div,{...ot,transition:{duration:.6,ease:Ye},children:[t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-full",children:[e("Prendre rendez-vous pour un dossier art","Book a meeting on an art file"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("p",{className:"text-[11px] text-brochure-muted italic mt-5 max-w-2xl",children:e("Les dossiers art sont étudiés uniquement sur rendez-vous. Le marché de l'art n'est pas réglementé comme les marchés financiers et ne fait l'objet d'aucune garantie de valeur.","Art files are reviewed by appointment only. The art market is not regulated like financial markets and carries no guarantee of value.")})]})]})}),t.jsx("section",{className:"py-24",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"max-w-3xl mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-primary/70 mb-5 block",children:e("La note d'opération","The deal memo")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-6",children:[e("Six informations,","Six pieces of information,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("écrites avant votre décision.","written before your decision.")})]}),t.jsx("p",{className:"text-muted-foreground leading-[1.8] text-lg",children:e("Quel que soit le terrain, chaque opération présentée s'accompagne d'un document écrit couvrant systématiquement les six points suivants. Aucun engagement n'est recueilli avant que ce document ait été lu et discuté avec vous.","Whatever the ground, every transaction presented comes with a written document systematically covering the following six points. No commitment is taken before that document has been read and discussed with you.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-px bg-border/40 rounded-2xl overflow-hidden border border-border/40",children:f.map((b,y)=>t.jsxs(S.div,{...ot,transition:{duration:.5,delay:y*.06,ease:Ye},className:"bg-background p-8",children:[t.jsx(b.icon,{className:"w-5 h-5 text-primary mb-5"}),t.jsx("h3",{className:"text-sm font-medium tracking-tight mb-2",children:b.title}),t.jsx("p",{className:"text-[15px] text-muted-foreground leading-[1.75]",children:b.text})]},y))})]})}),t.jsx("section",{className:"py-24 bg-muted/30",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.h2,{...ot,transition:{duration:.7,ease:Ye},className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-10",children:[e("Ce que nous","What we")," ",t.jsx("span",{className:"text-gradient-gold",children:e("ne faisons pas.","do not do.")})]}),t.jsx("div",{className:"space-y-0",children:x.map((b,y)=>t.jsx(S.p,{...ot,transition:{duration:.5,delay:y*.07,ease:Ye},className:"py-6 border-b border-border/40 text-lg text-foreground
731/80 leading-[1.8]",children:b},y))})]})}),t.jsx("section",{className:"py-24",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},className:"max-w-3xl mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.22em] uppercase text-primary/70 mb-5 block",children:e("Comment cela se passe","How it works")}),t.jsxs("h2",{className:"font-display text-3xl md:text-5xl tracking-tight leading-tight mb-6",children:[e("Quatre étapes,","Four steps,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("aucune obligation.","no obligation.")})]}),t.jsx("p",{className:"text-muted-foreground leading-[1.8] text-lg",children:e("Vous savez, dès le départ, ce que vous recevez, quand, et ce que vous engagez à chaque étape.","From the outset you know what you receive, when, and what you commit to at each step.")})]}),t.jsx("div",{className:"grid md:grid-cols-4 gap-6",children:c.map((b,y)=>t.jsxs(S.div,{...ot,transition:{duration:.6,delay:y*.08,ease:Ye},className:"p-7 rounded-2xl border border-border/40 bg-card",children:[t.jsx("span",{className:"block text-[11px] tracking-[0.2em] text-primary/70 mb-4",children:b.step}),t.jsx("h3",{className:"font-display text-lg leading-snug tracking-tight mb-3",children:b.title}),t.jsx("p",{className:"text-[15px] text-muted-foreground leading-[1.75] mb-5",children:b.text}),t.jsx("p",{className:"text-[11px] uppercase tracking-[0.14em] text-muted-foreground/60 pt-4 border-t border-border/40",children:b.time})]},y))}),t.jsx(S.div,{...ot,transition:{duration:.6,ease:Ye},className:"mt-12",children:t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-full",children:[e("Démarrer par un échange de 30 minutes","Start with a 30-minute conversation"),t.jsx(V,{className:"w-4 h-4"})]})})]})}),t.jsx("section",{className:"py-24",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(S.h2,{...ot,transition:{duration:.7,ease:Ye},className:"font-display text-3xl md:text-4xl tracking-tight mb-12",children:[e("Questions","Questions")," ",t.jsx("span",{className:"text-gradient-gold",children:e("fréquentes","we often receive")})]}),t.jsx("div",{className:"divide-y divide-border/40 border-y border-border/40",children:v.map((b,y)=>t.jsxs("div",{children:[t.jsxs("button",{type:"button",onClick:()=>r(n===y?null:y),"aria-expanded":n===y,className:"w-full flex items-start justify-between gap-6 py-6 text-left",children:[t.jsx("span",{className:"text-[17px] font-medium tracking-tight leading-snug",children:b.q}),t.jsx("span",{className:"text-primary text-xl leading-none mt-0.5 shrink-0",children:n===y?"−":"+"})]}),n===y&&t.jsx(S.p,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},transition:{duration:.35,ease:Ye},className:"pb-6 -mt-1 text-[16px] text-muted-foreground leading-[1.8] max-w-2xl",children:b.a})]},y))})]})}),t.jsx("section",{className:"py-16 border-t border-border/40 bg-muted/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(e2,{className:"w-5 h-5 text-primary"}),t.jsx("h2",{className:"text-sm font-medium uppercase tracking-[0.18em]",children:e("Avertissement sur les risques","Risk warning")})]}),t.jsxs("div",{className:"space-y-3 text-[15px] text-muted-foreground leading-[1.75]",children:[t.jsx("p",{children:e("Les opérations présentées sur cette page comportent un risque de perte partielle ou totale du capital engagé. Elles ne bénéficient d'aucune garantie en capital ni d'aucune garantie de rendement.","The transactions presented on this page carry a risk of partial or total loss of the capital committed. They benefit from no capital guarantee and no return guarantee.")}),t.jsx("p",{children:e("Elles sont illiquides : aucun marché organisé ne permet de céder sa participation en cours de vie, et aucune sortie anticipée n'est assurée. La durée effective d'immobilisation peut excéder l'horizon indicatif communiqué.","They are illiquid: no organised market allows an interest to be sold during its life, and no early exit is assured. The effective lock-up period may exceed the indicative horizon communicated.")}),t.jsx("p",{children:e("Les performances passées et les opérations réalisées ne préjugent pas des performances futures. Les objectifs de rendement mentionnés ne constituent en aucun cas un engagement de Colbr ni des opérateurs concernés.","Past performance and completed transactions are not indicative of future results. Any return objectives mentioned constitute no undertaking by Colbr or by the operators involved.")}),t.jsx("p",{children:e("Ces opérations s'adressent à des investisseurs avertis, en mesure d'apprécier les risques encourus et d'en supporter les conséquences. Toute décision doit être prise après examen de la documentation de l'opération et échange avec votre conseiller.","These transactions are intended for informed investors able to assess the risks involved and bear their consequences. Any decision should be taken after reviewing the transaction documentation and discussing it with your adviser.")})]})]})}),t.jsxs("section",{className:"py-24 border-t border-border/20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_50%_50%,hsl(var(--primary)/0.05),transparent_60%)]"}),t.jsx("div",{className:"container max-w-3xl mx-auto px-6 relative text-center",children:t.jsxs(S.div,{...ot,transition:{duration:.7,ease:Ye},children:[t.jsx(la,{className:"w-9 h-9 text-primary mx-auto mb-7"}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-5",children:[e("Les opérations en cours","Current transactions")," ",t.jsx("span",{className:"text-gradient-gold",children:e("se présentent de vive voix.","are presented in person.")})]}),t.jsx("p",{className:"text-muted-foreground leading-[1.8] text-lg mb-9",children:e("Un échange d'une trentaine de minutes suffit à déterminer si l'un des trois terrains a sa place dans votre patrimoine, et à quelle hauteur.","A thirty-minute c
731onversation is enough to determine whether one of the three grounds has a place in your wealth, and to what extent.")}),t.jsxs("button",{type:"button","data-meeting":"true",className:"inline-flex items-center gap-2 px-8 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-full",children:[e("Échanger avec un banquier privé","Speak with a private banker"),t.jsx(V,{className:"w-4 h-4"})]})]})})]}),t.jsx(Ft,{items:[{to:"/private-equity",label:"Private Equity",description:e("Une exposition diversifiée au non-coté, en complément des opérations unitaires.","Diversified private markets exposure, complementing single-transaction investments."),eyebrow:e("Non-coté","Private markets")},{to:"/assurance-vie-luxembourgeoise",label:e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),description:e("L'enveloppe qui peut accueillir certaines participations et en organiser la transmission.","The wrapper that can hold certain interests and organise their transmission."),eyebrow:e("Structuration","Structuring")},{to:"/family-office",label:"Family Office",description:e("Le pilotage d'ensemble lorsque les opérations se multiplient et se croisent.","Overall oversight when transactions multiply and overlap."),eyebrow:e("Accompagnement","Advisory")}]}),t.jsx($o,{items:[{to:"/blog/club-deal",eyebrow:"Comprendre",title:"Comment analyser un club deal",description:"Sélection, durée, liquidité et gouvernance de l’opération."},{to:"/private-equity",eyebrow:"Solution",title:"Le private equity chez Colbr",description:"Fonds, secondaires et co-investissement."},{to:"/blog/art-actif-patrimonial",eyebrow:"Approfondir",title:"L’art comme actif patrimonial",description:"Marché, valorisation et horizon de détention."},{to:"/family-office",eyebrow:"Accompagnement",title:"Le Family Office Colbr",description:"Coordination et suivi des participations détenues."}]}),t.jsx(re,{})]})},iAe="/assets/crypto-architecture-hero-BHny_TN7.jpg",W3="/assets/logo-blackrock-5Uhhiibv.svg",H3="/assets/logo-amundi-Cuz_Mttq.svg",G3="data:image/svg+xml,%3csvg%20width='151'%20height='48'%20viewBox='0%200%20151%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M142.439%208.39626L124.164%204.18661L150.625%200L146.556%2027.0769L142.439%208.39626Z'%20fill='%23793690'/%3e%3cpath%20d='M27.5922%2018.0615L16.1114%2035.4032L4.62772%2018.0615H2.62531V47.3847H4.66944V21.9148L15.9877%2038.7964H16.1517L27.4699%2021.9148V47.3847H29.596V18.0615H27.5922Z'%20fill='%233E3441'/%3e%3cpath%20d='M53.8683%2037.1993L46.3492%2020.2351L38.7898%2037.1993H53.8683ZM45.3696%2017.8462H47.4123L60.7344%2047.3801H58.4068L54.7688%2039.1694H37.8907L34.2556%2047.3801H32.0489L45.3696%2017.8462Z'%20fill='%233E3441'/%3e%3cpath%20d='M75.5691%2033.2618C80.3507%2033.2618%2083.9067%2030.7903%2083.9067%2026.5596V26.477C83.9067%2022.5397%2080.8816%2020.0667%2075.6928%2020.0667H65.9254V33.2618H75.5691ZM63.8007%2018.0553H75.8166C79.3294%2018.0553%2082.1475%2019.1864%2083.8665%2020.9471C85.2129%2022.3274%2086.0329%2024.2989%2086.0329%2026.3929V26.477C86.0329%2031.3757%2082.4754%2034.1849%2077.6535%2034.8544L87.0931%2047.38H84.3958L75.2843%2035.2319H65.9254V47.38H63.8007V18.0553Z'%20fill='%233E3441'/%3e%3cpath%20d='M89.8541%2018.0553H110.205V20.0653H91.9788V31.5851H108.363V33.598H91.9788V45.3671H110.408V47.38H89.8541V18.0553Z'%20fill='%233E3441'/%3e%3cpath%20d='M137.754%2018.0553L126.761%2032.4227L138.164%2047.38H135.629L125.453%2033.8472L115.319%2047.38H112.829L124.187%2032.4227L113.236%2018.0553H115.769L125.535%2030.9997L135.259%2018.0553H137.754Z'%20fill='%233E3441'/%3e%3c/svg%3e",K3="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMjAwIDQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB4PSIwIiB5PSI4IiB3aWR0aD0iNiIgaGVpZ2h0PSIyNCIgcng9IjEiIGZpbGw9IiMzRTM0NDEiLz4KPHJlY3QgeD0iMTAiIHk9IjE0IiB3aWR0aD0iNiIgaGVpZ2h0PSIxOCIgcng9IjEiIGZpbGw9IiMzRTM0NDEiLz4KPHJlY3QgeD0iMjAiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjMwIiByeD0iMSIgZmlsbD0iIzNFMzQ0MSIvPgo8dGV4dCB4PSIzNiIgeT0iMjkiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjI0IiBmb250LXdlaWdodD0iNzAwIiBsZXR0ZXItc3BhY2luZz0iMC41IiBmaWxsPSIjM0UzNDQxIj5CaXR3aXNlPC90ZXh0Pgo8L3N2Zz4K",Q3="/assets/logo-utmost-lAshIeaH.svg",Zn=[.16,1,.3,1],wg=({label:e,hint:n,logos:r})=>t.jsxs("div",{className:"mt-10 rounded-2xl border border-border/70 bg-card px-7 py-6",children:[t.jsx("p",{className:"text-[10px] tracking-[0.28em] uppercase text-muted-foreground mb-5",children:e}),t.jsx("div",{className:"flex flex-wrap items-center gap-x-12 gap-y-6",children:r.map(i=>t.jsx("img",{src:i.src,alt:i.alt,loading:"lazy",className:`${i.h??"h-6"} w-auto object-contain transition-all duration-500 ${i.blur?"blur-[5px] grayscale opacity-50 select-none pointer-events-none":"opacity-70 grayscale hover:grayscale-0 hover:opacity-100"}`},i.alt))}),n&&t.jsx("p",{className:"mt-5 text-xs text-muted-foreground leading-relaxed max-w-[62
731ch]",children:n})]}),sAe=({symbol:e,name:n})=>{const[r,i]=k.useState(!1);return t.jsxs("div",{className:"group flex items-center gap-2.5 rounded-full border border-border/70 bg-card pl-1.5 pr-4 py-1.5 transition-colors duration-300 hover:border-secondary/50",children:[t.jsx("span",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-muted overflow-hidden shrink-0",children:r?t.jsx("span",{className:"text-[9px] font-semibold tracking-tight text-muted-foreground",children:e.slice(0,3).toUpperCase()}):t.jsx("img",{src:`https://cdn.jsdelivr.net/gh/spothq/cryptocurrency-icons@master/svg/color/${e.toLowerCase()}.svg`,alt:n,loading:"lazy",onError:()=>i(!0),className:"h-5 w-5 object-contain"})}),t.jsx("span",{className:"text-[13px] text-foreground/75 whitespace-nowrap",children:n})]})},he={initial:{opacity:0,y:18},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{duration:.7,ease:Zn}},aAe=()=>{const{tr:e,lang:n}=K(),[r,i]=k.useState(0),[s,a]=k.useState("comprendre"),o=[{id:"comprendre",label:e("Comprendre","Understand")},{id:"actifs",label:e("Les actifs","The assets")},{id:"etp",label:"ETP"},{id:"univers",label:e("Univers investissable","Investable universe")},{id:"structures",label:e("Produits dédiés","Dedicated products")},{id:"detention",label:e("La détention","Custody")},{id:"luxembourg",label:"Luxembourg"},{id:"suisse",label:e("Suisse","Switzerland")},{id:"risques",label:e("Risques","Risks")},{id:"faq",label:"FAQ"}];k.useEffect(()=>{const q=new IntersectionObserver(P=>{P.forEach(T=>{T.isIntersecting&&a(T.target.id)})},{rootMargin:"-45% 0px -50% 0px",threshold:0});return o.forEach(P=>{const T=document.getElementById(P.id);T&&q.observe(T)}),()=>q.disconnect()},[n]);const l=[{title:e("Majors","Majors"),coins:[{symbol:"btc",name:"Bitcoin"},{symbol:"eth",name:"Ethereum"},{symbol:"xrp",name:"XRP"},{symbol:"ltc",name:"Litecoin"},{symbol:"bch",name:"Bitcoin Cash"}]},{title:e("Layer 1 et smart contracts","Layer 1 and smart contracts"),coins:[{symbol:"sol",name:"Solana"},{symbol:"ada",name:"Cardano"},{symbol:"dot",name:"Polkadot"},{symbol:"avax",name:"Avalanche"},{symbol:"atom",name:"Cosmos"},{symbol:"trx",name:"Tron"},{symbol:"algo",name:"Algorand"},{symbol:"near",name:"Near"},{symbol:"apt",name:"Aptos"},{symbol:"ftm",name:"Fantom"},{symbol:"xlm",name:"Stellar"},{symbol:"xtz",name:"Tezos"},{symbol:"etc",name:"Ethereum Classic"}
731,{symbol:"bnb",name:"Binance Coin"},{symbol:"matic",name:"Polygon"},{symbol:"enj",name:"Enjin"},{symbol:"ton",name:"Toncoin"}]},{title:e("DeFi et protocoles","DeFi and protocols"),coins:[{symbol:"link",name:"Chainlink"},{symbol:"uni",name:"Uniswap"},{symbol:"aave",name:"Aave"},{symbol:"comp",name:"Compound"},{symbol:"mkr",name:"Maker"},{symbol:"ldo",name:"Lido DAO"},{symbol:"yfi",name:"Yearn.Finance"},{symbol:"zrx",name:"0x"}]},{title:e("Autres actifs unitaires","Other single assets"),coins:[{symbol:"doge",name:"Dogecoin"},{symbol:"ftt",name:"FTX Token"},{symbol:"mana",name:"Decentraland"},{symbol:"sand",name:"The Sandbox"},{symbol:"eos",name:"EOS"}]}],c=["Crypto Basket","Crypto Leaders","Crypto Market","Digital Assets Select 20","Crypto Momentum","DeFi-Basket","SmartCon-Basket","Data-Basket"],u={direct:{title:e("Détention directe","Direct holding"),items:[e("Gestion des clés privées","Private key management"),e("Sélection de la plateforme","Platform selection"),e("Suivi fiscal spécifique","Specific tax reporting"),e("Risques opérationnels propres","Its own operational risks"),e("Patrimoine plus difficile à consolider","Wealth harder to consolidate")]},encadree:{title:e("Exposition financière encadrée","Framed financial exposure"),items:[e("Instrument détenu sur un compte ou dans une enveloppe","Instrument held in an account or wrapper"),e("Dépositaire identifié","Identified custodian"),e("Valorisation et reporting intégrés","Integrated valuation and reporting"),e("Transmission et gestion patrimoniale facilitées","Easier succession and wealth management"),e("Risques de produit et de contrepartie à analyser","Product and counterparty risks to analyse")]}},d=[{icon:zb,title:e("Exposition","Exposure"),desc:e("Quelle part du patrimoine peut raisonnablement être exposée ?","What share of the estate can reasonably be exposed?")},{icon:la,title:e("Structure","Structure"),desc:e("Quel véhicule offre le meilleur équilibre entre liquidité, conservation et cadre patrimonial ?","Which vehicle best balances liquidity, custody and wealth framework?")},{icon:Jl,title:e("Suivi","Monitoring"),desc:e("Comment mesurer le risque et consolider cette poche avec le reste du portefeuille ?","How do we measure risk and consolidate this pocket with the rest of the portfolio?")}],p=[e("Exposition au bitcoin ou à certains autres actifs numériques","Exposure to bitcoin or certain other digital assets"),e("Négociation sur une place boursière","Traded on a stock exchange"),e("Conservation des sous-jacents organisée par l'émetteur et son dépositaire","Custody of the underlyings organised by the issuer and its custodian"),e("Liquidité et valorisation accessibles","Accessible liquidity and valuation"),e("Intégration possible dans certaines enveloppes, sous réserve des conditions de l'assureur ou de l'établissement dépositaire","Possible integration into certain wrappers, subject to the insurer's or custodian's conditions"),e("Sélection fondée sur l'émetteur, le dépositaire, la structure juridique, les frais, la liquidité et la méthode de réplication","Selection based on issuer, custodian, legal structure, fees, liquidity and replication method")],m=[e("Intégration de l'exposition au sein d'une allocation diversifiée","Exposure integrated within a diversified allocation"),e("Contrat d'assurance-vie pour une personne physique","Life insurance contract for an individual"),e("Contrat de capitalisation pouvant répondre à d'autres logiques patrimoniales ou de détention","Capitalisation contract addressing other holding or wealth structures"),e("Reporting consolidé","Consolidated reporting"),e("Gestion financière et arbitrages dans le cadre du contrat","Financial management and switches within the contract"),e("Possibilité d'adapter la clause bénéficiaire pour l'assurance-vie","Ability to tailor the beneficiary clause for life insurance"),e("Portabilité internationale et fiscalité dépendant du pays de résidence","International portability, taxation depending on country of residence"),e("Accès aux supports soumis à l'accord de l'assureur, au profil du client et aux règles du contrat","Access to underlying funds subject to insurer approval, client profile and contract rules")],h=[e("Environnement bancaire reconnu","Recognised banking environment"),e("Établissements supervisés selon leur statut","Institutions supervised according to their status"),e("Accès potentiel à des ETP, certificats ou services de conservation","Potential access to ETPs, certificates or custody services"),e("Comptes multidevises","Multi-currency accounts"),e("Reporting bancaire intégré","Integrated banking reporting"),e("Approche utile pour certains patrimoines internationaux","Useful for certain international estates"),e("Procédures renforcées de connaissance client et de justification de l'origine des fonds","Enhanced KYC and s
731ource-of-funds procedures")],g=[e("Statut réglementaire de l'établissement","Regulatory status of the institution"),e("Nature exacte de la conservation","Exact nature of custody"),e("Ségrégation ou individualisation des actifs","Segregation or individualisation of assets"),e("Régime applicable en cas de défaillance","Regime applicable in case of default"),e("Conditions de restitution","Conditions of restitution"),e("Frais de conservation et de transaction","Custody and transaction fees"),e("Disponibilité réelle des instruments pour le profil du client","Actual availability of instruments for the client profile")],f=[{title:e("Participation","Participation"),desc:e("S'exposer à tout ou partie de la hausse d'un actif numérique selon une formule définie à l'avance.","Gain exposure to all or part of a digital asset's rise according to a pre-defined formula.")},{title:e("Rendement conditionnel","Conditional yield"),desc:e("Percevoir un coupon sous réserve du respect de conditions portant sur le niveau du sous-jacent.","Receive a coupon subject to conditions on the level of the underlying.")},{title:e("Protection conditionnelle","Conditional protection"),desc:e("Absorber une partie de la baisse jusqu'à une barrière prédéfinie, sans supprimer le risque de perte au-delà de cette barrière.","Absorb part of a decline down to a pre-defined barrier, without removing the risk of loss beyond it.")}],x=[{label:e("Objectif principal","Main objective"),values:[e("Exposition liquide","Liquid exposure"),e("Scénario sur mesure","Bespoke scenario"),e("Exposition intégrée à une enveloppe patrimoniale","Exposure inside a wealth wrapper"),e("Relation bancaire et diversification de dépositaire","Banking relationship and custodian diversification")]},{label:e("Mode d'exposition","Exposure mode"),values:[e("Titre coté","Listed security"),e("Titre de créance indexé sur un sous-jacent","Debt security indexed on an underlying"),e("Support éligible au sein du contrat","Eligible unit within the contract"),e("ETP, certificat ou conservation selon l'établissement","ETP, certificate or custody depending on the institution")]},{label:e("Liquidité","Liquidity"),values:[e("Généralement quotidienne aux heures de marché","Generally daily during market hours"),e("Souvent limitée avant l'échéance","Often limited before maturity"),e("Dépend du support et des règles du contrat","Depends on the unit and contract rules"),e("Dépend de l'instrument","Depends on the instrument")]},{label:e("Conservation","Custody"),values:[e("Via la chaîne émetteur / dépositaire","Through the issuer / custodian chain"),e("Compte-titres ou enveloppe compatible","Securities account or compatible wrapper"),e("Actifs représentatifs déposés auprès d'une banque dépositaire","Representative assets deposited with a custodian bank"),e("Établissement bancaire ou prestataire sélectionné","Selected bank or service provider")]},{label:e("Intégration patrimoniale","Wealth integration"),values:[e("Intégration simple à un compte-titres","Simple integration into a securities account"),e("Intégrable selon l'instrument","Integrable depending on the instrument"),e("Forte intégration","Strong integration"),e("Bonne consolidation bancaire","Good banking consolidation")]},{label:e("Personnalisation","Customisation"),values:[e("Faible","Low"),e("Élevée","High"),e("Élevée selon le contrat","High, depending on the contract"),e("Moyenne à élevée","Medium to high")]},{label:e("Risques spécifiques","Specific risks"),values:[e("Marché, produit, dépositaire, liquidité, tracking","Market, product, custodian, liquidity, tracking"),e("Marché, formule, liquidité et défaut de l'émetteur","Market, formula, liquidity and issuer default"),e("Marché, assureur, dépositaire, support, contraintes d'éligibilité","Market, insurer, custodian, underlying, eligibility constraints"),e("Marché, banque, dépositaire, instrument, change","Market, bank, custodian, instrument, currency")]},{label:e("Profil concerné","Relevant profile"),values:[e("Investisseur recherchant une exposition simple","Investor seeking simple exposure"),e("Investisseur avert
731i ayant un scénario défini","Experienced investor with a defined scenario"),e("Patrimoine significatif ou international","Significant or international estate"),e("Investisseur international ou besoin bancaire spécifique","International investor or specific banking need")]}],v=[{n:"01",title:e("Comprendre","Understand"),desc:e("Patrimoine existant, objectifs, horizon, résidence fiscale et expérience des actifs numériques.","Existing wealth, objectives, horizon, tax residence and experience with digital assets.")},{n:"02",title:e("Dimensionner","Size"),desc:e("Déterminer une exposition compatible avec la capacité de perte et la volatilité globale du portefeuille.","Set an exposure compatible with loss capacity and the portfolio's overall volatility.")},{n:"03",title:e("Structurer","Structure"),desc:e("Choisir l'instrument, l'enveloppe, le dépositaire et, le cas échéant, l'émetteur.","Choose the instrument, the wrapper, the custodian and, where applicable, the issuer.")},{n:"04",title:e("Suivre","Monitor"),desc:e("Consolider l'exposition, contrôler les risques et réexaminer régulièrement sa pertinence.","Consolidate exposure, control risks and regularly reassess relevance.")}],b=[e("Développement de cadres réglementaires","Development of regulatory frameworks"),e("Lancement de véhicules cotés adossés à des actifs numériques","Launch of listed vehicles backed by digital assets"),e("Arrivée de gestionnaires d'actifs internationaux","Arrival of international asset managers"),e("Conservation par des dépositaires institutionnels","Custody by institutional custodians"),e("Développement du staking au sein de certains véhicules étrangers","Development of staking within certain foreign vehicles"),e("Apparition de solutions dérivées et structurées","Emergence of derivative and structured solutions"),e("Intégration progressive dans les outils de gestion de portefeuille","Progressive integration into portfolio management tools")],y=[{q:e("Peut-on détenir du bitcoin dans une assurance-vie luxembourgeoise ?","Can bitcoin be held in a Luxembourg life insurance policy?"),a:e("Pas directement sous forme de crypto-actif détenu en propre. En revanche, certains ETP ou instruments financiers liés au bitcoin peuvent, sous réserve de leur éligibilité et de l'accord de l'assureur, être référencés comme supports au sein d'un contrat luxembourgeois d'assurance-vie ou de capitalisation. L'accès dépend du contrat, du profil de l'investisseur et de la politique de la compagnie.","Not directly as a self-held crypto-asset. However, certain bitcoin-linked ETPs or financial instruments may, subject to eligibility and insurer approval, be referenced as units within a Luxembourg life insurance or capitalisation contract. Access depends on the contract, the investor profile and the insurer's policy.")},{q:e("Quelle différence entre acheter du bitcoin et investir via un ETP ?","What is the difference between buying bitcoin and investing through an ETP?"),a:e("L'achat direct implique une plateforme, la conservation des clés privées et un suivi fiscal spécifique. Un ETP bitcoin est un titre coté, acheté et vendu depuis un compte-titres, dont l'émetteur organise la conservation du sous-jacent avec un dépositaire. Le risque de marché reste identique dans les deux cas ; ce sont les risques opérationnels, juridiques et de contrepartie qui diffèrent.","Direct purchase involves a platform, private key custody and specific tax reporting. A bitcoin ETP is a listed security, bought and sold from a securities account, whose issuer organises custody of the underlying with a custodian. Market risk is identical in both cases; operational, legal and counterparty risks differ.")},{q:e("Qui conserve les actifs détenus par un ETP crypto ?","Who holds the assets behind a crypto ETP?"),a:e("La conservation est organisée par l'émetteur du produit auprès d'un dépositaire désigné dans la documentation. Pour un ETP physiquement adossé, les actifs numériques sont généralement conservés hors ligne par un dépositaire institutionnel. Le prospectus précise l'identité du dépositaire, les modalités de ségrégation et le régime applicable en cas de défaillance.","Custody is organised by the product issuer with a custodian named in the documentation. For a physically backed ETP, the digital assets are generally held offline by an institutional custodian. The prospectus specifies the custodian, segregation arrangements and the regime applicable on default.")},{q:e("Un contrat luxembourgeois protège-t-il contre la baisse du bitcoin ?","Does a Luxembourg contract protect against a fall in bitcoin?"),a:e("Non. Le cadre luxembourgeois, et notamment le Triangle de sécurité, organise juridiquement la détention et la ségrégation des actifs représentatifs des engagements de l'assureur. Il ne constitue en aucun cas une garantie de valeur : la performance des supports, y compris ceux exposés aux actifs numériques, reste entièrement supportée par le souscripteur.","No. The Luxembourg framework, notably the Security Triangle, legally organises the holding and segregation of the assets representing the insurer's commitments. It is in no way a guarantee of value: performance of the underlying units, including those exposed to digital assets, remains fully borne by the policyholder.")},{q:e("Peut-on détenir des actifs numériques dans une banque suisse ?","Can digital assets be held with a Swiss bank?"),a:e("Certaines banques suisses proposent, selon leur statut et leurs autorisations, l'accès à des ETP, à des certificats ou à des services de conservation d'actifs numériques. Ce n'est pas le cas de tous les établissements, et le régime applicable dépen
731d de la banque, de l'instrument retenu et du mode de conservation. Une analyse au cas par cas est indispensable.","Some Swiss banks offer, depending on their status and authorisations, access to ETPs, certificates or digital asset custody services. This is not the case for every institution, and the applicable regime depends on the bank, the instrument and the custody model. A case-by-case analysis is essential.")},{q:e("Quelle différence entre conservation directe et exposition financière ?","What is the difference between direct custody and financial exposure?"),a:e("La conservation directe signifie que l'investisseur, ou un prestataire agissant pour lui, détient les crypto-actifs et les clés associées. L'exposition financière consiste à détenir un instrument, ETP, certificat ou produit structuré, dont la valeur dépend de l'actif numérique. Le premier modèle expose davantage aux risques opérationnels, le second aux risques de produit, de dépositaire et de contrepartie.","Direct custody means the investor, or a provider acting for them, holds the crypto-assets and associated keys. Financial exposure means holding an instrument, ETP, certificate or structured product, whose value depends on the digital asset. The first model carries more operational risk, the second more product, custodian and counterparty risk.")},{q:e("Comment fonctionne un produit structuré sur le bitcoin ?","How does a bitcoin structured product work?"),a:e("Il s'agit d'un titre de créance dont le remboursement dépend d'une formule appliquée à un ou plusieurs sous-jacents numériques, avec des barrières et des dates d'observation définies à l'émission. Selon la structure, l'objectif peut être la participation à la hausse, le versement conditionnel d'un coupon ou l'absorption partielle d'une baisse. Toute protection est contractuelle, conditionnelle et dépendante de la solvabilité de l'émetteur.","It is a debt security whose redemption depends on a formula applied to one or several digital underlyings, with barriers and observation dates set at issuance. Depending on the structure, the objective may be upside participation, a conditional coupon or partial absorption of a decline. Any protection is contractual, conditional and dependent on the issuer's solvency.")},{q:e("Peut-on perdre la totalité du capital investi ?","Can the entire invested capital be lost?"),a:e("Oui. Les actifs numériques et les instruments qui y sont liés présentent une forte volatilité et un risque élevé de perte en capital, pouvant aller jusqu'à la totalité des sommes investies. Ce risque existe quel que soit le mode de détention retenu.","Yes. Digital assets and related instruments are highly volatile and carry a high risk of capital loss, up to the total amount invested. This risk exists regardless of the holding structure chosen.")},{q:e("Quelle part de son patrimoine consacrer aux actifs numériques ?","What share of one's wealth should be allocated to digital assets?"),a:e("Il n'existe pas de réponse universelle. Le dimensionnement dépend de l'horizon d'investissement, de la capacité réelle à absorber une perte, de la structure du patrimoine existant et de la finalité poursuivie. L'exposition doit rester compatible avec la volatilité globale du portefeuille et être réexaminée régulièrement.","There is no universal answer. Sizing depends on the investment horizon, the real capacity to absorb a loss, the structure of existing wealth and the objective pursued. Exposure must remain compatible with the portfolio's overall volatility and be reassessed regularly.")},{q:e("Comment déclarer une exposition aux crypto-actifs ?","How is crypto-asset exposure declared?"),a:e("Le traitement déclaratif dépend du mode de détention et de la résidence fiscale. La détention directe et les comptes ouverts à l'étranger obéissent à des obligations déclaratives spécifiques, tandis qu'un instrument financier logé dans un compte-titres ou une enveloppe suit le régime de cette enveloppe. Une analyse personnalisée avec votre conseiller et, le cas échéant, votre avocat fiscaliste est nécessaire.","Reporting treatment depends on the holding structure and tax residence. Direct holdings and foreign accounts are subject to specific reporting obligations, whereas a financial instrument held in a securities account or wrapper follows that wrapper's regime. A personalised analysis with your adviser and, where relevant, your tax lawyer is required.")},{q:e("Les produits de staking sont-ils accessibles aux investisseurs français ?","Are staking products available to French investors?"),a:e("Certains véhicules cotés étrangers intègrent désormais un mécanisme de staking au sein d'un instrument financier traditionnel. Leur disponibilité, leur commercialisation et leur adéquation à un investisseur résident français doivent être vérifiées au cas par cas : elles dépendent du pays d'émission, des règles de distribution et de la politique de l'établissement dépositaire.","Certain foreign listed vehicles now embed a staking mechanism within a traditional financial instrument. Their availability, distribution and suitability for a French-resident investor must be verified case by case: they depen
731d on the country of issuance, distribution rules and the custodian's policy.")},{q:e("Colbr permet-il d'acheter directement des crypto-actifs ?","Does Colbr allow direct purchase of crypto-assets?"),a:e("Colbr n'est ni une plateforme d'échange ni un service de conservation de crypto-actifs. Notre rôle est celui d'un conseil et d'un architecte de la solution d'investissement : définir le niveau d'exposition pertinent, sélectionner l'instrument et l'enveloppe adaptés, analyser le dépositaire et l'émetteur, puis assurer le suivi de cette poche au sein de votre patrimoine global.","Colbr is neither an exchange nor a crypto-asset custodian. Our role is that of adviser and architect of the investment solution: defining the relevant exposure level, selecting the appropriate instrument and wrapper, analysing custodian and issuer, then monitoring this pocket within your overall wealth.")}],N={"@context":"https://schema.org","@type":"FAQPage",mainEntity:y.map(q=>({"@type":"Question",name:q.q,acceptedAnswer:{"@type":"Answer",text:q.a}}))},j=[{id:"actifs",num:"01",eyebrow:e("Les actifs","The assets"),title:e("Ce que vous détenez","What you hold"),desc:e("Des instruments financiers cotés ou émis par des maisons institutionnelles, et non des jetons détenus en direct sur une plateforme.","Financial instruments listed or issued by institutional houses, not tokens held directly on a platform."),icon:Jl,items:[{href:"etp",label:e("ETP sur actifs numériques","Digital asset ETPs"),detail:e("titres cotés, adossés physiquement, négociables en bourse","listed securities, physically backed, exchange traded")},{href:"structures",label:e("Produits dédiés","Dedicated products"),detail:e("certificats et structurés construits sur mesure par un émetteur","certificates and structured notes built to order by an issuer")}],logos:[{src:W3,alt:"BlackRock",h:"h-4"},{src:H3,alt:"Amundi",h:"h-5"},{src:K3,alt:"Bitwise",h:"h-5"},{src:G3,alt:"Marex",h:"h-6",blur:!0}]},{id:"detention",num:"02",eyebrow:e("La détention","Custody"),title:e("Où et comment ils sont conservés","Where and how they are held"),desc:e("Une infrastructure assurantielle ou bancaire régulée remplace la gestion personnelle de clés privées et de cold wallets.","A regulated insurance or banking infrastructure replaces personal management of private keys and cold wallets."),icon:St,items:[{href:"luxembourg",label:e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),detail:e("personnes physiques, triangle de sécurité et super privilège","individuals, security triangle and super privilege")},{href:"luxembourg",label:e("Contrat de capitalisation luxembourgeois","Luxembourg capitalisation contract"),detail:e("accessible aux personnes morales et aux structures de détention","open to legal entities and holding structures")},{href:"suisse",label:e("Compte bancaire suisse","Swiss bank account"),detail:e("dépositaire régulé, comptes multidevises, reporting intégré","regulated custodian, multi-currency accounts, integrated reporting")}],logos:[{src:Q3,alt:"Utmost",h:"h-5"},{src:Wm,alt:"UBS",h:"h-5"},{src:P2,alt:"Swissquote",h:"h-4"}]}],w=["ETP",e("Produit dédié","Dedicated product"),e("Contrat luxembourgeois","Luxembourg contract"),e("Compte suisse","Swiss account")];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx($r,{children:t.jsx("script",{type:"application/ld+json",children:JSON.stringify(N)})}),t.jsx(ne,{}),t.jsxs("section",{className:"relative overflow-hidden pt-36 md:pt-44 pb-20 md:pb-28",children:[t.jsx("div",{"aria-hidden":!0,className:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(60% 45% at 80% 8%, hsl(var(--brand-violet) / 0.10), transparent 65%), radial-gradient(55% 45% at 10% 90%, hsl(var(--brand-rose) / 0.06), transparent 65%)"}}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid lg:grid-cols-[1.05fr_0.95fr] gap-14 lg:gap-20 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:18},animate:{opacity:1,y:0},transition:{duration:.9,ease:Zn},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("span",{className:"h-px w-8 bg-foreground
731/30"}),t.jsx("span",{className:"text-[10.5px] tracking-[0.32em] uppercase text-foreground/60 font-medium",children:e("Actifs numériques","Digital assets")})]}),t.jsxs("h1",{className:"font-display text-[2.4rem] sm:text-5xl lg:text-[3.6rem] leading-[1.06] tracking-[-0.02em]",children:[e("Investir dans les actifs numériques","Investing in digital assets"),t.jsx("br",{}),t.jsx("span",{className:"text-gradient-rose",children:e("sans laisser leur détention au hasard.","without leaving custody to chance.")})]}),t.jsx("p",{className:"mt-8 text-foreground/65 text-base md:text-[17px] leading-[1.7] max-w-[58ch]",children:e("Deux questions, jamais une seule. L'actif d'abord : ETP cotés et produits dédiés émis par des maisons institutionnelles. La détention ensuite : contrat d'assurance-vie ou de capitalisation luxembourgeois, compte bancaire suisse, à la place d'un cold wallet géré par vos soins.","Two questions, never one. The asset first: listed ETPs and dedicated products issued by institutional houses. Custody next: a Luxembourg life insurance or capitalisation contract, or a Swiss bank account, instead of a cold wallet you manage yourself.")}),t.jsx("p",{className:"mt-7 text-[13px] tracking-[0.02em] text-foreground/70",children:e("Stratégies disponibles à partir de 100 000 €.","Strategies available from €100,000.")}),t.jsxs("div",{className:"mt-10 flex flex-col sm:flex-row items-start sm:items-center gap-3 sm:gap-4",children:[t.jsxs("a",{href:"#rdv",className:"btn btn-primary btn-md group",children:[e("Échanger avec un conseiller","Speak with an adviser"),t.jsx(V,{className:"w-3.5 h-3.5 transition-transform duration-500 group-hover:translate-x-1"})]}),t.jsxs("a",{href:"#solutions",className:"btn btn-secondary btn-md group",children:[e("Découvrir les solutions","Discover the solutions"),t.jsx(wQ,{className:"w-3.5 h-3.5 transition-transform duration-500 group-hover:translate-y-0.5"})]})]}),t.jsx("p",{className:"mt-6 text-xs leading-relaxed text-muted-foreground/80 max-w-[54ch]",children:e("Les investissements en actifs numériques présentent un risque élevé de perte en capital, pouvant aller jusqu'à la totalité du montant investi.","Digital asset investments carry a high risk of capital loss, up to the total amount invested.")})]}),t.jsx(S.div,{initial:{opacity:0,scale:.97},animate:{opacity:1,scale:1},transition:{duration:1.1,ease:Zn,delay:.15},className:"relative",children:t.jsx("div",{className:"rounded-3xl overflow-hidden border border-border/60 shadow-[0_30px_80px_-40px_hsl(var(--brand-deep)/0.45)]",children:t.jsx("img",{src:iAe,alt:e("Représentation abstraite d'un actif numérique conservé au sein d'une infrastructure financière institutionnelle","Abstract representation of a digital asset held within an institutional financial infrastructure"),width:1280,height:1280,className:"w-full h-auto"})})})]})})]}),t.jsx("nav",{"aria-label":e("Navigation de la page","Page navigation"),className:"sticky top-[64px] z-30 border-y border-border/60 bg-background/85 backdrop-blur-md",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsx("ul",{className:"flex gap-1 overflow-x-auto no-scrollbar py-3",children:o.map(q=>t.jsx("li",{children:t.jsx("a",{href:`#${q.id}`,className:`inline-block whitespace-nowrap rounded-full px-4 py-2 text-[12.5px] transition-colors ${s===q.id?"bg-foreground text-background":"text-muted-foreground hover:text-foreground hover:bg-foreground
731/[0.05]"}`,children:q.label})},q.id))})})}),t.jsx("section",{id:"comprendre",className:"section-y scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.h2,{...he,className:"font-display text-3xl md:text-5xl leading-[1.1] tracking-[-0.02em] max-w-[20ch]",children:[e("Acheter est devenu simple.","Buying has become simple."),t.jsx("br",{}),t.jsx("span",{className:"text-muted-foreground",children:e("Bien détenir reste complexe.","Holding well remains complex.")})]}),t.jsx(S.p,{...he,className:"mt-8 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Détenir directement des crypto-actifs suppose de sélectionner une plateforme, de comprendre la conservation des clés privées, d'organiser les procédures de récupération et d'intégrer cette détention à son suivi patrimonial et fiscal. Pour de nombreux investisseurs, l'enjeu n'est donc pas seulement l'accès au marché, mais le choix d'un cadre de détention lisible, administrable et cohérent avec le reste de leur patrimoine.","Holding crypto-assets directly means selecting a platform, understanding private key custody, organising recovery procedures and integrating that holding into wealth and tax monitoring. For many investors, the issue is therefore not merely market access, but the choice of a readable, administrable holding framework consistent with the rest of their wealth.")}),t.jsx("div",{className:"mt-16 grid md:grid-cols-2 gap-6",children:[u.direct,u.encadree].map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.7,ease:Zn,delay:P*.1},className:"rounded-2xl border border-border/70 bg-card p-8",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[P===0?t.jsx(Lq,{className:"w-4 h-4 text-muted-foreground"}):t.jsx(Vb,{className:"w-4 h-4 text-secondary"}),t.jsx("h3",{className:"text-sm font-medium tracking-wide",children:q.title})]}),t.jsx("ul",{className:"space-y-3",children:q.items.map(T=>t.jsxs("li",{className:"flex gap-3 text-sm text-foreground/70 leading-relaxed",children:[t.jsx("span",{className:"mt-[9px] h-1 w-1 rounded-full bg-foreground
731/30 shrink-0"}),T]},T))})]},q.title))}),t.jsx(S.p,{...he,className:"mt-8 text-sm text-muted-foreground leading-relaxed max-w-[68ch]",children:e("Aucune de ces deux voies n'est universellement supérieure. Le choix dépend du besoin réel : autonomie opérationnelle recherchée, volume engagé, contraintes de reporting, objectifs de transmission et cadre fiscal applicable.","Neither route is universally superior. The choice depends on the real need: operational autonomy sought, amount committed, reporting constraints, succession objectives and applicable tax framework.")})]})}),t.jsx("section",{className:"section-y bg-muted/40 border-y border-border/60",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsx(S.h2,{...he,className:"font-display text-3xl md:text-[2.75rem] leading-[1.12] tracking-[-0.02em] max-w-[22ch]",children:e("De l'actif isolé à l'allocation patrimoniale","From isolated asset to wealth allocation")}),t.jsx(S.p,{...he,className:"mt-8 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Bitcoin, Ethereum et les infrastructures de tokenisation ne doivent pas être analysés séparément du reste du portefeuille. Leur rôle dépend de l'horizon d'investissement, de la capacité à absorber la volatilité, des autres actifs détenus et de la finalité recherchée : diversification, exposition directionnelle, recherche de rendement, transmission ou gestion de trésorerie.","Bitcoin, Ethereum and tokenisation infrastructure should not be analysed in isolation from the rest of the portfolio. Their role depends on the investment horizon, the ability to absorb volatility, other assets held and the objective pursued: diversification, directional exposure, yield, succession or treasury management.")}),t.jsx("div",{className:"mt-14 grid md:grid-cols-3 gap-6",children:d.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.7,ease:Zn,delay:P*.08},className:"rounded-2xl bg-card border border-border/70 p-8",children:[t.jsx(q.icon,{className:"w-5 h-5 text-secondary mb-6"}),t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:q.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:q.desc})]},q.title))})]})}),t.jsx("section",{id:"solutions",className:"pt-28 md:pt-40 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.h2,{...he,className:"font-display text-3xl md:text-5xl leading-[1.1] tracking-[-0.02em]",children:[e("Deux décisions.","Two decisions."),t.jsx("br",{}),t.jsx("span",{className:"text-muted-foreground",children:e("L'actif que vous détenez. La façon dont vous le détenez.","The asset you hold. The way you hold it.")})]}),t.jsx(S.p,{...he,className:"mt-7 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("La plupart des investisseurs confondent ces deux questions. Choisir un actif numérique n'est pas choisir son mode de détention. Colbr traite les deux séparément : d'un côté l'instrument financier qui porte l'exposition, de l'autre l'infrastructure institutionnelle qui la conserve, à la place d'un cold wallet géré par vos soins.","Most investors confuse these two questions. Choosing a digital asset is not choosing how to hold it. Colbr treats them separately: on one side the financial instrument carrying the exposure, on the other the institutional infrastructure that safeguards it, instead of a cold wallet you manage yourself.")}),t.jsx("div",{className:"mt-14 grid lg:grid-cols-2 gap-6",children:j.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.7,ease:Zn,delay:P*.08},className:"rounded-3xl border border-border/70 bg-card p-8 md:p-10 flex flex-col",children:[t.jsxs("div",{className:"flex items-center justify-between mb-7",children:[t.jsx("span",{className:"font-display text-sm text-secondary",children:q.num}),t.jsx(q.icon,{className:"w-4 h-4 text-muted-foreground/60"})]}),t.jsx("p",{className:"text-[10.5px] tracking-[0.24em] uppercase text-muted-foreground mb-3",children:q.eyebrow}),t.jsx("h3",{className:"font-display text-2xl md:text-[1.7rem] leading-[1.2] tracking-[-0.015em]",children:q.title}),t.jsx("p",{className:"mt-4 text-sm text-muted-foreground leading-relaxed",children:q.desc}),t.jsx("ul",{className:"mt-7 space-y-3 flex-1",children:q.items.map(T=>t.jsx("li",{children:t.jsxs("a",{href:`#${T.href}`,className:"group flex items-start gap-3 text-sm text-foreground
731/75 hover:text-foreground transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5 mt-1 shrink-0 text-secondary/70 transition-transform duration-500 group-hover:translate-x-1"}),t.jsxs("span",{children:[t.jsx("span",{className:"font-medium",children:T.label}),t.jsxs("span",{className:"text-muted-foreground",children:[" — ",T.detail]})]})]})},T.label))}),t.jsx("div",{className:"mt-8 pt-6 border-t border-border/60 flex flex-wrap items-center gap-x-9 gap-y-5",children:q.logos.map(T=>t.jsx("img",{src:T.src,alt:T.alt,loading:"lazy",className:`${T.h??"h-5"} w-auto object-contain transition-all duration-500 ${T.blur?"blur-[5px] grayscale opacity-50 select-none pointer-events-none":"opacity-70 grayscale hover:grayscale-0 hover:opacity-100"}`},T.alt))})]},q.id))}),t.jsx(S.p,{...he,className:"mt-8 text-[13px] text-muted-foreground leading-relaxed",children:e("Stratégies disponibles à partir de 100 000 €. Les noms cités désignent des émetteurs, assureurs et établissements dépositaires du marché ; leur mention ne constitue ni une recommandation ni une garantie de disponibilité.","Strategies available from €100,000. The names mentioned refer to market issuers, insurers and custodian institutions; their mention constitutes neither a recommendation nor a guarantee of availability.")})]})}),t.jsx("section",{id:"actifs",className:"pt-28 md:pt-36 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{...he,className:"flex items-center gap-4",children:[t.jsx("span",{className:"h-px w-10 bg-secondary/50"}),t.jsx("span",{className:"text-[10.5px] tracking-[0.32em] uppercase text-secondary",children:e("Couche 01 · Les actifs","Layer 01 · The assets")})]}),t.jsx(S.p,{...he,className:"mt-6 font-display text-2xl md:text-[2rem] leading-[1.25] tracking-[-0.015em] max-w-[24ch]",children:e("Deux familles d'instruments, une même exigence de sélection.","Two families of instruments, one same selection discipline.")})]})}),t.jsx("section",{id:"etp",className:"pt-16 md:pt-20 pb-16 md:pb-20 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{...he,children:[t.jsxs("p",{className:"text-[10.5px] tracking-[0.28em] uppercase text-secondary mb-5",children:["01 · ",e("ETP sur actifs numériques","Digital asset ETPs")]}),t.jsx("h2",{className:"font-display text-3xl md:text-[2.6rem] leading-[1.15] tracking-[-0.02em] max-w-[20ch]",children:e("La simplicité d'un titre coté","The simplicity of a listed security")}),t.jsx("p",{className:"mt-7 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Les ETP permettent de s'exposer à la performance d'un actif numérique depuis un compte-titres, sans gérer directement un portefeuille crypto ni ses clés privées. Ils peuvent être achetés et vendus en bourse comme d'autres instruments financiers et s'intègrent plus facilement au reporting global du patrimoine.","ETPs provide exposure to the performance of a digital asset from a securities account, without directly managing a crypto portfolio or its private keys. They can be bought and sold on exchange like other financial instruments and integrate more easily into overall wealth reporting.")})]}),t.jsx("div",{className:"mt-12 grid md:grid-cols-2 gap-x-10 gap-y-4",children:p.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.6,ease:Zn,delay:P%4*.05},className:"flex gap-3 border-t border-border/60 pt-4",children:[t.jsx(gu,{className:"w-4 h-4 text-secondary/70 mt-0.5 shrink-0"}),t.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:q})]},q))}),t.jsx(S.blockquote,{...he,className:"mt-14 rounded-2xl bg-muted/50 border-l-2 border-secondary/60 px-8 py-7",children:t.jsx("p",{className:"text-[15px] leading-[1.8] text-foreground/75 italic max-w-[70ch]",children:e("« Certains ETP sont physiquement adossés à des bitcoins conservés hors ligne par un dépositaire institutionnel. Cette architecture réduit la gestion opérationnelle supportée directement par l'investisseur, sans supprimer le risque de marché, le risque propre au produit ou le risque de perte totale. »",'"Some ETPs are physically backed by bitcoin held offline by an institutional custodian. This architecture reduces the operational burden borne directly by the investor, without remov
731ing market risk, product-specific risk or the risk of total loss."')})}),t.jsxs(S.div,{...he,className:"mt-8 rounded-2xl border border-border/70 bg-card p-7 max-w-[70ch]",children:[t.jsx("h3",{className:"text-sm font-medium mb-3",children:e("ETP, ETF : quelle différence ?","ETP vs ETF: what is the difference?")}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:e("Un ETP donne accès à la performance d'un actif ou d'un panier d'actifs. Il peut se négocier comme un ETF, mais sa structure juridique et son régime de risque peuvent être différents. L'analyse du prospectus reste indispensable.","An ETP gives access to the performance of an asset or basket of assets. It can trade like an ETF, but its legal structure and risk regime may differ. Reviewing the prospectus remains essential.")})]}),t.jsx(S.div,{...he,children:t.jsx(wg,{label:e("Émetteurs d'ETP suivis","ETP issuers monitored"),hint:e("Maisons de gestion dont les ETP sur actifs numériques sont analysés puis, le cas échéant, retenus : encours, réplication physique, dépositaire, frais et liquidité de marché.","Asset managers whose digital asset ETPs we analyse and, where relevant, select: assets under management, physical replication, custodian, fees and market liquidity."),logos:[{src:W3,alt:"BlackRock",h:"h-5"},{src:H3,alt:"Amundi",h:"h-6"},{src:K3,alt:"Bitwise",h:"h-5"}]})})]})}),t.jsx("section",{id:"univers",className:"pt-16 md:pt-20 pb-28 md:pb-36 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{...he,children:[t.jsx("p",{className:"text-[10.5px] tracking-[0.28em] uppercase text-secondary mb-5",children:e("Univers investissable","Investable universe")}),t.jsx("h2",{className:"font-display text-3xl md:text-[2.6rem] leading-[1.15] tracking-[-0.02em] max-w-[22ch]",children:e("Les actifs accessibles via ETP en Europe","Assets accessible through European ETPs")}),t.jsx("p",{className:"mt-7 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Le marché européen compte aujourd'hui plus d'une centaine d'ETP et ETN adossés à des actifs numériques, couvrant plus de vingt-cinq cryptoactifs en direct ainsi que des paniers multi-actifs. La disponibilité réelle dépend de la place de cotation, de l'émetteur et de l'intermédiaire retenu.","The European market now counts more than one hundred digital asset ETPs and ETNs, covering over twenty-five single cryptoassets as well as multi-asset baskets. Actual availability depends on the listing venue, the issuer and the selected intermediary.")})]}),t.jsxs("div",{className:"mt-14 space-y-12",children:[l.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.6,ease:Zn,delay:P*.04},children:[t.jsxs("div",{className:"flex items-baseline gap-4 border-t border-border/60 pt-5",children:[t.jsx("h3",{className:"text-sm font-medium",children:q.title}),t.jsxs("span",{className:"text-[10px] tracking-[0.22em] uppercase text-muted-foreground/70",children:[q.coins.length," ",e("actifs","assets")]})]}),t.jsx("div",{className:"mt-5 flex flex-wrap gap-2.5",children:q.coins.map(T=>t.jsx(sAe,{symbol:T.symbol,name:T.name},T.name))})]},q.title)),t.jsxs(S.div,{...he,className:"rounded-2xl border border-border/70 bg-card p-7",children:[t.jsx("h3",{className:"text-sm font-medium",children:e("Paniers et indices","Baskets and indices")}),t.jsx("p",{className:"mt-3 text-sm text-muted-foreground leading-relaxed max-w-[70ch]",children:e("L'offre ne se limite pas aux actifs unitaires : des stratégies multi-actifs permettent de diversifier l'exposition au sein d'une même ligne.","The offering is not limited to single assets: multi-asset strategies allow diversified exposure within a single line.")}),t.jsx("div",{className:"mt-5 flex flex-wrap gap-2",children:c.map(q=>t.jsx("span",{className:"rounded-full border border-border/70 px-3.5 py-1.5 text-[12.5px] text-foreground/70",children:q},q))})]}),t.jsx(S.p,{...he,className:"text-[13px] text-muted-foreground leading-relaxed max-w-[74ch]",children:e("Certains produits existent en version physique, avec staking, à effet inverse ou sous forme de certificat tracker selon les marchés. Cette liste est indicative, ne constitue ni une recommandation ni une offre, et l'univers réellement accessible est arrêté avec vous dossier par dossier.","Some products exist in physical, staking, short or tracker certificate form depending on the market. This list is indicative, constitutes neither a recommendation nor an offer, and the universe actually accessible is defined with you on a case-by-case basis.")}
731)]})]})}),t.jsx("section",{id:"structures",className:"section-y bg-muted/40 border-y border-border/60 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{...he,children:[t.jsxs("p",{className:"text-[10.5px] tracking-[0.28em] uppercase text-secondary mb-5",children:["02 · ",e("Produits dédiés","Dedicated products")]}),t.jsx("h2",{className:"font-display text-3xl md:text-[2.6rem] leading-[1.15] tracking-[-0.02em] max-w-[22ch]",children:e("Transformer une conviction en scénario d'investissement","Turning a conviction into an investment scenario")}),t.jsx("p",{className:"mt-7 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Au-delà des ETP, certaines maisons spécialisées émettent des certificats et des produits structurés dédiés aux actifs numériques. Ils permettent de construire une exposition sur mesure à partir d'un ou plusieurs sous-jacents : participation à une hausse, versement conditionnel d'un coupon, protection partielle contre une baisse ou une combinaison de ces objectifs.","Beyond ETPs, specialist houses issue certificates and structured products dedicated to digital assets. They allow bespoke exposure to be built from one or more underlyings: upside participation, a conditional coupon, partial downside protection, or a combination of these objectives.")})]}),t.jsx("div",{className:"mt-12 grid md:grid-cols-3 gap-6",children:f.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.7,ease:Zn,delay:P*.08},className:"rounded-2xl bg-card border border-border/70 p-8",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:q.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:q.desc})]},q.title))}),t.jsx(S.p,{...he,className:"mt-10 text-foreground/70 leading-[1.8] max-w-[68ch]",children:e("Chaque produit repose sur un scénario précis. Colbr analyse notamment le sous-jacent, les barrières, les dates d'observation, la liquidité, le risque de perte en capital et la qualité de crédit de l'émetteur.","Each product rests on a precise scenario. Colbr analyses in particular the underlying, the barriers, the observation dates, liquidity, capital loss risk and the issuer's credit quality.")}),t.jsx(S.div,{...he,className:"mt-6 rounded-2xl border border-border/70 bg-card p-7 max-w-[70ch]",children:t.jsx("p",{className:"text-sm text-foreground/75 leading-relaxed",children:e("La protection éventuelle du capital est contractuelle et conditionnelle. Elle dépend du respect des conditions prévues et de la solvabilité de l'émetteur.","Any capital protection is contractual and conditional. It depends on the stated conditions being met and on the issuer's solvency.")})}),t.jsx(S.div,{...he,children:t.jsx(wg,{label:e("Maison d'émission partenaire","Partner issuing house"),hint:e("L'identité de l'émetteur des produits dédiés est communiquée lors de l'étude du dossier.","The issuer of dedicated products is disclosed when the file is reviewed."),logos:[{src:G3,alt:"Maison d'émission partenaire",h:"h-8",blur:!0}]})})]})}),t.jsx("section",{id:"detention",className:"pt-28 md:pt-36 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{...he,className:"flex items-center gap-4",children:[t.jsx("span",{className:"h-px w-10 bg-secondary/50"}),t.jsx("span",{className:"text-[10.5px] tracking-[0.32em] uppercase text-secondary",children:e("Couche 02 · La détention","Layer 02 · Custody")})]}),t.jsx(S.p,{...he,className:"mt-6 font-display text-2xl md:text-[2rem] leading-[1.25] tracking-[-0.015em] max-w-[26ch]",children:e("Sortir du cold wallet : confier la conservation à une infrastructure régulée.","Beyond the cold wallet: entrusting custody to a regulated infrastructure.")}),t.jsx(S.p,{...he,className:"mt-6 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Une clé privée perdue, un support endommagé, un héritier incapable d'accéder aux avoirs : la détention personnelle transfère à l'investisseur des risques qu'aucune performance ne compense. Trois cadres institutionnels permettent de les déplacer vers des acteurs supervisés.","A lost private key, a damaged device, an heir unable to access the holdings: self-custody transfers to the investor risks that no performance compensates. Three institutional frameworks move them to supervised players.")})]})}),t.jsx("section",{id:"luxembourg",className:"pt-16 md:pt-20 pb-28 md:pb-36 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{...he,children:[t.jsxs("p",{className:"text-[10.5px] tracking-[0.28em] uppercase text-secondary mb-5",children:["03 · ",e("Contrats luxembourgeois","Luxembourg contracts")]}),t.jsx("h2",{className:"font-display text-3xl md:text-[2.6rem] leading-[1.15] tracking-[-0.02em] max-w-[22ch]",children:e("Assurance-vie et capitalisation, y compris pour les personnes morales","Life insurance and capitalisation, including for legal entities")}
731),t.jsx("p",{className:"mt-7 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Sous réserve de l'éligibilité des supports et de l'accord de l'assureur, certains ETP ou instruments liés aux actifs numériques peuvent être logés au sein d'un contrat luxembourgeois d'assurance-vie ou de capitalisation. L'exposition crypto est alors intégrée à une enveloppe conçue pour organiser la détention, la gestion et, selon la situation du souscripteur, la transmission du patrimoine.","Subject to eligibility of the underlying units and insurer approval, certain digital-asset ETPs or instruments may be held within a Luxembourg life insurance or capitalisation contract. Crypto exposure is then integrated into a wrapper designed to organise holding, management and, depending on the policyholder's situation, wealth transfer.")})]}),t.jsx("div",{className:"mt-12 grid md:grid-cols-2 gap-x-10 gap-y-4",children:m.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.6,ease:Zn,delay:P%4*.05},className:"flex gap-3 border-t border-border/60 pt-4",children:[t.jsx(gu,{className:"w-4 h-4 text-secondary/70 mt-0.5 shrink-0"}),t.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:q})]},q))}),t.jsxs(S.div,{...he,className:"mt-16 rounded-3xl bg-card border border-border/70 p-8 md:p-12",children:[t.jsx("p",{className:"text-[10.5px] tracking-[0.28em] uppercase text-muted-foreground mb-10 text-center",children:e("Triangle de sécurité","Security Triangle")}),t.jsxs("div",{className:"relative mx-auto max-w-2xl",children:[t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 items-stretch",children:[{icon:St,label:e("Compagnie d'assurance","Insurance company")},{icon:rn,label:e("Banque dépositaire","Custodian bank")},{icon:uc,label:e("Commissariat aux Assurances","Commissariat aux Assurances")}].map(q=>t.jsxs("div",{className:"rounded-2xl border border-border/70 bg-background px-5 py-7 text-center flex flex-col items-center justify-center gap-3",children:[t.jsx(q.icon,{className:"w-5 h-5 text-secondary"}),t.jsx("span",{className:"text-[13px] leading-snug text-foreground/80",children:q.label})]},q.label))}),t.jsx("div",{"aria-hidden":!0,className:"hidden sm:block mt-4 h-px bg-gradient-to-r from-transparent via-secondary/40 to-transparent"})]}),t.jsx("p",{className:"mt-8 text-sm text-muted-foreground leading-relaxed max-w-[68ch] mx-auto text-center",children:e("Les actifs représentatifs des engagements de l'assureur sont déposés séparément et font l'objet d'une surveillance par le Commissariat aux Assurances. Le souscripteur bénéficie par ailleurs d'un statut de créancier privilégié, communément appelé « super privilège ».",`The assets representing the insurer's commitments are deposited separately and supervised by the Commissariat aux Assurances. The policyholder also benefits from preferred creditor status, commonly known as the "super privilege".`)})]}),t.jsx(S.p,{...he,className:"mt-6 text-xs text-muted-foreground/80 leading-relaxed max-w-[68ch]",children:e("Ce dispositif protège l'organisation juridique de la détention. Il ne garantit ni la valeur des supports, ni la performance des actifs numériques, et n'offre aucune protection contre une baisse de marché.","This mechanism protects the legal organisation of custody. It guarantees neither the value of the units nor the performance of digital assets, and offers no protection against a market decline.")}),t.jsx("div",{className:"mt-12 grid md:grid-cols-2 gap-6",children:[{t:e("Contrat d'assurance-vie","Life insurance contract"),w:e("Personnes physiques","Individuals"),d:e("Enveloppe de référence pour une personne physique : gestion financière pilotée, clause bénéficiaire sur mesure et portabilité internationale en cas de changement de résidence.","The reference wrapper for an individual: managed financial allocation, tailored beneficiary clause and international portability in case of a change of residence.")},{t:e("Contrat de capitalisation","Capitalisation contract"),w:e("Personnes physiques et personnes morales","Indiv
731iduals and legal entities"),d:e("Ouvert aux sociétés patrimoniales et holdings soumises à l'IS : la trésorerie longue de la structure accède à la même infrastructure de conservation, sans dénouement au décès.","Open to wealth companies and corporate-tax holdings: the entity's long-term treasury accesses the same custody infrastructure, without termination on death.")}].map(q=>t.jsxs(S.div,{...he,className:"rounded-2xl border border-border/70 bg-card p-8",children:[t.jsx("p",{className:"text-[10px] tracking-[0.24em] uppercase text-muted-foreground mb-3",children:q.w}),t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:q.t}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:q.d})]},q.t))}),t.jsx(S.div,{...he,children:t.jsx(wg,{label:e("Assureur partenaire","Partner insurer"),logos:[{src:Q3,alt:"Utmost",h:"h-7"}]})})]})}),t.jsx("section",{id:"suisse",className:"section-y bg-muted/40 border-y border-border/60 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{...he,children:[t.jsxs("p",{className:"text-[10.5px] tracking-[0.28em] uppercase text-secondary mb-5",children:["04 · ",e("Compte suisse","Swiss account")]}),t.jsx("h2",{className:"font-display text-3xl md:text-[2.6rem] leading-[1.15] tracking-[-0.02em] max-w-[22ch]",children:e("Une infrastructure bancaire adaptée aux actifs numériques","A banking infrastructure suited to digital assets")}),t.jsx("p",{className:"mt-7 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("La Suisse dispose d'un écosystème bancaire et financier développé autour des actifs numériques. Selon le profil et les besoins du client, une relation bancaire suisse peut permettre de regrouper actifs traditionnels et exposition numérique auprès d'un établissement disposant des compétences et autorisations nécessaires.","Switzerland has a banking and financial ecosystem developed around digital assets. Depending on the client's profile and needs, a Swiss banking relationship can bring together traditional assets and digital exposure with an institution holding the necessary expertise and authorisations.")})]}),t.jsxs("div",{className:"mt-12 grid lg:grid-cols-2 gap-10",children:[t.jsx("div",{className:"space-y-4",children:h.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.6,ease:Zn,delay:P%4*.05},className:"flex gap-3 border-t border-border/60 pt-4",children:[t.jsx(gu,{className:"w-4 h-4 text-secondary/70 mt-0.5 shrink-0"}),t.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:q})]},q))}),t.jsxs(S.div,{...he,className:"rounded-2xl border border-border/70 bg-card p-8 h-fit",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx(J1,{className:"w-4 h-4 text-secondary"}),t.jsx("h3",{className:"text-sm font-medium",children:e("Ce que nous vérifions","What we verify")})]}),t.jsx("ul",{className:"space-y-3",children:g.map(q=>t.jsxs("li",{className:"flex gap-3 text-sm text-foreground/70 leading-relaxed",children:[t.jsx("span",{className:"mt-[9px] h-1 w-1 rounded-full bg-secondary/60 shrink-0"}),q]},q))})]})]}),t.jsx(S.p,{...he,className:"mt-8 text-xs text-muted-foreground/80 leading-relaxed max-w-[68ch]",children:e("Tous les établissements suisses ne permettent pas de détenir directement des crypto-actifs, et tous les avoirs ne relèvent pas de la garantie des dépôts. Le régime applicable dépend de la banque, de l'instrument retenu et du mode de conservation.","Not all Swiss institutions allow direct holding of crypto-assets, and not all holdings fall under deposit protection. The applicable regime depends on the bank, the instrument and the custody model.")}),t.jsx(S.div,{...he,children:t.jsx(wg,{label:e("Établissements dépositaires","Custodian institutions"),logos:[{src:Wm,alt:"UBS",h:"h-6"},{src:P2,alt:"Swissquote",h:"h-5"}]})})]})}),t.jsx("section",{className:"section-y",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsx(S.h2,{...he,className:"font-display text-3xl md:text-[2.75rem] leading-[1.12] tracking-[-0.02em]",children:e("Quelle structure pour quel besoin ?","Which structure for which need?")}),t.jsx(S.div,{...he,className:"mt-12 hidden lg:block overflow-x-auto rounded-2xl border border-border/70",children:t.jsxs("table",{className:"w-full text-left border-collapse",children:[t.jsx("caption",{className:"sr-only",children:e("Comparaison des quatre structures de détention","Comparison of the four holding structures")}),t.jsx("thead",{children:t.jsxs("tr",{className:"bg-muted/60",children:[t.jsx("th",{scope:"col",className:"p-5 text-[11px] tracking-[0.18em] uppercase text-muted-foreground font-medium w-[18%]",children:e("Critère","Criterion")}),w.map(q=>t.jsx("th",{scope:"col",className:"p-5 text-[13px] font-medium text-foreground align-bottom",children:q},q))]})}),t.jsx("tbody",{children:x.map((q,P)=>t.jsxs("tr",{className:P%2?"bg-card":"bg-background",children:[t.jsx("th",{scope:"row",className:"p-5 align-top text-[12.5px] font-medium text-foreground
731/80 border-t border-border/60",children:q.label}),q.values.map((T,E)=>t.jsx("td",{className:"p-5 align-top text-[13px] text-muted-foreground leading-relaxed border-t border-border/60",children:T},E))]},q.label))})]})}),t.jsx("div",{className:"mt-12 lg:hidden space-y-6",children:w.map((q,P)=>t.jsxs(S.div,{...he,className:"rounded-2xl border border-border/70 bg-card p-6",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight mb-5",children:q}),t.jsx("dl",{className:"space-y-4",children:x.map(T=>t.jsxs("div",{className:"border-t border-border/60 pt-3",children:[t.jsx("dt",{className:"text-[10.5px] tracking-[0.18em] uppercase text-muted-foreground mb-1",children:T.label}),t.jsx("dd",{className:"text-sm text-foreground/75 leading-relaxed",children:T.values[P]})]},T.label))})]},q))})]})}),t.jsx("section",{className:"section-y bg-muted/40 border-y border-border/60",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsx(S.h2,{...he,className:"font-display text-3xl md:text-[2.75rem] leading-[1.12] tracking-[-0.02em] max-w-[22ch]",children:e("Avant de choisir un produit, nous définissons sa place.","Before choosing a product, we define its place.")}),t.jsx("div",{className:"mt-14 grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:v.map((q,P)=>t.jsxs(S.div,{...he,transition:{duration:.7,ease:Zn,delay:P*.07}
731,className:"border-t border-foreground/15 pt-6",children:[t.jsx("span",{className:"font-display text-2xl text-secondary",children:q.n}),t.jsx("h3",{className:"mt-3 text-base font-medium",children:q.title}),t.jsx("p",{className:"mt-3 text-sm text-muted-foreground leading-relaxed",children:q.desc})]},q.n))}),t.jsx(S.p,{...he,className:"mt-14 font-display text-xl md:text-2xl leading-[1.5] text-foreground/80 max-w-[54ch]",children:e("La qualité d'une allocation ne dépend pas du nombre de crypto-actifs détenus, mais de la cohérence entre le risque pris, la structure choisie et l'ensemble du patrimoine.","The quality of an allocation does not depend on the number of crypto-assets held, but on the consistency between the risk taken, the structure chosen and the estate as a whole.")})]})}),t.jsx("section",{className:"section-y",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsx(S.h2,{...he,className:"font-display text-3xl md:text-[2.6rem] leading-[1.15] tracking-[-0.02em] max-w-[24ch]",children:e("Les actifs numériques entrent dans l'infrastructure financière traditionnelle","Digital assets are entering traditional financial infrastructure")}),t.jsx("ol",{className:"mt-14 relative border-l border-border/70 pl-8 space-y-8",children:b.map((q,P)=>t.jsxs(S.li,{...he,transition:{duration:.6,ease:Zn,delay:P%4*.06},className:"relative",children:[t.jsx("span",{"aria-hidden":!0,className:"absolute -left-[38px] top-[7px] h-2 w-2 rounded-full bg-secondary/70"}),t.jsx("p",{className:"text-[15px] text-foreground/75 leading-relaxed max-w-[62ch]",children:q})]},q))}),t.jsx(S.p,{...he,className:"mt-12 text-sm text-muted-foreground leading-relaxed max-w-[68ch]",children:e("Certains véhicules étrangers permettent désormais d'accéder au rendement du staking au sein d'un instrument financier traditionnel. Leur disponibilité, leur commercialisation et leur adéquation à un investisseur résident français ne sont pas systématiques et doivent être vérifiées au cas par cas.","Certain foreign vehicles now provide access to staking yield within a traditional financial instrument. Their availability, distribution and suitability for a French-resident investor are not automatic and must be verified case by case.")}),t.jsx(S.p,{...he,className:"mt-6 text-foreground/70 leading-[1.8] max-w-[68ch] text-justify",children:e("Cette évolution améliore l'accès et l'intégration des actifs numériques dans les portefeuilles. Elle ne réduit ni leur volatilité intrinsèque ni la nécessité d'une sélection rigoureuse des instruments.","This evolution improves access to and integration of digital assets within portfolios. It reduces neither their intrinsic volatility nor the need for rigorous instrument selection.")})]})}),t.jsx("section",{id:"faq",className:"section-y bg-muted/40 border-y border-border/60 scroll-mt-32",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.h2,{...he,className:"font-display text-3xl md:text-[2.5rem] leading-[1.15] tracking-[-0.02em] mb-12",children:e("Questions fréquentes","Frequently asked questions")}),t.jsx("div",{className:"divide-y divide-border/70 border-y border-border/70",children:y.map((q,P)=>t.jsxs("div",{children:[t.jsxs("button",{type:"button",onClick:()=>i(r===P?null:P),"aria-expanded":r===P,className:"w-full flex items-start justify-between gap-6 text-left py-6 group",children:[t.jsx("span",{className:"text-[15px] leading-snug text-foreground/85 group-hover:text-foreground transition-colors",children:q.q}),t.jsx(rt,{className:`w-4 h-4 mt-1 shrink-0 text-muted-foreground transition-transform duration-300 ${r===P?"rotate-180":""}`})]}),r===P&&t.jsx(S.p,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},transition:{duration:.35,ease:Zn},className:"pb-7 -mt-1 text-sm text-muted-foreground leading-[1.8] text-justify",children:q.a})]},q.q))})]})}),t.jsx("section",{id:"risques",className:"pt-28 md:pt-36 scroll-mt-32",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6",children:t.jsxs(S.div,{...he,className:"rounded-2xl border border-border/70 bg-card p-8 md:p-10",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[t.jsx(e2,{className:"w-4 h-4 text-destructive"}),t.jsx("h2",{className:"text-[11px] tracking-[0.24em] uppercase text-muted-foreground font-medium",children:e("Avertissement sur les risques","Risk warning")})]}
731),t.jsx("p",{className:"text-sm text-foreground/75 leading-[1.85] text-justify",children:e("Les actifs numériques et les instruments qui y sont liés présentent une forte volatilité et un risque élevé de perte en capital, pouvant aller jusqu'à la totalité des sommes investies. Les solutions évoquées sont soumises à des conditions d'éligibilité, de disponibilité et d'adéquation au profil de chaque investisseur. Elles peuvent également comporter des risques de liquidité, de change, de contrepartie, de dépositaire et de défaut de l'émetteur. Les informations présentées ne constituent ni une recommandation personnalisée ni une garantie de performance.","Digital assets and related instruments are highly volatile and carry a high risk of capital loss, up to the total amount invested. The solutions described are subject to eligibility, availability and suitability conditions for each investor's profile. They may also involve liquidity, currency, counterparty, custodian and issuer default risks. The information presented constitutes neither a personalised recommendation nor a guarantee of performance.")})]})})}),t.jsx("section",{className:"section-y",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:[t.jsx(S.h2,{...he,className:"font-display text-3xl md:text-[2.6rem] leading-[1.15] tracking-[-0.02em]",children:e("Donner aux actifs numériques une place claire dans votre patrimoine.","Give digital assets a clear place in your wealth.")}),t.jsx(S.p,{...he,className:"mt-7 text-foreground/70 leading-[1.8] max-w-[58ch] mx-auto",children:e("Nous vous aidons à définir le niveau d'exposition, le véhicule d'investissement et le cadre de détention les plus cohérents avec votre situation.","We help you define the exposure level, investment vehicle and holding framework most consistent with your situation.")}),t.jsx(S.div,{...he,className:"mt-10",children:t.jsxs("a",{href:"#rdv",className:"btn btn-primary btn-lg group",children:[e("Parler à un conseiller","Talk to an adviser"),t.jsx(V,{className:"w-4 h-4 transition-transform duration-500 group-hover:translate-x-1"})]})}),t.jsx(S.p,{...he,className:"mt-6 text-xs text-muted-foreground/80 max-w-[52ch] mx-auto leading-relaxed",children:e("Un premier échange pour comprendre votre situation et déterminer si cette classe d'actifs est adaptée à votre profil.","A first conversation to understand your situation and determine whether this asset class suits your profile.")})]})}),t.jsx(Ft,{items:[{to:"/assurance-vie-luxembourgeoise",label:e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),description:e("L'enveloppe de référence pour organiser la détention et la transmission d'un patrimoine international.","The reference wrapper to organise the holding and transfer of international wealth."),eyebrow:"Luxembourg"},{to:"/produits-structures",label:e("Produits structurés","Structured products"),description:e("Construire une exposition sur mesure à partir d'un scénario de marché défini.","Build bespoke exposure from a defined market scenario."),eyebrow:e("Sur mesure","Bespoke")},{to:"/family-office",label:"Family Office",description:e("Consolider l'ensemble des poches d'actifs, y compris numériques, dans une vision unique.","Consolidate every asset pocket, including digital ones, into a single view."),eyebrow:e("Pilotage global","Global oversight")}]}),t.jsx($o,{items:[{to:"/assurance-vie-luxembourgeoise",eyebrow:"Cadre",title:"Les actifs numériques dans un contrat luxembourgeois",description:"Détention indirecte via ETP au sein d’un cadre assurantiel."},{to:"/suisse",eyebrow:"International",title:"Le compte bancaire suisse",description:"Conservation et accès aux actifs numériques depuis la Suisse."},{to:"/produits-structures",eyebrow:"Solution",title:"Les produits structurés sur actifs numériques",description:"Exposition encadrée, avec mécanique de protection conditionnelle."},{to:"/blog/confidentialite-uhnw",eyebrow:"Confidentialité",title:"Confidentialité et patrimoine",description:"Ce que recouvre réellement la discrétion patrimoniale."}]}),t.jsx(re,{})]})}
731,oAe="/assets/avlux-hero-DQNNXyjH.jpg",lAe="/assets/utmost-Cge8lUMI.png",cAe="/assets/axa-YGRKYLWC.png",uAe="/assets/generali-wdDj43yp.png",dAe="/assets/ubs-DcCZeTq0.png",pAe="/assets/indosuez-CiVfNDy4.png",mAe="/assets/neuflize-Bm1pjUHb.png",hAe="/assets/swissquote-D38E8vQD.png",Gj=[.16,1,.3,1],fAe=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{icon:Ub,title:e("Triangle de sécurité","Security Triangle"),desc:e("Assureur, banque dépositaire et régulateur contrôlent séparément la détention de vos actifs, un dispositif unique en Europe.","Insurer, custodian bank, and regulator independently oversee the custody of your assets — a mechanism unique to Europe.")},{icon:jR,title:e("Super privilège","Super Privilege"),desc:e("Vous êtes créancier de premier rang : en cas de défaillance, vos avoirs vous sont restitués en priorité absolue.","You hold first-ranking creditor status: in the event of insolvency, your assets are returned to you with absolute priority.")},{icon:We,title:e("Garantie sans plafond","Unlimited Guarantee"),desc:e("Protection illimitée, bien supérieure au plafond français de 70 000 €, quel que soit le montant investi.","Unlimited protection, far exceeding the French ceiling of €70,000, regardless of the amount invested.")}],s=[{icon:mr,title:e("Multi-devises","Multi-currency"),desc:e("EUR, USD, GBP, CHF, diversifiez votre exposition en fonction de vos projets internationaux.","EUR, USD, GBP, CHF — diversify your currency exposure in line with your international projects.")},{icon:rn,title:e("Architecture ouverte","Open Architecture"),desc:e("Accédez à des fonds institutionnels en clean shares, sans rétrocommissions ni contraintes d'acteur.","Access institutional funds in clean shares, free from retrocessions and distributor constraints.")},{icon:St,title:"Private Assets",desc:e("Intégrez du Private Equity et des marchés privés directement au sein de votre assurance-vie.","Integrate Private Equity and private markets directly within your life insurance policy.")},{icon:kQ,title:"Crédit Lombard",desc:e("Nantissez votre contrat pour accéder à une ligne de crédit sans désinvestir.","Pledge your policy as collateral to access a credit facility without divesting.")}],a=[{label:e("Note du pays","Country rating"),lux:e("AAA, dette publique ~30% du PIB","AAA, public debt ~30% of GDP"),fr:e("AA-, dette publique ~110% du PIB","AA-, public debt ~110% of GDP")},{label:e("Protection","Protection"),lux:e("Super-privilège, garantie illimitée","Super privilege, unlimited guarantee"),fr:e("Garantie 70 000 €","€70,000 guarantee")},{label:e("Triangle de sécurité","Security triangle"),lux:e("Oui","Yes"),fr:e("Non","No")},{label:"Loi Sapin 2",lux:e("Non applicable*","Not applicable*"),fr:e("Oui","Yes")},{label:e("Architecture","Architecture"),lux:e("Ouverte, multi-gestion (FAS, FID, FIC)","Open, multi-management (FAS, FID, FIC)"),fr:e("Liste fermée d'UC","Closed list of unit-linked funds")},{label:e("Devises","Currencies"),lux:"EUR, USD, GBP, CHF",fr:e("EUR uniquement","EUR only")},{label:"Crédit Lombard",lux:e("Oui","Yes"),fr:e("Rare","Rare")},{label:e("Neutralité fiscale","Tax neutrality"),lux:e("Fiscalité du pays de résidence","Tax regime of country of residence"),fr:e("Fiscalité française","French tax regime")},{label:"Clean shares",lux:e("Oui, 0% rétrocommissions","Yes, 0% retrocessions"),fr:e("Non","No")}],o=[{label:e("Option 1, avec rétrocommissions","Option 1, with retrocessions"),tiers:[{range:"< 5 M€",value:"0,90%"},{range:"5 à 10 M€",value:"0,75%"},{range:"> 10 M€",value:"0,50%"}]},{label:e("Option 2, Clean Shares (sans rétrocommissions)","Option 2, Clean Shares (no retrocessions)"),tiers:[{range:"< 5 M€",value:"1,45%"},{range:"5 à 10 M€",value:"1,25%"},{range:"> 10 M€",value:"1,00%"}]}],l=[{name:"FIC",full:e("Fonds Internes Collectifs","Collective Internal Funds"),ticket:"≥ 100 000 €",type:e("Gestion collective","Collective management"),assets:e("OPCVM, actions diversifiées","UCITS, diversified equities"),profile:e("Accès institutionnel, coûts partagés","Institutional access, shared costs")},{name:"FID",full:e("Fonds Internes Dédiés","Dedicated Internal Fun
731ds"),ticket:"≥ 250 000 €",type:e("Demi-mesure","Semi-bespoke"),assets:e("PE, hedge funds, immobilier, structurés","PE, hedge funds, real estate, structured products"),profile:e("HNWI, familles, succession planifiée","HNWI, families, planned succession")},{name:"FAS",full:e("Fonds d'Assurance Spécialisés","Specialised Insurance Funds"),ticket:"≥ 250 000 €",type:e("Sur mesure","Fully bespoke"),assets:e("Titres vifs, non cotés, produits structurés","Direct securities, unlisted assets, structured products"),profile:e("Fort degré de personnalisation","Highest degree of customisation")}],c=[{q:e("Quel est l'investissement minimal ?","What is the minimum investment?"),a:e("Le ticket d'entrée dépend du mode de gestion : à partir de 100 000 € en Fonds Internes Collectifs (FIC) via AXA, et à partir de 250 000 € en Fonds Internes Dédiés (FID) ou Fonds d'Assurance Spécialisés (FAS) via Lombard International.","The minimum investment depends on the management mode: from €100,000 in Collective Internal Funds (FIC) via AXA, and from €250,000 in Dedicated Internal Funds (FID) or Specialised Insurance Funds (FAS) via Lombard International.")},{q:e("Avec quels assureurs luxembourgeois travaillez-vous ?","Which Luxembourg insurers do you work with?"),a:e("Nous collaborons avec Lombard International, référence du marché luxembourgeois (FID, FIC, FAS, clean shares, à partir de 250 000 €), et AXA Wealth Europe, premier assureur français avec facilité de financement et accès au Private Equity, à partir de 100 000 €.","We work with Lombard International, a benchmark in the Luxembourg market (FID, FIC, FAS, clean shares, from €250,000), and AXA Wealth Europe, a leading French insurer offering financing facilities and access to Private Equity, from €100,000.")},{q:e("Quelles sont vos banques dépositaires ?","Which custodian banks do you work with?"),a:e("Nos contrats sont adossés à UBS (1ère banque suisse, Crédit Lombard, Private Equity) et CA Indosuez Wealth Management (Groupe Crédit Agricole, Crédit Lombard, Private Equity). Cette sélection garantit sécurité et accès aux meilleures conditions de marché.","Our policies are backed by UBS (Switzerland's leading bank, Lombard Credit, Private Equity) and CA Indosuez Wealth Management (Crédit Agricole Group, Lombard Credit, Private Equity). This selection ensures security and access to best market conditions.")},{q:e("Quels sont les modes de gestion disponibles ?","What management modes are available?"),a:e("Trois modes : le FIC (Fonds Internes Collectifs, dès 100 000 €) pour une gestion collective à coûts partagés ; le FID (Fonds Internes Dédiés, dès 250 000 €) pour une gestion dédiée à votre famille ; et le FAS (Fonds d'Assurance Spécialisés, dès 250 000 €) pour un contrôle total sur mesure avec titres vifs, non cotés et produits structurés.","Three modes: FIC (Collective Internal Funds, from €100,000) for collective management with shared costs; FID (Dedicated Internal Funds, from €250,000) for management dedicated to your family; and FAS (Specialised Insurance Funds, from €250,000) for fully bespoke control with direct securities, unlisted assets, and structured products.")},{q:e("Puis-je accéder à des clean shares ?","Can I access clean shares?"),a:e("Oui. Via Lombard International et nos banques dépositaires, nous vous donnons accès à des clean shares institutionnelles : 0% de rétrocommissions, frais réduits et meilleure performance nette.","Yes. Through Lombard International and our custodian banks, we provide access to institutional clean shares: 0% retrocessions, reduced costs, and superior net performance.")},{q:e("Quels sont les frais ?","What are the fees?"),a:e("Nos frais sont tout inclus (assureur, dépositaire et courtier Colbr). Option 1 avec rétrocommissions : de 0,50% à 0,90% selon l'encours. Option 2 en clean shares : de 1,00% à 1,45%. Les frais dégressifs récompensent les patrimoines importants.","Our fees are all-inclusive (insurer, custodian, and Colbr as broker). Option 1 with retrocessions: from 0.50% to 0.90% depending on assets under management. Option 2 in clean shares: from 1.00% to 1.45%. Degressive fees reward larger portfolios.")},{q:e("Le contrat est-il accessible aux sociétés ?","Is the policy accessible to legal entities?"),a:e("Oui. Nous accompagnons les personnes morales (holdings patrimoniales, SCI, cabinets libéraux…) via des contrats de capitalisation luxembourgeois, avec une fiscalité annuelle maîtrisée et des arbitrages non taxés.","Yes. We advise legal entities (wealth holding companies, SCI, professional practices, etc.) through Luxembourg capitalisation contracts, with controlled annual taxation and tax-free fund switches.")},{q:e("Proposez-vous un Crédit Lombard ?","Do you offer Lombard Credit?"),a:e("Oui. Via UBS et Indosuez, nous structurons des Crédits Lombard adossés à votre contrat, vous permettant d'obtenir de la liquidité sans désinvestir.","Yes. Through UBS and Indosuez, we structure Lombard Credits backed by your policy, enabling you to access liquidity without divesting.")},{q:e("La loi Sapin 2 s'applique-t-elle ?","Does the Sapin 2 law apply?"),a:e("Non. Les contrats luxembourgeois ne sont pas soumis à la loi Sapin 2, sauf s'ils sont souscrits auprès d'un assureur français. Votre épargne reste insaisissable grâce au Triangle de Sécurité et au Super Privilège.","No. Luxembourg policies are not subject to the Sapin 2 law, unless underwritten with a French insurer. Your savings remain untouchable thanks to the Security Triangle and Super Privilege.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"relative min-h-[80vh] flex items-center justify-center overflow-hidden",children:[t.jsxs("div",{className:"absolute inset-0",children:[t.jsx("img",{src:oAe,alt:"Luxembourg",className:"w-full h-full object-cover opacity-30"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-background/60 via-background/80 to-background"})]}),t.jsx("div",{className:"relative z-10 container max-w-4xl mx-auto px-6 text-center pt-32 pb-20",children:t.jsxs(S.div,{initial:{opacity:0,y:30}
731,animate:{opacity:1,y:0},transition:{duration:1,ease:Gj},children:[t.jsx("span",{className:"inline-block text-[11px] tracking-[0.3em] uppercase text-primary/70 mb-6 font-medium",children:e("Luxembourg · Assurance-vie & capitalisation","Luxembourg · Life Insurance & Capitalisation")}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl font-light leading-[1.1] mb-6 tracking-tight",children:[e("La protection patrimoniale","The most exacting"),t.jsx("br",{}),t.jsx("span",{className:"text-primary",children:e("la plus exigeante d'Europe","wealth protection in Europe")})]}),t.jsx("p",{className:"text-foreground/50 text-lg md:text-xl max-w-2xl mx-auto leading-relaxed mb-10 text-justify md:text-center",children:e("Accédez à une enveloppe structurée sur mesure, avec une protection illimitée, une architecture ouverte et un univers d'investissement institutionnel.","Access a fully bespoke policy wrapper, with unlimited protection, open architecture, and an institutional investment universe.")}),t.jsx("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-8 py-3.5 bg-primary text-primary-foreground rounded-full text-sm font-medium hover:bg-primary/90 transition-all",children:[e("Échanger avec un conseiller","Speak with an adviser"),t.jsx(V,{className:"w-4 h-4"})]})})]})})]}),t.jsx("section",{className:"py-16 border-t border-border/30",children:t.jsx("div",{className:"container max-w-5xl mx-auto px-6",children:t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-8 text-center",children:[{value:"100 000 €",label:e("Ticket d'entrée (FIC)","Minimum investment (FIC)")},{value:e("dès 0,90%","from 0.90%"),label:e("Frais tout compris","All-inclusive fees")},{value:"0%",label:e("Rétrocommissions (clean shares)","Retrocessions (clean shares)")},{value:e("Illimitée","Unlimited"),label:e("Garantie","Guarantee")}].map(u=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},children:[t.jsx("span",{className:"block text-2xl md:text-3xl font-display text-primary font-light",children:u.value}),t.jsx("span",{className:"text-xs text-muted-foreground mt-1 block",children:u.label})]},u.label))})})}),t.jsxs("section",{className:"py-12 border-b border-border/30 overflow-hidden",children:[t.jsx("div",{className:"container max-w-4xl mx-auto px-6",children:t.jsx("p",{className:"text-[10px] tracking-[0.3em] uppercase text-muted-foreground/50 text-center mb-8",children:e("Nos partenaires, assureurs & banques dépositaires","Our partners, insurers & custodian banks")})}),t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-24 bg-gradient-to-r from-background to-transparent z-10"}),t.jsx("div",{className:"absolute right-0 top-0 bottom-0 w-24 bg-gradient-to-l from-background to-transparent z-10"}),t.jsx("div",{className:"flex animate-marquee items-center w-max",children:[...Array(4)].flatMap((u,d)=>[{src:lAe,alt:"Utmost"},{src:cAe,alt:"AXA"},{src:uAe,alt:"Generali"},{src:dAe,alt:"UBS"},{src:pAe,alt:"Indosuez"},{src:mAe,alt:"Neuflize OBC"},{src:hAe,alt:"Swissquote"}].map((p,m)=>t.jsx("img",{src:p.src,alt:p.alt,className:"h-8 w-28 object-contain grayscale brightness-[0.4] opacity-50 shrink-0 mx-10",loading:"lazy"},`${d}-${m}`)))})]})]}),t.jsx("section",{className:"py-24 bg-card/30",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Gj},className:"max-w-3xl mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.3em] uppercase text-primary/70 mb-4 block",children:e("Deux enveloppes luxembourgeoises","Two Luxembourg wrappers")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl font-light tracking-tight mb-5",children:[e("Assurance-vie","Life insurance")," ",t.jsx("span",{className:"text-primary",children:e("et contrat de capitalisation","and capitalisation contract")})]}),t.jsx("p",{className:"text-muted-foreground leading-relaxed",children:e("Le contrat de capitalisation reprend l'architecture du contrat d'assurance-vie luxembourgeois, mais sans aléa lié à la vie de l'assuré. Il s'adresse notamment aux personnes morales et aux stratég
731ies de transmission par donation.","The capitalisation contract mirrors the architecture of the Luxembourg life policy, without the contingency linked to the policyholder's life. It suits legal entities and gifting-based transfer strategies.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6 mb-14",children:[{icon:St,title:e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),points:[e("Personnes physiques","Individuals"),e("Fiscalité successorale de l'assurance-vie","Life insurance inheritance taxation"),e("Dénouement au décès de l'assuré","Settlement on death of the insured"),e("Clause bénéficiaire sur mesure","Bespoke beneficiary clause")],highlight:!0},{icon:rn,title:e("Contrat de capitalisation luxembourgeois","Luxembourg capitalisation contract"),points:[e("Personnes physiques et morales (holding, SCI, société à l'IS)","Individuals and legal entities (holding, SCI, corporate)"),e("Transmissible par donation, avec conservation de l'antériorité fiscale","Transferable by gift, retaining tax seniority"),e("Entre dans l'actif successoral, sans clause bénéficiaire","Enters the estate, no beneficiary clause"),e("Arbitrages non taxés au sein du contrat","Tax-free switches within the contract")],highlight:!1}].map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Gj,delay:d*.1},className:`p-8 rounded-2xl border ${u.highlight?"bg-primary/[0.04] border-primary/30":"bg-background/60 border-border/30"}`,children:[t.jsx(u.icon,{className:"w-8 h-8 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-xl tracking-tight mb-5",children:u.title}),t.jsx("ul",{className:"space-y-3",children:u.points.map(p=>t.jsxs("li",{className:"flex items-start gap-3 text-sm text-muted-foreground leading-relaxed",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary mt-1.5 shrink-0"}),p]},p))})]},u.title))}),t.jsx("p",{className:"text-xs text-muted-foreground/60 max-w-3xl",children:e("Les deux enveloppes partagent le même socle : triangle de sécurité, super privilège, architecture ouverte, multi-devises et accès au crédit Lombard. Ticket d'entrée identique, à partir de 100 000 €.","Both wrappers share the same foundation: security triangle, super privilege, open architecture, multi-currency and Lombard credit access. Identical entry ticket, from €100,000.")})]})}),t.jsx("section",{className:"py-24 bg-card/30",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[10px] tracking-[0.3em] uppercase text-primary/60 block mb-4",children:e("Sécurité","Security")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light",children:e("Un dispositif de protection unique en Europe","A protection framework unique in Europe")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:i.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:d*.1},className:"bg-card border border-border/50 rounded-2xl p-8 text-center",children:[t.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-5",children:t.jsx(u.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-lg mb-3",children:u.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u.desc})]},u.title))})]})}),t.jsx("section",{className:"py-24",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[10px] tracking-[0.3em] uppercase text-primary/60 block mb-4",children:e("Investissement","Investment")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light mb-4",children:e("Une liberté d'allocation unique","An unrivalled freedom of allocation")}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto text-justify md:text-center",children:e("Le contrat luxembourgeois ouvre un univers multi-devises, multi-gestion et institutionnel, inaccessible aux contrats français. Intégrez du Private Equity et des marchés privés en clean shares, sans rétrocommissions.","The Luxembourg policy opens a multi-currency, multi-management, institutional universe unavailable through French contracts. Integrate Private Equity and private markets in clean shares, free from retrocessions.")})]}),t.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:s.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:d*.08},className:"border border-border/40 rounded-xl p-6 hover:border-primary/30 transition-colors",children:[t.jsx(u.icon,{className:"w-5 h-5 text-primary/70 mb-4"}),t.jsx("h3",{className:"text-sm font-medium mb-2",children:u.title}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:u.desc})]},u.title))})]})}),t.jsx("section",{className:"py-24 bg-card/30",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[10px] tracking-[0.3em] uppercase text-primary/60 block mb-4",children:e("Comparatif","Comparison")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light",children:e("Luxembourg vs France","Luxembourg vs France")})]}),t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},children:[t.jsx("div",{className:"overflow-hidden rounded-2xl border border-border/50",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"bg-card",children:[t.jsx("th",{className:"text-left px-6 py-4 font-medium text-muted-foreground text-xs tracking-wider up
731percase"}),t.jsx("th",{className:"text-left px-6 py-4 font-medium text-primary text-xs tracking-wider uppercase",children:"Luxembourg"}),t.jsx("th",{className:"text-left px-6 py-4 font-medium text-muted-foreground text-xs tracking-wider uppercase",children:"France"})]})}),t.jsx("tbody",{children:a.map((u,d)=>t.jsxs("tr",{className:`border-t border-border/30 ${d%2===0?"bg-background/50":"bg-card/50"}`,children:[t.jsx("td",{className:"px-6 py-4 text-foreground/80 font-medium text-xs",children:u.label}),t.jsx("td",{className:"px-6 py-4 text-foreground/70 text-xs",children:u.lux}),t.jsx("td",{className:"px-6 py-4 text-foreground/60 text-xs",children:u.fr})]},u.label))})]})}),t.jsx("p",{className:"text-[10px] text-muted-foreground/40 mt-3 text-right",children:e("*Sauf si assuré par un assureur français","*Unless underwritten by a French insurer")}),t.jsxs("div",{className:"mt-12 relative",children:[t.jsx("div",{className:"absolute inset-x-0 top-1/2 -translate-y-1/2 h-px bg-gradient-to-r from-transparent via-primary/20 to-transparent","aria-hidden":!0}),t.jsxs("div",{className:"relative flex flex-col items-center gap-4 px-6 py-8 rounded-2xl border border-primary/10 bg-gradient-to-b from-white to-[hsl(225_35%_98%)] shadow-[0_30px_80px_-40px_hsl(225_55%_20%/0.25)] max-w-xl mx-auto",children:[t.jsx("span",{className:"text-[10px] tracking-[0.3em] uppercase text-primary/60",children:e("Document confidentiel","Confidential document")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl text-center leading-snug text-foreground max-w-md",children:e("Approfondissez les atouts de l'assurance-vie luxembourgeoise.","Explore the advantages of Luxembourg life insurance in depth.")}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2Et6s_pdOTLSv1PuHDafrRg",title:e("Recevoir la documentation","Receive the documentation"),description:e("Renseignez vos coordonnées pour recevoir notre documentation confidentielle sur l'assurance-vie luxembourgeoise.","Enter your details to receive our confidential documentation on Luxembourg life insurance."),children:t.jsxs("button",{type:"button",className:"btn btn-primary btn-lg group mt-1",children:[e("Recevoir la documentation","Receive the documentation"),t.jsx(V,{className:"btn-arrow"})]})}),t.jsx("p",{className:"text-[11px] text-muted-foreground/70 text-center",children:e("Envoi immédiat · Sans engagement · Confidentiel","Instant delivery · No commitment · Confidential")})]})]})]})]})}),t.jsx("section",{className:"py-24 bg-[hsl(225_30%_94%)]",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[10px] tracking-[0.3em] uppercase text-primary/60 block mb-4",children:e("Architecture","Architecture")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light",children:e("Les modes de gestion","Management modes")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:l.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:d*.1},className:"border border-border/50 rounded-2xl p-6",children:[t.jsxs("div",{className:"flex items-baseline gap-2 mb-1",children:[t.jsx("span",{className:"text-lg font-display text-primary",children:u.name}),t.jsx("span",{className:"text-[10px] text-muted-foreground/60 tracking-wide",children:u.ticket})]}),t.jsx("p",{className:"text-[11px] text-muted-foreground mb-4",children:u.full}),t.jsxs("div",{className:"space-y-2 text-xs",children:[t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Type","Type")}),t.jsx("span",{className:"text-foreground/70",children:u.type})]}),t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Actifs","Assets")}),t.jsx("span",{className:"text-foreground/70 text-right max-w-[60%]",children:u.assets})]}),t.jsxs("div",{className:"flex justify-between",children:[t.jsx("span",{className:"text-muted-foreground",children:e("Profil","Profile")}
731),t.jsx("span",{className:"text-foreground/70 text-right max-w-[60%]",children:u.profile})]})]})]},u.name))})]})}),t.jsx("section",{className:"py-24 bg-card/30",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[10px] tracking-[0.3em] uppercase text-primary/60 block mb-4",children:e("Transparence","Transparency")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light mb-4",children:e("Frais tout inclus","All-inclusive fees")}),t.jsx("p",{className:"text-muted-foreground text-sm max-w-xl mx-auto",children:e("Assureur, banque dépositaire et courtier (Colbr), un seul niveau de frais transparent.","Insurer, custodian bank, and broker (Colbr) — a single, transparent fee level.")})]}),t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},children:t.jsx("div",{className:"overflow-hidden rounded-2xl border border-border/50",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"bg-card",children:[t.jsx("th",{className:"text-left px-6 py-4 font-medium text-muted-foreground text-xs tracking-wider uppercase"}),t.jsx("th",{className:"text-center px-4 py-4 font-medium text-muted-foreground text-xs tracking-wider uppercase",children:"< 5 M€"}),t.jsx("th",{className:"text-center px-4 py-4 font-medium text-muted-foreground text-xs tracking-wider uppercase",children:"5 à 10 M€"}),t.jsx("th",{className:"text-center px-4 py-4 font-medium text-muted-foreground text-xs tracking-wider uppercase",children:"> 10 M€"})]})}),t.jsx("tbody",{children:o.map((u,d)=>t.jsxs("tr",{className:`border-t border-border/30 ${d%2===0?"bg-background/50":"bg-card/50"}`,children:[t.jsx("td",{className:"px-6 py-4 text-foreground/80 font-medium text-xs",children:u.label}),u.tiers.map(p=>t.jsx("td",{className:"text-center px-4 py-4 text-foreground text-sm font-medium",children:p.value},p.range))]},u.label))})]})})})]})}),t.jsx("section",{className:"py-24 bg-card/30",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},children:[t.jsx(uc,{className:"w-8 h-8 text-primary/60 mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light mb-6",children:e("Un accompagnement patrimonial sur mesure","Bespoke wealth management advisory")}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto leading-relaxed mb-4 text-justify md:text-center",children:e("L'assurance-vie luxembourgeoise n'est pas un produit. C'est une architecture patrimoniale qui nécessite une mise en œuvre rigoureuse.","Luxembourg life insurance is not a product. It is a wealth architecture that requires rigorous implementation.")}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto leading-relaxed mb-10 text-justify md:text-center",children:e("Chaque client est accompagné par un conseiller privé spécialisé dans les patrimoines complexes : holdings, expatriation, multi-détenance, transmission internationale, structuration d'actifs financiers. Nous sélectionnons l'assureur, la banque dépositaire et l'architecture d'investissement les mieux adaptés à votre situation.","Each client is supported by a private adviser specialising in complex estates: holding companies, expatriation, multi-ownership, international wealth transfer, and financial asset structuring. We select the insurer, custodian bank, and investment architecture best suited to your situation.")}),t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-8 py-3.5 bg-foreground text-background rounded-full text-sm font-medium hover:bg-foreground
731/90 transition-all",children:[e("Échanger avec un conseiller","Speak with an adviser"),t.jsx(V,{className:"w-4 h-4"})]})]})})}),t.jsx("section",{className:"py-24",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"text-center mb-12",children:t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light",children:e("Questions fréquentes","Frequently asked questions")})}),t.jsx("div",{className:"space-y-3",children:c.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:d*.05},className:"border border-border/50 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===d?null:d),className:"flex items-center justify-between w-full px-6 py-4 text-left hover:bg-card/50 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium text-foreground/80 pr-4",children:u.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===d?"rotate-180":""}`})]}),n===d&&t.jsx("div",{className:"px-6 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u.a})})]},d))})]})}),t.jsx("section",{className:"py-24 bg-card/30 border-t border-border/30",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl font-light mb-4",children:e("Structurez votre patrimoine avec l'excellence luxembourgeoise","Structure your wealth with Luxembourg excellence")}),t.jsx("p",{className:"text-muted-foreground mb-8 max-w-lg mx-auto",children:e("Nos conseillers privés vous accompagnent pour définir la stratégie la plus adaptée à votre situation.","Our private advisers work with you to define the strategy best suited to your situation.")}),t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-8 py-3.5 bg-primary text-primary-foreground rounded-full text-sm font-medium hover:bg-primary/90 transition-all",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]})]})})}),t.jsx(Ft,{items:[{to:"/family-office",label:"Family Office",description:e("Une approche globale pour structurer et gouverner votre patrimoine familial.","A comprehensive approach to structuring and governing your family wealth."),eyebrow:e("Patrimoine global","Global wealth")},{to:"/private-equity",label:"Private Equity",description:e("Logez vos investissements non-cotés dans votre contrat luxembourgeois.","House your unlisted investments within your Luxembourg policy."),eyebrow:e("Diversification","Diversification")},{to:"/produits-structures",label:e("Produits structurés","Structured products"),description:e("Construisez des produits sur-mesure adossés à votre enveloppe luxembourgeoise.","Build bespoke products backed by your Luxembourg policy wrapper."),eyebrow:e("Sur-mesure","Bespoke")}]}),t.jsx($o,{items:[{to:"/blog/triangle-securite-luxembourgeois",eyebrow:"Comprendre",title:"Le triangle de sécurité luxembourgeois",description:"Comment la loi luxembourgeoise sépare et protège les actifs du souscripteur."},{to:"/blog/fonds-interne-dedie",eyebrow:"Architecture",title:"Le fonds interne dédié (FID)",description:"Une gestion sur mesure logée à l’intérieur du contrat."},{to:"/blog/credit-lombard-luxembourgeois",eyebrow:"Financement",title:"Le crédit lombard adossé au contrat",description:"Mobiliser une trésorerie sans désinvestir."},{to:"/blog/transfert-assurance-vie-luxembourg",eyebrow:"Mobilité",title:"Transférer un contrat français vers le Luxembourg",description:"Ce que le transfert change, et ce qu’il ne change pas."}]}),t.jsx(re,{})]})},gAe="/assets/logo-goldman-sachs-CsX0piBR.png",xAe="/assets/logo-societe-generale-HiSNWoC1.png",vAe="/assets/logo-bnp-paribas-DKeqN3O4.png",bAe="/assets/structured-product-bg-Dpzeilce.png",zt=[.16,1,.3,1],yAe=[{name:"Goldman Sachs",logo:gAe,h:"h-10"},{name:"Société Générale",logo:xAe,h:"h-10"},{name:"UBS",logo:Wm,h:"h-12"}],jAe=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{value:"Dès 100 000 €",label:e("Ticket d'entrée","Minimum ticket")},{value:e("Sur-mesure","Bespoke"),label:e("Structuration interne","In-house structuring")},{value:"0%",label:e("Surfacturation","Mark-up")},{value:e("2 à 10 ans","2 to 10 years"),label:e("Maturité ajustable","Adjustable maturity")}],s=[{icon:Qx,title:e("Ingénierie financière interne","In-house financial engineering"),desc:e("Contrairement à la grande majorité des distributeurs, Colbr dispose d'une équipe d'ingénierie financière en interne. Chaque produit est conçu, modélisé et stress-testé par nos équipes, pas simplement revendu.","Unlike the vast majority of distributors, Colbr has a dedicated in-house financial engineering team. Every product is designed, modelled, and stress-tested by our specialists — not simply resold.")},{icon:rn,title:e("Accès direct aux salles de marchés","Direct access to trading floors"),desc:e("Nous traitons en direct avec les salles de marchés des plus grandes banques européennes et mondiales, Goldman Sachs, Société Générale, UBS, BNP Paribas, Natixis, Crédit Agricole 
731CIB, sans intermédiaire.","We deal directly with the trading floors of the world's leading banks — Goldman Sachs, Société Générale, UBS, BNP Paribas, Natixis, Crédit Agricole CIB — without any intermediary.")},{icon:la,title:e("Écosystème de brokers de premier rang","Tier-one broker ecosystem"),desc:e("En complément, nous travaillons avec un écosystème de brokers de premier rang qui élargit notre univers d'émetteurs et garantit un sourcing compétitif sur l'ensemble des classes d'actifs.","We also work with a tier-one broker ecosystem that broadens our issuer universe and ensures competitive sourcing across all asset classes.")},{icon:We,title:e("Pricing transparent, sans surfacturation","Transparent pricing, zero mark-up"),desc:e("Notre désintermédiation supprime les couches de frais habituelles. Vous accédez aux conditions tarifaires institutionnelles, avec une totale transparence sur la rémunération du distributeur.","Our disintermediation eliminates the usual fee layers. You access institutional pricing conditions with full transparency on distributor remuneration.")}],a=[{title:e("Sous-jacent","Underlying"),desc:e("Indice (Euro Stoxx 50, S&P 500), panier d'actions, taux ou matière première, calibré selon votre conviction de marché.","Index (Euro Stoxx 50, S&P 500), equity basket, rate, or commodity — calibrated to your market conviction.")},{title:e("Protection du capital","Capital protection"),desc:e("Totale ou partielle (barrière à 50%, 60%, 70%) à l'échéance, selon votre tolérance au risque et le niveau de coupon souhaité.","Full or partial (barrier at 50%, 60%, 70%) at maturity, depending on your risk tolerance and desired coupon level.")},{title:e("Coupon & rappel anticipé","Coupon & early redemption"),desc:e("Coupons fixes, conditionnels ou airbag, avec mécanisme autocall pour un remboursement anticipé dès que les conditions sont réunies.","Fixed, conditional, or airbag coupons, with an autocall mechanism for early redemption as soon as conditions are met.")},{title:e("Maturité","Maturity"),desc:e("De 2 à 10 ans, ajustable selon votre horizon. Le produit peut être rappelé bien avant l'échéance maximale.","From 2 to 10 years, adjustable to your time horizon. The product may be called well before maximum maturity.")}],o=[{title:e("Optimiser un coussin défensif","Optimise a defensive cushion"),desc:e("Substituer une poche obligataire par un produit à capital protégé offrant un coupon supérieur, dans un cadre fiscal d'assurance-vie.","Replace a bond allocation with a capital-protected product offering a superior coupon, within a life insurance tax framework.")},{title:e("Capter une vue de marché","Express a market view"),desc:e("Exprimer une conviction directionnelle (hausse modérée, range, baisse limitée) avec un payoff précis, sans subir la volatilité quotidienne.","Express a directional conviction (moderate rise, range-bound, limited decline) with a precise payoff, without enduring daily volatility.")},{title:e("Structurer un patrimoine","Structure a portfolio"),desc:e("Lisser le rendement d'un portefeuille global avec des coupons réguliers, décorrélés de la performance pure des marchés cotés.","Smooth the return profile of a global portfolio with regular coupons, decorrelated from the pure performance of listed markets.")}],l=[{step:"01",title:e("Analyse de votre profil","Profile analysis"),desc:e("Objectifs, horizon, tolérance au risque, contraintes fiscales et patrimoniales.","Objectives, time horizon, risk tolerance, tax and estate constraints.")},{step:"02",title:e("Conception sur-mesure","Bespoke design"),desc:e("Notre équipe d'ingénierie modélise plusieurs structures et back-teste les payoffs sur 20 ans d'historique.","Our engineering team models several structures and back-tests payoffs over 20 years of historical data.")},{step:"03",title:e("Mise en concurrence","Competitive tendering"),desc:e("Nous sollicitons en direct 3 à 5 salles de marchés pour obtenir les meilleures conditions de pricing.","We approach 3 to 5 trading floors directly to secure the best pricing conditions.")},{step:"04",title:e("Souscription & suivi","Subscription & monitoring"),desc:e("Logement dans votre enveloppe (assurance-vie, contrat lux, compte-titres) et reporting trimestriel.","Allocation within your chosen wrapper (life insurance, Luxembourg contract, securities account) and quarterly reporting.")}],c=[{q:e("Qu'est-ce qu'un produit structuré ?","What is a structured product?"),a:e("Un produit structuré est un instrument financier émis par une banque, qui combine plusieurs paramètres : un actif sous-jacent (indice, action, taux), une durée définie, un mécanisme de protection partielle ou totale du capital, et un potentiel de rendement sous forme de coupon. Il offre un profil de risque/rendement précis, calibré à l'avance.","A structured product is a financial instrument issued by a bank that combines several parameters: an underlying asset (index, equity, rate), a defined term, a partial or full capital protection mechanism, and a return potential in the form of a coupon. It offers a precise risk/return profile, calibrated in advance.")},{q:e("En quoi l'approche Colbr est-elle différente ?","How does the C
731olbr approach differ?"),a:e("Contrairement à la grande majorité des distributeurs qui se contentent de revendre des produits standards, Colbr dispose d'une ingénierie financière en interne et traite en direct avec les salles de marchés des plus grandes banques européennes et mondiales, Goldman Sachs, Société Générale, UBS, BNP, Natixis. Nous concevons, négocions et structurons sur-mesure, en complément d'un écosystème de brokers de premier rang.","Unlike the vast majority of distributors who simply resell standard products, Colbr has in-house financial engineering and deals directly with the trading floors of the world's leading banks — Goldman Sachs, Société Générale, UBS, BNP, Natixis. We design, negotiate, and structure on a bespoke basis, complemented by a tier-one broker ecosystem.")},{q:e("Quel est le ticket minimum ?","What is the minimum ticket?"),a:e("Nos produits structurés sur-mesure démarrent à partir de 100 000 €. Pour des structures plus standardisées logées en assurance-vie, l'accès est possible dès 1 000 €. Au-delà de 500 000 €, un produit dédié peut être conçu pour vos seuls intérêts.","Our bespoke structured products start from €100,000. For more standardised structures held within a life insurance wrapper, access is possible from €1,000. Above €500,000, a dedicated product can be designed exclusively for your interests.")},{q:e("Quelles enveloppes peuvent loger un produit structuré ?","Which wrappers can hold a structured product?"),a:e("Les produits structurés peuvent être logés dans une assurance-vie française ou luxembourgeoise (FAS, FID), un PER, ou un compte-titres ordinaire. L'enveloppe est choisie selon votre fiscalité, votre horizon et vos objectifs successoraux.","Structured products can be held within a French or Luxembourg life insurance policy (FAS, FID), a PER retirement plan, or a standard securities account. The wrapper is selected according to your tax situation, time horizon, and estate planning objectives.")},{q:e("Quels sont les risques ?","What are the risks?"),a:e("Le principal risque est la perte en capital si la barrière de protection est franchie à l'échéance et que le sous-jacent a fortement baissé. S'ajoute le risque de crédit de l'émetteur (la banque), d'où l'importance de travailler avec des contreparties de premier rang. Enfin, la liquidité avant échéance dépend du marché secondaire.","The primary risk is capital loss if the protection barrier is breached at maturity and the underlying has fallen sharply. This is compounded by the issuing bank's credit risk, which is why working with tier-one counterparties is essential. Pre-maturity liquidity also depends on the secondary market.")},{q:e("Quelle fiscalité s'applique ?","What taxation applies?"),a:e("La fiscalité dépend de l'enveloppe choisie. En assurance-vie, les gains bénéficient du cadre fiscal de l'enveloppe (PFU réduit après 8 ans, abattements successoraux). En compte-titres, les coupons et plus-values sont soumis au PFU de 30 % (ou option barème).","Taxation depends on the chosen wrapper. Within a life insurance policy, gains benefit from the wrapper's tax framework (reduced flat tax after 8 years, estate allowances). In a securities account, coupons and capital gains are subject to the 30% flat tax (or progressive scale option).")},{q:e("Que se passe-t-il à l'échéance ou en cas de rappel anticipé ?","What happens at maturity or upon early redemption?"),a:e("Si les conditions de rappel sont atteintes (autocall), votre capital et le coupon vous sont restitués avant échéance. À échéance, selon le scénario du sous-jacent, vous récupérez votre capital + coupons éventuels, ou subissez la baisse au-delà de la barrière de protection. Les fonds restent dans votre enveloppe pour un réinvestissement ou un rachat.","If redemption conditions are met (autocall), your capital and coupon are returned before maturity. At maturity, depending on the underlying scenario, you recover your capital plus any coupons, or bear the decline beyond the protection barrier. Proceeds remain in your wrapper for reinvestment or withdrawal.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-28 pb-12 bg-[hsl(var(--surface-warm))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16}
731,animate:{opacity:1,y:0},transition:{duration:.7,ease:zt},className:"mb-12",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[t.jsx(t2,{className:"w-4 h-4 text-[hsl(38_75%_50%)] fill-current"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase font-semibold text-[hsl(38_75%_45%)]",children:e("Le produit du moment","Product of the moment")})]}),t.jsxs("h2",{className:"font-display text-4xl md:text-5xl lg:text-[3.4rem] leading-[1.05] tracking-tight text-[hsl(var(--surface-warm-foreground))] max-w-3xl",children:[e("Rendement","Return")," ",t.jsx("span",{className:"bg-gradient-to-r from-[hsl(38_75%_45%)] via-[hsl(35_70%_50%)] to-[hsl(40_75%_55%)] bg-clip-text text-transparent",children:e("Juin 2026","June 2026")})]})]}),t.jsxs("div",{className:"grid lg:grid-cols-[1fr_1.05fr] gap-10 lg:gap-14 items-stretch",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.1,ease:zt},className:"flex flex-col justify-center",children:[t.jsxs("div",{className:"inline-flex items-center gap-3 mb-6 self-start pl-3 pr-5 py-2.5 rounded-xl bg-white border border-[hsl(35_15%_85%)] shadow-[0_4px_16px_-8px_hsl(220_20%_30%/0.15)]",children:[t.jsx("img",{src:vAe,alt:"BNP Paribas",className:"h-8 w-auto object-contain"}),t.jsxs("div",{className:"flex flex-col leading-tight",children:[t.jsx("span",{className:"text-[9px] tracking-[0.22em] uppercase text-[hsl(220_15%_45%)]",children:e("Émetteur","Issuer")}),t.jsx("span",{className:"text-sm font-semibold text-[hsl(var(--surface-warm-foreground))]",children:"BNP Paribas"})]})]}),t.jsxs("p",{className:"text-[hsl(220_15%_30%)] text-lg leading-relaxed mb-8 max-w-xl text-justify",children:[e("Produit structuré à ","Structured product with "),t.jsx("strong",{className:"text-[hsl(var(--surface-warm-foreground))]",children:e("capital 100 % garanti","100% capital guarantee")}),e(" à maturité, offrant un coupon de "," at maturity, offering a coupon of "),t.jsx("strong",{className:"text-[hsl(var(--surface-warm-foreground))]",children:e("6 % la première année","6% in year one")}),e(" et un mécanisme de rappel anticipé dès que 12 % de coupons cumulés sont atteints."," and an early redemption mechanism once 12% of cumulative coupons are reached.")]}),t.jsx("ul",{className:"space-y-3 mb-10",children:[e("Capital intégralement protégé à l'échéance (hors défaut émetteur)","Capital fully protected at maturity (excluding issuer default)"),e("6 % garantis la première année, soit 1,5 % par trimestre","6% guaranteed in year one, equivalent to 1.5% per quarter"),e("Rappel anticipé dès 12 % de coupons cumulés","Early redemption from 12% of cumulative coupons"),e("Maturité maximale de 12 ans, adossée à BNP Paribas","Maximum maturity of 12 years, backed by BNP Paribas")].map((u,d)=>t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"flex-shrink-0 mt-1 w-5 h-5 rounded-full bg-[hsl(38_75%_50%/0.
73115)] flex items-center justify-center",children:t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-[hsl(38_75%_45%)]"})}),t.jsx("span",{className:"text-[hsl(220_15%_25%)] leading-relaxed",children:u})]},d))}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium rounded-lg bg-[hsl(220_45%_10%)] text-white hover:bg-[hsl(220_45%_15%)] transition-all duration-200",children:[e("Demander une simulation","Request a simulation"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2XsNN0QQrT4Gv22o5VBLgcA",title:e("Produits structurés","Structured products"),description:e("Recevez plus d'informations sur nos produits structurés sur mesure.","Receive further information on our bespoke structured products."),eyebrow:e("Documentation","Documentation"),children:t.jsx("button",{type:"button",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium rounded-lg bg-white border border-[hsl(35_15%_82%)] text-[hsl(var(--surface-warm-foreground))] hover:border-[hsl(38_75%_50%/0.5)] transition-all duration-200",children:e("Recevoir la documentation","Receive documentation")})})]})]}),t.jsxs(S.div,{initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.9,delay:.2,ease:zt},className:"relative min-h-[460px] lg:min-h-[540px]",children:[t.jsx("div",{className:"absolute inset-0 rounded-3xl overflow-hidden bg-cover bg-center shadow-[0_30px_80px_-30px_hsl(220_30%_15%/0.4)]",style:{backgroundImage:`url(${bAe})`},children:t.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[hsl(220_40%_10%/0.15)] via-transparent to-[hsl(220_40%_10%/0.25)]"})}),t.jsx("div",{className:"absolute top-1/2 -translate-y-1/2 right-4 lg:-right-6 flex flex-col gap-4 w-[60%] max-w-[260px]",children:[{icon:We,label:e("Capital à l'échéance","Capital at maturity"),value:t.jsxs(t.Fragment,{children:[e("100 %","100%")," ",t.jsx("span",{className:"text-[hsl(38_75%_45%)] text-2xl",children:e("garanti","guaranteed")})]}),delay:.5},{icon:Zl,label:e("Coupon année 1","Year 1 coupon"),value:t.jsxs("span",{className:"flex items-baseline gap-1.5",children:["6 %",t.jsx("span",{className:"text-xs text-[hsl(220_15%_50%)] font-sans",children:e("garantis","guaranteed")})]}),delay:.65},{icon:WQ,label:e("Rappel anticipé","Early redemption"),value:t.jsxs(t.Fragment,{children:[e("Dès","From")," ",t.jsx("span",{className:"text-[hsl(38_75%_45%)]",children:"12 %"})," ",e("cumulés","cumulative")]}),valueClass:"text-xl",delay:.8},{icon:Kx,label:e("Maturité maximale","Maximum maturity"),value:t.jsx(t.Fragment,{children:e("12 ans","12 years")}),delay:.95}].map(u=>t.jsxs(S.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},transition:{duration:.7,delay:u.delay,ease:zt},className:"bg-white rounded-2xl px-5 py-4 shadow-[0_20px_50px_-20px_hsl(220_30%_15%/0.35)] border border-white",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[t.jsx(u.icon,{className:"w-3.5 h-3.5 text-[hsl(38_75%_45%)]"}),t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase font-semibold text-[hsl(220_15%_45%)]",children:u.label})]}),t.jsx("div",{className:`font-display ${u.valueClass??"text-3xl"} text-[hsl(var(--surface-warm-foreground))] leading-none`,children:u.value})]},u.label))})]})]})]})}),t.jsxs("section",{className:"pt-12 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-stretch",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:zt},className:"flex flex-col justify-center",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Sur Mesure","Bespoke")}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[e("Des solutions","Solutions")," ",t.jsx("span",{className:"text-gradient-gold",children:e("conçues","crafted")})," ",e("pour vous.","for you.")]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8 max-w-xl text-ju
731stify",children:e("Contrairement à la grande majorité des distributeurs, Colbr dispose d'une ingénierie financière en interne et traite en direct avec les salles de marchés des plus grandes banques européennes et mondiales, Goldman Sachs, Société Générale, UBS, tout en s'appuyant sur un écosystème de brokers de premier rang.","Unlike the vast majority of distributors, Colbr has in-house financial engineering and deals directly with the trading floors of the world's leading banks — Goldman Sachs, Société Générale, UBS — while leveraging a tier-one broker ecosystem.")}),t.jsx("div",{className:"flex flex-wrap gap-4",children:t.jsxs("a",{href:"#mecanique",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Comprendre la mécanique","Understand the mechanics"),t.jsx(V,{className:"w-4 h-4"})]})})]}),t.jsx(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:zt},className:"grid grid-cols-2 gap-4 content-center",children:i.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+d*.08,ease:zt},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1",children:u.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:u.label})]},u.label))})]})})]}),t.jsx("section",{className:"py-20 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:zt},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("En direct avec les salles de marchés","Direct access to trading floors")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Les plus grandes banques européennes","Europe's and the world's"),t.jsx("br",{}),e("et mondiales","leading banks")]})]}),t.jsx("div",{className:"flex flex-wrap items-center justify-center gap-x-16 gap-y-10",children:yAe.map((u,d)=>t.jsx(S.div,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:d*.1,ease:zt},className:"grayscale hover:grayscale-0 opacity-80 hover:opacity-100 transition-all duration-300",children:t.jsx("img",{src:u.logo,alt:u.name,className:`${u.h} w-auto object-contain`})},u.name))}),t.jsx("p",{className:"text-center text-xs text-[hsl(var(--surface-warm-muted))] mt-10 max-w-2xl mx-auto",children:e("Et également BNP Paribas, Natixis, Crédit Agricole 
731CIB, Morgan Stanley, JP Morgan, complétés par un écosystème de brokers de premier rang.","Also including BNP Paribas, Natixis, Crédit Agricole CIB, Morgan Stanley, JP Morgan, complemented by a tier-one broker ecosystem.")})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:zt},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("L'approche Colbr","The Colbr approach")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Ce qui nous distingue des","What sets us apart from")," ",t.jsx("span",{className:"text-gradient-gold",children:e("distributeurs classiques","conventional distributors")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto text-justify md:text-center",children:e("La majorité des plateformes se contentent de référencer des produits standards conçus par d'autres. Nous concevons les nôtres.","Most platforms merely list standard products designed by others. We design our own.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:zt},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/30 transition-all duration-300",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(u.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-xl tracking-tight mb-3",children:u.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u.desc})]},u.title))})]})}),t.jsx("section",{id:"mecanique",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:zt},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Anatomie d'un produit structuré","Anatomy of a structured product")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Quatre paramètres,","Four parameters,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("un payoff précis","a precise payoff")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-
7315",children:a.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:zt},className:"p-7 rounded-2xl bg-background/40 border border-border/30",children:[t.jsxs("span",{className:"font-display text-2xl text-gradient-gold block mb-3",children:["0",d+1]}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-2 text-[hsl(var(--surface-taupe-foreground))]",children:u.title}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed",children:u.desc})]},u.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:zt},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Cas d'usage","Use cases")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("À quoi sert","What is the purpose of")," ",t.jsx("span",{className:"text-gradient-gold",children:e("un produit structuré ?","a structured product?")})]})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:o.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.1,ease:zt},className:"p-8 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx(gu,{className:"w-5 h-5 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-lg tracking-tight mb-3",children:u.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u.desc})]},u.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:zt},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Notre processus","Our process")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("De la conviction à","From conviction to")," ",t.jsx("span",{className:"text-gradient-gold",children:e("la souscription","subscription")})]})]}),t.jsx("div",{className:"space-y-4",children:l.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,x:-16},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:zt},className:"flex gap-6 p-6 rounded-2xl bg-background/40 border border-border/30",children:[t.jsx("div",{className:"font-display text-3xl text-gradient-gold shrink-0 w-16",children:u.step}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-lg tracking-tight mb-2 text-[hsl(var(--surface-taupe-foreground))]",children:u.title}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed",children:u.desc})]})]},u.step))})]})}),t.jsx("section",{id:"rdv",className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:zt},className:"text-center p-12 rounded-2xl bg-primary/[0.04] border border-primary/20",children:[t.jsx(ui,{className:"w-10 h-10 text-primary mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl tracking-tight mb-4",children:e("Concevons votre prochain produit structuré","Let us design your next structured product")}),t.jsx("p",{className:"text-muted-foreground max-w-lg mx-auto mb-8 text-justify md:text-center",children:e("Un échange avec notre équipe d'ingénierie financière pour cadrer vos objectifs et explorer les structures possibles, sans engagement.","A conversation with our financial engineering team to frame your objectives and explore possible structures — with no commitment.")}),t.jsx("div",{className:"flex flex-wrap justify-center gap-4",children:t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]})})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:zt},className:"text-center mb-16",children:t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Questions","Frequently asked")," ",t.jsx("span",{className:"text-gradient-gold",children:e("fréquentes","questions")})]})}),t.jsx("div",{className:"space-y-3",children:c.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,delay:d*.05,ease:zt},className:"border border-border/30 rounded-xl overflow-hidden",children:[t.jsxs("button",{onClick:()=>r(n===d?null:d),className:"w-full flex items-center justify-between px-6 py-5 text-left hover:bg-card/40 transition-colors",children:[t.jsx("span",{className:"text-sm font-medium pr-4",children:u.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground shrink-0 transition-transform duration-200 ${n===d?"rotate-180":""}`})]}),n===d&&t.jsx(S.div,{initial:{opacity:0,height:0}
731,animate:{opacity:1,height:"auto"},transition:{duration:.2},className:"px-6 pb-5",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u.a})})]},d))})]})}),t.jsx(Ft,{items:[{to:"/assurance-vie-luxembourgeoise",label:e("Assurance-vie luxembourgeoise","Luxembourg life insurance"),description:e("L'enveloppe naturelle pour loger vos produits structurés sur-mesure.","The natural wrapper for your bespoke structured products."),eyebrow:e("Enveloppe","Wrapper")},{to:"/private-equity",label:e("Private Equity","Private Equity"),description:e("Diversifiez avec une poche non-cotée à long terme.","Diversify with a long-term private markets allocation."),eyebrow:e("Non-coté","Private markets")},{to:"/family-office",label:e("Family Office","Family Office"),description:e("Bénéficiez d'une stratégie de structuration sur-mesure.","Benefit from a bespoke structuring strategy."),eyebrow:e("Sur-mesure","Bespoke")}]}),t.jsx($o,{items:[{to:"/blog/produits-structures",eyebrow:"Comprendre",title:"Coupon, barrière et rappel anticipé",description:"Le vocabulaire des produits structurés, expliqué simplement."},{to:"/assurance-vie-luxembourgeoise",eyebrow:"Solution",title:"Loger un produit structuré dans un contrat luxembourgeois",description:"Architecture ouverte et cadre patrimonial européen."},{to:"/compte-titres",eyebrow:"Solution",title:"Le compte-titres et les produits sur mesure",description:"Le support le plus souple pour une émission dédiée."},{to:"/blog/perspectives-2026",eyebrow:"Perspectives",title:"Nos convictions de marché 2026",description:"Le contexte dans lequel s’inscrit une émission."}]}),t.jsx(re,{})]})},Kj=[.16,1,.3,1],wi=e=>new Intl.NumberFormat("fr-FR",{style:"currency",currency:"EUR",maximumFractionDigits:0}).format(Math.round(e)),wAe=()=>{var p;const{tr:e}=K(),n=[{label:e("T1, avant fin février","Q1, before end of February"),rentabilite:.18},{label:e("T2, mars à juin","Q2, March to June"),rentabilite:.14},{label:e("T3, juillet à octobre","Q3, July to October"),rentabilite:.1},{label:e("T4, novembre / décembre","Q4, November / December"),rentabilite:.07}],r=18e3,i=.34,[s,a]=k.useState(15e3),[o,l]=k.useState(0),[c,u]=k.useState(0),d=k.useMemo(()=>{const m=n[c],g=Math.max(0,r-o)/i,f=Math.max(0,s-o),x=Math.min(f,g),v=x*(1-m.rentabilite),b=x-v,y=v>0?b/v*100:0;return{reduction:x,apport:v,gainNet:b,rentabilite:y,periode:m}},[s,o,c]);return t.jsx("section",{id:"simulateur",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Kj},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Simulateur Girardin industriel","Girardin Industrial Simulator")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))] mb-4",children:[e("Calculez votre","Calculate your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("réduction d'impôt","tax reduction")})]}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] max-w-2xl mx-auto",children:e("Apport · réduction d'impôt · gain net · plafond 18 000 € hors niches.","Contribution · tax reduction · net gain · €18,000 ceiling excluding other tax credits.")})]}),t.jsxs("div",{className:"grid md:grid-cols-5 gap-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Kj},className:"md:col-span-2 p-8 rounded-2xl bg-card/40 border border-border/30 space-y-7",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 flex items-center justify-center",children:t.jsx(oa,{className:"w-4 h-4 text-primary"})}),t.jsx("span",{className:"font-display text-base text-[hsl(var(--surface-taupe-foreground))]",children:e("Vos paramètres","Your parameters")})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"flex items-baseline justify-between mb-2",children:[t.jsx("span",{className:"text-xs tracking-wide text-[hsl(var(--surface-warm-muted))]",children:e("Impôt sur le revenu","Income tax")}),t.jsx("span",{className:"font-display text-lg text-gradient-gold",children:wi(s)})]}),t.jsx("input",{type:"range",min:2e3,max:1e5,step:500,value:s,onChange:m=>a(Number(m.target.value)),className:"w-full accent-primary"}),t.jsx("input",{type:"number",value:s,onChange:m=>a(Number(m.target.value)||0),className:"mt-3 w-full px-4 py-2.5 text-sm bg-background/40 border border-border/40 rounded-lg text-[hsl(var(--surface-taupe-foreground))] focus:border-primary/50 outline-none"})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"flex items-baseline justify-between mb-2",children:[t.jsx("span",{className:"text-xs tracking-wide text-[hsl(var(--surface-warm-muted))]",children:e("Réductions & crédits d'impôt déjà utilisés","Tax reductions & credits already used")}),t.jsx("span",{className:"font-display text-lg text-gradient-gold",children:wi(o)})]}),t.jsx("input",{type:"range",min:0,max:18e3,step:250,value:o,onChange:m=>l(Number(m.target.value)),className:"w-full accent-primary"})]}),t.jsxs("div",{children:[t.jsx("span",{className:"block text-xs tracking-wide text-[hsl(var(--surface-warm-muted))] mb-3",children:e("Période de souscription","Subscription period")}),t.jsx("div",{className:"grid grid-cols-2 gap-2",children:n.map((m,h)=>t.jsxs("button",{onClick:()=>u(h),className:`text-left px-3 py-3 rounded-lg text-xs border transition-all ${c===h?"border-primary/50 bg-primary/10 text-[hsl(var(--surface-taupe-foreground))]":"border-border/30 bg-background/20 text-[hsl(var(--surface-warm-muted))] hover:border-border/60"}`,children:[t.jsx("span",{className:"block font-medium mb-0.5",children:m.label}),t.jsxs("span",{className:"text-[10px] opacity-70",children:[e("Rentabilité","Yield")," : ",Math.round(m.rentabilite*100)," %"]})]},m.label))})]}),t.jsxs("div",{className:"flex items-start gap-2 pt-2 border-t border-border/20",children:[t.jsx(Aq,{className:"w-3.5 h-3.5 text-[hsl(var(--surface-warm-muted))] flex-shrink-0 mt-0.5"}),t.jsx("p",{className:"text-[11px] text-[hsl(var(--surface-warm-muted))] leading-relaxed",children:e("Calcul indicatif basé sur un projet agréé Bercy (34 % retenus dans le plafond des niches). Plafond Outre-mer majoré : 18 000 €.","Indicative calculation based on a Bercy-approved project (34 % counted towards the tax-credit ceiling). Increased overseas ceiling: €18,000.")})]})]}),t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.1,ease:Kj},className:"md:col-span-3 space-y-4",children:[t.jsxs("div",{className:"grid sm:grid-cols-3 gap-4",children:[t.jsxs("div",{className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-2",children:e("Votre apport","Your contribution")}),t.jsx("span",{className:"font-display text-2xl text-[hsl(var(--surface-taupe-foreground))] block",children:wi(d.apport)}),t.jsx("span",{className:"text-[11px] text-[hsl(var(--surface-warm-muted))] mt-2 block",children:e("À verser sur l'année N","To be paid in year N")})]}),t.jsxs("div",{className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-2",children:e("Réduction d'impôt","Tax reduction")}),t.jsx("span",{className:"font-display text-2xl text-[hsl(var(--surface-taupe-foreground))] block",children:wi(d.reduction)}),t.jsx("span",{className:"text-[11px] text-[hsl(var(--surface-warm-muted))] mt-2 block",children:e("Imputée en N+1","Applied in year N+1")})]}),t.jsxs("div",{className:"p-6 rounded-2xl bg-primary/10 border border-primary/40",children:[t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-primary/80 block mb-2",children:e("Gain net","Net gain")}),t.jsxs("span",{className:"font-display text-2xl text-gradient-gold block",children:["+ ",wi(d.gainNet)]}),t.jsxs("span",{className:"text-[11px] text-primary/70 mt-2 block",children:[e("Rentabilité","Yield")," : ",d.rentabilite.toFixed(1)," %"]})]})]}),t.jsxs("div",{className:"p-7 rounded-2xl bg-card/30 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-4",children:e("Détail du calcul","Calculation details")}),t.jsxs("ul",{className:"space-y-2.5 text-xs text-[hsl(var(--surface-warm-muted))]",children:[t.jsxs("li",{className:"flex justify-between",children:[t.jsx("span",{children:e("Plafond niches Outre-mer","Overseas tax-credit ceiling")}),t.jsx("span",{className:"text-[hsl(var(--surface-taupe-foreground))]",children:wi(r)})]}),t.jsxs("li",{className:"flex justify-between",children:[t.jsxs("span",{children:["− ",e("Réductions déjà utilisées","Reductions already used")]}),t.jsxs("span",{className:"text-[hsl(var(--surface-taupe-foreground))]",children:["− ",wi(o)]})]}),t.jsxs("li",{className:"flex justify-between border-t border-border/20 pt-2.5",children:[t.jsx("span",{children:e("Plafond disponible","Available ceiling")}),t.jsx("span",{className:"text-[hsl(var(--surface-taupe-foreground))]",children:wi(Math.max(0,r-o))})]}),t.jsxs("li",{className:"flex justify-between",children:[t.jsx("span",{children:e("Réduction max théorique (÷ 34 %)","Max theoretical reduction (÷ 34 %)")}),t.jsx("span",{className:"text-[hsl(var(--surface-taupe-foreground))]",children:wi(Math.max(0,r-o)/i)})]}),t.jsxs("li",{className:"flex justify-between",children:[t.jsx("span",{children:e("Réduction retenue (≤ impôt restant)","Retained reduction (≤ remaining tax)")}),t.jsx("span",{className:"text-[hsl(var(--surface-taupe-foreground))]",children:wi(d.reduction)})]}),t.jsxs("li",{className:"flex justify-between border-t border-border/20 pt-2.5",children:[t.jsx("span",{children:((p=e("Apport = Réduction × (1 − {rate} %)","Contribution = Reduction × (1 − {rate} %)"))==null?void 0:p.replace("{rate}",String(Math.round(d.periode.rentabilite*100))))??`Apport = Réduction × (1 − ${Math.round(d.periode.rentabilite*100)} %)`}),t.jsx("span",{className:"text-[hsl(var(--surface-taupe-foreground))]",children:wi(d.apport)})]})]})]}),t.jsxs("a",{href:"#rdv",className:"w-full inline-flex items-center justify-center gap-2 px-7 py-4 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Prendre rendez-vous avec un conseiller","Book a meeting with an adviser"),t.jsx(V,{className:"w-4 h-4"})]})]})]})]})})},NAe="/assets/logo-inter-invest-B3UGgxfv.png",kAe="/assets/logo-financile-bq9vA5k1.png",qAe="/assets/logo-ecofip-BMEC7fGx.png",SAe=[{name:"Inter Invest",logo:NAe,h:"h-10"},{name:"Financ'ile",logo:kAe,h:"h-14"},{name:"Ecofip",logo:qAe,h:"h-12"}],Sn=[.16,1,.3,1],CAe=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{value:"10 à 25 %",label:e("Rentabilité fiscale en 1 an","Tax return in 1 year")},{value:"18 000 €",label:e("Plafond niches fiscales","Tax shelter ceiling")},{value:"5 ans",label:e("Durée d'engagement","Commitment period")},{value:e("Outre-mer","Overseas"),label:e("Zone d'investissement","Investment zone")}],s=[{icon:NR,badge:"Art. 199 undecies B",title:e("Girardin industriel","Industrial Girardin"),desc:e("Investissement dans de
731s matériels productifs (énergie, transport, agricole) loués à des PME ultra-marines pendant 5 ans. Réduction d'impôt « one-shot » l'année N+1, supérieure au montant investi.","Investment in productive equipment (energy, transport, agricultural) leased to overseas SMEs for 5 years. A one-shot tax reduction in year N+1, exceeding the amount invested.")},{icon:Eo,badge:"Art. 199 undecies C",title:e("Girardin social","Social Girardin"),desc:e("Financement de logements sociaux destinés à la location en outre-mer. Même logique de réduction d'impôt majorée, avec une exposition différente (immobilier vs. industriel).","Financing of social housing intended for rental in overseas territories. The same enhanced tax reduction logic, with a different exposure profile (real estate vs. industrial).")}],a=[{icon:Lt,title:e("Le plus fort levier fiscal du marché","The strongest tax lever on the market"),desc:e("Pour 100 € investis l'année N, vous percevez entre 110 € et 125 € de réduction d'impôt l'année N+1. Aucun autre dispositif français n'offre un rendement fiscal comparable sur un horizon aussi court.","For every €100 invested in year N, you receive between €110 and €125 in tax reduction in year N+1. No other French scheme offers a comparable tax yield over such a short horizon.")},{icon:St,title:e("Plafond dédié à 18 000 €","Dedicated ceiling of €18,000"),desc:e("Le Girardin bénéficie d'un plafond spécifique de 18 000 € de réduction (vs. 10 000 € pour le plafond commun). Seuls 34 % à 44 % de la réduction sont retenus dans le calcul du plafond, vous pouvez donc défiscaliser jusqu'à ~52 000 €.","The Girardin scheme benefits from a dedicated ceiling of €18,000 (vs. €10,000 for the common cap). Only 34% to 44% of the reduction counts against the ceiling, allowing you to shelter up to ~€52,000.")},{icon:We,title:e("Sélection rigoureuse, projets agréés","Rigorous selection, accredited projects"),desc:e("Nous ne référençons que des opérations menées par des monteurs solides, avec agrément Bercy lorsque requis, et garanties bancaires en couverture. La qualité du monteur est le premier critère pour éviter une requalification fiscale.","We reference only operations led by established arrangers, with Ministry of Finance accreditation where required, and banking guarantees as cover. The arranger's quality is the primary criterion for avoiding tax reclassification.")},{icon:oa,title:e("Engagement court, sortie nette","Short commitment, clean exit"),desc:e("Vous cédez vos parts pour 1 € symbolique au bout de 5 ans. Pas de gestion, pas de fiscalité de sortie : le bénéfice s'inscrit intégralement dans la réduction d'impôt perçue l'année N+1.","You transfer your shares for a nominal €1 after 5 years. No management, no exit taxation: the benefit is captured entirely through the tax reduction received in year N+1.")}],o=[{step:"01",title:e("Année N, Investissement","Year N, Investment"),desc:e("Vous apportez du capital à une SNC ou SAS qui acquiert un bien productif (groupe électrogène, panneaux solaires, matériel agricole, logement social) loué à un exploitant ultra-marin.","You contribute capital to a SNC or SAS that acquires a productive asset (generator, solar panels, agricultural equipment, social housing) leased to an overseas operator.")},{step:"02",title:e("Année N+1, Réduction d'impôt","Year N+1, Tax Reduction"),desc:e("Vous déclarez votre investissement (cases HSA à HTD du 2042 IOM). L'administration vous accorde une réduction d'impôt de 110 % à 125 % du montant investi.","You declare your investment (boxes HSA to HTD of form 2042 IOM). The tax authority grants you a tax reduction of 110% to 125% of the amount invested.")},{step:"03",title:e("Années N à N+5, Exploitation","Years N to N+5, Operation"),desc:e("Le matériel est exploité en outre-mer pendant 5 ans. C'est l'engagement essentiel : le monteur garantit la continuité d'exploitation et le respect des conditions fiscales.","The equipment is operated overseas for 5 years. This is the key commitment: the arranger guarantees continuity of operation and compliance with the tax conditions.")},{step:"04",title:e("Année N+5, Sortie","Year N+5, Exit"),desc:e("Vous cédez vos parts pour 1 € symbolique. L'opération est close. Aucune plus-value à déclarer, aucun produit à percevoir : le rendement a été intégralement capté via la réduction d'impôt.","You transfer your shares for a nominal €1. The operation is closed. No capital gain to declare, no proceeds to receive: the return has been fully captured through the tax reduction.")}],l=[{label:e("Impôt sur le revenu","Income tax"),value:"30 000 €"},{label:e("Plafond Girardin retenu","Applicable Girardin ceiling"),value:"18 000 €"},{label:e("Investissement Girardin","Girardin investment"),value:"10 000 €"},{label:e("Réduction d'impôt N+1","Tax reduction N+1"),value:"12 000 €",highlight:!0},{label:e("Gain net en 1 an","Net gain in 1 year"),value:"+ 2 000 €",highlight:!0},{label:e("Rentabilité fiscale","Tax return"),value:"20 %",highlight:!0}],c=[e("Défaillance de l'exploitant ultra-marin pendant les 5 ans : le monteur dispose de 6 mois pour relouer le matériel, faute de quoi l'administration peut exiger la restitution de la réduction d'impôt.","Failure of the overseas operator during the 5-year period: the arranger has 6 months to re-lease the equipment, failing which the tax authority may demand repayment of the tax reduction."),e("Risque de requalification fiscale si les conditions d'exploitation ou d'éligibilité ne sont pas respectées.","Risk of tax reclassification if operating or eligibility conditions are not met."),e("Investissement à fonds perdus : le capital n'est pas restitué, le rendement provient exclusivement de la réduction d'impôt.","Non-recoverable investment: the capital is not returned; the return derives exclusively from the tax reduction."),e("Plafonnement global des niches fiscales : seuls 34 % (projets agréés
731) à 44 % (non agréés) de la réduction sont décomptés du plafond de 18 000 €.","Overall tax shelter cap: only 34% (accredited projects) to 44% (non-accredited) of the reduction counts against the €18,000 ceiling.")],u=[{q:e("À qui s'adresse le dispositif Girardin ?","Who is the Girardin scheme for?"),a:e("Aux contribuables fortement imposés (impôt sur le revenu supérieur à 5 000 €) qui cherchent à réduire leur fiscalité de l'année en cours avec un horizon court. C'est le dispositif de référence pour optimiser un impôt élevé en 12 mois.","It is designed for high-income taxpayers (income tax above €5,000) seeking to reduce their current-year tax liability over a short horizon. It is the reference scheme for optimising a heavy tax burden within 12 months.")},{q:e("Quand investir pour bénéficier de la réduction d'impôt ?","When should I invest to benefit from the tax reduction?"),a:e("L'investissement doit être finalisé avant le 31 décembre de l'année N pour être déductible de l'impôt N+1. En pratique, nous recommandons d'engager le dossier dès le mois d'octobre pour sécuriser les meilleurs projets.","The investment must be finalised before 31 December of year N to be deductible from the N+1 tax liability. In practice, we recommend initiating the file as early as October to secure the best projects.")},{q:e("Quelle est la différence entre Girardin agréé et non agréé ?","What is the difference between accredited and non-accredited Girardin?"),a:e("Un projet agréé par Bercy a fait l'objet d'une instruction administrative préalable, ce qui réduit fortement le risque de requalification. Il est obligatoire au-delà de 250 000 € d'investissement par programme. Les projets non agréés offrent une rentabilité supérieure mais un risque accru, d'où l'importance de la sélection du monteur.","An accredited project has undergone prior administrative review by the Ministry of Finance, greatly reducing the risk of reclassification. Accreditation is mandatory above €250,000 of investment per programme. Non-accredited projects offer higher returns but greater risk, underscoring the importance of arranger selection.")},{q:e("Que se passe-t-il si l'exploitant fait défaut ?","What happens if the operator defaults?"),a:e("Le monteur a 6 mois pour relouer le matériel. Au-delà, l'administration peut exiger la restitution partielle ou totale de la réduction d'impôt. Pour limiter ce risque, nous sélectionnons exclusivement des opérations couvertes par des garanties bancaires de bonne fin et menées par des monteurs disposant de plus de 15 ans d'historique.","The arranger has 6 months to re-lease the equipment. Beyond that, the tax authority may demand partial or full repayment of the tax reduction. To mitigate this risk, we select exclusively operations covered by performance bank guarantees and led by arrangers with more than 15 years of track record.")},{q:e("Le Girardin est-il cumulable avec d'autres dispositifs ?","Can Girardin be combined with other schemes?"),a:e("Oui. Le Girardin dispose de son propre plafond de 18 000 € (vs. 10 000 € pour le plafond commun PER, FCPI, Pinel…). Vous pouvez donc cumuler une stratégie Girardin avec un PER, des FCPI ou un investissement immobilier sans amputer le plafond global.","Yes. The Girardin scheme has its own dedicated ceiling of €18,000 (vs. €10,000 for the common cap covering PER, FCPI, Pinel, etc.). You can therefore combine a Girardin strategy with a PER, FCPI funds, or real estate investment without eroding the global cap.")},{q:e("Le dispositif est-il pérenne ?","Is the scheme long-lasting?"),a:e("Le Girardin industriel et social est prorogé jusqu'au 31 décembre 2029 par la loi de finances. Le cadre légal est l'article 199 undecies B et C du CGI.","The industrial and social Girardin scheme has been extended to 31 December 2029 by the Finance Act. The legal framework is Article 199 undecies B and C of the French General Tax Code.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20}
731,animate:{opacity:1,y:0},transition:{duration:.8,ease:Sn},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Loi Girardin","Girardin Act")}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[e("Le plus fort","The most powerful")," ",t.jsx("span",{className:"text-gradient-gold",children:e("levier fiscal","tax lever")})," ",e("du marché français.","on the French market.")]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4 max-w-xl text-justify",children:e("Investir en outre-mer l'année N pour percevoir une réduction d'impôt supérieure au capital investi l'année N+1. Un dispositif « one-shot » réservé aux contribuables fortement imposés, encadré par l'article 199 undecies B et C du CGI.","Invest in overseas territories in year N to receive a tax reduction exceeding the capital invested in year N+1. A one-shot scheme reserved for high-income taxpayers, governed by Article 199 undecies B and C of the French General Tax Code.")}),t.jsxs("p",{className:"text-sm text-primary/80 leading-relaxed mb-8 max-w-xl text-justify",children:[t.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-primary/80 mr-2 align-middle"}),e("Les enveloppes annuelles sont strictement limitées : chaque monteur ouvre un volume fermé de souscriptions, alloué selon l'ordre d'arrivée des dossiers complets.","Annual allocations are strictly limited: each arranger opens a closed subscription window, allocated on a first-come, first-served basis for complete files.")]}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2iEAIpT26SliElzx9AbKW1w",title:e("Recevoir la documentation Girardin","Receive the Girardin documentation"),description:e("Renseignez vos coordonnées pour recevoir notre documentation confidentielle sur le dispositif Girardin. Aucune sollicitation commerciale.","Enter your details to receive our confidential documentation on the Girardin scheme. No commercial solicitation."),eyebrow:e("Document confidentiel","Confidential document"),children:t.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Recevoir la documentation Girardin","Receive the Girardin documentation"),t.jsx(V,{className:"w-4 h-4"})]})}),t.jsx("a",{href:"/dispositifs-fiscaux",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Découvrir les dispositifs","Explore the schemes")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:Sn},className:"grid grid-cols-2 gap-4",children:i.map((d,p)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+p*.08,ease:Sn},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1",children:d.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:d.label})]},d.label))})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sn},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Deux dispositifs","Two schemes")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Industriel ou social,","Industrial or social,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("une même mécanique","one shared mechanism")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((d,p)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:p*.1,ease:Sn},className:"p-8 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(d.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-2",children:d.badge}),t.jsx("h3",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))] mb-3",children:d.title}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:d.desc})]},d.title))})]})}),t.jsx("section",{className:"py-20 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sn},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Monteur
731s sélectionnés","Selected arrangers")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Une short-list de","A curated short-list of")," ",t.jsx("span",{className:"text-gradient-gold",children:e("monteurs de référence","reference arrangers")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto mt-5 text-justify md:text-center",children:e("Nous travaillons exclusivement avec des monteurs disposant d'un historique éprouvé, de garanties bancaires de bonne fin et, lorsque requis, d'un agrément Bercy sur leurs opérations.","We work exclusively with arrangers with a proven track record, performance banking guarantees, and, where required, Ministry of Finance accreditation for their operations.")})]}),t.jsx("div",{className:"flex flex-wrap items-center justify-center gap-x-16 gap-y-10",children:SAe.map((d,p)=>t.jsx(S.div,{initial:{opacity:0,y:8},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:p*.1,ease:Sn},className:"grayscale hover:grayscale-0 opacity-80 hover:opacity-100 transition-all duration-300",children:t.jsx("img",{src:d.logo,alt:d.name,className:`${d.h} w-auto object-contain`})},d.name))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Pourquoi le Girardin","Why Girardin")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Un dispositif","A scheme")," ",t.jsx("span",{className:"text-gradient-gold",children:e("incontournable","indispensable")})," ",e("pour les fortes fiscalités","for high tax burdens")]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:a.map((d,p)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:p*.08,ease:Sn},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/30 transition-all duration-300",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(d.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-xl mb-3",children:d.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:d.desc})]},d.title))})]})}),t.jsx("section",{id:"mecanique",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Le déroulé","The process")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("4 étapes,","4 steps,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("5 ans d'engagement","5-year commitment")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:o.map((d,p)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:p*.08,ease:Sn},className:"p-7 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-3xl text-gradient-gold block mb-4",children:d.step}),t.jsx("h3",{className:"font-display text-base text-[hsl(var(--surface-taupe-foreground))] mb-3",children:d.title}),t.jsx("p",{className:"text-xs text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:d.desc})]},d.step))})]})}),t.jsx(wAe,{}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sn},className:"text-center mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Cas concret","Illustrative case")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("10 000 € investis,","€10,000 invested,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("12 000 € de réduction","€12,000 in tax reduction")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:e("Profil contribuable avec un IR de 30 000 €, investissement dans un projet Girardin industriel agréé.","Taxpayer profile with an income tax liability of €30,000, invested in an accredited industrial Girardin project.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:l.map((d,p)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:p*.06,ease:Sn},className:`flex items-baseline justify-between p-5 rounded-xl border ${d.highlight?"bg-primary/5 border-primary/30":"bg-card/40 border-border/30"}`,children:[t.jsx("span",{className:"text-sm text-muted-foreground",children:d.label}),t.jsx("span",{className:`font-display text-lg ${d.highlight?"text-gradient-gold":"text-foreground"}`,children:d.value})]},d.label))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sn},className:"mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Trans
731parence","Transparency")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))] mb-4",children:[e("Les risques à","The risks to")," ",t.jsx("span",{className:"text-gradient-gold",children:e("connaître","be aware of")})]}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] max-w-2xl text-justify",children:e("Le Girardin offre la rentabilité fiscale la plus élevée du marché, mais reste un investissement engageant. La sélection rigoureuse du monteur est l'élément déterminant pour sécuriser l'opération.","The Girardin scheme offers the highest tax return on the market, but remains a committed investment. Rigorous arranger selection is the decisive factor in securing the operation.")})]}),t.jsx("div",{className:"space-y-3",children:c.map((d,p)=>t.jsxs(S.div,{initial:{opacity:0,x:-8},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.5,delay:p*.06,ease:Sn},className:"flex gap-4 p-5 rounded-xl bg-card/40 border border-border/30",children:[t.jsx(Kt,{className:"w-4 h-4 text-primary/70 flex-shrink-0 mt-1"}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:d})]},p))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Sn},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Questions fréquentes","Frequently asked questions")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Vos questions sur le","Your questions about")," ",t.jsx("span",{className:"text-gradient-gold",children:"Girardin"})]})]}),t.jsx("div",{className:"space-y-3",children:u.map((d,p)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden bg-card/30",children:[t.jsxs("button",{onClick:()=>r(n===p?null:p),className:"w-full flex items-center justify-between p-6 text-left hover:bg-card/50 transition-colors",children:[t.jsx("span",{className:"font-display text-base pr-4",children:d.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${n===p?"rotate-180":""}`})]}),n===p&&t.jsx(S.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},transition:{duration:.3},className:"px-6 pb-6",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:d.a})})]},p))})]})}),t.jsx(Ft,{items:[{to:"/fcpi",label:"FCPI",description:e("Investissez dans l'innovation tout en bénéficiant d'une réduction d'impôt.","Invest in innovation while benefiting from a tax reduction."),eyebrow:e("Défiscalisation","Tax optimisation")},{to:"/groupement-forestier",label:e("Groupement forestier","Forestry Group"),description:e("Diversifiez vers un actif tangible avec avantage IFI et IR.","Diversify into a tangible asset with IFI and income tax benefits."),eyebrow:"IFI / IR"},{to:"/denormandie",label:"Denormandie",description:e("Réduisez votre impôt avec un investissement immobilier dans l'ancien à rénover.","Reduce your tax liability with a real estate investment in renovated older property."),eyebrow:e("Immobilier","Real estate")}]}),t.jsx(re,{})]})},S7="w-full rounded-lg border bg-card px-4 py-3 text-[15px] text-foreground transition-colors duration-150 placeholder:text-muted-foreground/60 focus:outline-none focus-visible:outline-none focus:border-primary focus:ring-2 focus:ring-primary/15 disabled:cursor-not-allowed disabled:bg-muted/60 disabled:text-muted-foreground",C7=({label:e,hint:n,error:r,optional:i,htmlFor:s,children:a,className:o})=>t.jsxs("div",{className:Yt("space-y-2",o),children:[t.jsxs("label",{htmlFor:s,className:"block text-[13px] font-medium tracking-[0.01em] text-foreground",children:[e,i&&t.jsx("span",{className:"ml-1.5 font-normal text-muted-foreground",children:"(facultatif)"})]}),a,n&&!r&&t.jsx("p",{className:"text-[12px] leading-snug text-muted-foreground",children:n}),r&&t.jsxs("p",{role:"alert",className:"flex items-start gap-1.5 text-[12px] leading-snug text-destructive",children:[t.jsx(EQ,{
731className:"mt-[1px] h-3.5 w-3.5 shrink-0","aria-hidden":"true"}),t.jsx("span",{children:r})]})]}),gx=k.forwardRef(({label:e,hint:n,error:r,optional:i,className:s,id:a,...o},l)=>{const c=k.useId(),u=a??c;return t.jsx(C7,{label:e,hint:n,error:r,optional:i,htmlFor:u,children:t.jsx("input",{ref:l,id:u,"aria-invalid":r?!0:void 0,className:Yt(S7,r&&"border-destructive focus:border-destructive focus:ring-destructive/15",s),...o})})});gx.displayName="TextField";const PAe=k.forwardRef(({label:e,hint:n,error:r,optional:i,className:s,id:a,...o},l)=>{const c=k.useId(),u=a??c;return t.jsx(C7,{label:e,hint:n,error:r,optional:i,htmlFor:u,children:t.jsx("textarea",{ref:l,id:u,"aria-invalid":r?!0:void 0,className:Yt(S7,"min-h-[120px] resize-y leading-relaxed",r&&"border-destructive focus:border-destructive focus:ring-destructive/15",s),...o})})});PAe.displayName="TextAreaField";const EAe=({children:e,loading:n,loadingLabel:r,disabled:i,className:s})=>t.jsxs("button",{type:"submit",disabled:i||n,"aria-busy":n||void 0,className:Yt("inline-flex w-full min-h-[48px] items-center justify-center gap-2 rounded-lg bg-primary px-6 text-[15px] font-medium text-primary-foreground","transition-colors duration-150 hover:bg-primary/90","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30 focus-visible:ring-offset-2 focus-visible:ring-offset-background","disabled:cursor-not-allowed disabled:opacity-60",s),children:[n&&t.jsx(RQ,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),n?r??e:e]}),TAe=({children:e})=>t.jsx("p",{className:"text-[12px] leading-relaxed text-muted-foreground",children:e}),IAe=({title:e,description:n,nextStep:r,action:i})=>t.jsxs("div",{role:"status","aria-live":"polite",className:"rounded-xl border border-border/60 bg-card px-8 py-10 text-center",children:[t.jsx("div",{className:"mx-auto mb-5 flex h-11 w-11 items-center justify-center rounded-full border border-border/70 bg-background",children:t.jsx(Xl,{className:"h-5 w-5 text-primary","aria-hidden":"true"})}),t.jsx("h3",{className:"font-display text-xl tracking-tight text-foreground",children:e}),t.jsx("p",{className:"mx-auto mt-3 max-w-sm text-[14px] leading-relaxed text-muted-foreground",children:n}),r&&t.jsx("p",{className:"mx-auto mt-4 max-w-sm border-t border-border/50 pt-4 text-[13px] leading-relaxed text-muted-foreground",children:r}),i&&t.jsx("div",{className:"mt-6 flex justify-center",children:i})]}),Y3=[.16,1,.3,1],AAe=()=>{const{tr:e}=K(),[n,r]=k.useState(""),[i,s]=k.useState(""),[a,o]=k.useState(""),[l,c]=k.useState(!1),u=d=>{if(d.preventDefault(),n&&i&&a){c(!0);const p=JSON.parse(localStorage.getItem("newsletter_subscribers")||"[]");p.push({email:n,prenom:i,nom:a,date:new Date().toISOString()}),localStorage.setItem("newsletter_subscribers",JSON.stringify(p))}};return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-24 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-2xl mx-auto px-6 relative",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Y3},className:"text-center",children:[t.jsxs("div",{className:"flex items-center justify-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Alertes investissement","Investment Alerts")}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-3xl md:text-4xl tracking-tight mb-6",children:[e("Recevoir les meilleures","Receive the finest opportunities")," ",t.jsx("span",{className:"text-gradient-gold",children:e("offres en avant-première","ahead of the market")})]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-10 max-w-lg mx-auto text-justify",children:e("Chaque monteur ouvre une enveloppe annuelle fermée. Les projets agréés Bercy, les meilleurs ratios de réduction et les contreparties les plus solides sont alloués à l'ordre d'arrivée. Les inscrits à cette liste sont informés et servis avant l'ouverture au reste de notre clientèle : dans une enveloppe fermée, cette antériorité détermine seule l'accès.","Each structurer opens a closed annual allocation. Bercy-approved projects, the most favourable reduction ratios and the strongest counterparties are allocated on a first-come, first-served basis. Subscribers to this list are notified and served before the allocation opens to our wider clientele: within a closed envelope, that head start alone determines access.")}),l?t.jsx(S.div,{initial:{opacity:0,scale:.95}
731,animate:{opacity:1,scale:1},transition:{duration:.5,ease:Y3},className:"text-left",children:t.jsx(IAe,{title:e("Inscription confirmée","Subscription confirmed"),description:e(`Merci ${i}. Votre inscription à la liste d'alertes est enregistrée.`,`Thank you, ${i}. Your registration on the alert list has been recorded.`),nextStep:e("Les prochaines opportunités vous seront adressées par e-mail, à mesure des ouvertures d'enveloppes.","Forthcoming opportunities will be sent to you by email as allocations open."),action:t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-[13px] font-medium text-primary underline underline-offset-4 hover:text-primary/80 transition-colors",children:e("Consulter les dispositifs fiscaux","Explore the tax schemes")})})}):t.jsx("form",{onSubmit:u,className:"bg-card border border-border/60 rounded-xl p-8 md:p-10 text-left",children:t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"grid md:grid-cols-2 gap-5",children:[t.jsx(gx,{label:e("Prénom","First name"),type:"text",required:!0,autoComplete:"given-name",value:i,onChange:d=>s(d.target.value),placeholder:"Jean"}),t.jsx(gx,{label:e("Nom","Last name"),type:"text",required:!0,autoComplete:"family-name",value:a,onChange:d=>o(d.target.value),placeholder:"Dupont"})]}),t.jsx(gx,{label:e("Adresse e-mail","Email address"),type:"email",inputMode:"email",required:!0,autoComplete:"email",value:n,onChange:d=>r(d.target.value),placeholder:"[email protected]"}),t.jsx(EAe,{children:e("Rejoindre la liste d'alertes","Join the alert list")}),t.jsx(TAe,{children:e("Vos données sont utilisées uniquement pour vous notifier des nouvelles opportunités. Aucun envoi commercial tiers.","Your data is used solely to notify you of new opportunities. No third-party marketing.")})]})})]})})]}),t.jsx(re,{})]})},Qj=[.16,1,.3,1],LAe=()=>{var v,b;const{tr:e}=K(),n=[{ans:6,taux:.12,label:e("6 ans","6 years")},{ans:9,taux:.18,label:e("9 ans","9 years")},{ans:12,taux:.21,label:e("12 ans","12 years")}],r=3e5,i=5500,s=.25,a=y=>new Intl.NumberFormat("fr-FR",{maximumFractionDigits:0}).format(Math.round(y))+" €",[o,l]=k.useState(12e4),[c,u]=k.useState(6e4),[d,p]=k.useState(55),[m,h]=k.useState(12),[g,f]=k.useState(650),x=k.useMemo(()=>{const y=o+c,N=y>0?c/y:0,j=N>=s,w=d*i,q=Math.min(y,r,w),P=n.find(z=>z.ans===m),T=j?q*P.taux:0;let E=0,A=0;j&&(m===6||m===9?E=q*.02:(E=q*.02,A=q*.01));const _=g*12,D=y>0?_/y*100:0,R=m>0?T/m:0,M=_+R,U=y>0?M/y*100:0;return{coutTotal:y,partTravaux:N,eligibleTravaux:j,basePlafonnee:q,plafondSurface:w,reductionTotale:T,reductionAn1a9:E,reductionAn10a12:A,loyerAnnuel:_,rendementBrut:D,gainFiscalAnnuelMoyen:R,triIndicatif:U,taux:P.taux}},[o,c,d,m,g]);return t.jsx("section",{id:"simulateur",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Qj},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Simulateur","Simulator")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Estimez votre","Estimate your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("réduction Denormandie","Denormandie tax reduction")})]}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] max-w-2xl mx-auto mt-5 text-justify md:text-center",children:e("Calcul indicatif basé sur les paramètres légaux : taux 12 / 18 / 21 % selon la durée, base plafonnée à 300 000 € et 5 500 €/m², part de travaux ≥ 25 % du coût total.","Indicative calculation based on legal parameters: rates 12 / 18 / 21 % depending on duration, base capped at €300,000 and €5,500/m², works share ≥ 25 % of total cost.")})]}),t.jsxs("div",{className:"grid lg:grid-cols-2 gap-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Qj},className:"p-8 rounded-2xl bg-card/40 border border-border/30 space-y-7",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))] mb-3 block",children:e("Durée d'engagement de location","Rental commitment duration")}),t.jsx("div",{className:"grid grid-cols-3 gap-2",children:n.map(y=>t.jsxs("button",{onClick:()=>h(y.ans),className:`py-3 rounded-lg text-sm font-medium transition-all duration-200 border ${m===y.ans?"bg-primary text-primary-foreground border-primary":"bg-card/30 border-border/30 text-[hsl(var(--surface-warm-muted))] hover:border-primary/40"}`,children:[t.jsx("span",{className:"block",children:y.label}),t.jsxs("span",{className:"block text-[10px] opacity-70 mt-0.5",children:[(y.taux*100).toFixed(0)," %"]})]},y.ans))})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))]",children:e("Prix d'acquisition","Purchase price")}),t.jsx("span",{className:"font-display text-lg text-[hsl(var(--surface-taupe-foreground))]",children:a(o)})]}),t.jsx("input",{type:"range",min:5e4,max:4e5,step:5e3,value:o,onChange:y=>l(Number(y.target.value)),className:"w-full accent-primary"})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))]",children:e("Montant des travaux","Works amount")}),t.jsx("span",{className:"font-display text-lg text-[hsl(var(--surface-taupe-foreground))]",children:a(c)})]}),t.jsx("input",{type:"range",min:5e3,max:2e5,step:2500,value:c,onChange:y=>u(Number(y.target.value)),className:"w-full accent-primary"}),t.jsx("div",{className:"flex items-center gap-2 mt-2",children:t.jsxs("span",{className:`text-[11px] ${x.eligibleTravaux?"text-primary/80":"text-destructive/80"}`,children:[e("Part travaux","Works share")," : ",(x.partTravaux*100).toFixed(1)," %",x.eligibleTravaux?" ✓ "+e("éligible","eligible"):", "+e("minimum 25 %","minimum 25 %")]})})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))]",children:e("Surface habitable","Living area")}),t.jsxs("span",{className:"font-display text-lg text-[hsl(var(--surface-taupe-foreground))]",children:[d," m²"]})]}),t.jsx("input",{type:"range",min:20,max:120,step:1,value:d,onChange:y=>p(Number(y.target.value)),className:"w-full accent-primary"})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-baseline mb-3",children:[t.jsx("label",{className:"text-xs tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))]",children:e("Loyer mensuel estimé","Estimated monthly rent")}),t.jsx("span",{className:"font-display text-lg text-[hsl(var(--surface-taupe-foreground))]",children:a(g)})]}),t.jsx("input",{type:"range",min:300,max:2e3,step:25,value:g,onChange:y=>f(Number(y.target.value)),className:"w-full accent-primary"}),t.jsx("p",{className:"text-[11px] text-[hsl(var(--surface-warm-muted))]/70 mt-2",children:e("Loyers plafonnés selon la zone (A, A bis, B1, B2).","Rents capped by zone (A, A bis, B1, B2).")})]})]}),t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.1,ease:Qj},className:"p-8 rounded-2xl bg-card/40 border border-primary/20 space-y-5",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 flex items-center justify-center",children:t.jsx(oa,{className:"w-4 h-4 text-primary"})}),t.jsx("h3",{className:"font-display text-lg text-[hsl(var(--surface-taupe-foreground))]",children:e("Votre simulation","Your simulation")})]}),t.jsxs("div",{className:"p-6 rounded-xl bg-primary/5 border border-primary/30",children:[t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-primary/70 block mb-2",children:e("Réduction d'impôt totale","Total tax reduction")}),t.jsx("span",{className:"font-display text-4xl text-gradient-gold block",children:a(x.reductionTotale)}),t.jsxs("span",{className:"text-xs text-[hsl(var(--surface-warm-muted))] mt-1 block",children:[e("soit","i.e.")," ",(x.taux*100).toFixed(0)," % ",e("de la base éligible","of the eligible base"),"(",a(x.basePlafonnee),")"]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsxs("div",{className:"p-4 rounded-xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-1.5",children:((v=e("Réduction annuelle (an 1 à {end})","Annual reduction (year 1 to {end})"))==null?void 0:v.replace("{end}",String(m===6?6:9)))??`${e("Réduction annuelle (an 1 à","Annual reduction (year 1 to")} ${m===6?6:9})`}),t.jsx("span",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))]",children:a(x.reductionAn1a9)})]}),m===12&&t.jsxs("div",{className:"p-4 rounded-xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-1.5",children:e("Réduction annuelle (an 10 à 12)","Annual reduction (year 10 to 12)")}),t.jsx("span",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))]",children:a(x.reductionAn10a12)})]}),t.jsxs("div",{className:"p-4 rounded-xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-1.5",children:e("Loyers annuels","Annual rents")}),t.jsx("span",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))]",children:a(x.loyerAnnuel)})]}),t.jsxs("div",{className:"p-4 rounded-xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-1.5",children:e("Rendement locatif brut","Gross rental yield")}),t.jsxs("span",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))]",children:[x.rendementBrut.toFixed(2)," %"]})]}),t.jsxs("div",{className:"p-4 rounded-xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"text-[10px] tracking-[0.15em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-1.5",children:e("Effort fiscal + locatif annuel","Annual tax + rental return")}),t.jsx("span",{className:"font-display text-xl text-gradient-gold",children:a(x.loyerAnnuel+x.gainFiscalAnnuelMoyen)})]})]}),t.jsxs("div",{className:"flex gap-3 p-4 rounded-xl bg-card/30 border border-border/20",children:[t.jsx(Aq,{className:"w-4 h-4 text-primary/70 flex-shrink-0 mt-0.5"}),t.jsx("p",{className:"text-[11px] text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:((b=e("Base de calcul plafonnée à {plafond} et 5 500 €/m² ({plafondSurface} pour {surface} m²). La réduction entre dans le plafond global des niches fiscales de 10 000 €/an. Simulation indicative, hors fiscalité des revenus fonciers, frais d'acquisition et charges.","Calculation base capped at {plafond} and €5,500/m² ({plafondSurface} for {surface} m²). The reduction counts towards the overall annual tax-credit ceiling of €10,000. Indicative simulation, excluding rental-income tax, acquisition costs and charges."))==null?void 0:b.replace("{plafond}",a(r)).replace("{plafondSurface}",a(x.plafondSurface)).replace("{surface}",String(d)))??`Base de calcul plafonnée à ${a(r)} et 5 500 €/m² (${a(x.plafondSurface)} pour ${d} m²). La réduction entre dans le plafond global des niches fiscales de 10 000 €/an. Simulation indicative, hors fiscalité des revenus fonciers, frais d'acquisition et charges.`})]})]})]})]})})},FAe="/assets/denormandie-building-D4vBkM5x.jpg",Yn=[.16,1,.3,1],_Ae=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{value:"12 à 21 %",label:e("Réduction d'impôt sur le revenu","Income tax reduction")},{value:"300 000 €",label:e("Plafond d'investissement","Investment ceiling")},{value:"6 / 9 / 12 ans",label:e("Durée d'engagement","Commitment period")},{value:e("Ancien rénové","Renovated existing"),label:e("Nature du bien","Asset type")}],s=[{icon:Lt,title:e("Un avantage calculé sur le coût global de l'opération","A benef
731it calculated on the total transaction cost"),desc:e("Le taux de réduction varie selon la durée d'engagement : 12 % sur 6 ans, 18 % sur 9 ans, 21 % sur 12 ans. La base retenue est le coût total de revient, acquisition et travaux inclus, dans la limite de 300 000 €. La réduction s'impute chaque année par fraction égale : sa valeur réelle dépend de la durée effective d'engagement.","The reduction rate varies by commitment period: 12% over 6 years, 18% over 9 years, 21% over 12 years. The tax base includes the full cost — acquisition, works and fees — up to €300,000. The reduction is applied in equal annual instalments; its real value depends on the effective duration of the commitment.")},{icon:rn,title:e("Un actif tangible exposé aux risques du marché","A tangible asset exposed to real estate market risks"),desc:e("Le Denormandie repose sur un actif immobilier réel : un logement acquis, rénové, puis loué sur une durée déterminée. Il est exposé à tous les aléas de l'immobilier locatif — vacance, dégradations, évolution du marché local — indépendamment de son traitement fiscal. La sélection du bien et de la commune conditionne directement la performance nette.","The Denormandie scheme rests on a real property asset — an apartment acquired, renovated and then let for a defined period. It is exposed to all the risks of residential letting: vacancy, damage, and local market fluctuations — regardless of its tax treatment. Property and municipality selection directly determine the net return.")},{icon:tT,title:e("Un quota de travaux obligatoire, déterminant pour l'éligibilité","A mandatory works quota, critical for tax eligibility"),desc:e("Le code général des impôts exige que les travaux représentent au moins 25 % du coût total de l'opération et génèrent un gain de performance énergétique d'au moins 30 %. Un programme sous-évalué, mal documenté ou réalisé par une entreprise non qualifiée compromet l'éligibilité fiscale et peut entraîner une requalification par l'administration. Colbr vérifie systématiquement la conformité du cahier des charges avant toute recommandation.","The French Tax Code requires that works represent at least 25% of the total transaction cost and deliver a minimum 30% energy performance gain. An underestimated, poorly documented or improperly executed programme jeopardises tax eligibility and may trigger an audit reassessment. Colbr systematically verifies compliance with the specifications before any recommendation.")},{icon:We,title:e("Articulation dans le plafond global des niches fiscales","Integration within the overall tax-shelter ceiling"),desc:e("La réduction Denormandie s'inscrit dans l'enveloppe globale des avantages fiscaux de 10 000 €/an. Son articulation avec d'autres dispositifs (PER, FCPI, dons) doit être calculée en amont pour éviter tout plafonnement non anticipé. Le plafond Girardin (18 000 €) reste distinct et peut être mobilisé conjointement.","The Denormandie reduction falls within the €10,000/year global tax-shelter ceiling. Its interaction with other schemes (PER, FCPI, charitable donations) must be assessed in advance to avoid any unplanned cap. The Girardin ceiling (€18,000) remains separate and may be used in conjunction.")}],a=[{icon:Xc,title:e("Zones éligibles","Eligible zones"),desc:e("Le bien doit être situé dans une commune labellisée « Action Cœur de Ville » ou signataire d'une convention ORT. Cette liste est fixée par arrêté et peut évoluer. L'éligibilité de la commune ne préjuge pas de la liquidité du marché local : certaines villes de zone B2 ou C présentent une demande locative structurellement faible.","The property must be located in a municipality holding the 'Action Cœur de Ville' label or having signed an ORT agreement. This list is set by ministerial order and may change. Eligibility of the municipality does not guarantee local market liquidity: some B2 or C zone towns have structurally weak rental demand.")},{icon:tT,title:e("Travaux qualifiés","Qualifying works"),desc:e("Les travaux doivent représenter au moins 25 % du coût total et générer un gain de performance énergétique d'au moins 30 % (attesté par deux DPE). Ils doivent être confiés à une entreprise du bâtiment. La nature et le montant des travaux doivent être documentés de façon irréfutable : tout écart peut conduire à une requalification fiscale.","Works must represent at least 25% of the total cost and achieve a minimum 30% energy performance gain (evidenced by two energy assessments). They must be carried out by a registered building contractor. The nature and cost of the works must be meticulously documented — any discrepancy may trigger a tax requal
731ification.")},{icon:rn,title:e("Location nue à titre de résidence principale","Unfurnished letting as primary residence"),desc:e("Le bien doit être loué nu à titre de résidence principale dans les 12 mois suivant la livraison des travaux. L'engagement est de 6 ou 9 ans, prorogeable à 12 ans. Les loyers et les ressources des locataires sont plafonnés par zone (A, A bis, B1, B2, C), ce qui réduit mécaniquement la rentabilité locative brute par rapport au marché libre.","The property must be let unfurnished as a primary residence within 12 months of works completion. The initial commitment is 6 or 9 years, extendable to 12 years. Rents and tenants' income are capped by zone (A, A bis, B1, B2, C), which mechanically reduces the gross rental yield relative to the open market.")}],o=[{step:"01",title:e("Sélection du bien","Property selection"),desc:e("Identification d'un bien dans une commune éligible, avec une analyse préalable du marché locatif local. Colbr exige un audit technique et énergétique indépendant pour s'assurer que les travaux projetés sont réalisables dans le budget et conformes aux critères DPE requis.","Identification of a property in an eligible municipality, with prior analysis of the local rental market. Colbr requires an independent technical and energy audit to verify that the planned works are achievable within budget and meet the required energy performance criteria.")},{step:"02",title:e("Acquisition et travaux","Acquisition and works"),desc:e("La base de calcul de la réduction est le prix de revient total : prix d'acquisition, travaux, honoraires et frais d'acte, dans la limite de 300 000 €. Les travaux doivent strictement atteindre le seuil de 25 % sous peine de perte de l'avantage fiscal.","The tax base is the total cost of the transaction: acquisition price, works, professional fees and notary costs, up to a ceiling of €300,000. Works must strictly reach the 25% threshold, failing which the tax benefit is forfeited.")},{step:"03",title:e("Mise en location","Letting commencement"),desc:e("La mise en location doit intervenir dans les 12 mois suivant l'achèvement des travaux, au profit d'un locataire respectant les plafonds de ressources. Tout manquement pendant la période d'engagement — changement de destination, vente anticipée, location meublée — entraîne la reprise intégrale de la réduction accordée.","Letting must commence within 12 months of works completion, to a tenant meeting the income cap requirements. Any breach during the commitment period — change of use, early sale, furnished letting — triggers full clawback of the tax reduction granted.")},{step:"04",title:e("Réduction d'impôt étalée","Spread tax reduction"),desc:e("La réduction s'impute par fraction annuelle égale tout au long de la période d'engagement. À l'issue, l'investisseur retrouve sa liberté de gestion : revente sur le marché local, poursuite de la location libre ou occupation personnelle. La valeur à la revente dépend des conditions du marché local à cette date.","The reduction is applied in equal annual instalments throughout the commitment period. At the end, the investor regains full management freedom: sale on the local market, continuation as a free-market letting or personal occupation. Resale value depends on local market conditions at that point in time.")}];e("Prix d'acquisition + travaux","Acquisition price + works"),e("Part travaux (≥ 25 %)","Works share (≥ 25%)"),e("Engagement de location","Letting commitment"),e("Taux de réduction","Reduction rate"),e("Réduction d'impôt totale","Total tax reduction"),e("Économie annuelle moyenne","Average annual saving");const l=[e("Risque locatif structurel : dans les villes de zone B2 et C, la demande locative peut être insuffisante pour absorber l'offre. Une vacance prolongée réduit le rendement net et peut remettre en cause la continuité de l'engagement, exposant l'investisseur à une reprise de la réduction.","Structural letting risk: in B2 and C zone municipalities, rental demand may be insufficient to absorb supply. Prolonged vacancy reduces the net yield and may jeopardise the continuity of the commitment, exposing the investor to a clawback of the tax reduction."),e("Risque d'illiquidité et de valorisation : les villes moyennes éligibles présentent des marchés moins profonds que les grandes métropoles. La revente peut prendre plusieurs mois et s'opérer avec une décote significative, notamment si le bien est loué au moment de la cession.","Illiquidity and valuation risk: eligible medium-sized towns have thinner markets than major urban centres. Resale may take several months and occur at a significant discount, particularly if the property is tenanted at the time of sale."),e("Compression du rendement locatif : le plafonnement des loyers par zone et des ressources des locataires réduit mécaniquement la rentabilité brute par rapport au marché libre. La rentabilité nette globale ne s'apprécie qu'en intégrant la réduction fiscale annuelle dans le calcul.","Rental yield compression: zone-based rent caps and tenant income ceilings mechanically reduce the gross yield relative to the open market. Overall net performance can only be properly assessed by factoring the annual tax reduction into the calculation."),e("Engagement irrévocable : toute rupture de la durée minimale de location (6, 9 ou 12 ans selon l'option retenue) entraîne la restitution de l'intégralité des réductions d'impôt perçues, majorées des intérêts de retard. Les cas d'exonération (décès, invalidité, licenciement) sont limitativement énumérés par la loi.","Irrevocable commitment: any breach of the minimum letting period (6, 9 or 12 years depending on the option chosen) triggers repayment of all tax reductions received, plus default interest. Exemptions (death, disability, redundancy) are strictly limited by law."),e("Risque de requalification fiscale : un programme de travaux insuffisant en montant, non conforme aux normes DPE, réalisé par une entreprise non qualifiée ou mal documenté peut entraîner une requalification par l'administration fiscale. Colbr audite chaque programme de travaux avant toute recommandation à un client.","Tax requal
731ification risk: a works programme that is insufficient in amount, non-compliant with energy performance standards, carried out by an unqualified contractor or poorly documented may trigger a tax authority requalification. Colbr audits every works programme prior to any client recommendation.")],c=[{q:e("À qui s'adresse le Denormandie ?","Who is the Denormandie scheme for?"),a:e("Le Denormandie s'adresse aux contribuables ayant un impôt sur le revenu suffisant pour absorber la réduction annuelle et acceptant un engagement immobilier de 6 à 12 ans. Il convient aux profils qui souhaitent constituer un patrimoine immobilier dans l'ancien tout en optimisant leur fiscalité, à condition que la sélection du bien et de l'opérateur soit conduite avec rigueur.","The Denormandie scheme is designed for taxpayers with a sufficient income tax liability to absorb the annual reduction and who are willing to accept a 6 to 12-year real estate commitment. It suits investors seeking to build a portfolio in existing property while optimising their tax position, provided that property and operator selection are conducted rigorously.")},{q:e("Quelle différence avec le Pinel ?","How does it differ from the Pinel scheme?"),a:e("Le Pinel ciblait le neuf en zones tendues (A, A bis, B1) et s'est éteint fin 2024. Le Denormandie porte sur l'ancien rénové dans des villes moyennes éligibles, avec les mêmes taux de réduction (12, 18 ou 21 %) selon la durée d'engagement. La différence structurelle tient à la liquidité du marché : les zones Denormandie présentent généralement des marchés moins profonds, ce qui amplifie le risque à la revente.","The Pinel scheme targeted new-build property in high-demand zones (A, A bis, B1) and expired at end 2024. The Denormandie scheme covers renovated existing property in eligible medium-sized towns, with the same reduction rates (12%, 18% or 21%) depending on commitment length. The key structural difference lies in market liquidity: Denormandie zones generally have thinner markets, amplifying resale risk.")},{q:e("Quelles villes sont éligibles ?","Which towns are eligible?"),a:e("Plus de 450 communes signataires d'une opération de revitalisation du territoire (ORT) ou labellisées « Action Cœur de Ville » : Limoges, Saint-Étienne, Béziers, Perpignan, Châlons-en-Champagne, Cahors, Châteauroux… La liste officielle est consultable sur le site du ministère.","Over 450 municipalities that have signed a territorial revitalisation agreement (ORT) or hold the 'Action Cœur de Ville' label: Limoges, Saint-Étienne, Béziers, Perpignan, Châlons-en-Champagne, Cahors, Châteauroux… The official list is available on the Ministry's website.")},{q:e("Quels travaux sont éligibles ?","What works are eligible?"),a:e("Travaux d'amélioration (rénovation énergétique, isolation, chauffage, sanitaires…) ou de transformation (création de surface habitable). Ils doivent représenter au moins 25 % du coût total et générer un gain énergétique de 30 % minimum. Ils doivent être réalisés par une entreprise.","Improvement works (energy renovation, insulation, heating, sanitary installations…) or conversion works (creation of habitable floor space). They must represent at least 25% of the total cost and generate a minimum 30% energy performance gain. They must be carried out by a registered contractor.")},{q:e("Le Denormandie est-il cumulable avec d'autres dispositifs ?","Can the Denormandie scheme be combined with other schemes?"),a:e("Le Denormandie s'intègre dans le plafond global des niches fiscales de 10 000 €/an, commun aux FCPI, FIP, réductions pour emploi à domicile et dons. Son articulation avec d'autres dispositifs doit être anticipée pour éviter tout gaspillage d'avantage fiscal. Le plafond Girardin de 18 000 €, distinct, reste disponible en parallèle.","The Denormandie scheme is counted within the overall €10,000/year tax-shelter ceiling, shared with FCPIs, FIPs, domestic employment reductions and charitable donations. Its interaction with other schemes must be planned in advance to avoid any wasted tax benefit. The separate €18,000 G
731irardin ceiling remains available alongside it.")},{q:e("Quelle rentabilité attendre ?","What return should be expected?"),a:e("La performance globale agrège trois composantes : la réduction d'impôt annuelle (12 à 21 %), le rendement locatif net plafonné (généralement 2,5 à 4 % brut) et la valorisation à la revente. Aucune de ces composantes n'est garantie. Le TRI effectif est très sensible à la qualité de la commune, à l'état du bien après travaux et à la durée de vacance locative. Colbr ne communique pas de TRI prévisionnel sans analyse préalable du dossier.","Overall performance aggregates three components: the annual tax reduction (12% to 21%), the capped net rental yield (typically 2.5% to 4% gross) and resale appreciation. None of these components is guaranteed. The effective IRR is highly sensitive to municipality quality, property condition post-works and letting vacancy duration. Colbr does not quote a projected IRR without prior analysis of the specific transaction.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:Yn},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Loi Denormandie","Denormandie Scheme")}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[e("Réhabiliter le patrimoine bâti,","Rehabilitate the built heritage,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("réduire son impôt","reduce your taxes")})," ",e("avec exigence.","with rigour.")]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4 max-w-xl text-justify",children:e("Le Denormandie (art. 199 novovicies du CGI) permet de réduire son impôt jusqu'à 21 % du coût total d'une opération d'acquisition-rénovation dans une commune éligible. C'est un engagement immobilier de longue durée, dont la validité fiscale dépend de la conformité du programme de travaux, de la qualité de l'opérateur retenu et du respect strict des conditions de location.","The Denormandie scheme (art. 199 novovicies of the French Tax Code) enables a tax reduction of up to 21% of the total cost of an acquisition-renovation transaction in an eligible municipality. It is a long-term real estate commitment, whose tax validity depends on works compliance, operator quality and strict adherence to letting conditions.")}),t.jsxs("p",{className:"text-sm text-primary/80 leading-relaxed mb-8 max-w-xl text-justify",children:[t.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-primary/80 mr-2 align-middle"}),e("Dispositif prorogé jusqu'au 31 décembre 2027. Tout manquement aux conditions d'éligibilité ou requalification fiscale entraîne la reprise intégrale de l'avantage accordé.","Scheme extended to 31 December 2027. Any failure to meet eligibility conditions or tax requalification triggers full clawback of the benefit granted.")]}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs("a",{href:"#contact",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Étudier mon projet Denormandie","Discuss my Denormandie project"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#mecanique",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Comprendre le dispositif","Understand the scheme")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20}
731,animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:Yn},className:"relative",children:t.jsxs("div",{className:"relative rounded-2xl overflow-hidden border border-border/30",children:[t.jsx("img",{src:FAe,alt:e("Immeuble ancien rénové en centre-ville éligible Denormandie","Renovated existing building in a Denormandie-eligible town centre"),width:1280,height:896,className:"w-full h-[420px] object-cover"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-background/90 via-background/20 to-transparent"}),t.jsx("div",{className:"absolute bottom-0 left-0 right-0 p-5 grid grid-cols-2 gap-3",children:i.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+d*.08,ease:Yn},className:"p-3 rounded-xl bg-background/70 backdrop-blur-md border border-border/40",children:[t.jsx("span",{className:"font-display text-lg text-gradient-gold block leading-tight",children:u.value}),t.jsx("span",{className:"text-[10px] text-muted-foreground",children:u.label})]},u.label))})]})})]})})]}),t.jsx("section",{className:"py-12 border-t border-border/20",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Yn},className:"relative rounded-2xl border border-primary/30 bg-gradient-to-br from-primary/[0.07] via-card/40 to-card/20 p-8 md:p-10 overflow-hidden",children:[t.jsx("div",{className:"absolute -top-20 -right-20 w-80 h-80 rounded-full bg-primary/10 blur-3xl pointer-events-none"}),t.jsxs("div",{className:"relative grid md:grid-cols-[1fr_auto] gap-8 items-center",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[t.jsxs("span",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full bg-primary/15 border border-primary/30 text-[10px] tracking-[0.2em] uppercase text-primary",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary animate-pulse"}),e("Opportunité du moment","Current opportunity")]}),t.jsx("span",{className:"text-[10px] tracking-[0.15em] uppercase text-muted-foreground",children:e("SCPI fiscale Denormandie","Denormandie tax SCPI")})]}),t.jsxs("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3",children:["Kyaneos Denormandie 5 —"," ",t.jsx("span",{className:"text-gradient-gold",children:e("la pierre rénovée, sans gérer","renovated property, without the management")})]}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify mb-6 max-w-2xl",children:e("SCPI fiscale 100 % résidentielle gérée par Kyaneos AM, ouverte aux souscriptions depuis le 14 octobre 2025 (visa AMF n° 25-18) et jusqu'au 31 décembre 2026. Elle investit dans des immeubles anciens de villes moyennes éligibles au dispositif Denormandie. Vous bénéficiez de la réduction d'impôt sans contrainte de gestion locative ni de travaux — la SCPI mutualise le risque sur un portefeuille diversifié.","A 100% residential tax SCPI managed by Kyaneos AM, open for subscription from 14 October 2025 (AMF approval no. 25-18) through to 31 December 2026. It invests in existing buildings in eligible medium-sized towns under the Denormandie scheme. You benefit from the tax reduction with no letting management or works obligations — the SCPI pools risk across a diversified portfolio.")}),t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[{v:"18 %",l:e("Réduction / 9 ans","Reduction / 9 years")},{v:"3 %",l:e("TRI cible annuel","Target annual IRR")},{v:"13 ans",l:e("Durée d'investissement","Investment horizon")},{v:"10 000 €",l:e("Souscription min.","Min. subscription")}].map(u=>t.jsxs("div",{className:"border-l border-primary/30 pl-3",children:[t.jsx("span",{className:"font-display text-lg text-gradient-gold block leading-tight",children:u.v}),t.jsx("span",{className:"text-[10px] tracking-wide uppercase text-muted-foreground",children:u.l})]},u.l))})]}),t.jsxs("div",{className:"flex flex-col gap-3 md:min-w-[200px]",children:[t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2RP-N0eU8Qm61YZmB3mZFAA",title:e("Recevoir le dossier Denormandie","Receive the Denormandie dossier"),description:e("Renseignez vos coordonnées pour recevoir notre dossier confidentiel sur le dispositif Denormandie. Aucune sollicitation commerciale.","Please provide your details to receive our confidential dossier on the Denormandie scheme. No commercial solicitation."),eyebrow:e("Document confidentiel","Confidential document"),children:t.jsxs("button",{className:"inline-flex items-center justify-center gap-2 px-6 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all rounded-lg",children:[e("Recevoir le dossier","Receive the dossier"),t.jsx(V,{className:"w-4 h-4"})]})}),t.jsx("a",{href:"#simulateur",className:"inline-flex items-center justify-center gap-2 px-6 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all rounded-lg",children:e("Simuler ma réduction","Simulate my reduction")}),t.jsx("span",{className:"text-[10px] text-center text-muted-foreground
731/70",children:e("Souscription minimale accessible, capacité limitée.","Low minimum subscription, limited capacity.")})]})]})]})})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Yn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Pourquoi le Denormandie","Why Denormandie")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Un investissement immobilier réel,","A real property investment,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("une réduction d'impôt conditionnelle","a conditional tax reduction")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:Yn},className:"p-8 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(u.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))] mb-3",children:u.title}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:u.desc})]},u.title))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Yn},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Conditions d'éligibilité","Eligibility conditions")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Trois conditions","Three conditions")," ",t.jsx("span",{className:"text-gradient-gold",children:e("cumulatives et strictes","cumulative and strict")})]})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:a.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:Yn},className:"p-8 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(u.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-lg mb-3",children:u.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u.desc})]},u.title))})]})}),t.jsx("section",{id:"mecanique",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Yn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Le déroulé","The process")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Le déroulé opérationnel,","The operational sequence,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("de l'acquisition à la sortie","from acquisition to exit")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:o.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:Yn},className:"p-7 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-3xl text-gradient-gold block mb-4",children:u.step}),t.jsx("h3",{className:"font-display text-base text-[hsl(var(--surface-taupe-foreground))] mb-3",children:u.title}),t.jsx("p",{className:"text-xs text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:u.desc})]},u.step))})]})}),t.jsx(LAe,{}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Yn},className:"mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Trans
731parence","Transparency")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))] mb-4",children:[e("Les risques propres","The inherent risks")," ",t.jsx("span",{className:"text-gradient-gold",children:e("à cette opération","of this transaction")})]}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] max-w-2xl text-justify",children:e("Le Denormandie est un investissement immobilier engageant. La qualité du bien, de la commune et des travaux conditionne la performance globale de l'opération.","The Denormandie scheme is a long-term real estate commitment. The quality of the property, the municipality and the works determines the overall performance of the transaction.")})]}),t.jsx("div",{className:"space-y-3",children:l.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,x:-8},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.5,delay:d*.06,ease:Yn},className:"flex gap-4 p-5 rounded-xl bg-card/40 border border-border/30",children:[t.jsx(Kt,{className:"w-4 h-4 text-primary/70 flex-shrink-0 mt-1"}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:u})]},d))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Yn},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Questions fréquentes","Frequently asked questions")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Vos questions sur le","Your questions on the")," ",t.jsx("span",{className:"text-gradient-gold",children:"Denormandie"})]})]}),t.jsx("div",{className:"space-y-3",children:c.map((u,d)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden bg-card/30",children:[t.jsxs("button",{onClick:()=>r(n===d?null:d),className:"w-full flex items-center justify-between p-6 text-left hover:bg-card/50 transition-colors",children:[t.jsx("span",{className:"font-display text-base pr-4",children:u.q}),t.jsx(rt,{className:`w-4 h-4 text-muted-foreground flex-shrink-0 transition-transform duration-200 ${n===d?"rotate-180":""}`})]}),n===d&&t.jsx(S.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},transition:{duration:.3},className:"px-6 pb-6",children:t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u.a})})]},d))})]})}),t.jsx("section",{id:"contact",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:Yn},children:[t.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-primary/30 bg-primary/5 mb-6",children:[t.jsx(St,{className:"w-3.5 h-3.5 text-primary/80"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/80",children:e("Sélection sur mesure","Bespoke selection")})]}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))] mb-5",children:[e("Analysons ensemble","Let us assess together")," ",t.jsx("span",{className:"text-gradient-gold",children:e("votre projet Denormandie","your Denormandie project")})]}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] mb-10 max-w-xl mx-auto text-justify md:text-center",children:e("Chaque opération Denormandie est unique : ville, état du bien, programme de travaux, financement. Nous vous accompagnons depuis la sélection du bien jusqu'à la mise en location, avec nos partenaires opérateurs et marchands de biens.","Every Denormandie transaction is unique: town, property condition, renovation programme, financing. We accompany you from property selection through to letting commencement, working alongside our operator and property dealer partners.")}),t.jsxs("a",{href:"#rdv",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Prendre rendez-vous avec un conseiller","Schedule a meeting with an adviser"),t.jsx(V,{className:"w-4 h-4"})]})]})})}),t.jsx(Ft,{items:[{to:"/girardin",label:"Girardin",description:e("Réduisez votre impôt sur le revenu avec un investissement Outre-mer.","Reduce your income tax through an Overseas France investment."),eyebrow:e("Réduction IR","Income tax reduction")},{to:"/scpi",label:"SCPI",description:e("Diversifiez votre patrimoine immobilier sans contrainte de gestion.","Diversify your real estate portfolio without management constraints."),eyebrow:e("Immobilier","Real estate")},{to:"/assurance-vie",label:e("Assurance-vie","Life insurance"),description:e("Combinez immobilier en direct et enveloppe assurance-vie.","Combine direct real estate with a life insurance wrapper."),eyebrow:e("Patrimoine","Wealth management")}]}),t.jsx(re,{})]})},Yj=[.16,1,.3,1],OAe=()=>{const{tr:e}=K(),n=[{icon:NR,title:e("Outre-mer & productif","Overseas & productive"),intro:e("Les dispositifs Girardin offrent le levier fiscal le plus élevé du paysage français : la réduction d'impôt excède le capital investi. En contrepartie, le risque de requalification est réel et l'opération repose entièrement sur la qualité du monteur. Colbr ne référence que des opérations agréées par Bercy, portées par des intervenants disposant d'un historique sans sinistre fiscal.","Girardin schemes offer the highest fiscal leverage in the French landscape: the tax reduction exceeds the capital invested. In return, the risk of requalification is real and the transaction relies entirely on the quality of the sponsor. Colbr lists only transactions approved by the Ministry of Finance, 
731carried out by sponsors with a clean fiscal track record."),items:[{name:"Girardin Industriel",article:"Art. 199 undecies B",gain:e("110 % à 125 % du versement","110% to 125% of the contribution"),desc:e("Financement de biens productifs loués à des PME ultra-marines. Réduction one-shot l'année N+1, plafond dédié de 18 000 €. Risque de requalification en cas de défaillance du monteur : Colbr ne référence que des opérations agréées par les services fiscaux.","Financing of productive assets leased to overseas SMEs. One-shot reduction in year N+1, dedicated cap of €18,000. Requalification risk if the sponsor defaults: Colbr lists only transactions pre-approved by the tax authorities."),to:"/girardin"},{name:"Girardin Social",article:"Art. 199 undecies C",gain:e("110 % à 120 % du versement","110% to 120% of the contribution"),desc:e("Financement de logements sociaux en outre-mer. Même logique de réduction majorée que le Girardin Industriel, avec une composante immobilière. Agrément Bercy requis. Mêmes exigences de sélection du monteur que pour le dispositif Industriel.","Financing of social housing in overseas territories. Same enhanced reduction logic as Girardin Industriel, with a real estate component. Ministry of Finance approval required. Same sponsor selection requirements as the Industriel scheme."),to:"/girardin"}]},{icon:rn,title:e("Innovation & PME","Innovation & SMEs"),intro:e("Les FCPI et FIP permettent d'accéder au capital-innovation avec un avantage fiscal de 25 % à l'entrée. Ces véhicules sont structurellement illiquides (5 à 10 ans) et exposés au risque de perte en capital. La dispersion des performances selon les gérants est extrême. Colbr ne référence que des sociétés de gestion dont le track-record sur plusieurs millésimes est documenté et vérifiable.","FCPIs and FIPs provide access to venture capital with a 25% tax benefit at entry. These vehicles are structurally illiquid (5 to 10 years) and exposed to capital loss risk. Performance dispersion across managers is extreme. Colbr lists only asset management firms whose track record across multiple vintages is documented and verifiable."),items:[{name:"FCPI",article:"Art. 199 terdecies-0 A",gain:e("25 % de réduction d'IR","25% income-tax reduction"),desc:e("Investissement dans des PME innovantes non cotées. Plafond 12 000 € (24 000 € en couple). Blocage structurel 5 à 10 ans. Risque de perte en capital réel. Dispersion des performances très élevée selon les millésimes et les gérants.","Investment in unlisted innovative SMEs. Cap €12,000 (€24,000 for couples). Structural lock-up 5 to 10 years. Genuine capital loss risk. Performance dispersion very high across vintages and managers."),to:"/fcpi"},{name:e("FIP / FIP Corse / Outre-mer","FIP / FIP Corsica / Overseas"),article:"Art. 199 terdecies-0 A",gain:e("25 % à 30 % de réduction d'IR","25% to 30% income-tax reduction"),desc:e("Soutien aux PME de régions limitrophes. Taux majoré à 30 % pour les FIP Corse et Outre-mer. Conditions de blocage et de risque identiques aux FCPI. Plafonds distincts, cumulables avec les FCPI.","Support for SMEs in adjoining regions. Enhanced rate of 30% for Corsica and overseas FIPs. Same lock-up and risk conditions as FCPIs. Separate caps, combinable with FCPIs."),to:"/fcpi"}]},{icon:Eo,title:e("Immobilier","Real estate"),intro:e("Les dispositifs immobiliers fiscaux combinent un actif tangible et un avantage fiscal étalé dans le temps. Ils exposent l'investisseur aux risques locatifs, aux contraintes de travaux et aux aléas du marché local. La qualité de la commune, du bien et de l'opérateur conditionne la performance nette. Colbr audite chaque dossier avant recommandation.","Property tax schemes combine a tangible asset with a tax benefit spread over time. They expose the investor to letting risks, works constraints and local market fluctuations. The quality of the municipality, the property and the operator determines net performance. Colbr audits every file before any recommendation."),items:[{name:"Denormandie",article:"Art. 199 novovicies",gain:e("Jusqu'à 21 % du prix sur 12 ans","Up to 21% of the price over 12 years"),desc:e("Acquisition-rénovation de logements anciens dans des communes éligibles. Engagement de location 6, 9 ou 12 ans. Risque locatif et de requalification si les travaux sont non conformes. La sélection de la commune et de l'opérateur est déterminante.","Acquisition and renovation of existing residential property in eligible municipalities. Letting commitment of 6, 9 or 12 years. Letting risk and requal
731ification risk if works are non-compliant. Municipality and operator selection is decisive."),to:"/denormandie"},{name:e("Déficit foncier","Property deficit"),gain:e("Imputation jusqu'à 10 700 €/an","Offset up to €10,700/year"),desc:e("Travaux d'entretien et d'amélioration déductibles des revenus fonciers, puis du revenu global dans la limite de 10 700 €/an. L'excédent est reportable 10 ans sur les revenus fonciers. Dispositif pertinent pour les propriétaires bailleurs en tranche marginale élevée.","Maintenance and improvement works deductible from rental income, then from overall income up to €10,700/year. Surplus is carried forward over 10 years against rental income. Relevant for landlords in higher marginal tax brackets."),to:null},{name:e("Monuments Historiques & Malraux","Historical Monuments & Malraux"),article:"Art. 156 bis & 199 tervicies",gain:e("Déduction sans plafond / 22 % à 30 %","Unlimited deduction / 22% to 30%"),desc:e("Restauration de biens classés Monuments Historiques ou situés en secteur sauvegardé. Déductibilité sans plafond pour les MH occupés par le propriétaire ; 22 à 30 % de réduction pour Malraux. Réservé aux contribuables fortement imposés disposant d'un horizon long.","Restoration of listed Historic Monuments or properties in protected areas. Unlimited deductibility for owner-occupied historic monuments; 22% to 30% reduction for Malraux. Reserved for heavily taxed investors with a long time horizon."),to:null}]},{icon:Jh,title:e("Épargne & retraite","Savings & retirement"),intro:e("PER, assurance-vie, PEA constituent les enveloppes socles d'une stratégie patrimoniale fiscalement optimisée. Leur articulation avec les dispositifs de défiscalisation active doit être précisément calculée pour éviter tout plafonnement ou perte d'avantage. Colbr dimensionne chaque enveloppe en fonction de votre tranche marginale et de votre horizon de sortie.","PER, life insurance and PEA are the core wrappers of a tax-optimised wealth strategy. Their interaction with active tax-reduction schemes must be precisely calculated to avoid any ceiling or loss of benefit. Colbr sizes each wrapper according to your marginal tax bracket and exit horizon."),items:[{name:e("Plan Épargne Retraite (PER)","Retirement Savings Plan (PER)"),gain:e("Jusqu'à 45 % du versement","Up to 45% of the contribution"),desc:e("Versements déductibles du revenu imposable jusqu'à 10 % des revenus professionnels (ou du PASS). L'avantage fiscal effectif dépend de la tranche marginale. Sortie en capital ou en rente à la retraite, imposée à l'IR. Un outil central de la stratégie patrimoniale long terme.","Contributions deductible from taxable income up to 10% of professional income (or PASS). The effective tax benefit depends on the marginal rate. Withdrawn as a capital lump sum or annuity at retirement, subject to income tax. A central tool in any long-term wealth strategy."),to:"/plan-epargne-retraite"},{name:e("Assurance-vie","Life insurance"),gain:e("Abattement 4 600 € / 9 200 €","Allowance €4,600 / €9,200"),desc:e("Enveloppe de capitalisation à la fiscalité différée. Abattement de 4 600 € (9 200 € en couple) sur les gains rachetés après 8 ans. Transmission hors succession dans la limite de 152 500 € par bénéficiaire. L'architecture financière interne doit être calibrée selon le profil et l'horizon.","A deferred-tax capitalisation wrapper. Allowance of €4,600 (€9,200 for couples) on gains redeemed after 8 years. Transfer outside the estate up to €152,500 per beneficiary. The internal financial architecture must be calibrated according to profile and horizon."),to:"/assurance-vie"},{name:"PEA",gain:e("0 % d'impôt après 5 ans","0% tax after 5 years"),desc:e("Exonération d'impôt sur les plus-values après 5 ans, hors prélèvements sociaux. Plafond de versement 150 000 €.","Capital gains tax exemption after 5 years, excluding social contributions. Contribution cap of €150,000."),to:"/plan-epargne-actions"},{name:"Apport-cession 150-0 B ter",gain:e("Report d'imposition sur la plus-value","Deferral of capital-gains taxation"),desc:e("Pour les dirigeants : apport de titres à une holding avant cession. Report sine die de l'imposition sous condition de réinvestissement.","For business owners: contribution of shares to a holding company before disposal. Indefinite tax deferral subject to reinvestment conditions."),to:"/gestion-privee/apport-cession-150-0-b-ter"}]},{icon:IR,title:e("Forêt & actifs tangibles","Forestry & tangible assets"),intro:e("La forêt française combine un triple levier fiscal (IR, IFI, succession) avec un actif réel peu corrélé aux marchés financiers. Cette classe d'actifs est structurellement illiquide et requiert un horizon d'au moins 8 à 10 ans. L'abattement successoral de 75 % exige un engagement de gestion durable de 30 ans par les bénéficiaires.","French forestland combines a triple tax lever (income tax, IFI, inheritance) with a real asset weakly correlated with financial markets. This asset class is structurally illiquid and requires a minimum 8 to 10-year horizon. The 75% inheritance allowance requires a 30-year sustainable management commitment from beneficiaries."),items:[{name:e("Groupement Forestier d'Investissement","Forestry Investment Group"),article:"Art. 199 decies H",gain:e("18 % de réduction d'IR","18% income-tax reduction"),desc:e("Détention collective de forêts françaises. Triple levier fiscal : 25 % de réduction d'IR, exonération totale d'IFI, abattement de 75 % sur la transmission (régime Monich
731on). Illiquidité structurelle. Engagement de gestion durable de 30 ans pour l'avantage successoral.","Collective ownership of French forests. Triple tax lever: 25% income tax reduction, full IFI exemption, 75% inheritance allowance (Monichon regime). Structural illiquidity. 30-year sustainable management commitment for the inheritance benefit."),to:"/groupement-forestier"}]},{icon:qR,title:e("Culture & engagement","Culture & commitment"),intro:e("La SOFICA et le mécénat offrent des taux de réduction parmi les plus élevés du paysage fiscal français. Leur plafond annuel limité les rend complémentaires d'autres dispositifs dans une stratégie d'optimisation globale. Ces engagements sont à durée fixe et doivent s'inscrire dans votre planification fiscale annuelle.","SOFICAs and patronage donations offer some of the highest reduction rates in the French tax landscape. Their limited annual caps make them complementary to other schemes within a comprehensive optimisation strategy. These commitments are fixed-term and must be integrated into your annual tax planning."),items:[{name:"SOFICA",article:"Art. 199 unvicies",gain:e("30 % à 48 % de réduction d'IR","30% to 48% income-tax reduction"),desc:e("Financement de productions cinématographiques et audiovisuelles françaises. Plafond 18 000 € ou 25 % du revenu net global. Blocage 5 à 10 ans. Risque de perte en capital élevé : sélectionner des SOFICA adossées à des distributeurs structurés.","Financing of French film and audiovisual productions. Cap of €18,000 or 25% of total net income. Lock-up 5 to 10 years. High capital loss risk: select SOFICAs backed by structured distribution companies."),to:null},{name:e("Mécénat & dons","Patronage & donations"),article:"Art. 200 & 978",gain:e("66 % à 75 % de réduction","66% to 75% reduction"),desc:e("Dons à des organismes d'intérêt général ou fondations reconnues d'utilité publique. Réduction de 66 % du montant donné (75 % pour les organismes aidant les personnes en difficulté, dans la limite de 1 000 €). Plafond 20 % du revenu imposable, excédent reportable 5 ans.","Donations to public-interest organisations or recognised foundations. Reduction of 66% of the amount donated (75% for organisations helping people in difficulty, up to €1,000). Cap at 20% of taxable income, surplus carried forward over 5 years."),to:null}]}],r=[{icon:St,title:e("Sélection institutionnelle","Institutional selection"),desc:e("Colbr ne référence qu'un opérateur ou un gérant après vérification de son historique de performance, de la robustesse juridique de son montage et, le cas échéant, de son agrément par Bercy ou l'AMF. Les dossiers incomplets ou les monteurs sans track-record documenté sont systématiquement écartés.","Colbr lists an operator or manager only after verifying their performance history, the legal robustness of their structure and, where applicable, their approval by the Ministry of Finance or the AMF. Incomplete files or sponsors without a documented track record are systematically excluded.")},{icon:oa,title:e("Optimisation chiffrée","Quantified optimisation"),desc:e("Avant toute souscription, Colbr modélise l'avantage fiscal net (après frais et articulation avec les autres dispositifs actifs), l'impact sur le plafond global des niches et la cohérence de l'opération avec votre stratégie patrimoniale d'ensemble. Aucune recommandation n'est formulée sans cette analyse préalable.","Before any subscription, Colbr models the net tax benefit (after fees and coordination with other active schemes), the impact on the overall tax-shelter ceiling and the consistency of the transaction with your overall wealth strategy. No recommendation is made without this prior analysis.")},{icon:dc,title:e("Sécurité documentaire","Documentary security"),desc:e("Colbr accompagne la collecte des pièces justificatives, la préparation des cases déclaratives et, en cas de contrôle fiscal, la défense des dossiers constitués. Un dispositif mal déclaré ou insuffisamment documenté est un dispositif requalifié. La sécurité documentaire est une exigence non négociable.","Colbr supports the collection of supporting documents, preparation of tax filing entries and, in the event of a tax audit, the defence of the files constituted. An incorrectly declared or inadequately documented scheme is a scheme requalified. Documentary security is a non-negotiable requirement.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"relative pt-32 pb-20 min-h-screen flex items-center overflow-hidden",children:[t.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[t.jsx("div",{className:"absolute top-1/4 -right-32 w-[520px] h-[520px] rounded-full bg-gradient-signature opacity-[0.08] blur-3xl"}),t.jsx("div",{className:"absolute bottom-1/4 -left-24 w-[380px] h-[380px] rounded-full bg-primary/10 blur-3xl"}),t.jsx("div",{className:"absolute inset-0 opacity-[0.025]",style:{backgroundImage:"linear-gradient(to right, hsl(var(--foreground)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--foreground)) 1px, transparent 1px)",backgroundSize:"64px 64px",maskImage:"radial-gradient(ellipse at center, black 30%, transparent 75%)"}})]}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs(S.div,{initial:{opacity:0,y:20}
731,animate:{opacity:1,y:0},transition:{duration:.8,ease:Yj},className:"max-w-3xl",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("span",{className:"h-px w-10 bg-gradient-to-r from-transparent via-primary/60 to-primary/60"}),t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Dispositifs fiscaux · Panorama complet","Tax schemes · Complete overview")})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl leading-[1.05] text-foreground mb-6",children:[e("L'architecture fiscale","The tax architecture"),t.jsx("br",{}),t.jsx("span",{className:"italic text-primary",children:e("que nous instruisons.","we assess and advise on.")})]}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground leading-relaxed text-justify mb-10 max-w-2xl",children:e("Réduction d'impôt, déduction, report, transmission : chaque levier de la fiscalité française a sa logique, ses plafonds et ses risques. Voici les dispositifs que nous instruisons et proposons à nos clients, classés par finalité patrimoniale.","Tax reduction, deduction, deferral, transfer: every lever of French taxation has its own logic, caps and risks. Below are the schemes we assess and propose to our clients, organised by wealth management purpose.")}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs("a",{href:"#categories",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Explorer les dispositifs","Explore the schemes"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/impot-declaration",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Échanger avec un fiscaliste","Speak with a tax expert")})]})]})})]}),t.jsx("section",{className:"py-20 md:py-28 bg-muted/30 border-y border-border/50",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs("div",{className:"max-w-2xl mb-14",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[t.jsx("span",{className:"h-px w-10 bg-primary/40"}),t.jsx("span",{className:"text-[10px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Méthode","Method")})]}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground leading-tight",children:e("Trois exigences préalables à toute souscription.","Three prerequisites before any subscription.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-px bg-border/40 border border-border/40 rounded-2xl overflow-hidden",children:r.map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:s*.1,ease:Yj},className:"flex flex-col gap-4 bg-background p-8 md:p-10 group",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("div",{className:"w-11 h-11 rounded-full bg-primary/10 flex items-center justify-center group-hover:bg-primary/15 transition-colors",children:t.jsx(i.icon,{className:"w-4 h-4 text-primary"})}),t.jsx("span",{className:"font-display text-2xl text-primary/20",children:String(s+1).padStart(2,"0")})]}),t.jsx("h3",{className:"font-display text-xl text-foreground",children:i.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:i.desc})]},i.title))})]})}),t.jsxs("section",{id:"categories",className:"py-20 md:py-28 relative",children:[t.jsx("div",{className:"container max-w-6xl mx-auto px-6 mb-20",children:t.jsxs("div",{className:"flex items-end justify-between flex-wrap gap-6",children:[t.jsxs("div",{className:"max-w-2xl",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[t.jsx("span",{className:"h-px w-10 bg-primary/40"}),t.jsx("span",{className:"text-[10px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Catalogue","Catalogue")})]}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground leading-tight",children:e("Les dispositifs que nous instruisons, par finalité.","The schemes we assess, by purpose.")})]}),t.jsxs("p",{className:"text-xs text-muted-foreground tracking-wider up
731percase",children:[n.length.toString().padStart(2,"0")," ",e("familles","families")]})]})}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 space-y-24",children:n.map((i,s)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{duration:.7,ease:Yj},className:"grid md:grid-cols-[280px,1fr] gap-10 md:gap-16",children:[t.jsxs("div",{className:"md:sticky md:top-28 md:self-start",children:[t.jsx("div",{className:"font-display text-6xl md:text-7xl text-primary/10 leading-none mb-4 select-none",children:String(s+1).padStart(2,"0")}),t.jsx("div",{className:"w-11 h-11 rounded-full bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(i.icon,{className:"w-4 h-4 text-primary"})}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl text-foreground mb-4 leading-tight",children:i.title}),t.jsx("div",{className:"h-px w-12 bg-primary/30 mb-4"}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:i.intro})]}),t.jsx("div",{className:"space-y-4",children:i.items.map(a=>{const o=t.jsxs("div",{className:"group relative p-6 md:p-7 rounded-2xl bg-card/60 border border-border/50 hover:border-primary/40 hover:shadow-[0_8px_30px_-12px_hsl(var(--primary)/0.18)] hover:-translate-y-0.5 transition-all duration-300 h-full overflow-hidden",children:[t.jsx("div",{className:"absolute left-0 top-6 bottom-6 w-px bg-gradient-to-b from-transparent via-primary/40 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300"}),t.jsxs("div",{className:"flex items-start justify-between gap-4 mb-3 flex-wrap",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-lg text-foreground mb-1",children:a.name}),a.article&&t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-muted-foreground",children:a.article})]}),t.jsx("span",{className:"text-xs font-medium text-primary bg-primary/10 ring-1 ring-primary/15 px-3 py-1.5 rounded-full whitespace-nowrap",children:a.gain})]}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:a.desc}),a.to&&t.jsxs("span",{className:"inline-flex items-center gap-1.5 text-xs font-medium text-primary mt-4 group-hover:gap-2.5 transition-all",children:[e("Consulter le dossier","View the dossier"),t.jsx(V,{className:"w-3.5 h-3.5"})]})]});return a.to?t.jsx(C,{to:a.to,className:"block",children:o},a.name):t.jsx("div",{children:o},a.name)})})]},i.title))})]}),t.jsx("section",{className:"py-20 md:py-28 bg-muted/30 border-t border-border/50",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:[t.jsx(ui,{className:"w-6 h-6 text-primary mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-6",children:e("Quel dispositif pour votre situation ?","Which scheme suits your situation?")}),t.jsx("p",{className:"text-base text-muted-foreground leading-relaxed mb-10 max-w-2xl mx-auto text-justify",children:e("La combinaison optimale dépend de votre tranche marginale, de votre IFI éventuel, de vos revenus exceptionnels et de votre horizon. Échangeons pour construire la stratégie qui maximise votre gain net.","The optimal combination depends on your marginal bracket, any wealth tax exposure, exceptional income and your time horizon. Let us build the strategy that maximises your net gain.")}),t.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[t.jsxs(C,{to:"/impot-declaration",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Analyser ma situation fiscale","Analyse my tax position"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/newsletter",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Recevoir les notes de dispositifs","Receive scheme briefings")})]})]})}),t.jsx(re,{})]})},RAe="/assets/logo-eurazeo-iO3ShWI6.png",DAe="/assets/logo-eiffel-Dnrz-pqP.png",wr=[.16,1,.3,1],MAe=()=>{const[e,n]=k.useState(null),{tr:r}=K(),i=[{value:"25 %",label:r("Réduction d'impôt sur le revenu","Income tax reduction")},{value:"12 000 €",label:r("Investissement max. célibataire","Max. investment (single)")},{value:"24 000 €",label:r("Investissement max. couple","Max. investment (couple)")},{value:r("5 à 10 ans","5 to 10 years"),label:r("Horizon de blocage","Lock-up horizon")}],s=[{icon:Lt,title:r("Une réduction d'IR immédiate, conditionnée à un blocage long","An immediate income tax reduction, conditional on an extended lock-up"),desc:r("La souscription ouvre droit à une réduction d'impôt sur le revenu de 25 % du montant investi (hors droits d'entrée), déductible sur l'avis d'imposition de l'année suivante. Cet avantage est acquis dès la souscription mais sa conservation exige un maintien des parts pendant 5 ans minimum. Toute cession anticipée entraîne sa restitution intégrale.","Subscription entitles the investor to a 25% income tax reduction on the amount subscribed (excluding entry fees), deducted from the following year's tax assessment. This benefit is acquired at subscription but its retention requires holding units for a minimum of 5 years. Any early redemption triggers full repayment.")},{icon:St,title:r("Des plafonds annuels limités, à articuler avec les autres dispositifs","Limited annual caps, to be coordinated with other schemes"),desc:r("La réduction est plafonnée à 3 000 € pour une personne seule (12 000 € investis) et 6 000 € pour un couple (24 000 € investis). Le FCPI s'inscrit dans le plafond global de 10 000 €/an, commun aux FIP, Denormandie et autres dispositifs IR. L'articulation avec l'ensemble des dis
731positifs souscrits doit être anticipée chaque année.","The reduction is capped at €3,000 for a single investor (€12,000 invested) and €6,000 for a couple (€24,000 invested). The FCPI falls within the overall €10,000/year ceiling shared with FIPs, Denormandie and other income tax schemes. Interaction with all subscribed schemes must be planned ahead each year.")},{icon:HQ,title:r("Un quota réglementaire de 70 % en PME innovantes non cotées","A regulatory quota of 70% in unlisted innovative SMEs"),desc:r("Le cadre réglementaire impose qu'au moins 70 % des actifs du fonds soient investis dans des PME innovantes non cotées (ou cotées sur un marché de croissance), employant moins de 2 000 salariés et domiciliées dans l'Espace économique européen. Les 30 % restants sont librement alloués par le gérant. La qualité du portefeuille dépend entièrement de la sélectivité du gérant sur le quota réglementaire.","The regulatory framework requires at least 70% of fund assets to be invested in unlisted innovative SMEs (or those listed on a growth market), employing fewer than 2,000 staff and domiciled in the European Economic Area. The remaining 30% is freely allocated by the manager. Portfolio quality depends entirely on the manager's selectivity within the regulatory quota.")},{icon:We,title:r("Une présélection Colbr fondée sur le track-record documenté","A Colbr pre-selection based on documented track record"),desc:r("Colbr ne référence que des FCPI dont la société de gestion justifie d'un historique de performance sur au moins deux millésimes clos, d'une équipe d'investissement stable et d'une politique de sélection des participations formalisée. Les gérants aux antécédents de pertes significatives sur capital ne sont pas retenus, quel que soit leur taux de réduction apparent.","Colbr lists only FCPIs whose management company can evidence performance history across at least two closed vintages, a stable investment team and a formalised deal-selection policy. Managers with a history of significant capital losses are not retained, regardless of their headline reduction rate.")}],a=[{step:"01",title:r("Année N, Souscription","Year N — Subscription"),desc:r("Vous souscrivez des parts de FCPI avant le 31 décembre de l'année N. Dès la souscription, vos parts sont bloquées : aucune cession n'est possible sans perte de l'avantage fiscal. Le fonds commence à déployer les capitaux collectés sur les 24 à 36 mois suivants.","You subscribe to FCPI units before 31 December of year N. From subscription, your units are locked: no redemption is possible without forfeiting the tax benefit. The fund begins deploying collected capital over the following 24 to 36 months.")},{step:"02",title:r("Année N+1, Réduction d'impôt","Year N+1 — Tax reduction"),desc:r("Vous déclarez votre versement (case 7GQ du formulaire 2042 RICI). L'administration fiscale impute la réduction de 25 % sur votre impôt sur le revenu de l'année N+1. La réduction est acquise mais peut être reprise si les conditions de détention ne sont pas respectées.","You declare your contribution (box 7GQ of form 2042 RICI). The tax authorities apply the 25% reduction to your year N+1 income tax assessment. The reduction is obtained but may be clawed back if holding conditions are not met.")},{step:"03",title:r("Années N à N+8, Phase d'investissement et de maturation","Years N to N+8 — Investment & maturation phase"),desc:r("Le gérant constitue son portefeuille et accompagne la croissance des participations. Cette phase est opaque pour l'investisseur : aucun marché secondaire organisé ne permet de valoriser les parts ou d'en sortir. La performance finale dépend de la capacité du gérant à sélectionner et à accompagner des entreprises jusqu'à un événement de liquidité.","The manager builds its portfolio and supports the growth of holdings. This phase is opaque for the investor: no organised secondary market exists to value units or exit. Final performance depends on the manager's ability to select and support companies through to a liquidity event.")},{step:"04",title:r("Années N+8 à N+10, Liquidation","Years N+8 to N+10 — Liquidation"),desc:r("Le fonds cède progressivement ses participations et vous distribue les produits de cession. Les plus-values sont exonérées d'impôt sur le revenu (les prélèvements sociaux de 17,2 % restent dus).","The fund progressively divests its holdings and distributes the proceeds to investors. Capital gains are exempt from income tax (social levies of 17.2% remain due).")}],o=[{name:"Eurazeo Entrepreneurs Club",badge:r("Multi-sectoriel","Multi-sector"),desc:r("Gestion par Eurazeo, 2ᵉ investisseur français en capital innovation derrière Bpifrance. Portefeuille équilibré entre digital (Swile), santé (Doctolib) et smart cities, avec 20 ans d'historique sur le non-coté.","Managed by Eurazeo, France's second-largest venture capital investor after Bpifrance. Balanced portfolio across digital (Swile), healthcare (Doctolib) and smart cities, with 20 years of private market track record."),points:[r("50 % digital · 30 % santé · 20 % smart cities","50% digital · 30% healthcare · 20% smart cities"),r("Société de gestion adossée à un groupe coté (EUR 35 Md d'actifs)","Asset manager backed by a listed group (€35bn AUM)"),r("Sélection des dossiers via le réseau Eurazeo","Deal selection through the Eurazeo network")]},{name:"Vatel Innovation",badge:r("ETI à fort potentiel","High-potential mid-caps"),desc:r("Spécialiste reconnu du capital innovation côté en France. Sélection de PME et ETI françaises sur des thématiques de croissance : transition énergétique, santé, industrie 4.0.","A recognised specialist in venture capital in France. Selection of French SMEs and mid-caps focused on growth themes: energy transition, healthcare, and Industry 4.0."),points:[r("PME françaises rentables et en croissance","Profitable and growing French SMEs"),r("Co-investissements aux côtés des dirigeants","Co-investments alongside management teams"),r("Approche prudente, pertes historiques limitées","Prudent approach, historically limited losses")]},{name:"Inocap Patrimoine Innovation",badge:r("Tech européenne","European tech"),desc:r("Société de gestion indépendante focalisée sur les pépites technologiques européennes. Approche thématique deeptech, SaaS B2B et logiciels critiques.","An independent asset manager focused on European technology champions. Thematic approach covering deeptech, B2B SaaS and mission-critical software."),points:[r("88 % minimum d'entreprises innovantes européennes","Minimum 88% European innovative companies"),r("Spécialisation tech et sciences de la vie","Specialisation in technology and life sciences"),r("Comité de sélection composé d'entrepreneurs","Selection committee composed of entrepreneurs")]}],l=[r("Risque de perte en capital : les FCPI investissent dans de
731s PME non cotées à fort taux d'échec statistique. La défaillance d'une participation peut entraîner une perte partielle ou totale du montant investi. La réduction fiscale de 25 % ne constitue pas un plancher de protection : en cas de perte totale du capital, l'investisseur perd l'intégralité de sa mise nette de fiscalité.","Capital loss risk: FCPIs invest in unlisted SMEs with a statistically high failure rate. The failure of a holding may result in a partial or total loss of the amount invested. The 25% tax reduction does not constitute a capital floor: in the event of total capital loss, the investor loses the entirety of their net-of-tax investment."),r("Illiquidité structurelle : il n'existe aucun marché secondaire organisé pour les parts de FCPI. La durée de blocage minimale est de 5 ans pour conserver l'avantage fiscal, mais la durée effective jusqu'à la liquidation complète du fonds est généralement de 8 à 10 ans. Aucune sortie anticipée n'est possible sans perte de l'avantage et dévalorisation potentielle.","Structural illiquidity: there is no organised secondary market for FCPI units. The minimum lock-up to retain the tax benefit is 5 years, but the effective holding period until full fund liquidation is typically 8 to 10 years. No early exit is possible without forfeiting the benefit and potential value impairment."),r("Dispersion extrême des performances : l'analyse des FCPI liquidés montre une variance très élevée entre millésimes et entre gérants. Certains fonds ont restitué moins de 50 centimes pour un euro investi net de fiscalité ; d'autres ont affiché des TRI supérieurs à 10 %. La sélection du gérant est le déterminant principal de la performance finale.","Extreme performance dispersion: analysis of liquidated FCPIs shows very high variance across vintages and managers. Some funds have returned less than 50 cents per net-of-tax euro invested; others have delivered IRRs above 10%. Manager selection is the primary determinant of final performance."),r("Contrainte du plafond des niches fiscales : la réduction d'impôt s'inscrit dans le plafond global de 10 000 €/an. Son cumul avec d'autres avantages (PER, Denormandie, emploi à domicile, dons) doit être calculé précisément pour éviter tout plafonnement non anticipé qui réduirait ou annulerait l'avantage effectif.","Tax-shelter ceiling constraint: the tax reduction falls within the overall €10,000/year cap. Its combination with other benefits (PER, Denormandie, domestic employment, donations) must be precisely calculated to avoid any unplanned cap that would reduce or nullify the effective benefit."),r("Frais totaux à intégrer dans le calcul de rentabilité : les FCPI supportent des frais de gestion annuels de 3 à 4 % de l'actif net, des frais de souscription jusqu'à 5 % et parfois une commission de surperformance. Ces frais sont prélevés que le fonds performe ou non et réduisent significativement la rentabilité nette finale.","Total fees to be factored into the return calculation: FCPIs carry annual management fees of 3% to 4% of net assets, subscription fees of up to 5% and sometimes a performance fee. These fees are charged whether or not the fund performs, and significantly reduce the final net return.")],c=[{q:r("Qu'est-ce qu'un FCPI exactement ?","What exactly is a FCPI?"),a:r("Un Fonds Commun de Placement dans l'Innovation est un véhicule collectif réglementé par l'AMF, qui investit au moins 70 % de ses actifs dans des PME innovantes non cotées (ou cotées sur un marché de croissance), employant moins de 2 000 salariés et ayant leur siège dans l'Espace économique européen. Les 30 % restants sont investis librement par le gérant (actions, obligations, monétaire).","A Fonds Commun de Placement dans l'Innovation is a collective vehicle regulated by the AMF, which invests at least 70% of its assets in unlisted innovative SMEs (or those listed on a growth market), employing fewer than 2,000 staff and headquartered in the European Economic Area. The remaining 30% is allocated freely by the manager (equities, bonds, money market).")},{q:r("Quel est l'avantage fiscal exact ?","What is the precise tax benefit?"),a:r("Vous bénéficiez d'une réduction d'impôt sur le revenu de 25 % du montant investi (hors droits d'entrée). L'avantage est plafonné à 3 000 € pour un célibataire (12 000 € investis) et 6 000 € pour un couple (24 000 € investis). Les plus-values éventuelles à la sortie sont exonérées d'impôt sur le revenu, seuls les prélèvements sociaux (17,2 %) restent dus.","You benefit from an income tax reduction of 25% of the amount invested (excluding entry fees). The benefit is capped at €3,000 for a single investor (€12,000 invested) and €6,000 for a couple (€24,000 invested). Any capital gains on exit are exempt from income tax; only social levies (17.2%) remain due.")},{q:r("Quelle est la durée de blocage ?","What is the lock-up period?"),a:r("La conservation minimale est de 5 ans pour conserver l'avantage fiscal. En pratique, la liquidation effective du fonds intervient entre 8 et 10 ans après la souscription, parfois plus. Aucun marché secondaire n'existe pour sortir avant terme. Une cession anticipée entraîne la restitution intégrale de la réduction, sauf dans les cas limitatifs d'exonération prévus par la loi (décès, invalidité, licenciement). Cet horizon doit être intégré dès la décision de souscription.","The minimum holding period is 5 years to retain the tax benefit. In practice, effective fund liquidation takes place 8 to 10 years after subscription, sometimes longer. No secondary market exists to exit before maturity. Early disposal triggers full repayment of the reduction, except in the limited statutory exemptions (death, disability, redundancy). This horizon must be factored 
731in from the outset.")},{q:r("Quelle performance peut-on espérer ?","What level of performance can be expected?"),a:r("L'analyse des FCPI liquidés confirme une dispersion extrême des performances selon les gérants et les millésimes. La seule composante quasi-certaine est l'avantage fiscal immédiat (réduction de 25 % l'année N+1). La performance du portefeuille à la liquidation peut aller d'une perte partielle à un rendement attractif selon la qualité de sélection des participations. Colbr ne communique pas de projection de rendement sans analyse préalable du gérant et du millésime concernés.","Analysis of liquidated FCPIs confirms extreme performance dispersion across managers and vintages. The only near-certain component is the immediate tax benefit (25% reduction in year N+1). Portfolio performance at liquidation can range from a partial loss to an attractive return depending on the quality of holdings selection. Colbr does not communicate return projections without prior analysis of the specific manager and vintage.")},{q:r("FCPI ou FIP, quelle différence ?","FCPI or FIP — what is the difference?"),a:r("Le FCPI cible des PME innovantes sans contrainte géographique au-delà de l'EEE. Le FIP (Fonds d'Investissement de Proximité) cible des PME régionales (4 régions limitrophes) sans critère d'innovation. Les deux ouvrent droit à 25 % de réduction d'IR, dans des plafonds distincts. Ils peuvent être cumulés.","The FCPI targets innovative SMEs with no geographical constraint beyond the EEA. The FIP (Fonds d'Investissement de Proximité) targets regional SMEs (4 adjoining regions) with no innovation criterion. Both entitle investors to a 25% income tax reduction, within separate caps. They may be combined.")},{q:r("À qui s'adresse ce dispositif ?","Who is this scheme designed for?"),a:r("Aux contribuables dont l'impôt sur le revenu est suffisant pour absorber la réduction (à partir d'environ 3 000 € d'IR pour une personne seule), qui acceptent un risque de perte en capital et un blocage long, et qui souhaitent diversifier leur patr
731imoine sur le non-coté tout en optimisant leur fiscalité.","This scheme is designed for taxpayers whose income tax liability is sufficient to absorb the reduction (from approximately €3,000 in income tax for a single investor), who accept the risk of capital loss and an extended lock-up period, and who wish to diversify their wealth into private markets while optimising their tax position.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:wr},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:"FCPI"}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[r("Accéder au non-coté,","Access private markets,")," ",t.jsx("span",{className:"text-gradient-gold",children:r("réduire son impôt,","reduce your taxes,")})," ",r("avec discernement.","with discernment.")]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4 max-w-xl text-justify",children:r("Le FCPI (art. 199 terdecies-0 A du CGI) est un véhicule collectif régulé par l'AMF, investissant au moins 70 % de ses actifs dans des PME innovantes non cotées. En contrepartie d'une illiquidité structurelle (5 à 10 ans) et d'un risque réel de perte en capital, l'investisseur bénéficie d'une réduction d'impôt sur le revenu de 25 % du montant souscrit.","The FCPI (art. 199 terdecies-0 A of the French Tax Code) is a collective vehicle regulated by the AMF, investing at least 70% of its assets in unlisted innovative SMEs. In exchange for structural illiquidity (5 to 10 years) and a genuine risk of capital loss, the investor receives a 25% income tax reduction on the amount subscribed.")}),t.jsxs("p",{className:"text-sm text-primary/80 leading-relaxed mb-8 max-w-xl text-justify",children:[t.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-primary/80 mr-2 align-middle"}),r("Les performances des FCPI sont très dispersées selon les gérants et les millésimes. Colbr ne référence que les sociétés de gestion disposant d'un track-record documenté sur plusieurs cycles de marché.","FCPI performance varies widely across managers and vintages. Colbr lists only asset management firms with a documented track record across multiple market cycles.")]}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs("a",{href:"#offres",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[r("Découvrir notre sélection","Explore our selection"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:r("Échanger avec un conseiller","Speak with an advisor")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:wr},className:"grid grid-cols-2 gap-4",children:i.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+d*.08,ease:wr},className:"p-6 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1",children:u.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:u.label})]},d))})]})})]}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:wr},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:r("Pourquoi le FCPI","Why FCPI")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[r("Une fiscalité attractive pour","An attractive tax framework to")," ",t.jsx("span",{className:"text-gradient-gold",children:r("diversifier sur le non-coté","diversify into private markets")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:wr},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/30 transition-all duration-300",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(u.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))] mb-3",children:u.title}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:u.desc})]},d))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:wr},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:r("Le déroulé","How it works")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[r("De la souscription à la liquidation,","From subscription to liquidation,")," ",t.jsx("span",{className:"text-gradient-gold",children:r("un horizon incompressible de 8 à 10 ans","an irreducible 8 to 10-year horizon")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:a.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:wr},className:"p-7 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-3xl text-gradient-gold block mb-4",children:u.step}),t.jsx("h3",{className:"font-display text-base mb-3",children:u.title}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed text-justify",children:u.desc})]},u.step))})]})}),t.jsx("section",{id:"offres",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:wr},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:r("Notre sélection","Our selection")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[r("Notre présélection de","Our pre-selection of")," ",t.jsx("span",{className:"text-gradient-gold",children:r("gérants à track-record documenté","managers with documented track records")})]}),t.jsx("p",{className:"text-[hsl(var(--surface-warm-muted))] max-w-2xl mx-auto mt-5 text-justify md:text-center",children:r("Sociétés de gestion établies, équipes spécialisées sur le non-coté, historique de performance documenté : nous ne référençons que les FCPI qui répondent à nos critères de sélection.","Established asset management firms, teams specialised in private markets, documented performance history: we list only the FCPIs that meet our rigorous selection criteria.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:o.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:d*.08,ease:wr},className:"p-7 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/30 transition-all duration-300 flex flex-col",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(Qx,{
731className:"w-5 h-5 text-primary"})}),t.jsx("span",{className:"text-[10px] tracking-[0.2em] uppercase text-[hsl(var(--surface-warm-muted))] block mb-2",children:u.badge}),t.jsx("h3",{className:"font-display text-lg text-[hsl(var(--surface-taupe-foreground))] mb-3 blur-[3px] select-none",children:u.name}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify mb-5",children:u.desc}),t.jsx("ul",{className:"space-y-2 mt-auto",children:u.points.map((p,m)=>t.jsxs("li",{className:"flex gap-2 text-xs text-[hsl(var(--surface-warm-muted))]",children:[t.jsx("span",{className:"text-primary mt-0.5",children:"·"}),t.jsx("span",{children:p})]},m))})]},u.name))}),t.jsx("p",{className:"text-center text-xs text-[hsl(var(--surface-warm-muted))] mt-8 italic",children:r("Le nom des gérants sélectionnés et les caractéristiques du millésime en cours sont communiqués après premier entretien. Cette information n'est pas publique.","The names of selected managers and current vintage characteristics are disclosed after the initial meeting. This information is not public.")}),t.jsxs("div",{className:"mt-16 pt-12 border-t border-border/20",children:[t.jsx("p",{className:"text-center text-[10px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-8",children:r("Sociétés de gestion partenaires","Partner asset management firms")}),t.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-x-16 gap-y-8",children:[t.jsx("div",{className:"h-12 md:h-14 w-40 md:w-48 flex items-center justify-center",children:t.jsx("img",{src:RAe,alt:"Eurazeo",className:"max-h-full max-w-full object-contain opacity-70 hover:opacity-100 transition-opacity duration-300",loading:"lazy"})}),t.jsx("div",{className:"h-12 md:h-14 w-40 md:w-48 flex items-center justify-center",children:t.jsx("img",{src:DAe,alt:"Eiffel Investment Group",className:"max-h-full max-w-full object-contain opacity-70 hover:opacity-100 transition-opacity duration-300",loading:"lazy"})})]})]})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:wr},className:"mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:r("Transparence","Transparency")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[r("Les risques propres au FCPI,","The inherent risks of FCPI,")," ",t.jsx("span",{className:"text-gradient-gold",children:r("à évaluer avant toute souscription","to assess before any subscription")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl text-justify",children:r("Le FCPI est un placement de long terme à risque, à n'engager qu'après diversification de votre patrimoine de précaution et dans la limite d'une part raisonnable de votre épargne financière.","The FCPI is a long-term, risk-bearing investment and should only be considered once your precautionary savings are diversified and within a reasonable proportion of your overall financial portfolio.")})]}),t.jsx("div",{className:"space-y-3",children:l.map((u,d)=>t.jsxs(S.div,{initial:{opacity:0,x:-8},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.5,delay:d*.06,ease:wr},className:"flex gap-4 p-5 rounded-xl bg-card/40 border border-border/30",children:[t.jsx(Kt,{className:"w-4 h-4 text-primary/70 flex-shrink-0 mt-1"}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:u})]},d))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:wr},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:r("Questions fréquentes","Frequently asked questions")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[r("Vos questions sur le","Your questions about")," ",t.jsx("span",{className:"text-gradient-gold",children:"FCPI"})]})]}),t.jsx("div",{className:"space-y-3",children:c.map((u,d)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden bg-card/30",children:[t.jsxs("button",{onClick:()=>n(e===d?null:d),className:"w-full flex items-center justify-between p-6 text-left hover:bg-card/50 transition-colors",children:[t.jsx("span",{className:"font-display text-base pr-4 text-[hsl(var(--surface-taupe-foreground))]",children:u.q}),t.jsx(rt,{className:`w-4 h-4 text-[hsl(var(--surface-warm-muted))] flex-shrink-0 transition-transform duration-200 ${e===d?"rotate-180":""}`})]}),e===d&&t.jsx(S.div,{initial:{opacity:0,height:0}
731,animate:{opacity:1,height:"auto"},transition:{duration:.3},className:"px-6 pb-6",children:t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:u.a})})]},d))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:wr},children:[t.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-primary/30 bg-primary/5 mb-6",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary animate-pulse"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/80",children:r("Millésime ouvert","Vintage open")})]}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-5",children:[r("Identifiez le bon millésime","Identify the right vintage")," ",t.jsx("span",{className:"text-gradient-gold",children:r("avant fermeture de la collecte","before the fundraise closes")})]}),t.jsx("p",{className:"text-muted-foreground mb-10 max-w-xl mx-auto text-justify md:text-center",children:r("Les meilleurs FCPI ferment leur collecte plusieurs semaines avant le 31 décembre. Échangeons sur votre situation fiscale et identifions ensemble le millésime adapté à votre profil.","The best FCPIs close their fundraising several weeks before 31 December. Let us discuss your tax position and identify together the vintage best suited to your investor profile.")}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsxs("a",{href:"#rdv",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[r("Prendre rendez-vous","Schedule an appointment"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#offres",className:"inline-flex items-center justify-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:r("Revoir notre sélection","Review our selection")})]})]})})}),t.jsx(Ft,{items:[{to:"/girardin",label:r("Girardin","Girardin"),description:r("Un levier fiscal puissant pour les contribuables fortement imposés, adossé à des actifs productifs en outre-mer.","A powerful tax lever for heavily taxed investors, backed by productive assets in overseas territories."),eyebrow:r("Défiscalisation","Tax optimisation")},{to:"/groupement-forestier",label:r("Groupement forestier","Forestry grouping"),description:r("Triple levier fiscal sur un actif réel : IR, IFI et transmission — avec un engagement long.","Triple tax lever on a real asset: income tax, wealth tax and transfer — with a long-term commitment."),eyebrow:"IFI"},{to:"/private-equity",label:"Private Equity",description:r("Allez plus loin sur le non-coté avec une poche Private Equity.","Go further into private markets with a dedicated Private Equity allocation."),eyebrow:r("Non-coté","Private markets")}]}),t.jsx(re,{})]})},$Ae="/assets/france-valley-logo-DR_vhMQg.png",BAe="/assets/foret-france-valley-B504jh7O.jpg",pn=[.16,1,.3,1],zAe=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{value:"25 %",label:e("Réduction d'impôt sur le revenu","Income tax reduction")},{value:"75 %",label:e("Abattement transmission & succession","Transfer & inheritance allowance")},{value:"100 %",label:e("Exonération d'IFI","IFI wealth tax exemption")},{value:"10 ans",label:e("Horizon de placement minimum","Minimum investment horizon")}],s=[{icon:St,value:"654 M€",label:e("Capitalisation au 31/12/2025","Capitalisation as of 31/12/2025")},{icon:QQ,value:"+ 200",label:e("Forêts françaises détenues","French forests held")},{icon:Xc,value:"49",label:e("Départements couverts","Departments covered")},{icon:KQ,value:"+ 31 000 ha",label:e("Surface en portefeuille","Portfolio area")}],a=[{icon:xR,title:e("Label Greenfin","Greenfin Label"),desc:e("1ᵉʳ fonds forestier français labellisé Greenfin par le Ministère de la Transition Écologique. Une reconnaissance officielle de la rigueur environnementale de la gestion.","The first French forestry fund to receive the Greenfin label from the Ministry of Ecological Transition — an official recognition of the fund's environmental management standards.")},{icon:nT,title:e("Classification SFDR, Article 9","SFDR Classification, Article 9"),desc:e("Le fonds poursuit un objectif d'investissement durable au sens du règlement européen SFDR. La catégorie la plus exigeante, réservée aux actifs réellement vertueux.","The fund pursues a sustainable investment objective within the meaning of the European SFDR regulation — the most demanding category, reserved for genuinely responsible assets.")},{icon:We,title:e("Agrément ELTIF (AMF)","ELTIF Approval (AMF)"),desc:e("Agréé ELTIF par l'Autorité des Marchés Financiers le 11 mars 2025 (VISA AMF n° 25-03), permettant une distribution encadrée à l'échelle européenne.","Approved as an ELTIF by the Autorité des Marchés Financiers on 11 March 2025 (AMF VISA no. 25-03), enabling regulated distribution across Europe.")},{icon:IR,title:e("Forêts certifiées PEFC","PEFC-Certified Forests"),desc:e("L'intégralité des massifs détenus est certifiée PEFC, garantissant une gestion forestière durable conforme aux standards internationaux.","All forests held are PEFC-certified, guaranteeing sustainable forest management in line with international standards.")}],o=[{icon:Lt,title:e("Une réduction d'IR à l'entrée, inscrite dans le plafond de 10 000 €","An income tax reduction at entry, within the €10,000 cap"),desc:e("La souscription de parts de GFI ouvre droit à une réduction d'impôt sur le revenu de 25 % du montant investi, dans la limite de 50 000 € pour une personne seule (plafond de réduction : 12 500 €) et 100 000 € pour un couple (25 000 €). Cet avantage s'inscrit dans le plafond global des niches fiscales de 10 000 €/an et doit être articulé avec l'ensemble des autres dispositifs souscrits la mÃ
731ªme année.","Subscribing to GFI shares entitles the investor to a 25% income tax reduction on the amount invested, up to €50,000 for a single person (maximum reduction: €12,500) and €100,000 for a couple (€25,000). This benefit falls within the overall €10,000/year tax-shelter ceiling and must be coordinated with all other schemes subscribed in the same year.")},{icon:We,title:e("Exonération totale d'IFI, sans plafond","Full IFI exemption, with no cap"),desc:e("Les parts de groupement forestier sont intégralement exonérées d'Impôt sur la Fortune Immobilière, sans plafond de montant, tant que les parts sont détenues. Cette exonération est particulièrement significative pour les contribuables soumis à l'IFI : elle équivaut, pour un taux marginal de 1,5 %, à un rendement annuel additionnel de 1,5 % sur le capital exonéré.","Forestry group shares are fully exempt from the Real Estate Wealth Tax (IFI), with no cap, for as long as the shares are held. This exemption is particularly significant for IFI taxpayers: at a marginal rate of 1.5%, it is equivalent to an additional annual return of 1.5% on the exempt capital.")},{icon:St,title:e("Abattement de 75 % en succession, sous condition d'engagement de 30 ans","75% inheritance allowance, subject to a 30-year commitment"),desc:e("Le régime Monichon (art. 793 du CGI) prévoit un abattement de 75 % sur la valeur des parts pour le calcul des droits de mutation à titre gratuit, sans plafond de montant. Cet avantage est conditionné à un engagement de gestion durable de 30 ans par le bénéficiaire. Tout manquement à cet engagement entraîne la reprise des droits exonérés, avec intérêts.","The Monichon regime (art. 793 of the French Tax Code) provides a 75% allowance on share value for the calculation of gift and inheritance duties, with no cap. This benefit is conditional on a 30-year sustainable management commitment by the beneficiary. Any breach triggers clawback of the exempted duties, with interest.")},{icon:nT,title:e("Un actif réel peu volatil, mais structurellement illiquide","A low-volatility real asset, but structurally illiquid"),desc:e("La forêt française présente une faible corrélation aux marchés financiers et une volatilité historiquement contenue. Elle génère un rendement biologique (croissance des arbres) et une valorisation foncière tendanciellement alignée sur l'inflation de long terme. En contrepartie, l'actif est structurellement illiquide : la revente de parts s'effectue de gré à gré ou sur le marché secondaire organisé par la société de gestion, avec des délais pouvant dépasser plusieurs mois.","French forestland exhibits low correlation to financial markets and historically contained volatility. It generates a biological yield (tree growth) and land value appreciation that tends to track long-term inflation. In return, the asset is structurally illiquid: share disposal takes place over the counter or via the secondary market organised by the management company, with delays that may exceed several months.")}],l=[{step:"01",title:e("Année N, Souscription","Year N, Subscription"),desc:e("Vous souscrivez des parts de GFI avant le 31 décembre. Le groupement détient et acquiert un portefeuille forestier diversifié géré par des experts agréés. Le ticket d'entrée minimum (36 750 € pour France Valley Patrimoine) implique un engagement en capital significatif sur un actif illiquide.","You subscribe to GFI shares before 31 December. The group holds and acquires a diversified forestry portfolio managed by approved experts. The minimum investment (€36,750 for France Valley Patrimoine) entails a significant capital commitment in an illiquid asset.")},{step:"02",title:e("Année N+1, Réduction d'impôt","Year N+1, Tax reduction"),desc:e("Vous déclarez votre versement (case 7UN du formulaire 2042 RICI) l'année suivant la souscription. La réduction de 25 % est imputée sur votre impôt sur le revenu. Sa conservation requiert un maintien des parts pendant au moins 5 ans et demi.","You declare your payment (box 7UN of form 2042 RICI) the year following subscription. The 25% reduction is applied to your income tax. Retaining this benefit requires holding shares for at least 5.5 years.")},{step:"03",title:e("Années N à N+8, Détention et exploitation","Years N to N+8, Holding & operations"),desc:e("La forêt est gérée selon un Plan Simple de Gestion approuvé par le Centre National de la Propriété Forestière. Les revenus de coupe et d'exploitation (généralement 1 à 2 % par an) peuvent être distribués ou capitalisés. Pendant cette phase, l'actif est illiquide : aucune cession de parts sur un marché organisé n'est possible.","The forest is managed under a Simple Management Plan approved by the National Centre for Forest Property. Timber and exploitation revenues (typically 1% to 2% per year) may be distributed or capitalised. During this phase, the asset is illiquid: no share disposal on an organised market is possible.")},{step:"04",title:e("Année N+8 et au-delà, Sortie ou transmission","Year N+8 onwards, Exit or transfer"),desc:e("Après 5,5 ans minimum, une sortie est envisageable via le marché secondaire organisé par la société de gestion. Ce marché est peu liquide et les délais de cession peuvent dépasser plusieurs mois. La transmission par donation ou succession avec l'abattement de 75 % exige un engagement de gestion durable de 30 ans par le bénéficiaire.","After a minimum of 5.5 years, an exit may be contemplated via the secondary market organised by the management company. This market is illiquid and disposal timelines may exceed several months. Transfer by gift or inheritance with the 75% allowance requires a 30-year sustainable management commitment from the beneficiary.")}],c=[{icon:Lt,title:e("Impôt sur le revenu","Income tax"),rate:"−25 %",desc:e("Réduction de 25 % du montant investi, plafonnée à 12 500 € (célibataire) ou 25 000 € (couple). S'inscrit dans le plafond global des niches fiscales de 10 000 €/an. La conservation des parts pendant au moins 5 ans et demi est requise pour ne pas exposer à la reprise de cet avantage.","25% reduction on the amount invested, capped at €12,500 (single) or €25,000 (couple). Falls within the overall €10,000/year tax-shelter ceiling. Units must be held for at least 5.5 years to avoid exposure to clawback of this benefit.")},{icon:We,title:e("Impôt sur la Fortune Immobilière","Real Estate Wealth Tax (IFI)"),rate:"−100 %",desc:e("Exonération totale, sans plafond, valable tant que les parts sont conservées. Conditionné au maintien de la détention : toute cession met fin à l'exonération pour les parts cédées. L'impact est significatif pour les contribuables à l'IFI : à 1,5 % de taux effectif, l'exonération représente 1,5 % de rendement annuel additionnel.","Full exemption, with no cap, applicable for as long as shares are held. Conditional on maintaining the holding: any disposal terminates the exemption for the shares sold. The impact is material for IFI taxpayers: at an effective rate of 1.5%, the exemption represents 1.5% additional annual return.")},{icon:St,title:e("Donation & Succession","Gift & Inheritance"),rate:"−75 %",desc:e("Abattement de 75 % sur la valeur transmise, sans plafond, applicable aux donations comme aux successions. Condition absolue : le bénéficiaire doit s'engager à gérer durablement les forêts pendant 30 ans. Cet engagement est formalisé par un acte notarié et son non-respect entraîne la reprise des droits exonérés avec intérêts.","75% allowance on the transferred value, with no cap, applicable to both gifts and inheritances. Absolute condition: the beneficiary must commit to sustainably managing the forests for 30 years. This commitment is formalised by a notarial deed and any breach triggers repayment of the exempted duties with interest.")}],u=[e("Risque de valorisation : la valeur des parts dépend de l'évolution du marché du foncier forestier et des prix de vente du bois, qui ne sont pas garantis. Une revente peut intervenir à un prix inférieur au prix d'acquisition, notamment en cas de retournement du marché foncier ou d'une conjoncture défavorable sur les marchés du bois.","Valuation risk: share value depends on the evolution of the forestry land market and timber prices, neither of which is guaranteed. Resale may occur below the acquisition price, particularly in the event of a reversal in land markets or an unfavourable timber market environment."),e("Illiquidité structurelle : aucune bourse ni aucun marché organisé ne cote les parts de GFI. La revente s'effectue de gré à gré ou via le marché secondaire géré par la société de gestion, dans de
731s délais variables pouvant dépasser plusieurs mois. En cas de marché forestier dégradé, la revente peut s'avérer difficile voire impossible à court terme.","Structural illiquidity: GFI shares are not listed on any exchange or organised market. Disposal is over-the-counter or via the management company's secondary market, with variable timelines that may exceed several months. In a depressed forestry market, disposal may prove difficult or impossible in the short term."),e("Engagements de durée contraignants : la conservation minimale est de 5,5 ans pour la réduction d'IR. L'abattement successoral de 75 % exige un engagement formel de gestion durable de 30 ans par chaque bénéficiaire. Ces contraintes doivent être intégrées dans la stratégie patrimoniale globale avant toute souscription.","Constraining duration commitments: minimum holding for the income tax reduction is 5.5 years. The 75% inheritance allowance requires a formal 30-year sustainable management commitment from each beneficiary. These constraints must be integrated into the overall wealth strategy before any subscription."),e("Aléas naturels et climatiques : tempêtes, sécheresses, incendies et attaques sanitaires (scolytes, chenilles processionnaires) peuvent affecter durablement la valeur et la productivité des massifs. La diversification géographique du portefeuille et les couvertures assurantielles réduisent cette exposition sans l'éliminer. Le changement climatique constitue un facteur de risque structurel pour les forêts européennes.","Natural and climatic hazards: storms, droughts, fires and pest attacks (bark beetles, processionary caterpillars) may durably affect the value and productivity of forest estates. Geographic portfolio diversification and insurance coverage reduce but do not eliminate this exposure. Climate change represents a structural risk factor for European forests."),e("Frais à intégrer dans la modélisation : les GFI supportent des frais de souscription pouvant atteindre 8 % et des frais de gestion annuels de 1,5 % à 2,5 % de l'actif net. Ces frais sont prélevés indépendamment de la performance et réduisent le rendement courant. La rentabilité nette ne s'apprécie qu'en tenant compte de l'ensemble des frais et de l'avantage fiscal.","Fees to be included in modelling: GFIs incur subscription fees of up to 8% and annual management fees of 1.5% to 2.5% of net assets. These fees are charged regardless of performance and reduce the current yield. Net return can only be properly assessed by factoring in all fees and the tax benefit.")],d=[{q:e("Qu'est-ce qu'un Groupement Forestier d'Investissement (GFI) ?","What is an Investment Forestry Group (GFI)?"),a:e("Un GFI est une société civile régie par le Code monétaire et financier, agréée par l'AMF, dont l'objet exclusif est la détention et la gestion de massifs forestiers. Il permet à des investisseurs particuliers de détenir collectivement un patrimoine forestier diversifié, sans la contrainte de la propriété directe. En contrepartie, ils sont exposés à l'illiquidité des parts, aux aléas naturels affectant les forêts et aux engagements de durée attachés aux avantages fiscaux.","A GFI is a civil company governed by the Monetary and Financial Code, approved by the AMF, whose exclusive purpose is the ownership and management of forest estates. It allows individual investors to collectively hold a diversified forestry portfolio without the constraints of direct ownership. In return, they are exposed to share illiquidity, natural hazards affecting the forests and the duration commitments attached to the tax benefits.")},{q:e("Quels sont les avantages fiscaux exacts ?","What are the exact tax benefits?"),a:e("Trois avantages se cumulent : (1) Réduction d'impôt sur le revenu de 25 % du montant investi, plafonnée à 12 500 € (célibataire) ou 25 000 € (couple) ; (2) Exonération totale d'IFI sur la valeur des parts, sans plafond ; (3) Abattement de 75 % sur les droits de donation et de succession (régime Monichon), sans plafond, en contrepartie d'un engagement de gestion durable de 30 ans.","Three benefits comb
731ine: (1) Income tax reduction of 25% of the amount invested, capped at €12,500 (single) or €25,000 (couple); (2) Full IFI exemption on the value of shares, with no cap; (3) 75% allowance on gift and inheritance duties (Monichon regime), with no cap, in return for a 30-year sustainable management commitment.")},{q:e("Quelle est la durée de détention recommandée ?","What is the recommended holding period?"),a:e("L'engagement fiscal minimum pour conserver la réduction d'IR est de 5 ans et demi. En pratique, nous recommandons un horizon de détention de 8 à 10 ans minimum pour bénéficier pleinement de la valorisation du foncier et du cycle biologique de la forêt. L'avantage successoral exige quant à lui un engagement de gestion durable de 30 ans.","The minimum tax commitment to retain the IR reduction is 5.5 years. In practice, we recommend a holding horizon of at least 8 to 10 years to fully benefit from land value appreciation and the biological cycle of the forest. The inheritance benefit requires a 30-year sustainable management commitment.")},{q:e("Quelle performance peut-on espérer ?","What performance can be expected?"),a:e("La performance d'un GFI repose sur deux composantes : un rendement courant (revenus de coupe, de chasse et de carbone) de 1 à 2 % par an, et une valorisation du foncier forestier corrélée à l'inflation de long terme. Ces deux composantes ne sont pas garanties et dépendent des conditions de marché et des aléas naturels. L'avantage fiscal de 25 % à la souscription constitue la composante la plus prévisible de la performance globale.","A GFI's performance rests on two components: a current yield (timber, hunting and carbon revenues) of 1% to 2% per year, and forestry land appreciation correlated with long-term inflation. Neither of these components is guaranteed and both depend on market conditions and natural hazards. The 25% tax benefit at subscription is the most predictable component of overall performance.")}
731,{q:e("Est-ce un placement adapté à l'IFI ?","Is this a suitable investment for IFI taxpayers?"),a:e("Oui, c'est même l'un de ses principaux attraits. Les parts de GFI sont totalement exonérées d'IFI, sans plafond de montant. Pour un contribuable taxé à 1,5 % d'IFI, l'exonération équivaut à un rendement annuel additionnel de 1,5 % sur le capital investi, ce qui transforme significativement la rentabilité nette du placement.","Yes, this is in fact one of its main attractions. GFI shares are fully exempt from IFI, with no cap. For a taxpayer subject to 1.5% IFI, the exemption is equivalent to an additional annual return of 1.5% on invested capital, significantly improving the net yield of the investment.")},{q:e("À qui s'adresse ce dispositif ?","Who is this scheme for?"),a:e("Le GFI convient aux contribuables disposant d'un IR suffisant (à partir d'environ 3 000 €), exposés à l'IFI et souhaitant transmettre un patrimoine dans des conditions fiscalement optimisées. Il suppose un horizon d'investissement long (8 à 10 ans minimum recommandés), une capacité à supporter l'illiquidité et une compréhension des engagements de gestion durable attachés aux avantages successoraux.","The GFI suits taxpayers with sufficient income tax (from around €3,000), exposed to the IFI and wishing to transfer wealth under tax-efficient conditions. It requires a long investment horizon (minimum 8 to 10 years recommended), capacity to absorb illiquidity and an understanding of the sustainable management commitments attached to the inheritance benefits.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsx("div",{className:"container max-w-6xl mx-auto px-6 relative",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-16 items-center",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:pn},children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Groupement Forestier","Forestry Group")}),t.jsx("div",{className:"h-px w-8 bg-primary/60"})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6",children:[e("Investir dans la","Invest in")," ",t.jsx("span",{className:"text-gradient-gold",children:e("forêt française","French forestland")})," ",e("et optimiser sa fiscalité.","and optimise your taxes.")]}),t.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4 max-w-xl text-justify",children:e("Le Groupement Forestier d'Investissement (GFI) est une société civile agréée par l'AMF, dont l'objet exclusif est la détention et la gestion de massifs forestiers français. Il cumule trois avantages fiscaux distincts : 25 % de réduction d'IR à la souscription, exonération totale d'IFI durant la détention, abattement de 75 % sur les droits de donation et de succession. Ces avantages s'accompagnent d'une illiquidité structurelle et d'engagements de durée contraignants.","The Investment Forestry Group (GFI) is a civil company approved by the AMF, whose exclusive purpose is the ownership and management of French forest estates. It combines three distinct tax benefits: 25% income tax reduction at subscription, full IFI exemption during the holding period, and a 75% allowance on gift and inheritance duties. These benefits come with structural illiquidity and constraining duration commitments.")}),t.jsxs("p",{className:"text-sm text-primary/80 leading-relaxed mb-8 max-w-xl text-justify",children:[t.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-primary/80 mr-2 align-middle"}),e("Colbr sélectionne :","Colbr selects:")," ",t.jsx("strong",{className:"text-primary",children:"GFI France Valley Patrimoine"}),e(", retenu pour la taille et la diversification de son portefeuille (plus de 200 forêts, 49 départements), son label Greenfin, sa classification Article 9 SFDR et son agrément ELTIF délivré par l'AMF.",", retained for the size and diversification of its portfolio (over 200 forests, 49 departments), its Greenfin label, Article 9 SFDR classification and ELTIF approval granted by the AMF.")]}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsx(xt,{shareUrl:"https://fo2m8.share-eu1.hsforms.com/2RR-yM1aBSvKolaSB7b2c3A",title:e("Recevoir la documentation Groupement Forestier","Receive the Forestry Group documentation"),description:e("Renseignez vos coordonnées pour recevoir notre documentation confidentielle sur le Groupement Forestier d'Investissement. Aucune sollicitation commerciale.","Enter your details to receive our confidential documentation on the Forestry Investment Group. No sales solicitations."),eyebrow:e("Document confidentiel","Confidential document"),children:t.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Recevoir la documentation","Receive the documentation"),t.jsx(V,{className:"w-4 h-4"})]})}),t.jsx("a",{href:"#rdv",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Échanger avec un conseiller","Speak with an advisor")})]})]}),t.jsx(S.div,{initial:{opacity:0,y:20}
731,animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:pn},className:"relative",children:t.jsxs("div",{className:"relative rounded-2xl overflow-hidden border border-border/30 shadow-2xl",children:[t.jsx("img",{src:BAe,alt:e("Forêt française gérée durablement par France Valley","French forest sustainably managed by France Valley"),width:1600,height:1024,className:"w-full h-[480px] object-cover"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-background/90 via-background/20 to-transparent"}),t.jsx("div",{className:"absolute bottom-0 left-0 right-0 p-6 grid grid-cols-2 gap-3",children:i.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.5,delay:.4+m*.08,ease:pn},className:"p-4 rounded-xl bg-background/70 backdrop-blur-md border border-border/40",children:[t.jsx("span",{className:"font-display text-xl text-gradient-gold block mb-0.5",children:p.value}),t.jsx("span",{className:"text-[10px] text-muted-foreground leading-tight block",children:p.label})]},m))})]})})]})})]}),t.jsx("section",{id:"avantages",className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:pn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Pourquoi le Groupement Forestier","Why the Forestry Group")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Trois avantages fiscaux,","Three tax benefits,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("un actif tangible","a tangible asset")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:o.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:m*.08,ease:pn},className:"p-8 rounded-2xl bg-card/40 border border-border/30 hover:border-primary/30 transition-all duration-300",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(p.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("h3",{className:"font-display text-xl text-[hsl(var(--surface-taupe-foreground))] mb-3",children:p.title}),t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:p.desc})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:pn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Le trio fiscal","The tax trio")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight",children:[e("Trois avantages fiscaux distincts,","Three distinct tax benefits,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("trois conditions à respecter","three conditions to meet")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto mt-5 text-justify md:text-center",children:e("Aucun autre placement français ne cumule simultanément une réduction d'IR à l'entrée, une exonération d'IFI durant la détention et un abattement de 75 % à la transmission.","No other French investment simultaneously combines an income tax reduction at entry, IFI exemption during the holding period and a 75% allowance on transfer.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:c.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:m*.08,ease:pn},className:"p-8 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("div",{className:"w-11 h-11 rounded-xl bg-primary/10 flex items-center justify-center mb-5",children:t.jsx(p.icon,{className:"w-5 h-5 text-primary"})}),t.jsx("span",{className:"font-display text-3xl text-gradient-gold block mb-2",children:p.rate}),t.jsx("h3",{className:"font-display text-base mb-3",children:p.title}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed text-justify",children:p.desc})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:pn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Notre sélection","Our selection")}),t.jsx("div",{className:"flex justify-center mb-6",children:t.jsx("div",{className:"px-6 py-4 rounded-xl bg-white/95 border border-border/30 inline-flex items-center",children:t.jsx("img",{src:$Ae,alt:"France Valley Investissements",className:"h-12 w-auto object-contain",loading:"lazy"})})}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-5",children:["GFI"," ",t.jsx("span",{className:"text-gradient-gold",children:"France Valley Patrimoine"})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto text-justify md:text-center",children:e("Le plus important Groupement Forestier d'Investissement proposé aux investisseurs privés. Plus de 200 forêts françaises diversifiées sur 49 départements, gérées selon une charte de gestion durable certifiée PEFC.","The largest Investment Forestry Group available to private investors. Over 200 diversified French forests across 49 departments, managed under a PEFC-certified sustainable management charter.")})]}),t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mb-10",children:s.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:m*.06,ease:pn},className:"p-6 rounded-2xl bg-card/40 border border-border/30 text-center",children:[t.jsx(p.icon,{className:"w-5 h-5 text-primary mx-auto mb-3"}),t.jsx("span",{className:"font-display text-2xl text-gradient-gold block mb-1",children:p.value}),t.jsx("span",{className:"text-xs text-muted-foreground",children:p.label})]},m))}),t.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-10",children:a.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:m*.06,ease:pn},className:"p-6 rounded-2xl bg-card/40 border border-border/30 flex gap-4",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 flex items-center justify-center flex-shrink-0",children:t.jsx(p.icon,{className:"w-4 h-4 text-primary"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-base mb-2",children:p.title}),t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed text-justify",children:p.desc})]})]},m))}),t.jsx(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:pn},className:"p-8 rounded-2xl bg-gradient-to-br from-primary/8 to-transparent border border-primary/20",children:t.jsxs("div",{className:"grid md:grid-cols-3 gap-8 items-center",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-2 block",children:e("Ticket d'entrée","Minimum investment")}),t.jsx("span",{className:"font-display text-3xl text-gradient-gold block",children:"36 750 €"}),t.jsx("span",{className:"text-xs text-muted-foreground mt-1 block",children:e("Minimum de souscription","Minimum subscription")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-2 block",children:e("Impact carbone 2024","Carbon impact 2024")}),t.jsx("span",{className:"font-display text-3xl text-gradient-gold block",children:"129 823 t"}),t.jsx("span",{className:"text-xs text-muted-foreground mt-1 block",children:e("Équivalent CO₂ séquestré","CO₂ equivalent sequestered")})]}),t.jsxs("div",{children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-2 block",children:e("Composition","Composition")}),t.jsx("span",{className:"font-display text-3xl text-gradient-gold block",children:"66 / 34"}),t.jsx("span",{className:"text-xs text-muted-foreground mt-1 block",children:e("% feuillus / résineux","% hardwood / softwood")})]})]})})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:pn},className:"text-center mb-16",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Le déroulé","How it works")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("De l'acquisition forestière","From forest acquisition")," ",t.jsx("span",{className:"text-gradient-gold",children:e("à la transmission du patrimoine","to heritage transfer")})]})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:l.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:m*.08,ease:pn},className:"p-7 rounded-2xl bg-card/40 border border-border/30",children:[t.jsx("span",{className:"font-display text-3xl text-gradient-gold block mb-4",children:p.step}),t.jsx("h3",{className:"font-display text-base mb-3 text-[hsl(var(--surface-taupe-foreground))]",children:p.title}),t.jsx("p",{className:"text-xs text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:p.desc})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-5xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:pn},className:"mb-12",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Trans
731parence","Transparency")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-4",children:[e("Les risques propres au GFI,","The inherent GFI risks,")," ",t.jsx("span",{className:"text-gradient-gold",children:e("connaître","be aware of")})]}),t.jsx("p",{className:"text-muted-foreground max-w-2xl text-justify",children:e("Le Groupement Forestier est un placement de long terme à risque, à n'engager qu'après diversification de votre patrimoine de précaution et dans la limite d'une part raisonnable de votre épargne financière.","The Forestry Group is a long-term, risk-bearing investment, to be considered only after diversifying your precautionary savings and within a reasonable share of your financial portfolio.")})]}),t.jsx("div",{className:"space-y-3",children:u.map((p,m)=>t.jsxs(S.div,{initial:{opacity:0,x:-8},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.5,delay:m*.06,ease:pn},className:"flex gap-4 p-5 rounded-xl bg-card/40 border border-border/30",children:[t.jsx(Kt,{className:"w-4 h-4 text-primary/70 flex-shrink-0 mt-1"}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:p})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20 bg-[hsl(var(--surface-taupe))]",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:pn},className:"text-center mb-14",children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-[hsl(var(--surface-warm-muted))] mb-4 block",children:e("Questions fréquentes","Frequently asked questions")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-[hsl(var(--surface-taupe-foreground))]",children:[e("Vos questions sur le","Your questions about the")," ",t.jsx("span",{className:"text-gradient-gold",children:e("Groupement Forestier","Forestry Group")})]})]}),t.jsx("div",{className:"space-y-3",children:d.map((p,m)=>t.jsxs("div",{className:"border border-border/30 rounded-xl overflow-hidden bg-card/30",children:[t.jsxs("button",{onClick:()=>r(n===m?null:m),className:"w-full flex items-center justify-between p-6 text-left hover:bg-card/50 transition-colors",children:[t.jsx("span",{className:"font-display text-base pr-4 text-[hsl(var(--surface-taupe-foreground))]",children:p.q}),t.jsx(rt,{className:`w-4 h-4 text-[hsl(var(--surface-warm-muted))] flex-shrink-0 transition-transform duration-200 ${n===m?"rotate-180":""}`})]}),n===m&&t.jsx(S.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},transition:{duration:.3},className:"px-6 pb-6",children:t.jsx("p",{className:"text-sm text-[hsl(var(--surface-warm-muted))] leading-relaxed text-justify",children:p.a})})]},m))})]})}),t.jsx("section",{className:"py-24 border-t border-border/20",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,ease:pn},children:[t.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-primary/30 bg-primary/5 mb-6",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary animate-pulse"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/80",children:e("Millésime ouvert","Vintage open")})]}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-5",children:[e("Sécurisez votre","Secure your")," ",t.jsx("span",{className:"text-gradient-gold",children:e("réduction d'impôt 2026","2026 tax reduction")})]}),t.jsx("p",{className:"text-muted-foreground mb-10 max-w-xl mx-auto text-justify md:text-center",children:e("Les meilleurs Groupements Forestiers ferment leur collecte plusieurs semaines avant le 31 décembre. Échangeons sur votre situation patrimoniale et identifions ensemble le millésime adapté à votre profil.","The best Forestry Groups close their fundraising several weeks before 31 December. Let's discuss your financial situation and identify together the vintage suited to your profile.")}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsxs("a",{href:"#rdv",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Prendre rendez-vous","Book an appointment"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#avantages",className:"inline-flex items-center justify-center gap-2 px-7 py-3.5 text-sm font-medium border border-border/60 text-muted-foreground hover:text-foreground hover:border-border transition-all duration-200 rounded-lg",children:e("Revoir les avantages","Review the benefits")})]})]})})}),t.jsx(Ft,{items:[{to:"/fcpi",label:"FCPI",description:e("Investissez dans l'innovation avec une réduction d'impôt sur le revenu.","Invest in innovation with an income tax reduction."),eyebrow:"IR"},{to:"/girardin",label:"Girardin",description:e("Maximisez votre réduction d'IR via le dispositif Girardin Industriel.","Maximise your income tax reduction via the Girardin Industriel scheme."),eyebrow:e("IR Outre-mer","IR Overseas")},{to:"/family-office",label:"Family Office",description:e("Intégrez vos actifs forestiers dans une stratég
731ie patrimoniale globale.","Integrate your forestry assets into a comprehensive wealth strategy."),eyebrow:e("Pilotage global","Global management")}]}),t.jsx(re,{})]})},Jn=[.16,1,.3,1],UAe=()=>{const{tr:e}=K(),n=[{icon:pr,title:e("Simple","Simple"),desc:e("Vous répondez à des questions claires. Fini l'angoisse des formulaires fiscaux et des cases à cocher.","You answer clear questions. No more anxiety about tax forms and check boxes.")},{icon:ba,title:e("Personnalisé","Personalised"),desc:e("Un expert fiscaliste à vos côtés, qui connaît votre situation patrimoniale et vos objectifs.","A tax expert at your side, who knows your wealth situation and your objectives.")},{icon:ui,title:e("Optimisé","Optimised"),desc:e("Toutes les réductions, crédits et dispositifs auxquels vous avez droit, identifiés et activés.","Every reduction, credit and scheme you are entitled to, identified and activated.")}],r=[{name:e("Standard","Standard"),desc:e("Revenus et charges classiques, sans particularité technique.","Standard income and expenses, with no technical particularity."),items:[e("Salaires et traitements","Salaries and wages"),e("Revenus financiers","Financial income"),e("Régimes micro (BIC, BNC, foncier)","Micro regimes (BIC, BNC, property)"),e("Réductions et crédits d'impôt classiques","Standard tax reductions and credits")],pricing:[{label:e("Outil en ligne","Online tool"),value:e("Offert","Free")},{label:e("Expert en visio, client","Expert by video, client"),value:"150 €"},{label:e("Expert en visio, non-client","Expert by video, non-client"),value:"200 €"}]},{name:e("Avancé","Advanced"),desc:e("Présence d'éléments nécessitant calculs, justificatifs ou formulaires complémentaires.","Items requiring calculations, supporting documents or additional forms."),items:[e("Locations meublées ou nues au réel","Furnished or bare rentals on actual basis"),e("SCPI européennes / Crypto-actifs","European SCPI / Crypto-assets"),e("Revenus professionnels au réel (BIC/BNC)","Professional income on actual basis (BIC/BNC)"),e("Modification du foyer fiscal","Change in tax household")],pricing:[{label:e("Outil en ligne","Online tool"),value:e("Offert","Free")},{label:e("Expert en visio, client","Expert by video, client"),value:"250 €"},{label:e("Expert en visio, non-client","Expert by video, non-client"),value:"300 €"}],highlighted:!0},{name:e("Sur-mesure","Bespoke"),desc:e("Situation patrimoniale ou fiscale nécessitant une expertise approfondie.","Wealth or tax situation requiring in-depth expertise."),items:[e("Revenus de sources internationales","Income from international sources"),e("Rémunération en actions (stock-options, AGA, BSPCE)","Equity-based compensation (stock options, free shares, BSPCE)"),e("Plus-values complexes","Complex capital gains"),e("Montages immobiliers et holdings","Real-estate structures and holdings"),e("Revenus exceptionnels","Exceptional income")],pricing:[{label:e("Outil en ligne","Online tool"),value:e("Offert","Free")},{label:e("Expert en visio, client","Expert by video, client"),value:"400 €"},{label:e("Expert en visio, non-client","Expert by video, non-client"),value:"500 €"}]}],i=[{icon:dc,title:e("Experts fiscalistes diplômés","Qualified tax experts"),desc:e("Notre équipe réunit des fiscalistes formés en cabinet et en banque privée, avec une expertise transverse sur l'IR, l'IFI et la fiscalité du dirigeant.","Our team brings together tax experts trained in law firms and private banks, with cross-cutting expertise on income tax, wealth tax and executive taxation.")},{icon:oa,title:e("Optimisation chiffrée","Quantified optimisation"),desc:e("Avant chaque action, nous quantifions le gain fiscal et présentons les alternatives. Aucune décision sans démonstration.","Before any action, we quantify the tax gain and present alternatives. No decision without a demonstration.")},{icon:va,title:e("Lien avec votre patrimoine","Linked to your wealth"),desc:e("La déclaration s'inscrit dans votre stratégie globale : PER, déficit foncier, FCPI, Girardin, donations. Une vision intégrée.","The filing fits into your overall strategy: PER, property deficit, FCPI, Girardin, gifts. An integrated view.")}],s=[{icon:YQ,label:e("Déduction","Deduction"),title:e("Réduire l'assiette imposable","Reduce the taxable base"),desc:e("Le versement vient diminuer votre revenu imposable avant calcul de l'impôt. Le gain dépend de votre tranche marginale (jusqu'à 45%).","The contribution lowers your taxable income before tax is calculated. The gain depends on your marginal rate (up to 45%)."),example:e("PER, déficit foncier, pension alimentaire, Monuments Historiques.","PER, property deficit, alimony, listed historical monuments.")},{icon:VQ,label:e("Réduction","Reduction"),title:e("Imputer un montant sur l'impôt","Offset an amount against tax"),desc:e("Un pourcentage de l'investissement vient se soustraire directement à votre impôt sur le revenu, dans la limite de plafonds.","A percentage of the investment is deducted directly from your income tax, within set caps."),example:e("FCPI, FIP, SOFICA, Girardin, Pinel, Denormandie, Malraux.","FCPI, FIP, SOFICA, Girardin, Pinel, Denormandie, Malraux.")},{icon:Bb,label:e("Crédit d'impôt","Tax credit"),title:e("Récupérer même sans impôt dû","Recover even with no tax due"),desc:e("Identique à la réduction, mais le surplus vous est remboursé si votre impôt est inférieur. Avantage net pour tous les foyers.","Like a reduction, but any surplus is refunded if your tax is lower. A net advantage for every household."),example:e("Emploi à domicile, garde d'enfant, transition énergétique, dons.","Home employment, childcare, energy transition, donations.")},{icon:Sd,label:e("Report & lissage","Deferral & smoothing"),title:e("Décaler la fiscalité dans le temps","Shift taxation over time"),desc:e("Capitaliser sans frottement (PEA, assurance-vie), reporter une plus-value (apport
731-cession 150-0 B ter) ou lisser des revenus exceptionnels (quotient).","Compound without friction (PEA, life insurance), defer a capital gain (contribution-sale 150-0 B ter) or smooth exceptional income (quotient)."),example:e("Assurance-vie, PEA, holding patrimoniale, quotient.","Life insurance, PEA, wealth holding, quotient.")}],a=[{category:e("Épargne & retraite","Savings & retirement"),icon:Jh,items:[{name:e("Plan Épargne Retraite (PER)","Retirement Savings Plan (PER)"),gain:e("Jusqu'à 45% du versement","Up to 45% of the contribution"),note:e("Plafond 10% des revenus pro · Déduction du revenu imposable","Cap at 10% of professional income · Deduction from taxable income"),to:"/plan-epargne-retraite"},{name:e("Assurance-vie","Life insurance"),gain:e("Abattement 4 600 € / 9 200 €","Allowance €4,600 / €9,200"),note:e("Fiscalité allégée après 8 ans · Outil de transmission","Reduced taxation after 8 years · Transfer tool"),to:"/assurance-vie"},{name:"PEA",gain:e("0% d'impôt après 5 ans","0% tax after 5 years"),note:e("Hors prélèvements sociaux · Plafond 150 000 €","Excluding social contributions · Cap €150,000"),to:"/plan-epargne-actions"}]},{category:e("Investissement & innovation","Investment & innovation"),icon:rn,items:[{name:"FCPI",gain:e("25% de réduction d'IR","25% income-tax reduction"),note:e("Plafond versement 12 000 € (24 000 € en couple) · Blocage 5-10 ans","Contribution cap €12,000 (€24,000 for couples) · Lock-up 5-10 years"),to:"/fcpi"},{name:e("FIP / FIP Corse / Outre-mer","FIP / FIP Corsica / Overseas"),gain:e("25% à 30% de réduction d'IR","25% to 30% income-tax reduction"),note:e("Soutien aux PME régionales · Risque en capital","Support for regional SMEs · Capital at risk"),to:"/fcpi"},{name:e("Groupement Forestier d'Investissement","Forestry Investment Group"),gain:e("18% de réduction d'IR","18% income-tax reduction"),note:e("Exonération IFI partielle · Transmission optimisée","Partial wealth-tax exemption · Optimised transfer"),to:"/groupement-forestier"}]},{category:e("Immobilier","Real estate"),icon:Eo,items:[{name:"Denormandie",gain:e("Jusqu'à 21% du prix sur 12 ans","Up to 21% of the price over 12 years"),note:e("Rénovation dans l'ancien · Centres-villes éligibles","Renovation of older properties · Eligible city centres"),to:"/denormandie"},{name:e("Déficit foncier","Property deficit"),gain:e("Imputation jusqu'à 10 700 €/an","Offset up to €10,700/year"),note:e("Travaux déductibles · Report 10 ans sur revenus fonciers","Deductible works · 10-year carry forward on rental income"),to:null},{name:e("Monuments Historiques / Malraux","Historical Monuments / Malraux"),gain:e("Déduction sans plafond / 22-30%","Unlimited deduction / 22-30%"),note:e("Patrimoine classé · Profils fortement imposés","Listed heritage · Heavily taxed profiles"),to:null}]},{category:e("Outre-mer & culture","Overseas & culture"),icon:qR,items:[{name:e("Girardin Industriel","Industrial Girardin"),gain:e("Jusqu'à 110-120% du versement","Up to 110-120% of the contribution"),note:e("One-shot sur 1 an · Hors plafond niches sous conditions","One-shot over 1 year · Outside the niches cap under conditions"),to:"/girardin"},{name:"SOFICA",gain:e("30% à 48% de réduction d'IR","30% to 48% income-tax reduction"),note:e("Financement du cinéma · Blocage 5-10 ans","Film financing · Lock-up 5-10 years"),to:null},{name:e("Mécénat & dons","Patronage & donations"),gain:e("66% à 75% de réduction","66% to 75% reduction"),note:e("Plafond 20% du revenu imposable · Reportable 5 ans","Cap at 20% of taxable income · 5-year carry forward"),to:null}]}],o=[{icon:_q,title:e("Diagnostic","Diagnostic"),desc:e("Analyse de votre dernière déclaration, simulation de votre tranche marginale, identification des revenus exceptionnels et de l'IFI éventuel.","Review of your last filing, simulation of your marginal bracket, identification of exceptional income and any wealth tax.")},{icon:ER,title:e("Stratégie","Strategy"),desc:e("Sélection des leviers adaptés à votre horizon, votre appétence au risque et votre objectif (revenus, transmission, retraite).","Selection of levers matched to your horizon, risk appetite and goal (income, transfer, retirement).")},{icon:kR,title:e("Mise en œuvre","Implementation"),desc:e("Souscription des dispositifs, collecte des justificatifs, coordination avec votre notaire ou expert-comptable si besoin.","Subscription to schemes, collection of supporting documents, coordination with your notary or accountant if needed.")},{icon:PR,title:e("Déclaration & suivi","Filing & follow-up"),desc:e("Préparation de la déclaration, vérification des cases, défense en cas de contrôle, ajustement annuel selon les évolutions législatives.","Preparation of the filing, checking of boxes, defence in case of audit, annual adjustment based on legislative changes.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-20 md:pt-40 md:pb-28",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20}
731,animate:{opacity:1,y:0},transition:{duration:.8,ease:Jn},className:"max-w-3xl",children:[t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground mb-6",children:e("Impôt & déclaration","Tax & filing")}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl leading-[1.05] text-foreground mb-6",children:[e("Déclaration optimisée.","Optimised filing."),t.jsx("br",{}),t.jsx("span",{className:"text-primary",children:e("Réductions d'impôts maximales.","Maximum tax reductions.")})]}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground leading-relaxed text-justify mb-10 max-w-2xl",children:e("Un outil en ligne gratuit pour préparer votre déclaration de revenus, et un fiscaliste à vos côtés pour les situations qui le méritent. Nous identifions chaque dispositif applicable, sécurisons les justificatifs et défendons votre intérêt face à l'administration.","A free online tool to prepare your income tax return, with a tax expert at your side for situations that warrant it. We identify every applicable scheme, secure supporting documents and defend your interests before the tax authorities.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-6 py-3 text-[13px] tracking-wide font-medium bg-foreground text-background rounded-full hover:bg-foreground
731/90 transition-all duration-300",children:[e("Échanger avec un fiscaliste","Speak with a tax expert"),t.jsx(V,{className:"w-3.5 h-3.5"})]}),t.jsx("a",{href:"https://app.colbr.co/auth/signin",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-6 py-3 text-[13px] tracking-wide font-medium border border-border hover:border-foreground/40 rounded-full transition-all duration-300",children:e("Démarrer en ligne, Gratuit","Start online, free")})]})]})})}),t.jsx("section",{className:"py-20 md:py-28 bg-muted/30 border-y border-border/50",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:n.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:c*.1,ease:Jn},className:"flex flex-col gap-4",children:[t.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center",children:t.jsx(l.icon,{className:"w-4 h-4 text-primary"})}),t.jsx("h3",{className:"font-display text-xl text-foreground",children:l.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:l.desc})]},l.title))})})}),t.jsx("section",{className:"py-20 md:py-28",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Jn},className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground mb-4",children:e("Nos accompagnements","Our support packages")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-4",children:e("Trois niveaux d'accompagnement, selon votre situation","Three levels of support, depending on your situation")}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:e("De la déclaration courante à la situation patrimoniale complexe, nous adaptons l'expertise et le temps consacré au juste niveau.","From standard filings to complex wealth situations, we calibrate expertise and time to the right level.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:r.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:c*.1,ease:Jn},className:`relative flex flex-col rounded-2xl border p-8 ${l.highlighted?"border-primary/40 bg-primary/[0.03]":"border-border bg-card"}`,children:[l.highlighted&&t.jsx("span",{className:"absolute -top-3 left-8 text-[9px] tracking-[0.2em] uppercase bg-primary text-primary-foreground px-3 py-1 rounded-full font-medium",children:e("Le plus choisi","Most chosen")}),t.jsx("h3",{className:"font-display text-2xl text-foreground mb-3",children:l.name}),t.jsx("p",{className:"text-[13px] text-muted-foreground leading-relaxed mb-6",children:l.desc}),t.jsx("ul",{className:"space-y-2.5 mb-8 flex-1",children:l.items.map(u=>t.jsxs("li",{className:"flex items-start gap-2.5 text-[13px] text-foreground/80",children:[t.jsx(Xl,{className:"w-3.5 h-3.5 text-primary mt-0.5 shrink-0"}),t.jsx("span",{children:u})]},u))}),t.jsxs("div",{className:"border-t border-border/60 pt-5 space-y-2",children:[t.jsx("span",{className:"block text-[10px] tracking-[0.2em] uppercase text-muted-foreground mb-3",children:e("Tarifs","Pricing")}),l.pricing.map(u=>t.jsxs("div",{className:"flex items-center justify-between text-[12px]",children:[t.jsx("span",{className:"text-muted-foreground",children:u.label}),t.jsx("span",{className:"text-foreground font-medium",children:u.value})]},u.label))]})]},l.name))})]})}),t.jsx("section",{className:"py-20 md:py-28 bg-muted/30 border-y border-border/50",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Jn},className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground mb-4",children:e("Optimisation fiscale","Tax optimisation")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-4",children:e("Quatre leviers, une mécanique unique","Four levers, one mechanism")}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:e("Toute stratég
731ie d'allègement repose sur quatre familles d'outils. Les confondre, c'est passer à côté de plusieurs milliers d'euros chaque année. Les combiner intelligemment, c'est optimiser sans risque ni montage agressif.","Any tax-relief strategy rests on four families of tools. Confusing them means leaving several thousand euros on the table each year. Combining them intelligently means optimising without risk or aggressive structuring.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:c*.08,ease:Jn},className:"rounded-2xl border border-border bg-card p-7",children:[t.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[t.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center shrink-0",children:t.jsx(l.icon,{className:"w-4 h-4 text-primary"})}),t.jsxs("div",{children:[t.jsx("span",{className:"block text-[10px] tracking-[0.2em] uppercase text-primary/80 mb-1",children:l.label}),t.jsx("h3",{className:"font-display text-lg text-foreground",children:l.title})]})]}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify mb-4",children:l.desc}),t.jsx("p",{className:"text-[12px] text-foreground/60 italic border-l-2 border-primary/30 pl-3",children:l.example})]},l.label))})]})}),t.jsx("section",{className:"py-20 md:py-28",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Jn},className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground mb-4",children:e("Notre boîte à outils","Our toolkit")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-4",children:e("Les dispositifs que nous activons pour vous","The schemes we activate for you")}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:e("Une sélection rigoureuse, classée par finalité patrimoniale. Chaque dispositif est étudié au regard de votre TMI, de votre horizon et de vos contraintes de liquidité.","A rigorous selection, classified by wealth purpose. Each scheme is studied against your marginal rate, your horizon and your liquidity constraints.")})]}),t.jsx("div",{className:"grid md:grid-cols-2 gap-8",children:a.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:c*.08,ease:Jn},className:"rounded-2xl border border-border bg-card p-7",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6 pb-5 border-b border-border/60",children:[t.jsx("div",{className:"w-9 h-9 rounded-full bg-primary/10 flex items-center justify-center",children:t.jsx(l.icon,{className:"w-4 h-4 text-primary"})}),t.jsx("h3",{className:"font-display text-lg text-foreground",children:l.category})]}),t.jsx("ul",{className:"space-y-5",children:l.items.map(u=>{const d=t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-start justify-between gap-3 mb-1",children:[t.jsx("span",{className:"text-[13px] text-foreground font-medium",children:u.name}),t.jsx("span",{className:"text-[11px] text-primary whitespace-nowrap font-medium",children:u.gain})]}),t.jsx("span",{className:"block text-[11px] text-muted-foreground leading-relaxed",children:u.note})]});return t.jsx("li",{children:u.to?t.jsxs("a",{href:u.to,className:"block group hover:bg-muted/40 -mx-2 px-2 py-1 rounded-md transition-colors",children:[d,t.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] tracking-[0.15em] uppercase text-foreground/40 group-hover:text-foreground/70 mt-1.5",children:[e("Découvrir","Discover")," ",t.jsx(V,{className:"w-2.5 h-2.5"})]})]}):t.jsx("div",{children:d})},u.name)})})]},l.category))}),t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Jn},className:"mt-12 rounded-2xl border border-primary/20 bg-primary/[0.04] p-7 flex flex-col md:flex-row items-start gap-5",children:[t.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/15 flex items-center justify-center shrink-0",children:t.jsx(Kt,{className:"w-4 h-4 text-primary"})}),t.jsxs("div",{className:"flex-1",children:[t.jsx("h3",{className:"font-display text-lg text-foreground mb-2",children:e("Plafonnement global des niches fiscales","Overall cap on tax niches")}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:e("La plupart des réductions et crédits d'impôt sont plafonnés à 10 000 € par foyer fiscal et par an, porté à 18 000 € avec les investissements Outre-mer (Girardin) et SOFICA. Les déductions du revenu (PER, déficit foncier, Monuments Historiques) ne sont pas concernées par ce plafond. Notre rôle : composer la bonne stratification.","Most tax reductions and credits are capped at €10,000 per tax household per year, raised to €18,000 with overseas investments (Girardin) and SOFICA. Income deductions (PER, property deficit, Historical Monuments) are not affected by this cap. Our role: composing the right stratification.")})]})]})]})}),t.jsx("section",{className:"py-20 md:py-28 bg-muted/30 border-y border-border/50",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Jn},className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground mb-4",children:e("Méthodologie","Methodology")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground",children:e("Quatre étapes, zéro improvisation","Four steps, zero improvisation")})]}),t.jsx("div",{className:"grid md:grid-cols-4 gap-8",children:o.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:c*.08,ease:Jn},className:"relative",children:[t.jsx("span",{className:"absolute -top-2 -left-1 font-display text-5xl text-primary/10 leading-none select-none",children:String(c+1).padStart(2,"0")}),t.jsxs("div",{className:"relative pl-3",children:[t.jsx("div",{className:"w-9 h-9 rounded-full bg-primary/10 flex items-center justify-center mb-4",children:t.jsx(l.icon,{className:"w-4 h-4 text-primary"})}),t.jsx("h3",{className:"font-display text-lg text-foreground mb-2",children:l.title}),t.jsx("p",{className:"text-[13px] text-muted-foreground leading-relaxed text-justify",children:l.desc})]})]}
731,l.title))})]})}),t.jsx("section",{className:"py-20 md:py-28",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Jn},className:"max-w-2xl mb-16",children:[t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground mb-4",children:e("Notre engagement","Our commitment")}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground",children:e("Une expertise fiscale au service de votre patrimoine","Tax expertise at the service of your wealth")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-10",children:i.map((l,c)=>t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:c*.1,ease:Jn},className:"flex flex-col gap-4",children:[t.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center",children:t.jsx(l.icon,{className:"w-4 h-4 text-primary"})}),t.jsx("h3",{className:"font-display text-lg text-foreground",children:l.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:l.desc})]},l.title))})]})}),t.jsx("section",{id:"rdv",className:"py-20 md:py-32 bg-muted/30 border-t border-border/50",children:t.jsx("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:t.jsxs(S.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Jn},children:[t.jsx("h2",{className:"font-display text-3xl md:text-5xl text-foreground mb-6",children:e("Préparez votre déclaration sereinement","Prepare your filing with peace of mind")}),t.jsx("p",{className:"text-base text-muted-foreground leading-relaxed mb-10 max-w-2xl mx-auto",children:e("Un échange de 30 minutes pour évaluer votre situation, identifier les optimisations et définir le bon niveau d'accompagnement.","A 30-minute conversation to assess your situation, identify optimisations and agree on the right level of support.")}),t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-8 py-3.5 text-[13px] tracking-wide font-medium bg-foreground text-background rounded-full hover:bg-foreground
731/90 transition-all duration-300",children:[e("Prendre rendez-vous","Book a meeting"),t.jsx(V,{className:"w-3.5 h-3.5"})]})]})})}),t.jsx(re,{})]})},J3=[.16,1,.3,1],VAe=()=>{const{tr:e}=K(),n=[{icon:rn,title:e("Holding patrimoniale","Wealth holding"),desc:e("Structurer la détention d'actifs professionnels et financiers, organiser la remontée de dividendes et préparer la cession dans un cadre juridique stable.","Structure the ownership of professional and financial assets, organise dividend flows and prepare a sale within a stable legal framework.")},{icon:la,title:e("Apport-cession (150-0 B ter)","Contribution-sale (150-0 B ter)"),desc:e("Encadrer le report d'imposition d'une plus-value de cession, sécuriser l'obligation de remploi et sélectionner les véhicules éligibles.","Frame the deferral of a capital gain, secure the reinvestment obligation and select eligible vehicles.")},{icon:uc,title:e("Démembrement & transmission","Dismemberment & transfer"),desc:e("Donation-partage, démembrement de propriété, pacte Dutreil : organiser le passage de génération sans fragiliser le contrôle.","Gift-partition, dismemberment of ownership, Dutreil pact: organise the generational handover without weakening control.")},{icon:wR,title:e("Mobilité & résidence fiscale","Mobility & tax residence"),desc:e("Expatriation, exit tax, conventions fiscales : analyser les conséquences avant le départ plutôt que de les subir après.","Expatriation, exit tax, tax treaties: analyse the consequences before departure rather than enduring them afterwards.")}],r=[{icon:_q,step:"01",title:e("Cartographie","Mapping"),desc:e("Inventaire des actifs, des structures existantes et des échéances juridiques ou fiscales à venir.","Inventory of assets, existing structures and upcoming legal or tax deadlines.")},{icon:PR,step:"02",title:e("Scénarios","Scenarios"),desc:e("Deux à trois architectures possibles, chiffrées, avec leurs contraintes et leurs coûts de mise en œuvre.","Two or three possible architectures, quantified, with their constraints and implementation costs.")},{icon:kR,step:"03",title:e("Mise en œuvre","Implementation"),desc:e("Coordination avec votre avocat, notaire et expert-comptable. Nous produisons la documentation et suivons les actes.","Coordination with your lawyer, notary and accountant. We produce the documentation and follow the deeds.")},{icon:dc,step:"04",title:e("Suivi","Monitoring"),desc:e("Revue annuelle de la structure, adaptation aux évolutions législatives et contrôle des obligations déclaratives.","Annual review of the structure, adaptation to legislative changes and control of reporting obligations.")}],i=[e("Nous ne vendons pas de produit pour son seul avantage fiscal.","We do not sell a product for its tax advantage alone."),e("Nous ne proposons aucun montage dont la substance économique ne tient pas sans l'argument fiscal.","We propose no structure whose economic substance does not stand without the tax argument."),e("Nous n'intervenons pas sans coordination avec vos conseils juridiques existants.","We do not act without coordination with your existing legal advisers.")];return t.jsxs("div",{className:"min-h-screen bg-background",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-20 md:pt-40 md:pb-28",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:t.jsxs(S.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,ease:J3},className:"max-w-3xl",children:[t.jsx("span",{className:"inline-block text-[10px] tracking-[0.25em] uppercase text-muted-foreground mb-6",children:e("Ingénierie patrimoniale","Wealth engineering")}),t.jsxs("h1",{className:"font-display text-4xl md:text-6xl leading-[1.05] text-foreground mb-6",children:[e("Construire le cadre","Build the framework"),t.jsx("br",{}),t.jsx("span",{className:"text-primary",children:e("avant de placer le capital.","before deploying capital.")})]}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground leading-relaxed text-justify mb-10 max-w-2xl",children:e("L'ingénierie patrimoniale précède l'allocation. Avant de choisir un support, il faut décider qui détient quoi, sous quelle forme juridique, avec quelles conséquences en matière de transmission, de contrôle et de fiscalité. C'est le travail que nous menons avec vos conseils, opération par opération.","Wealth engineering precedes allocation. Before choosing an investment, one must decide who owns what, under which legal form, and with what consequences for transfer, control and taxation. This is the work we carry out with your advisers, operation by operation.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-6 py-3 text-[13px] tracking-wide font-medium bg-foreground text-background rounded-full hover:bg-foreground
731/90 transition-all duration-300",children:[e("Échanger avec un ingénieur patrimonial","Talk to a wealth engineer"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/impot-declaration",className:"inline-flex items-center gap-2 px-6 py-3 text-[13px] tracking-wide font-medium border border-border rounded-full hover:bg-muted transition-all duration-300",children:e("Impôt & déclaration","Tax & filing")})]})]})})}),t.jsx("section",{className:"py-20 md:py-28 bg-muted/30",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-12 text-left",children:e("Nos chantiers d'ingénierie","Our engineering workstreams")}),t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:n.map((s,a)=>t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:a*.06,ease:J3},className:"p-8 bg-background border border-border rounded-2xl",children:[t.jsx(s.icon,{className:"w-6 h-6 text-primary mb-5"}),t.jsx("h3",{className:"font-display text-xl text-foreground mb-3 text-left",children:s.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:s.desc})]},s.title))})]})}),t.jsx("section",{className:"py-20 md:py-28",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-12 text-left",children:e("Notre méthode","Our method")}),t.jsx("div",{className:"grid md:grid-cols-4 gap-6",children:r.map(s=>t.jsxs("div",{className:"p-6 border border-border rounded-2xl",children:[t.jsx("span",{className:"text-[10px] tracking-[0.25em] text-muted-foreground",children:s.step}),t.jsx(s.icon,{className:"w-5 h-5 text-primary my-4"}),t.jsx("h3",{className:"font-display text-lg text-foreground mb-2 text-left",children:s.title}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed text-justify",children:s.desc})]},s.step))})]})}),t.jsx("section",{className:"py-20 md:py-28 bg-muted/30",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-8 text-left",children:e("Ce que nous ne faisons pas","What we do not do")}),t.jsx("ul",{className:"space-y-4",children:i.map(s=>t.jsxs("li",{className:"flex gap-3 text-sm text-muted-foreground leading-relaxed text-justify",children:[t.jsx("span",{className:"text-primary mt-1",children:"—"}),t.jsx("span",{children:s})]},s))})]})}),t.jsx("section",{id:"rdv",className:"py-20 md:py-28",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:[t.jsx(ba,{className:"w-6 h-6 text-primary mx-auto mb-6"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl text-foreground mb-5",children:e("Une opération à structurer ?","An operation to structure?")}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-8 max-w-2xl mx-auto",children:e("Cession d'entreprise, réorganisation fam
731iliale, départ à l'étranger : plus l'analyse est menée tôt, plus les options restent ouvertes.","Company sale, family reorganisation, move abroad: the earlier the analysis, the more options remain open.")}),t.jsxs("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-7 py-3.5 text-[13px] tracking-wide font-medium bg-foreground text-background rounded-full hover:bg-foreground/90 transition-all duration-300",children:[e("Prendre rendez-vous","Book a meeting"),t.jsx(V,{className:"w-4 h-4"})]})]})}),t.jsx(re,{})]})},WAe=1,HAe="31a091ad-0f5d-44b0-abb9-8f2ce5dbe788",GAe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",KAe="/__l5e/assets-v1/31a091ad-0f5d-44b0-abb9-8f2ce5dbe788/picto-gradient-colbr.png",QAe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/31a091ad-0f5d-44b0-abb9-8f2ce5dbe788/picto-gradient-colbr.png",YAe="picto-gradient-colbr.png",JAe=570706,XAe="image/png",ZAe="2026-07-31T08:21:39Z",eLe={version:WAe,asset_id:HAe,project_id:GAe,url:KAe,r2_key:QAe,original_filename:YAe,size:JAe,content_type:XAe,created_at:ZAe},tLe=1,nLe="0ffdbf30-8487-4356-a741-fd969dd6f2fd",rLe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",iLe="/__l5e/assets-v1/0ffdbf30-8487-4356-a741-fd969dd6f2fd/podcast-icon.png",sLe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/0ffdbf30-8487-4356-a741-fd969dd6f2fd/podcast-icon.png",aLe="podcast-icon.png",oLe=14765,lLe="image/png",cLe="2026-07-31T08:19:15Z",uLe={version:tLe,asset_id:nLe,project_id:rLe,url:iLe,r2_key:sLe,original_filename:aLe,size:oLe,content_type:lLe,created_at:cLe},X3=[.16,1,.3,1],Z3=e=>`/images/press/${e}.png`,eF=[{outlet:"Intelligence Artificielle",domain:"intelligence-artificielle.com",date:"Novembre 2025",year:"2025",title:"Colbr lance une IA dédiée à l'optimisation fiscale",url:"https://intelligence-artificielle.com/fiscalite-colbr-vient-de-lancer-une-ia-qui-va-reduire-vos-impots/"},{outlet:"Finance Héros",domain:"finance-heros.fr",date:"Juillet 2025",year:"2025",title:"Le private equity en assurance-vie, une bonne idée ?",url:"https://finance-heros.fr/le-private-equity-en-assurance-vie-une-bonne-idee/"},{outlet:"Capital",domain:"capital.fr",date:"Juillet 2025",year:"2025",title:"Banc d'essai des banques en ligne qui offrent des services exclusifs",url:"https://www.capital.fr/votre-argent/banc-d-essai-des-banques-en-ligne-qui-offrent-des-services-exclusifs-1515894"},{outlet:"Finance Héros",domain:"finance-heros.fr",date:"Juin 2025",year:"2025",title:"Avis Colbr : la banque privée réinventée",url:"https://finance-heros.fr/avis-colbr-la-banque-privee-reinventee/"},{outlet:"Mind Fintech",domain:"mind.eu.com",date:"Mai 2025",year:"2025",title:"Grâce aux fintech, les CGP réinventent la gestion privée",url:"https://www.mind.eu.com/fintech/investissement/grace-aux-fintech-les-cgp-reinventent-la-gestion-privee/"},{outlet:"Les Echos",domain:"lesechos.fr",date:"Avril 2025",year:"2025",title:"Quand les princes de la fintech viennent chasser sur les terres des banquiers privés",url:"https://www.lesechos.fr/finance-marches/banque-assurances/quand-les-princes-de-la-fintech-viennent-chasser-sur-les-terres-des-banquiers-prives-2160323"},{outlet:"Le Monde",domain:"lemonde.fr",date:"Avril 2025",year:"2025",title:"Banque privée : la bataille entre les anciens et les modernes",url:"https://www.lemonde.fr/argent/article/2025/04/14/banque-privee-la-bataille-entre-les-anciens-et-les-modernes_6595789_1657007.html"},{outlet:"L'Assurance en Mouvement",domain:"lassuranceenmouvement.com",date:"Mars 2025",year:"2025",title:"Colbr ouvre sa plateforme pour accompagner les CGP",url:"https://www.lassuranceenmouvement.com/2025/03/19/colbr-ouvre-sa-plateforme-pour-accompagner-les-cgp/"},{outlet:"France Transactions",domain:"francetransactions.com",date:"Mars 2025",year:"2025",title:"Colbr ouvre sa plateforme aux conseillers en gestion de patrimoine",url:"https://www.francetransactions.com/actus/news-epargne/colbr-ouverture-cgp.html"},{outlet:"Les Echos Investir",domain:"lesechos.fr",date:"Février 2025",year:"2025",title:"Que valent ces nouvelles banques privées en ligne qui proposent de gérer votre patrimoine ?",url:"https://investir.lesechos.fr/budget/banque-assurance/que-valent-ces-nouvelles-banques-privees-en-ligne-qui-proposent-de-gerer-votre-patrimoine-2146901"},{outlet:"Mieux Vivre Votre Argent",domain:"mieuxvivre-votreargent.fr",date:"Février 2025",year:"2025",title:"Ces nouvelles « banques privées » qui proposent de gérer votre patrimoine"},{outlet:"Investissement Conseils",domain:"investissementconseils.com",date:"Décembre 2024",year:"2024",title:"Comment optimiser son PER ? (n°87
7317)"},{outlet:"Décideurs Magazine",domain:"decideurs-magazine.com",date:"Décembre 2024",year:"2024",title:"La gestion de patrimoine à l'heure de la démocratisation",url:"https://www.decideurs-magazine.com/patrimoine-am/59942-gestion-de-patrimoine-a-l-heure-de-la-democratisation.html"},{outlet:"Paperjam",domain:"paperjam.lu",date:"Juin 2024",year:"2024",title:"Conversation avec Gustav Sondén : Colbr veut démocratiser la banque privée",url:"https://paperjam.lu/article/colbr-veut-democratiser-banque"},{outlet:"Gestion de Fortune",domain:"gestiondefortune.com",date:"Janvier 2024",year:"2024",title:"Ces start-upers qui bousculent la gestion de patrimoine"},{outlet:"Les Echos Investir",domain:"lesechos.fr",date:"Janvier 2024",year:"2024",title:"Assurance-vie et PER : les nouveaux contrats valent-ils le coup ?",url:"https://investir.lesechos.fr/placements/retraite/assurance-vie-et-per-les-nouveaux-contrats-valent-ils-le-coup-2044172"},{outlet:"Le Nouvel Economiste",domain:"lenouveleconomiste.fr",date:"Novembre 2023",year:"2023",title:"Assurances-vie, comment choisir ?"},{outlet:"L'Agefi",domain:"agefi.fr",date:"Octobre 2023",year:"2023",title:"Suravenir et Colbr lancent un contrat d'assurance-vie 100 % digital"},{outlet:"Investissement Conseils",domain:"investissementconseils.com",date:"Juillet 2023",year:"2023",title:"Un développement qui s'accélère (n°863)",url:"https://www.investissementconseils.com/profession/produits/44784-un-developpement-qui-s-accelere.html"},{outlet:"Les Echos Investir",domain:"lesechos.fr",date:"Juillet 2023",year:"2023",title:"Fintech : Colbr lance une offre en non coté",url:"https://investir.lesechos.fr/placements/investissement-alternatif/fintech-colbr-lance-une-offre-en-non-cote-1965646"},{outlet:"Finyear",domain:"finyear.com",date:"Juillet 2023",year:"2023",title:"Colbr lance une offre de private equity institutionnelle accessible aux particuliers",url:"https://www.finyear.com/Colbr-lance-une-offre-de-Private-Equity-institutionnelle-accessible-aux-particuliers_a49742.html"},{outlet:"The Paypers",domain:"thepaypers.com",date:"Juin 2023",year:"2023",title:"Colbr taps Powens for real-time wealth management",url:"https://thepaypers.com/online-mobile-banking/colbr-taps-powens-for-real-time-wealth-management--1263128"},{outlet:"Boursier.com",domain:"boursier.com",date:"Juin 2023",year:"2023",title:"Colbr annonce son partenariat stratégique avec Powens",url:"https://www.boursier.com/opcvm/actualites/generales/colbr-annonce-son-partenariat-strategique-avec-powens-903971.html"},{outlet:"Le Nouvel Economiste",domain:"lenouveleconomiste.fr",date:"Juin 2023",year:"2023",title:"Les banques privées jouent la prudence",url:"https://www.lenouveleconomiste.fr/lesdossiers/les-banques-privees-jouent-la-prudence/"},{outlet:"Citywire",domain:"citywire.com",date:"Mai 2023",year:"2023",title:"Colbr va proposer ses propres produits immobiliers",url:"https://citywire.com/fr/news/colbr-va-proposer-ses-propres-produits-immobiliers/a2418216"},{outlet:"CFNews",domain:"cfnews.net",date:"Avril 2023",year:"2023",title:"Colbr s'amorce auprès de particuliers internationaux",url:"https://www.cfnews.net/L-actualite/Capital-innovation-developpement/Operations/Amorcage/Colbr-s-amorce-aupres-de-particuliers-internationaux-438412"},{outlet:"Les Echos",domain:"lesechos.fr",date:"Avril 2023",year:"2023",title:"Ces start-up qui bousculent la banque privée",url:"https://www.lesechos.fr/start-up/deals/ces-start-up-qui-bousculent-la-banque-privee-1935693"},{outlet:"L'Agefi",domain:"agefi.fr",date:"Avril 2023",year:"2023",title:"Colbr termine sa levée de fonds avec 1 million d'euros",url:"https://www.agefi.fr/asset-management/tech/colbr-termine-sa-levee-de-fonds-avec-1-million-deuros"},{outlet:"Maddyness",domain:"maddyness.com",date:"Avril 2023",year:"2023",title:"Fintech : Colbr lève 1 million d'euros pour démocratiser la banque privée",url:"https://www.maddyness.com/2023/04/18/colbr-banque-privee/"},{outlet:"Journal du Net",domain:"journaldunet.com",date:"Avril 2023",year:"2023",title:"Colbr lève 1 million d'euros pour lancer un agrégateur d'investissements gratuit",url:"https://www.journaldunet.com/economie/finance/1521657-colbr-leve-1-million-d-euros-pour-lancer-un-agregateur-d-investissements-gratuit/"},{outlet:"Investissement Conseils",domain:"investissementconseils.com",date:"Septembre 2022",year:"2022",title:"Plus de 20 millions d'actifs conseillés en un an ! (n°854)",url:"https://www.investissementconseils.com/profession/acteurs/43410-plus-de-20-millions-d-actifs-conseilles-en-un-an.html"}
731],dLe=[{name:"Les Echos",domain:"lesechos.fr"},{name:"Le Monde",domain:"lemonde.fr"},{name:"Capital",domain:"capital.fr"},{name:"L'Agefi",domain:"agefi.fr"},{name:"Paperjam",domain:"paperjam.lu"},{name:"Citywire",domain:"citywire.com"},{name:"Décideurs",domain:"decideurs-magazine.com"},{name:"Mind Fintech",domain:"mind.eu.com"},{name:"Maddyness",domain:"maddyness.com"},{name:"Journal du Net",domain:"journaldunet.com"},{name:"Boursier.com",domain:"boursier.com"},{name:"Le Nouvel Economiste",domain:"lenouveleconomiste.fr"},{name:"Gestion de Fortune",domain:"gestiondefortune.com"},{name:"Investissement Conseils",domain:"investissementconseils.com"}],pLe=()=>{const{tr:e}=K(),n=["all","2025","2024","2023","2022"],[r,i]=k.useState("all"),s=r==="all"?eF:eF.filter(a=>a.year===r);return t.jsx("section",{className:"section-y bg-muted",id:"retombees-presse",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(S.div,{initial:{opacity:0,y:20,filter:"blur(4px)"},whileInView:{opacity:1,y:0,filter:"blur(0px)"},viewport:{once:!0,amount:.3},transition:{duration:.8,ease:X3},children:[t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Presse","Press")}),t.jsxs("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mt-3 text-foreground",children:[e("Retombées ","Press "),t.jsx("span",{className:"text-gradient-gold",children:e("presse.","coverage.")})]}),t.jsx("p",{className:"text-sm text-muted-foreground mt-4 max-w-2xl leading-relaxed text-justify",children:e("Colbr et ses dirigeants sont régulièrement sollicités par la presse économique et patrimoniale française et européenne pour commenter les marchés, la gestion privée et les stratégies d'investissement.","Colbr and its executives are regularly called upon by French and European financial and wealth media to comment on markets, private banking and investment strategies.")})]}),t.jsx("div",{className:"mt-10 grid grid-cols-3 sm:grid-cols-5 lg:grid-cols-7 gap-px bg-border rounded-xl overflow-hidden",children:dLe.map(a=>t.jsxs("div",{className:"bg-card flex flex-col items-center justify-center gap-2 py-6 px-2",children:[t.jsx("img",{src:Z3(a.domain),alt:`Logo ${a.name}`,loading:"lazy",className:"w-8 h-8 object-contain rounded-[4px]"}),t.jsx("span",{className:"text-[10px] text-center leading-tight text-muted-foreground tracking-wide",children:a.name})]},a.name+a.domain))}),t.jsx("div",{className:"mt-12 flex flex-wrap gap-2",children:n.map(a=>t.jsx("button",{onClick:()=>i(a),className:`text-sm px-4 py-2 rounded-full border transition-all duration-300 ${r===a?"bg-foreground text-background border-foreground":"bg-card text-foreground/70 border-border hover:border-foreground
731/40"}`,children:a==="all"?e("Toutes les années","All years"):a},a))}),t.jsx("div",{className:"mt-8 rounded-xl overflow-hidden border border-border bg-card divide-y divide-border",children:s.map((a,o)=>{const l=t.jsxs("div",{className:"group flex items-center gap-4 md:gap-6 px-5 md:px-7 py-5 transition-colors duration-300 hover:bg-muted/60",children:[t.jsx("img",{src:Z3(a.domain),alt:`Logo ${a.outlet}`,loading:"lazy",className:"w-9 h-9 shrink-0 object-contain rounded-md bg-background p-1 border border-border"}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsxs("p",{className:"text-[10px] tracking-[0.18em] uppercase text-muted-foreground mb-1",children:[a.outlet," · ",a.date]}),t.jsx("h3",{className:"text-sm md:text-base font-medium tracking-tight text-foreground leading-snug",children:a.title})]}),a.url&&t.jsx($b,{className:"w-4 h-4 shrink-0 text-muted-foreground group-hover:text-primary transition-colors"})]});return t.jsx(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,ease:X3,delay:Math.min(o,8)*.03},children:a.url?t.jsx("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"block",children:l}):l},`${a.outlet}-${a.title}-${o}`)})}),t.jsx("p",{className:"text-xs italic text-muted-foreground/70 mt-6",children:e("Liste non exhaustive des articles citant Colbr ou ses dirigeants.","Non-exhaustive list of articles mentioning Colbr or its executives.")})]})})},mLe=[.16,1,.3,1],hLe={bfm:"BFM Business",revenu:"Le Revenu",colbr:"Colbr",autres:"Autres contenus"},fLe={bfm:"/images/press/bfmtv.com.png",revenu:"/images/press/lerevenu.com.png",colbr:eLe.url,autres:uLe.url},gLe=[{id:"v9",title:"Pétrole : « Les marchés sont plus optimistes que la réalité physique »",date:"Juillet 2026",sort:202607,youtubeId:"Gr5wn5UTmoY",source:"bfm",thumbnail:"/images/bfm-petrole-thumbnail.png"},{id:"v7",title:"SpaceX entre en bourse. Les marchés s'emballent déjà.",date:"Juin 2026",sort:202606,youtubeId:"HjYn4ALz13o",source:"bfm"},{id:"v8",title:"IA : simple correction ou début de craquement ?",date:"Juin 2026",sort:202606,youtubeId:"aCaDaBUJMnA",source:"bfm"},{id:"p8",title:"Investir en 2026 : les pronostics des banques",sort:202512,youtubeId:"PA1CPlu91R0",source:"revenu"},{id:"p10",title:"TALK ft. Gustav Sondén : construire un modèle hybride que personne n'avait osé lancer",sort:202511,youtubeId:"3dAEEjIQwF4",source:"autres",outlet:"TALK"},{id:"p11",title:"Il a levé des fonds pour créer une fintech. Il est finalement devenu CGP, avec Gustav Sondén",sort:202511,youtubeId:"i7kLmOTNhBk",source:"autres",outlet:"Next Gen Patrimoine"},{id:"p9",title:"Girardin : le seul placement où vous gagnez en perdant de l'argent",sort:202510,youtubeId:"tInoebtnoRU",source:"revenu"},{id:"p5",title:"Rencontre avec le patron de la SCPI la plus performante du marché en 2025",sort:202509,youtubeId:"-qmwaPkESqE",source:"colbr",start:412},{id:"p4",title:"Inside Private Equity avec Gustav Sondén",sort:202507,youtubeId:"HpKRX1zMSP8",source:"bfm",start:50},{id:"v5",title:'Matthias Baccino : "Ce que 90 % des investisseurs vont rater en 2026"',date:"2025",sort:202506,youtubeId:"TLUCnoQs9bI",source:"revenu"},{id:"v6",title:"Produits structurés : comment investir pour viser 8 à 10 % par an",date:"2025",sort:202506,youtubeId:"2wiE9YH2esY",source:"revenu"},{id:"v1",title:"La finance bientôt à l'école ! D'accord, mais quel programme ?",date:"Mai 2025",sort:202505,youtubeId:"5q_M86wYVW4",source:"bfm"},{id:"p12",title:"#117 — Gustav Sondén : « Un bon CGP, pour qu'il fasse bien son travail, il faut le mettre dans sa zone »",date:"Mars 2025",sort:202503,href:"https://podcasts.apple.com/fr/podcast/117-gustave-sond%C3%A9n-un-bon-cgp-pour-quil-fasse-bien/id1650655065?i=1000701671269",source:"autres",outlet:"Passion Patrimoine",thumbnail:"/images/media/passion-patrimoine.jpg"},{id:"p6",title:"Tout comprendre de la gestion quantitative : momentum, IA… avec Stéphane Levy (Irivest)",sort:202504,youtubeId:"d3VnPtHxs54",source:"colbr"},{id:"v2",title:"USA : correction ou krach boursier ?",date:"Mars 2025",sort:202503,youtubeId:"KC71jyU4tzo",source:"bfm"},{id:"v3",title:"Incertitudes sur les marchés : que faire quand il y en a trop ?",date:"Février 2025",sort:202502,youtubeId:"PbOOOUI3TfY",source:"bfm"},{id:"p7",title:"Crise, Trump, ETF : comment (vraiment) investir ?",sort:202502,youtubeId:"Bu0qS1gDpkM",source:"colbr",start:207},{id:"v4",title:"Les investisseurs français sont-ils des pigeons ?",date:"Janvier 2025",sort:202501,youtubeId:"KA5KWu9F5gI",source:"bfm"},{id:"p2",title:"Blindé ! #05 — Les prévisions de la banque d'affaires n°1 pour 2025",sort:202412,y
731outubeId:"CcWYBr96MH4",source:"colbr",start:25},{id:"p1",title:"Blindé ! #04 — Mieux investir avec un bon conseiller",sort:202411,youtubeId:"R0V_hysB_Pk",source:"colbr"},{id:"p3",title:"Blindé ! #03 — Et si les marchés s'effondraient ?",sort:202410,youtubeId:"EBwdW_UEpmA",source:"colbr"},{id:"p13",title:"Blindé ! #02 — Les nouveaux canaux de l'investissement immo",sort:202409,youtubeId:"5z4q7Hxaxh0",source:"colbr"},{id:"p14",title:"Blindé ! #01 — Les secrets du Private Equity",sort:202408,youtubeId:"5LrkujOEaZo",source:"colbr"}],tF=[...gLe].sort((e,n)=>n.sort-e.sort),xLe=()=>{const{tr:e}=K(),[n,r]=k.useState("all"),[i,s]=k.useState(null),a=n==="all"?tF:tF.filter(l=>l.source===n),o=[{id:"all",label:e("Toutes les interventions","All appearances")},{id:"bfm",label:"BFM Business"},{id:"revenu",label:"Le Revenu"},{id:"colbr",label:"Colbr"},{id:"autres",label:e("Autres contenus","Other content")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-16 bg-muted",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(C,{to:"/",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour à l'accueil","Back to home")]}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground",children:e("Ressources","Resources")}),t.jsx("h1",{className:"font-display text-4xl md:text-5xl tracking-tight mt-4 text-foreground",children:e("Interventions médias","Media appearances")}),t.jsx("p",{className:"text-base text-muted-foreground mt-5 max-w-2xl leading-relaxed text-justify",children:e("Retrouvez l'ensemble des prises de parole de nos experts sur les plateaux de BFM Business et dans les colonnes du Revenu : décryptages de marché, grands entretiens et convictions d'investissement.","Discover all our experts' appearances on BFM Business and in the pages of Le Revenu: market analysis, in-depth interviews and investment convictions.")}),t.jsx("div",{className:"mt-10 flex flex-wrap gap-2",children:o.map(l=>{const c=n===l.id,u=l.id==="all"?"":fLe[l.id];return t.jsxs("button",{onClick:()=>r(l.id),className:`inline-flex items-center gap-2 text-sm px-4 py-2 rounded-full border transition-all duration-300 ${c?"bg-foreground text-background border-foreground":"bg-card text-foreground/70 border-border hover:border-foreground
731/40"}`,children:[u&&t.jsx("img",{src:u,alt:"","aria-hidden":"true",loading:"lazy",className:`object-contain rounded-[3px] ${l.id==="colbr"?"h-5 w-5":"h-4 w-4 bg-white"}`}),l.label]},l.id)})})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6",children:a.length===0?t.jsx("p",{className:"text-muted-foreground text-center py-20",children:e("Contenus à venir prochainement.","Content coming soon.")}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:a.map((l,c)=>t.jsxs(S.article,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:mLe,delay:c*.06},className:"group",children:[t.jsx("div",{className:"relative cursor-pointer overflow-hidden rounded-xl aspect-video bg-muted",onClick:()=>{l.href?window.open(l.href,"_blank","noopener,noreferrer"):l.youtubeId&&s(l.youtubeId)},children:l.youtubeId&&i===l.youtubeId?t.jsx("iframe",{src:`https://www.youtube.com/embed/${l.youtubeId}?autoplay=1&rel=0${l.start?`&start=${l.start}`:""}`,title:l.title,className:"absolute inset-0 w-full h-full",allow:"autoplay; encrypted-media",allowFullScreen:!0}):t.jsxs(t.Fragment,{children:[t.jsx("img",{src:l.thumbnail||`https://img.youtube.com/vi/${l.youtubeId}/hqdefault.jpg`,alt:l.title,className:`absolute inset-0 w-full h-full group-hover:scale-[1.02] transition-transform duration-700 ${l.href?"object-contain bg-card":"object-cover"}`}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-black/10 to-transparent"}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx("div",{className:"w-12 h-12 rounded-full bg-white/20 backdrop-blur-sm flex items-center justify-center group-hover:bg-white/40 transition-all duration-300",children:l.href?t.jsx(LQ,{className:"w-4 h-4 text-white"}):t.jsx(Xh,{className:"w-4 h-4 text-white fill-white ml-0.5"})})})]})}),t.jsxs("div",{className:"mt-4",children:[t.jsxs("p",{className:"text-[10px] tracking-[0.18em] uppercase text-muted-foreground mb-2",children:[l.outlet??hLe[l.source],l.date?` · ${l.date}`:""]}),t.jsx("h3",{className:"text-base font-semibold tracking-tight text-foreground leading-snug",children:l.title})]})]},l.id))})})}),t.jsx(pLe,{}),t.jsx(re,{})]})},vLe=1,bLe="00608509-ede3-44b8-b217-1467e65df37f",yLe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",jLe="/__l5e/assets-v1/00608509-ede3-44b8-b217-1467e65df37f/team-gustav-sonden.png",wLe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/00608509-ede3-44b8-b217-1467e65df37f/team-gustav-sonden.png",NLe="team-gustav-sonden.png",kLe=314820,qLe="image/png",SLe="2026-07-29T15:27:37Z",CLe={version:vLe,asset_id:bLe,project_id:yLe,url:jLe,r2_key:wLe,original_filename:NLe,size:kLe,content_type:qLe,created_at:SLe},PLe=1,ELe="63995a8b-3472-4526-95ed-b48d813ff285",TLe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",ILe="/__l5e/assets-v1/63995a8b-3472-4526-95ed-b48d813ff285/team-mickael-juvenelle.png",ALe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/63995a8b-3472-4526-95ed-b48d813ff285/team-mickael-juvenelle.png",LLe="team-mickael-juvenelle.png",FLe=39800,_Le="image/png",OLe="2026-07-29T15:27:41Z",RLe={version:PLe,asset_id:ELe,project_id:TLe,url:ILe,r2_key:ALe,original_filename:LLe,size:FLe,content_type:_Le,created_at:OLe},DLe=1,MLe="36c584d8-3ef2-4d58-88b9-d158be146bc7",$Le="092ccd4c-27c9-47f0-81a0-1f1f73883f12",BLe="/__l5e/assets-v1/36c584d8-3ef2-4d58-88b9-d158be146bc7/team-thibault-quiquet.png",zLe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/36c584d8-3ef2-4d58-88b9-d158be146bc7/team-thibault-quiquet.png",ULe="team-thibault-quiquet.png",VLe=44125,WLe="image/png",HLe="2026-07-29T15:27:45Z",GLe={version:DLe,asset_id:MLe,project_id:$Le,url:BLe,r2_key:zLe,original_filename:ULe,size:VLe,content_type:WLe,created_at:HLe},KLe=1,QLe="02b4ce05-d5de-48a4-ad22-a41195f51dff",YLe="092ccd4c-27c9-47f0-81a0-1f1f73883f12",JLe="/__l5e/assets-v1/02b4ce05-d5de-48a4-ad22-a41195f51dff/team-etienne-gorgeon.png",XLe="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/02b4ce05-d5de-48a4-ad22-a41195f51dff/team-etienne-gorgeon.png",ZLe="team-etienne-gorgeon.png",e5e=64873,t5e="image/png",n5e="2026-07-29T15:47:24Z",r5e={version:KLe,asset_id:QLe,project_id:YLe,url:JLe,r2_key:XLe,original_filename:ZLe,size:e5e,content_type:t5e,created_at:n5e},i5e=1,s5e="c4e38598-db67-47d6-b094-2d872da031b4",a5e="092ccd4c-27c9-47f0-81a0-1f1f73883f12",o5e="/__l5e/assets-v1/c4e38598-db67-47d6-b094-2d872da031b4/team-vincent-ravat.png",l5e="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/c4e38598-db67-47d6-b094-2d872da031b4/team-vincent-ravat.png",c5e="team-vincent-ravat.png",u5e=138810,d5e="image/png",p5e="2026-07-29T15:47:29Z",m5e
731={version:i5e,asset_id:s5e,project_id:a5e,url:o5e,r2_key:l5e,original_filename:c5e,size:u5e,content_type:d5e,created_at:p5e},h5e=1,f5e="bb47cbaf-03e6-473c-9bc0-a9541146efd0",g5e="092ccd4c-27c9-47f0-81a0-1f1f73883f12",x5e="/__l5e/assets-v1/bb47cbaf-03e6-473c-9bc0-a9541146efd0/team-raphael-prat.png",v5e="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/bb47cbaf-03e6-473c-9bc0-a9541146efd0/team-raphael-prat.png",b5e="team-raphael-prat.png",y5e=42784,j5e="image/png",w5e="2026-07-29T15:47:34Z",N5e={version:h5e,asset_id:f5e,project_id:g5e,url:x5e,r2_key:v5e,original_filename:b5e,size:y5e,content_type:j5e,created_at:w5e},Ng=[.16,1,.3,1],k5e=()=>{const{tr:e}=K(),[n,r]=k.useState(null),i=[{id:"gustav",name:"Gustav Sondén",img:CLe.url,role:e("Président","Chairman"),sub:e("Directeur de l'Advisory et du Développement","Head of Advisory & Development"),short:e("Cofondateur et président de Colbr, il pilote la vision stratégique, l'Advisory et le développement de la plateforme. Diplômé de finance (Paris-Dauphine), il a construit son parcours dans l'asset management et l'investissement.","Co-founder and Chairman of Colbr, he leads strategic vision, Advisory and platform development. A finance graduate (Paris-Dauphine), he built his career in asset management and investment."),full:[e("Gustav Sondén est cofondateur et président de Colbr, où il pilote la vision stratégique, l'Advisory et le développement de la plateforme. Diplômé de finance (Paris-Dauphine), il a construit son parcours dans l'asset management et l'investissement, en origination et gestion de plusieurs centaines de millions d'euros d'actifs immobiliers et financiers en Europe, au service d'investisseurs institutionnels et patrimoniaux. Il crée Colbr en 2021 avec l'ambition de rendre l'investissement premium plus accessible, plus lisible et plus exigeant pour une nouvelle génération de clients.","Gustav Sondén is co-founder and Chairman of Colbr, where he leads strategic vision, Advisory and platform development. A finance graduate (Paris-Dauphine), he built his career in asset management and investment, originating and managing several hundred million euros of European real estate and financial assets for institutional and private investors. He founded Colbr in 2021 to make premium investing more accessible, clearer and more demanding for a new generation of clients."),e("Il intervient régulièrement sur BFM Business dans l'émission « Tout pour Investir » et dans plusieurs formats de décryptage des marchés (SCPI, private equity, crypto, pétrole, semi-conducteurs), ainsi que dans des podcasts spécialisés comme Next Gen Patrimoine et d'autres contenus dédiés aux CGP et banquiers privés. Son travail chez Colbr a été reconnu par la sélection « Les 100 personnalités qui font le patrimoine », qui le classe parmi les profils qui comptent dans la gestion privée française.",'He regularly appears on BFM Business in "Tout pour Investir" and in various market analysis formats (SCPI, private equity, crypto, oil, semiconductors), as well as in specialised podcasts such as Next Gen Patrimoine and other content for wealth advisers and private bankers. His work at Colbr was recognised by the "Les 100 personnalités qui font le patrimoine" selection, ranking him among the profiles that matter in French private wealth management.')],linkedin:"https://www.linkedin.com/in/gustav-sond%C3%A9n-7bb37435/",tags:[{label:"BFM Business",domain:"bfmtv.com"},{label:e("Les 100 qui font le patrimoine","Top 100 wealth personalities")},{label:"Next Gen Patrimoine"}]},{id:"mickael",name:"Mickael Juvenelle",img:RLe.url,role:e("Directeur général","Chief Executive Officer"),sub:e("Responsable de la Tech et des Opérations","Head of Technology & Operations"),short:e("Directeur général de Colbr, il est l'architecte opérationnel de la plateforme : technologie, opérations et conformité. Il a débuté en salles de marchés avant d'évoluer dans des environnements financiers de premier plan.","CEO of Colbr, he is the operational architect of the platform: technology, operations and compliance. He started on trading floors before working in leading financial environments."),full:[e("Mickael Juvenelle est directeur général de C
731olbr et responsable de la Tech et des Opérations. Il débute sa carrière en salles de marchés, en soutien des traders et des gérants, où il acquiert une compréhension opérationnelle des dynamiques de marché, de la gestion des risques et des contraintes de performance. Il évolue ensuite dans des environnements financiers de premier plan, en lien avec des institutions comme Tikehau Capital et Rothschild, avec un rôle clé dans la structuration d'équipes tech et d'outils au service des métiers de l'investissement et du private wealth.","Mickael Juvenelle is CEO of Colbr and Head of Technology & Operations. He began his career on trading floors, supporting traders and portfolio managers, gaining an operational understanding of market dynamics, risk management and performance constraints. He then worked in leading financial environments, alongside institutions such as Tikehau Capital and Rothschild, playing a key role in building tech teams and tools for investment and private wealth businesses."),e("Chez Colbr, il est l'architecte opérationnel de la plateforme : il pilote la technologie, les opérations et la conformité afin de garantir une expérience fluide, robuste et scalable pour les clients comme pour les équipes internes. Son profil hybride finance/tech illustre la convergence entre exigences institutionnelles, digitalisation de la gestion de patrimoine et excellence opérationnelle.","At Colbr, he is the operational architect of the platform: he leads technology, operations and compliance to ensure a smooth, robust and scalable experience for clients and internal teams alike. His hybrid finance/tech profile illustrates the convergence of institutional standards, digitalised wealth management and operational excellence.")],linkedin:"https://www.linkedin.com/in/mickael-juvenelle-0840a24a/",tags:[{label:"Tikehau Capital",domain:"tikehaucapital.com"},{label:"Edmond de Rothschild",domain:"edmond-de-rothschild.com"},{label:e("Tech & Opérations","Tech & Operations")}]},{id:"thibault",name:"Thibault Quiquet",img:GLe.url,role:"Family Officer",sub:e("Responsable de l'Ingénierie Financière","Head of Financial Engineering"),short:e("Ingénieur financier de formation (ESILV), il structure les modèles de projection patrimoniale, les scénarios d'allocation et la conception de solutions d'investissement.","A financial engineer by training (ESILV), he builds wealth projection models, allocation scenarios and investment solution design."),full:[e("Thibault Quiquet est Family Officer et responsable de l'ingénierie financière chez Colbr. Ingénieur financier de formation (ESILV), il a débuté chez Auris Gestion comme risk manager, en charge du suivi des risques de portefeuilles, des indicateurs réglementaires et du développement d'outils de contrôle et de reporting. Il a ensuite rejoint Société Générale en market risk, où il travaillait sur la certification des métriques de risque (VaR, stress tests, scénarios) et sur le développement d'outils Python pour le suivi de production et les KPI. Il poursuit son parcours à l'Union Générale des Placements (UGP) comme ingénieur financier, en gérant les appels d'offres bancaires, le pricing de solutions de trésorerie et l'automatisation d'outils de calcul.","Thibault Quiquet is Family Officer and Head of Financial Engineering at Colbr. A financial engineer by training (ESILV), he began at Auris Gestion as a risk manager, covering portfolio risk monitoring, regulatory indicators and the development of control and reporting tools. He then joined Société Générale in market risk, working on the certification of risk metrics (VaR, stress tests, scenarios) and building Python tools for production monitoring and KPIs. He continued at Union Générale des Placements (UGP) as a financial engineer, handling bank tenders, pricing of treasury solutions and the automation of calculation tools."),e("Chez Colbr, il structure les modèles de projection patrimoniale, les scénarios d'allocation et la conception de solutions d'investissement pour une clientèle d'entrepreneurs, cadres dirigeants et jeunes HNWI. Son approche data-driven de l'analyse patrimoniale, de la modélisation des cash-flows et de la fiscalité appliquée illustre une ingénierie financière nouvelle génération au service du conseil patrimonial.","At Colbr, he builds wealth projection models, allocation scenarios and investment solution design for entrepreneurs, senior executives and young HNWIs. His data-driven approach to wealth analysis, cash-flow modelling and applied taxation illustrates a new generation of financial engineering serving wealth advice.")],linkedin:"https://www.linkedin.com/in/thibault-quiquet-964633112/",tags:[{label:"Auris Gestion",domain:"aurisgestion.com"},{label:"Société Générale",domain:"societegenerale.com"},{label:"UGP"},{label:"ESILV",domain:"esilv.fr"}]}],s=[{id:"etienne",name:"Etienne Gorgeon",img:r5e.url,short:e("Plus de vingt-cinq ans d'expérience sur les marchés obligataires. Responsable de la gestion obligataire chez Sanso Longchamp AM, il dirige une équipe dédiée aux stratég
731ies de taux et aux fonds datés, avec un track record reconnu sur le crédit et les obligations en architecture institutionnelle et patrimoniale.","Over twenty-five years of experience in bond markets. Head of fixed income at Sanso Longchamp AM, he leads a team dedicated to rate strategies and target-maturity funds, with a recognised track record in credit and bonds across institutional and private wealth architecture."),full:[e("Son parcours l'a conduit à conseiller des investisseurs professionnels sur la construction de portefeuilles, la lecture des cycles de taux et la gestion des risques de marché, en siégeant à des comités d'investissement et en pilotant des stratégies obligataires à taille significative.","His career has led him to advise professional investors on portfolio construction, reading rate cycles and market risk management, sitting on investment committees and running sizeable fixed income strategies."),e("Régulièrement invité en conférences et dans des médias spécialisés pour commenter les marchés de taux, le crédit et les environnements macroéconomiques, il apporte à Colbr un regard exigeant sur la construction des allocations, la robustesse des portefeuilles et la cohérence des stratégies d'investissement dans la durée.","A regular speaker at conferences and in specialised media on rate markets, credit and macroeconomic environments, he brings Colbr a demanding perspective on allocation design, portfolio robustness and long-term strategy consistency.")],tags:[{label:"Sanso Longchamp AM",domain:"sanso-is.com"},{label:e("Marchés obligataires","Fixed income")}]},{id:"vincent",name:"Vincent Ravat",img:m5e.url,short:e("Directeur général de Mercialys, l'une des principales foncières commerciales cotées en France (SBF 120). Il apporte à Colbr une expertise approfondie des marchés immobiliers, des modèles de rendement récurrent et de la création de valeur pour les actionnaires.","CEO of Mercialys, one of France's leading listed retail property companies (SBF 120). He brings Colbr deep expertise in real estate markets, recurring yield models and shareholder value creation."),full:[e("Son parcours l'a mené de Hammerson, où il était directeur des opérations, à la direction générale de Mercialys, avec une trajectoire marquée par le développement, la commercialisation et la stratégie d'expansion de portefeuilles immobiliers.","His career took him from Hammerson, where he was operations director, to the general management of Mercialys, with a track record in development, leasing and real estate portfolio expansion strategy."),e("Très présent dans les médias économiques, il intervient régulièrement dans des émissions comme Ecorama sur Boursorama pour commenter les résultats de Mercialys, les perspectives de croissance, la valorisation de la foncière et le niveau de rendement offert aux investisseurs. Membre du comité stratégique de Colbr, il contribue aux grandes orientations de la plateforme en matière de positionnement, de gouvernance et de vision long terme.","Frequently featured in business media, he regularly appears on shows such as Ecorama on Boursorama to comment on Mercialys results, growth outlook, valuation and investor yield. A member of Colbr's strategic committee, he contributes to the platform's positioning, governance and long-term vision.")],tags:[{label:"Mercialys",domain:"mercialys.fr"},{label:"Hammerson",domain:"hammerson.com"}]},{id:"raphael",name:"Raphaël Prat",img:N5e.url,short:e("Entrepreneur tech, cofondateur de TokyWoky, solution communautaire B2B SaaS utilisée par plus de 130 marques et retailers dans le monde, avant une cession à Skeepers. Une expérience concrète de la création, de la croissance et de la sortie de startups dans la French Tech.","Tech entrepreneur, co-founder of TokyWoky, a B2B SaaS community solution used by more than 130 brands and retailers worldwide before its sale to Skeepers. Hands-on experience of building, scaling and exiting French Tech startups."),full:[e("Son parcours mêle produit, technologie et commercial, avec un focus sur l'engagement client, la data et l'IA appliquée aux parcours digitaux.","His background combines product, technology and sales, with a focus on customer engagement, data and AI applied to digital journeys."),e("Au sein du board de Colbr, il apporte son expertise sur la stratég
731ie produit, l'UX, la scalabilité des solutions SaaS et l'utilisation de l'IA pour renforcer le conseil patrimonial et l'expérience client. Il accompagne l'équipe dirigeante sur les sujets de plateforme, de communauté et de différenciation digitale, en transposant les codes des meilleurs produits B2B SaaS dans l'univers de la gestion de patrimoine nouvelle génération.","On Colbr's board, he brings expertise in product strategy, UX, SaaS scalability and the use of AI to strengthen wealth advice and client experience. He supports the leadership team on platform, community and digital differentiation, bringing the best B2B SaaS practices into next-generation wealth management.")],tags:[{label:"TokyWoky"},{label:"Skeepers",domain:"skeepers.io"}]}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsxs("section",{className:"pt-32 pb-16 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_30%_20%,hsl(var(--primary)/0.06),transparent_70%)]"}),t.jsxs("div",{className:"container max-w-6xl mx-auto px-6 relative",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Qui sommes-nous","Who we are")})]}),t.jsxs("h1",{className:"font-display text-4xl md:text-5xl lg:text-[3.2rem] leading-[1.1] tracking-tight mb-6 max-w-3xl",children:[e("L'équipe qui pilote","The team behind")," ",t.jsx("span",{className:"text-gradient-gold",children:e("Colbr","Colbr")})]}),t.jsx("p",{className:"text-muted-foreground leading-relaxed max-w-2xl text-justify",children:e("Une équipe issue des salles de marchés, de l'asset management et de l'ingénierie financière, réunie autour d'une même exigence : une architecture patrimoniale rigoureuse, servie par la technologie.","A team from trading floors, asset management and financial engineering, united by one standard: rigorous wealth architecture, powered by technology.")})]})]}),t.jsx("section",{className:"pb-24",children:t.jsx("div",{className:"container max-w-6xl mx-auto px-6 space-y-6",children:i.map((a,o)=>{const l=n===a.id;return t.jsxs(S.article,{initial:{opacity:0,y:18},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Ng,delay:o*.08},className:"grid md:grid-cols-[280px_1fr] gap-8 md:gap-10 p-6 md:p-8 rounded-3xl bg-card/50 border border-border/30 hover:border-primary/20 transition-colors duration-300",children:[t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"aspect-square w-full overflow-hidden rounded-2xl bg-primary/5 border border-border/30",children:t.jsx("img",{src:a.img,alt:`${a.name} — ${a.role}
731 Colbr`,loading:"lazy",width:560,height:560,className:"w-full h-full object-cover object-top grayscale contrast-[1.05] hover:grayscale-0 transition-all duration-700"})}),t.jsx("div",{className:"absolute inset-0 rounded-2xl pointer-events-none bg-gradient-to-t from-primary/15 via-transparent to-transparent"})]}),t.jsxs("div",{className:"flex flex-col",children:[t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight",children:a.name}),t.jsx("p",{className:"text-sm text-primary mt-2 font-medium",children:a.role}),t.jsx("p",{className:"text-sm text-muted-foreground",children:a.sub}),t.jsx("p",{className:"text-[15px] text-muted-foreground leading-relaxed mt-5 text-justify",children:a.short}),l&&t.jsx(S.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},transition:{duration:.45,ease:Ng},className:"overflow-hidden",children:t.jsx("div",{className:"space-y-4 mt-5 border-t border-border/40 pt-5",children:a.full.map((c,u)=>t.jsx("p",{className:"text-[15px] text-muted-foreground leading-relaxed text-justify",children:c},u))})}),t.jsx("div",{className:"flex flex-wrap items-center gap-2 mt-6",children:a.tags.map(c=>t.jsxs("span",{className:"inline-flex items-center gap-2 text-[11px] tracking-[0.06em] uppercase text-muted-foreground bg-muted/60 border border-border/40 pl-2 pr-3 py-1.5 rounded-full",children:[c.domain?t.jsx("img",{src:`https://www.google.com/s2/favicons?domain=${c.domain}&sz=64`,alt:"","aria-hidden":"true",loading:"lazy",width:16,height:16,className:"w-4 h-4 rounded-sm object-contain bg-background"}):t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary/50 ml-1"}),c.label]},c.label))}),t.jsx("div",{className:"mt-6 flex items-center gap-4",children:t.jsxs("a",{href:a.linkedin,target:"_blank",rel:"noopener noreferrer","aria-label":`LinkedIn — ${a.name}`,className:"inline-flex items-center gap-2 text-sm font-medium text-muted-foreground hover:text-primary transition-colors",children:[t.jsx(OQ,{className:"w-4 h-4"}),"LinkedIn"]})}),t.jsxs("button",{type:"button",onClick:()=>r(l?null:a.id),"aria-expanded":l,className:"mt-6 self-start inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[l?e("Réduire le parcours","Hide full profile"):e("Voir le parcours complet","See full profile"),t.jsx(rt,{className:`w-4 h-4 transition-transform duration-300 ${l?"rotate-180":""}`})]})]})]},a.id)})})}),t.jsx("section",{className:"py-20 border-t border-border/20",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px w-8 bg-primary/60"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70",children:e("Board & Senior Advisors","Board & Senior Advisors")})]}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-5 max-w-3xl",children:e("Le board de Colbr","Colbr's board")}),t.jsx("p",{className:"text-muted-foreground leading-relaxed max-w-2xl text-justify mb-12",children:e("Des praticiens des marchés de taux, de l'immobilier coté et de la technologie, qui challengent nos allocations, notre gouvernance et notre trajectoire.","Practitioners from fixed income, listed real estate and technology, who challenge our allocations, governance and trajectory.")}),t.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:s.map((a,o)=>{const l=n===a.id;return t.jsxs(S.article,{initial:{opacity:0,y:18},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:Ng,delay:o*.08},className:"flex flex-col p-6 rounded-3xl bg-card/50 border border-border/30 hover:border-primary/20 transition-colors duration-300",children:[t.jsxs("div",{className:"relative w-24 h-24 mb-5",children:[t.jsx("div",{className:"w-full h-full overflow-hidden rounded-2xl bg-primary/5 border border-border/30",children:t.jsx("img",{src:a.img,alt:`${a.name} — Senior Advisor & Board Member Colbr`,loading:"lazy",width:240,height:240,className:"w-full h-full object-cover object-top grayscale contrast-[1.05] hover:grayscale-0 transition-all duration-700"})}),t.jsx("div",{className:"absolute inset-0 rounded-2xl pointer-events-none bg-gradient-to-t from-primary/15 via-trans
731parent to-transparent"})]}),t.jsx("h3",{className:"font-display text-xl tracking-tight",children:a.name}),t.jsx("p",{className:"text-sm text-primary mt-2 font-medium",children:"Senior Advisor"}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Board Member"}),t.jsx("p",{className:"text-[15px] text-muted-foreground leading-relaxed mt-4 text-justify",children:a.short}),l&&t.jsx(S.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},transition:{duration:.45,ease:Ng},className:"overflow-hidden",children:t.jsx("div",{className:"space-y-4 mt-4 border-t border-border/40 pt-4",children:a.full.map((c,u)=>t.jsx("p",{className:"text-[15px] text-muted-foreground leading-relaxed text-justify",children:c},u))})}),t.jsx("div",{className:"flex flex-wrap items-center gap-2 mt-5",children:a.tags.map(c=>t.jsxs("span",{className:"inline-flex items-center gap-2 text-[11px] tracking-[0.06em] uppercase text-muted-foreground bg-muted/60 border border-border/40 pl-2 pr-3 py-1.5 rounded-full",children:[c.domain?t.jsx("img",{src:`https://www.google.com/s2/favicons?domain=${c.domain}&sz=64`,alt:"","aria-hidden":"true",loading:"lazy",width:16,height:16,className:"w-4 h-4 rounded-sm object-contain bg-background"}):t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary/50 ml-1"}),c.label]},c.label))}),t.jsxs("button",{type:"button",onClick:()=>r(l?null:a.id),"aria-expanded":l,className:"mt-5 self-start inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[l?e("Réduire le parcours","Hide full profile"):e("Voir le parcours complet","See full profile"),t.jsx(rt,{className:`w-4 h-4 transition-transform duration-300 ${l?"rotate-180":""}`})]})]},a.id)})})]})}),t.jsxs("section",{className:"py-20 border-t border-border/20 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_50%_50%,hsl(var(--primary)/0.05),transparent_60%)]"}),t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 relative text-center",children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight mb-5",children:e("Échanger avec l'équipe","Talk to the team")}),t.jsx("p",{className:"text-muted-foreground leading-relaxed mb-8",children:e("Un premier échange confidentiel pour comprendre votre situation et définir le cadre d'accompagnement adapté.","A first confidential conversation to understand your situation and define the right framework.")}),t.jsxs("div",{className:"flex flex-wrap justify-center gap-3",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium bg-primary text-primary-foreground hover:brightness-110 transition-all duration-200 rounded-lg",children:[e("Découvrir nos services","Discover our services"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/interventions-medias",className:"inline-flex items-center gap-2 px-7 py-3.5 text-sm font-medium border border-border rounded-lg hover:border-primary/40 transition-all duration-200",children:e("Nos interventions médias","Our media appearances")})]})]})]}),t.jsx(re,{})]})};function q5e(e,n,r,i){function s(a){return a instanceof r?a:new r(function(o){o(a)})}return new(r||(r=Promise))(function(a,o){function l(d){try{u(i.next(d))}catch(p){o(p)}}function c(d){try{u(i.throw(d))}catch(p){o(p)}}function u(d){d.done?a(d.value):s(d.value).then(l,c)}u((i=i.apply(e,n||[])).next())})}const S5e=e=>e?(...n)=>e(...n):(...n)=>fetch(...n);class zC extends Error{constructor(n,r="FunctionsError",i){super(n),this.name=r,this.context=i}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class C5e extends zC{constructor(n){super("Failed to send a request to the Edge Function","FunctionsFetchError",n)}}class nF extends zC{constructor(n){super("Relay Error invoking the Edge Function","FunctionsRelayError",n)}}class rF extends zC{constructor(n){super("Edge Function returned a non-2xx status code","FunctionsHttpError",n)}}var XN;(function(e){e.Any="any",e.ApNortheast1="ap-northeast-1",e.ApNortheast2="ap-northeast-2",e.ApSouth1="ap-south-1",e.ApSoutheast1="ap-southeast-1",e.ApSoutheast2="ap-southeast-2",e.CaCentral1="ca-central-1",e.EuCentral1="eu-central-1",e.EuWest1="eu-west-1",e.EuWest2="eu-west-2",e.EuWest3="eu-west-3",e.SaEast1="sa-east-1",e.UsEast1="us-east-1",e.UsWest1="us-west-1",e.UsWest2="us-west-2"})(XN||(XN={}));class P5e{constructor(n,{headers:r={},customFetch:i,region:s=XN.Any}={}){this.url=n,this.headers=r,this.region=s,this.fetch=S5e(i)}setAuth(n){this.headers.Authorization=`Bearer ${n}`}invoke(n){return q5e(this,arguments,void 0,function*(r,i={}){var s;let a,o;try{const{headers:l,method:c,body:u,signal:d,timeout:p}=i;let m={},{region:h}=i;h||(h=this.region);const g=new URL(`${this.url}/${r}`);h&&h!=="any"&&(m["x-region"]=h,g.searchParams.set("forceFunctionRegion",h));let f;const x=!!l&&Object.keys(l).some(w=>w.toLowerCase()==="content-type");u&&!x?typeof Blob<"u"&&u instanceof Blob||u instanceof ArrayBuffer?(m["Content-Type"]="application/octet-stream",f=u):typeof u=="string"?(m["Content-Type"]="text/plain",f=u):typeof FormData<"u"&&u instanceof FormData?f=u:(m["Content-Type"]="application/json",f=JSON.stringify(u)):u&&typeof u!="string"&&!(typeof Blob<"u"&&u instanceof Blob)&&!(u instanceof ArrayBuffer)&&!(typeof FormData<"u"&&u instanceof FormData)?f=JSON.stringify(u):f=u;let v=d;p&&(o=new AbortController,a=setTimeout(()=>
731o.abort(),p),d?(v=o.signal,d.addEventListener("abort",()=>o.abort())):v=o.signal);const b=yield this.fetch(g.toString(),{method:c||"POST",headers:Object.assign(Object.assign(Object.assign({},m),this.headers),l),body:f,signal:v}).catch(w=>{throw new C5e(w)}),y=b.headers.get("x-relay-error");if(y&&y==="true")throw new nF(b);if(!b.ok)throw new rF(b);let N=((s=b.headers.get("Content-Type"))!==null&&s!==void 0?s:"text/plain").split(";")[0].trim(),j;return N==="application/json"?j=yield b.json():N==="application/octet-stream"||N==="application/pdf"?j=yield b.blob():N==="text/event-stream"?j=b:N==="multipart/form-data"?j=yield b.formData():j=yield b.text(),{data:j,error:null,response:b}}catch(l){return{data:null,error:l,response:l instanceof rF||l instanceof nF?l.context:void 0}}finally{a&&clearTimeout(a)}})}}const P7=3,iF=e=>Math.min(1e3*2**e,3e4),E5e=[520,503],E7=["GET","HEAD","OPTIONS"];var sF=class extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.code=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function aF(e,n){return new Promise(r=>{if(n!=null&&n.aborted){r();return}const i=setTimeout(()=>{n==null||n.removeEventListener("abort",s),r()},e);function s(){clearTimeout(i),r()}n==null||n.addEventListener("abort",s)})}function T5e(e,n,r,i){return!(!i||r>=P7||!E7.includes(e)||!E5e.includes(n))}var I5e=class{constructor(e){var n,r,i,s,a;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=(n=e.shouldThrowOnError)!==null&&n!==void 0?n:!1,this.signal=e.signal,this.isMaybeSingle=(r=e.isMaybeSingle)!==null&&r!==void 0?r:!1,this.shouldStripNulls=(i=e.shouldStripNulls)!==null&&i!==void 0?i:!1,this.urlLengthLimit=(s=e.urlLengthLimit)!==null&&s!==void 0?s:8e3,this.retryEnabled=(a=e.retry)!==null&&a!==void 0?a:!0,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(e,n){return this.headers=new Headers(this.headers),this.headers.set(e,n),this}retry(e){return this.retryEnabled=e,this}then(e,n){var r=this;if(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"),this.shouldStripNulls){const o=this.headers.get("Accept");o==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!o||o==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const i=this.fetch;let a=(async()=>{let o=0;for(;;){const u={};r.headers.forEach((p,m)=>{u[m]=p}),o>0&&(u["X-Retry-Count"]=String(o));let d;try{d=await i(r.url.toString(),{method:r.method,headers:u,body:JSON.stringify(r.body,(p,m)=>typeof m=="bigint"?m.toString():m),signal:r.signal})}catch(p){if((p==null?void 0:p.name)==="AbortError"||(p==null?void 0:p.code)==="ABORT_ERR"||!E7.includes(r.method))throw p;if(r.retryEnabled&&o<P7){const m=iF(o);o++,await aF(m,r.signal);continue}throw p}if(T5e(r.method,d.status,o,r.retryEnabled)){var l,c;const p=(l=(c=d.headers)===null||c===void 0?void 0:c.get("Retry-After"))!==null&&l!==void 0?l:null,m=p!==null?Math.max(0,parseInt(p,10)||0)*1e3:iF(o);await d.text(),o++,await aF(m,r.signal);continue}return await r.processResponse(d)}})();return this.shouldThrowOnError||(a=a.catch(o=>{var l;let c="",u="",d="";const p=o==null?void 0:o.cause;if(p){var m,h,g,f;const b=(m=p==null?void 0:p.message)!==null&&m!==void 0?m:"",y=(h=p==null?void 0:p.code)!==null&&h!==void 0?h:"";c=`${(g=o==null?void 0:o.name)!==null&&g!==void 0?g:"FetchError"}: ${o==null?void 0:o.message}`,c+=`
732
733Caused by: ${(f=p==null?void 0:p.name)!==null&&f!==void 0?f:"Error"}: ${b}`,y&&(c+=` (${y})`),p!=null&&p.stack&&(c+=`
734${p.stack}`)}else{var x;c=(x=o==null?void 0:o.stack)!==null&&x!==void 0?x:""}const v=this.url.toString().length;return(o==null?void 0:o.name)==="AbortError"||(o==null?void 0:o.code)==="ABORT_ERR"?(d="",u="Request was aborted (timeout or manual cancellation)",v>this.urlLengthLimit&&(u+=`. Note: Your request URL is ${v} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((p==null?void 0:p.name)==="HeadersOverflowError"||(p==null?void 0:p.code)==="UND_ERR_HEADERS_OVERFLOW")&&(d="",u="HTTP headers exceeded server limits (typically 16KB)",v>this.urlLengthLimit&&(u+=`. Your request URL is ${v} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(l=o==null?void 0:o.name)!==null&&l!==void 0?l:"FetchError"}: ${o==null?void 0:o.message}`,details:c,hint:u,code:d},data:null,count:null,status:0,statusText:""}}
734)),a.then(e,n)}async processResponse(e){var n=this;let r=null,i=null,s=null,a=e.status,o=e.statusText;if(e.ok){var l,c;if(n.method!=="HEAD"){var u;const m=await e.text();if(m!=="")if(n.headers.get("Accept")==="text/csv")i=m;else if(n.headers.get("Accept")&&(!((u=n.headers.get("Accept"))===null||u===void 0)&&u.includes("application/vnd.pgrst.plan+text")))i=m;else try{i=JSON.parse(m)}catch{if(r={message:m},i=null,n.shouldThrowOnError)throw new sF({message:m,details:"",hint:"",code:""})}}const d=(l=n.headers.get("Prefer"))===null||l===void 0?void 0:l.match(/count=(exact|planned|estimated)/),p=(c=e.headers.get("content-range"))===null||c===void 0?void 0:c.split("/");d&&p&&p.length>1&&(s=parseInt(p[1])),n.isMaybeSingle&&Array.isArray(i)&&(i.length>1?(r={code:"PGRST116",details:`Results contain ${i.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},i=null,s=null,a=406,o="Not Acceptable"):i.length===1?i=i[0]:i=null)}else{const d=await e.text();try{r=JSON.parse(d),Array.isArray(r)&&e.status===404&&(i=[],r=null,a=200,o="OK")}catch{e.status===404&&d===""?(a=204,o="No Content"):r={message:d}}if(r&&n.shouldThrowOnError)throw new sF(r)}return{success:r===null,error:r,data:i,count:s,status:a,statusText:o}}returns(){return this}overrideTypes(){return this}},A5e=class extends I5e{throwOnError(){return super.throwOnError()}select(e){let n=!1;const r=(e??"*").split("").map(i=>/\s/.test(i)&&!n?"":(i==='"'&&(n=!n),i)).join("");return this.url.searchParams.set("select",r),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:n=!0,nullsFirst:r,foreignTable:i,referencedTable:s=i}={}){const a=s?`${s}.order`:"order",o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:""}${e}.${n?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:n,referencedTable:r=n}={}){const i=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this}range(e,n,{foreignTable:r,referencedTable:i=r}={}){const s=typeof i>"u"?"offset":`${i}.offset`,a=typeof i>"u"?"limit":`${i}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(a,`${n-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return 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:e=!1,verbose:n=!1,settings:r=!1,buffers:i=!1,wal:s=!1,format:a="text"}={}){var o;const l=[e?"analyze":null,n?"verbose":null,r?"settings":null,i?"buffers":null,s?"wal":null].filter(Boolean).join("|"),c=(o=this.headers.get("Accept"))!==null&&o!==void 0?o:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${a}; for="${c}"; options=${l};`),a==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}};const oF=new RegExp("[,()]");var Oc=class extends A5e{throwOnError(){return super.throwOnError()}eq(e,n){return this.url.searchParams.append(e,`eq.${n}`),this}neq(e,n){return this.url.searchParams.append(e,`neq.${n}`),this}gt(e,n){return this.url.searchParams.append(e,`gt.${n}`),this}gte(e,n){return this.url.searchParams.append(e,`gte.${n}`),this}lt(e,n){return this.url.searchParams.append(e,`lt.${n}`),this}lte(e,n){return this.url.searchParams.append(e,`lte.${n}`),this}like(e,n){return this.url.searchParams.append(e,`like.${n}`),this}likeAllOf(e,n){return this.url.searchParams.append(e,`like(all).{${n.join(",")}}`),this}likeAnyOf(e,n){return this.url.searchParams.append(e,`like(any).{${n.join(",")}}`),this}ilike(e,n){return this.url.searchParams.append(e,`ilike.${n}`),this}ilikeAllOf(e,n){return this.url.searchParams.append(e,`ilike(all).{${n.join(",")}}`),this}ilikeAnyOf(e,n){return this.url.searchParams.append(e,`ilike(any).{${n.join(",")}}`),this}regexMatch(e,n){return this.url.searchParams.append(e,`match.${n}`),this}regexIMatch(e,n){return this.url.searchParams.append(e,`imatch.${n}`),this}is(e,n){return this.url.searchParams.append(e,`is.${n}`),this}isDistinct(e,n){return this.url.searchParams.append(e,`isdistinct.${n}`),this}in(e,n){const r=Array.from(new Set(n)).map(i=>typeof i=="string"&&oF.test(i)?`"${i}"`:`${i}`).join(",");return this.url.searchParams.append(e,`in.(${r})`),this}notIn(e,n){const r=Array.from(new Set(n)).map(i=>typeof i=="string"&&oF.test(i)?`"${i}"`:`${i}`).join(",");return this.url.searchParams.append(e,`not.in.(${r})`),this}contains(e,n){return typeof n=="string"?this.url.searchParams.append(e,`cs.${n}`):Array.isArray(n)?this.url.searchParams.append(e,`cs.{${n.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(n)}`),this}containedBy(e,n){return typeof n=="string"?this.url.searchParams.append(e,`cd.${n}`):Array.isArray(n)?this.url.searchParams.append(e,`cd.{${n.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(n)}`),this}rangeGt(e,n){return this.url.searchParams.append(e,`sr.${n}`),this}rangeGte(e,n){return this.url.searchParams.append(e,`nxl.${n}`),this}rangeLt(e,n){return this.url.searchParams.append(e,`sl.${n}`),this}rangeLte(e,n){return this.url.searchParams.append(e,`nxr.${n}`),this}rangeAdjacent(e,n){return this.url.searchParams.append(e,`adj.${n}`),this}overlaps(e,n){return typeof n=="string"?this.url.searchParams.append(e,`ov.${n}`):this.url.searchParams.append(e,`ov.{${n.join(",")}}`),this}textSearch(e,n,{config:r,type:i}={}){let s="";i==="plain"?s="pl":i==="phrase"?s="ph":i==="websearch"&&(s="w");const a=r===void 0?"":`(${r})`;return this.url.searchParams.append(e,`${s}fts${a}.${n}`),this}match(e){return Object.entries(e).filter(([n,r])=>
734r!==void 0).forEach(([n,r])=>{this.url.searchParams.append(n,`eq.${r}`)}),this}not(e,n,r){return this.url.searchParams.append(e,`not.${n}.${r}`),this}or(e,{foreignTable:n,referencedTable:r=n}={}){const i=r?`${r}.or`:"or";return this.url.searchParams.append(i,`(${e})`),this}filter(e,n,r){return this.url.searchParams.append(e,`${n}.${r}`),this}},L5e=class{constructor(e,{headers:n={},schema:r,fetch:i,urlLengthLimit:s=8e3,retry:a}){this.url=e,this.headers=new Headers(n),this.schema=r,this.fetch=i,this.urlLengthLimit=s,this.retry=a}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,n){const{head:r=!1,count:i}=n??{},s=r?"HEAD":"GET";let a=!1;const o=(e??"*").split("").map(u=>/\s/.test(u)&&!a?"":(u==='"'&&(a=!a),u)).join(""),{url:l,headers:c}=this.cloneRequestState();return l.searchParams.set("select",o),i&&c.append("Prefer",`count=${i}`),new Oc({method:s,url:l,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:n,defaultToNull:r=!0}={}){var i;const s="POST",{url:a,headers:o}=this.cloneRequestState();if(n&&o.append("Prefer",`count=${n}`),r||o.append("Prefer","missing=default"),Array.isArray(e)){const l=e.reduce((c,u)=>c.concat(Object.keys(u)),[]);if(l.length>0){const c=[...new Set(l)].map(u=>`"${u}"`);a.searchParams.set("columns",c.join(","))}}return new Oc({method:s,url:a,headers:o,schema:this.schema,body:e,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:n,ignoreDuplicates:r=!1,count:i,defaultToNull:s=!0}={}){var a;const o="POST",{url:l,headers:c}=this.cloneRequestState();if(c.append("Prefer",`resolution=${r?"ignore":"merge"}-duplicates`),n!==void 0&&l.searchParams.set("on_conflict",n),i&&c.append("Prefer",`count=${i}`),s||c.append("Prefer","missing=default"),Array.isArray(e)){const u=e.reduce((d,p)=>d.concat(Object.keys(p)),[]);if(u.length>0){const d=[...new Set(u)].map(p=>`"${p}"`);l.searchParams.set("columns",d.join(","))}}return new Oc({method:o,url:l,headers:c,schema:this.schema,body:e,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:n}={}){var r;const i="PATCH",{url:s,headers:a}=this.cloneRequestState();return n&&a.append("Prefer",`count=${n}`),new Oc({method:i,url:s,headers:a,schema:this.schema,body:e,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){var n;const r="DELETE",{url:i,headers:s}=this.cloneRequestState();return e&&s.append("Prefer",`count=${e}`),new Oc({method:r,url:i,headers:s,schema:this.schema,fetch:(n=this.fetch)!==null&&n!==void 0?n:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Ph(e){"@babel/helpers - typeof";return Ph=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ph(e)}function F5e(e,n){if(Ph(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Ph(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function _5e(e){var n=F5e(e,"string");return Ph(n)=="symbol"?n:n+""}function O5e(e,n,r){return(n=_5e(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function lF(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function kg(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?lF(Object(r),!0).forEach(function(i){O5e(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):lF(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}var R5e=class T7{constructor(n,{headers:r={},schema:i,fetch:s,timeout:a,urlLengthLimit:o=8e3,retry:l}={}){this.url=n,this.headers=new Headers(r),this.schemaName=i,this.urlLengthLimit=o;const c=s??globalThis.fetch;a!==void 0&&a>0?this.fetch=(u,d)=>{const p=new AbortController,m=setTimeout(()=>p.abort(),a),h=d==null?void 0:d.signal;if(h){if(h.aborted)return clearTimeout(m),c(u,d);const g=()=>{clearTimeout(m),p.abort()};return h.addEventListener("abort",g,{once:!0}),c(u,kg(kg({},d),{},{signal:p.signal})).finally(()=>{clearTimeout(m),h.removeEventListener("abort",g)})}return c(u,kg(kg({},d),{},{signal:p.signal})).finally(()=>clearTimeout(m))}:this.fetch=c,this.retry=l}
734from(n){if(!n||typeof n!="string"||n.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new L5e(new URL(`${this.url}/${n}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(n){return new T7(this.url,{headers:this.headers,schema:n,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(n,r={},{head:i=!1,get:s=!1,count:a}={}){var o;let l;const c=new URL(`${this.url}/rpc/${n}`);let u;const d=h=>h!==null&&typeof h=="object"&&(!Array.isArray(h)||h.some(d)),p=i&&Object.values(r).some(d);p?(l="POST",u=r):i||s?(l=i?"HEAD":"GET",Object.entries(r).filter(([h,g])=>g!==void 0).map(([h,g])=>[h,Array.isArray(g)?`{${g.join(",")}}`:`${g}`]).forEach(([h,g])=>{c.searchParams.append(h,g)})):(l="POST",u=r);const m=new Headers(this.headers);return p?m.set("Prefer",a?`count=${a},return=minimal`:"return=minimal"):a&&m.set("Prefer",`count=${a}`),new Oc({method:l,url:c,headers:m,schema:this.schemaName,body:u,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class D5e{constructor(){}static detectEnvironment(){var n;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const r=globalThis;if(typeof globalThis<"u"&&typeof r.WebSocket<"u")return{type:"native",wsConstructor:r.WebSocket};const i=typeof global<"u"?global:void 0;if(i&&typeof i.WebSocket<"u")return{type:"native",wsConstructor:i.WebSocket};if(typeof globalThis<"u"&&typeof r.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"&&r.EdgeRuntime||typeof navigator<"u"&&(!((n=navigator.userAgent)===null||n===void 0)&&n.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."};const s=globalThis.process;if(s){const a=s.versions;if(a&&a.node)return{type:"unsupported",error:"Node.js detected but native WebSocket not found.",workaround:"Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option."}}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 n=this.detectEnvironment();if(n.wsConstructor)return n.wsConstructor;let r=n.error||"WebSocket not supported in this environment.";throw n.workaround&&(r+=`
735
736Suggested solution: ${n.workaround}`),new Error(r)}static isWebSocketSupported(){try{return this.detectEnvironment().type==="native"}catch{return!1}}}const M5e="2.110.7",$5e=`realtime-js/${M5e}`,B5e="1.0.0",I7="2.0.0",z5e=I7,U5e=1e4,V5e=100,Xa={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},A7={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave",access_token:"access_token"},ZN={connecting:"connecting",open:"open",closing:"closing",closed:"closed"};class W5e{constructor(n){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=n??[]}encode(n,r){if(n.event===this.BROADCAST_EVENT&&!(n.payload instanceof ArrayBuffer)&&typeof n.payload.event=="string")return r(this._binaryEncodeUserBroadcastPush(n));let i=[n.join_ref,n.ref,n.topic,n.event,n.payload];return r(JSON.stringify(i))}_binaryEncodeUserBroadcastPush(n){var r;return this._isArrayBuffer((r=n.payload)===null||r===void 0?void 0:r.payload)?this._encodeBinaryUserBroadcastPush(n):this._encodeJsonUserBroadcastPush(n)}_encodeBinaryUserBroadcastPush(n){var r,i;const s=(i=(r=n.payload)===null||r===void 0?void 0:r.payload)!==null&&i!==void 0?i:new ArrayBuffer(0);return this._encodeUserBroadcastPush(n,this.BINARY_ENCODING,s)}_encodeJsonUserBroadcastPush(n){var r,i;const s=(i=(r=n.payload)===null||r===void 0?void 0:r.payload)!==null&&i!==void 0?i:{},o=new TextEncoder().encode(JSON.stringify(s)).buffer;return this._encodeUserBroadcastPush(n,this.JSON_ENCODING,o)}_encodeUserBroadcastPush(n,r,i){var s,a;const o=new TextEncoder,l=o.encode(n.topic),c=o.encode((s=n.ref)!==null&&s!==void 0?s:""),u=o.encode((a=n.join_ref)!==null&&a!==void 0?a:""),d=o.encode(n.payload.event),p=this.allowedMetadataKeys?this._pick(n.payload,this.allowedMetadataKeys):{},m=o.encode(Object.keys(p).length===0?"":JSON.stringify(p));if(u.length>255)throw new Error(`joinRef length ${u.length} exceeds maximum of 255`);if(c.length>255)throw new Error(`ref length ${c.length} exceeds maximum of 255`);if(l.length>255)throw new Error(`topic length ${l.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+u.length+c.length+l.length+d.length+m.length,g=new ArrayBuffer(this.HEADER_LENGTH+h),f=new DataView(g),x=new Uint8Array(g);let v=0;f.setUint8(v++,this.KINDS.userBroadcastPush),f.setUint8(v++,u.length),f.setUint8(v++,c.length),f.setUint8(v++,l.length),f.setUint8(v++,d.length),f.setUint8(v++,m.length),f.setUint8(v++,r),x.set(u,v),v+=u.length,x.set(c,v),v+=c.length,x.set(l,v),v+=l.length,x.set(d,v),v+=d.length,x.set(m,v),v+=m.length;var b=new Uint8Array(g.byteLength+i.byteLength);return b.set(new Uint8Array(g),0),b.set(new Uint8Array(i),g.byteLength),b.buffer}decode(n,r){if(this._isArrayBuffer(n)){let i=this._binaryDecode(n);return r(i)}if(typeof n=="string"){const i=JSON.parse(n),[s,a,o,l,c]=i;return r({join_ref:s,ref:a,topic:o,event:l,payload:c})}return r({})}_binaryDecode(n){const r=new DataView(n),i=r.getUint8(0),s=new TextDecoder;switch(i){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(n,r,s)}}_decodeUserBroadcast(n,r,i){const s=r.getUint8(1),a=r.getUint8(2),o=r.getUint8(3),l=r.getUint8(4);let c=this.HEADER_LENGTH+4;const u=i.decode(n.slice(c,c+s));c=c+s;const d=i.decode(n.slice(c,c+a));c=c+a;
736const p=i.decode(n.slice(c,c+o));c=c+o;const m=n.slice(c,n.byteLength),h=l===this.JSON_ENCODING?JSON.parse(i.decode(m)):m,g={type:this.BROADCAST_EVENT,event:d,payload:h};return o>0&&(g.meta=JSON.parse(p)),{join_ref:null,ref:null,topic:u,event:this.BROADCAST_EVENT,payload:g}}_isArrayBuffer(n){var r;return n instanceof ArrayBuffer||((r=n==null?void 0:n.constructor)===null||r===void 0?void 0:r.name)==="ArrayBuffer"}_pick(n,r){return!n||typeof n!="object"?{}:Object.fromEntries(Object.entries(n).filter(([i])=>r.includes(i)))}}var lt;(function(e){e.abstime="abstime",e.bool="bool",e.date="date",e.daterange="daterange",e.float4="float4",e.float8="float8",e.int2="int2",e.int4="int4",e.int4range="int4range",e.int8="int8",e.int8range="int8range",e.json="json",e.jsonb="jsonb",e.money="money",e.numeric="numeric",e.oid="oid",e.reltime="reltime",e.text="text",e.time="time",e.timestamp="timestamp",e.timestamptz="timestamptz",e.timetz="timetz",e.tsrange="tsrange",e.tstzrange="tstzrange"})(lt||(lt={}));const cF=(e,n,r={})=>{var i;const s=(i=r.skipTypes)!==null&&i!==void 0?i:[];return n?Object.keys(n).reduce((a,o)=>(a[o]=H5e(o,e,n,s),a),{}):{}},H5e=(e,n,r,i)=>{const s=n.find(l=>l.name===e),a=s==null?void 0:s.type,o=r[e];return a&&!i.includes(a)?L7(a,o):ek(o)},L7=(e,n)=>{if(e.charAt(0)==="_"){const r=e.slice(1,e.length);return Y5e(n,r)}switch(e){case lt.bool:return G5e(n);case lt.float4:case lt.float8:case lt.int2:case lt.int4:case lt.int8:case lt.numeric:case lt.oid:return K5e(n);case lt.json:case lt.jsonb:return Q5e(n);case lt.timestamp:return J5e(n);case lt.abstime:case lt.date:case lt.daterange:case lt.int4range:case lt.int8range:case lt.money:case lt.reltime:case lt.text:case lt.time:case lt.timestamptz:case lt.timetz:case lt.tsrange:case lt.tstzrange:return ek(n);default:return ek(n)}},ek=e=>e,G5e=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},K5e=e=>{if(typeof e=="string"){const n=parseFloat(e);if(!Number.isNaN(n))return n}return e},Q5e=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e},Y5e=(e,n)=>{if(typeof e!="string")return e;const r=e.length-1,i=e[r];if(e[0]==="{"&&i==="}"){let a;const o=e.slice(1,r);try{a=JSON.parse("["+o+"]")}catch{a=o?o.split(","):[]}return a.map(l=>L7(n,l))}return e},J5e=e=>typeof e=="string"?e.replace(" ","T"):e,F7=e=>{const n=new URL(e);return n.protocol=n.protocol.replace(/^ws/i,"http"),n.pathname=n.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),n.pathname===""||n.pathname==="/"?n.pathname="/api/broadcast":n.pathname=n.pathname+"/api/broadcast",n.href};var Nu=e=>typeof e=="function"?e:function(){return e},X5e=typeof self<"u"?self:null,Rc=typeof window<"u"?window:null,rs=X5e||Rc||globalThis,Z5e="2.0.0",e3e=1e4,t3e=1e3,n3e=100,os={connecting:0,open:1,closing:2,closed:3},Xn={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Ds={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},tk={longpoll:"longpoll",websocket:"websocket"},r3e={complete:4},nk="base64url.bearer.phx.",qg=class{constructor(e,n,r,i){this.channel=e,this.event=n,this.payload=r||function(){return{}},this.receivedResp=null,this.timeout=i,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),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()}))}receive(e,n){return this.hasReceived(e)&&n(this.receivedResp.response),this.recHooks.push({status:e,callback:n}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:n,_ref:r}){this.recHooks.filter(i=>i.status===e).forEach(i=>i.callback(n))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,n){this.channel.trigger(this.refEvent,{status:e,response:n})}},_7=class{constructor(e,n){this.callback=e,this.timerCalc=n,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},i3e=class{constructor(e,n,r){this.state=Xn.closed,this.topic=e,this.params=Nu(n||{}),this.socket=r,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new qg(this,Ds.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new _7(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=Xn.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(i=>
vendor: 20,216 bytes, lines 736-737
736i.send()),this.pushBuffer=[]}),this.joinPush.receive("error",i=>{this.state=Xn.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,i),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=Xn.closed,this.socket.remove(this)}),this.onError(i=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,i),this.isJoining()&&this.joinPush.reset(),this.state=Xn.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new qg(this,Ds.leave,Nu({}),this.timeout).send(),this.state=Xn.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Ds.reply,(i,s)=>{this.trigger(this.replyEventName(s),i)})}join(e=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Xn.closed,this.bindings=[]}onClose(e){this.on(Ds.close,e)}onError(e){return this.on(Ds.error,n=>e(n))}on(e,n){let r=this.bindingRef++;return this.bindings.push({event:e,ref:r,callback:n}),r}off(e,n){this.bindings=this.bindings.filter(r=>!(r.event===e&&(typeof n>"u"||n===r.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,n,r=this.timeout){if(n=n||{},!this.joinedOnce)throw new Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let i=new qg(this,e,function(){return n},r);return this.canPush()?i.send():(i.startTimeout(),this.pushBuffer.push(i)),i}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Xn.leaving;let n=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(Ds.close,"leave")},r=new qg(this,Ds.leave,Nu({}),e);return r.receive("ok",()=>n()).receive("timeout",()=>n()),r.send(),this.canPush()||r.trigger("ok",{}),r}onMessage(e,n,r){return n}filterBindings(e,n,r){return!0}isMember(e,n,r,i){return this.topic!==e?!1:i&&i!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:e,event:n,payload:r,joinRef:i}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Xn.joining,this.joinPush.resend(e))}trigger(e,n,r,i){let s=this.onMessage(e,n,r,i);if(n&&!s)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let a=this.bindings.filter(o=>o.event===e&&this.filterBindings(o,n,r));for(let o=0;o<a.length;o++)a[o].callback(s,r,i||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===Xn.closed}isErrored(){return this.state===Xn.errored}isJoined(){return this.state===Xn.joined}isJoining(){return this.state===Xn.joining}isLeaving(){return this.state===Xn.leaving}},ob=class{static request(e,n,r,i,s,a,o){if(rs.XDomainRequest){let l=new rs.XDomainRequest;return this.xdomainRequest(l,e,n,i,s,a,o)}else if(rs.XMLHttpRequest){let l=new rs.XMLHttpRequest;return this.xhrRequest(l,e,n,r,i,s,a,o)}else{if(rs.fetch&&rs.AbortController)return this.fetchRequest(e,n,r,i,s,a,o);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(e,n,r,i,s,a,o){let l={method:e,headers:r,body:i},c=null;return s&&(c=new AbortController,setTimeout(()=>c.abort(),s),l.signal=c.signal),rs.fetch(n,l).then(u=>u.text()).then(u=>this.parseJSON(u)).then(u=>o&&o(u)).catch(u=>{u.name==="AbortError"&&a?a():o&&o(null)}),c}static xdomainRequest(e,n,r,i,s,a,o){return e.timeout=s,e.open(n,r),e.onload=()=>{let l=this.parseJSON(e.responseText);o&&o(l)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(i),e}static xhrRequest(e,n,r,i,s,a,o,l){e.open(n,r,!0),e.timeout=a;for(let[c,u]of Object.entries(i))e.setRequestHeader(c,u);return e.onerror=()=>l&&l(null),e.onreadystatechange=()=>{if(e.readyState===r3e.complete&&l){let c=this.parseJSON(e.responseText);l(c)}},o&&(e.ontimeout=o),e.send(s),e}static parseJSON(e){if(!e||e==="")return null;try{return JSON.parse(e)}catch{return console&&console.log("failed to parse JSON response",e),null}}static serialize(e,n){let r=[];for(var i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let s=n?`${n}[${i}]`:i,a=e[i];typeof a=="object"?r.push(this.serialize(a,s)):r.push(encodeURIComponent(s)+"="+encodeURIComponent(a))}return r.join("&")}static appendParams(e,n){if(Object.keys(n).length===0)return e;let r=e.match(/\?/)?"&":"?";return`${e}${r}${this.serialize(n)}`}},s3e=e=>{let n="",r=new Uint8Array(e),i=r.byteLength;for(let s=0;s<i;s++)n+=String.fromCharCode(r[s]);return btoa(n)},Ic=class{constructor(e,n){n&&n.length===2&&n[1].startsWith(nk)&&(this.authToken=atob(n[1].slice(nk.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=os.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+tk.websocket),"$1/"+tk.longpoll)}endpointURL(){return ob.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,n,r){this.close(e,n,r),this.readyState=os.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===os.open||this.readyState===os.connecting}poll(){const e={Accept:"application/json"};this.authToken&&(e["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",e,null,()=>this.ontimeout(),n=>{if(n){var{status:r,token:i,messages:s}=n;if(r===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=i}else r=0;switch(r){case 200:s.forEach(a=>{setTimeout(()=>this.onmessage({data:a}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=os.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${r}`)}})}send(e){typeof e!="string"&&(e=s3e(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e,n=0){this.awaitingBatchAck=!0;const r=n+n3e,i=e.slice(n,r);this.ajax("POST",{"Content-Type":"application/x-ndjson"},i.join(`
737`),()=>this.onerror("timeout"),s=>{!s||s.status!==200?(this.awaitingBatchAck=!1,this.onerror(s&&s.status),this.closeAndRetry(1011,"internal server error",!1)):r<e.length?this.batchSend(e,r):this.batchBuffer.length>0?(this.batchSend(this.batchBuffer),this.batchBuffer=[]):this.awaitingBatchAck=!1})}close(e,n,r){for(let s of this.reqs)s.abort();this.readyState=os.closed;let i=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:n,wasClean:r});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",i)):this.onclose(i)}ajax(e,n,r,i,s){let a,o=()=>{this.reqs.delete(a),i()};a=ob.request(e,this.endpointURL(),n,r,this.timeout,o,l=>{this.reqs.delete(a),this.isActive()&&s(l)}),this.reqs.add(a)}},a3e=class Up{constructor(n,r={}){let i=r.events||{state:"presence_state",diff:"presence_diff"};this.state=Object.create(null),this.pendingDiffs=[],this.channel=n,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(i.state,s=>{let{onJoin:a,onLeave:o,onSync:l}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Up.syncState(this.state,s,a,o),this.pendingDiffs.forEach(c=>{this.state=Up.syncDiff(this.state,c,a,o)}),this.pendingDiffs=[],l()}),this.channel.on(i.diff,s=>{let{onJoin:a,onLeave:o,onSync:l}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Up.syncDiff(this.state,s,a,o),l())})}onJoin(n){this.caller.onJoin=n}onLeave(n){this.caller.onLeave=n}onSync(n){this.caller.onSync=n}list(n){return Up.list(this.state,n)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(n,r,i,s){let a=this.toNullProtoObj(this.clone(n));r=this.toNullProtoObj(r);let o=Object.create(null),l=Object.create(null);return this.map(a,(c,u)=>{r[c]||(l[c]=u)}),this.map(r,(c,u)=>{let d=a[c];if(d){let p=u.metas.map(f=>f.phx_ref),m=d.metas.map(f=>f.phx_ref),h=u.metas.filter(f=>m.indexOf(f.phx_ref)<0),g=d.metas.filter(f=>p.indexOf(f.phx_ref)<0);h.length>0&&(o[c]=u,o[c].metas=h),g.length>0&&(l[c]=this.clone(d),l[c].metas=g)}else o[c]=u}),this.syncDiff(a,{joins:o,leaves:l},i,s)}static syncDiff(n,r,i,s){n=this.toNullProtoObj(n);let{joins:a,leaves:o}=this.clone(r);return i||(i=function(){}),s||(s=function(){}),this.map(a,(l,c)=>{let u=n[l];if(n[l]=this.clone(c),u){let d=n[l].metas.map(m=>m.phx_ref),p=u.metas.filter(m=>d.indexOf(m.phx_ref)<0);n[l].metas.unshift(...p)}i(l,u,c)}),this.map(o,(l,c)=>{let u=n[l];if(!u)return;let d=c.metas.map(p=>p.phx_ref);u.metas=u.metas.filter(p=>d.indexOf(p.phx_ref)<0),s(l,u,c),u.metas.length===0&&delete n[l]}),n}static list(n,r){return r||(r=function(i,s){return s}),this.map(n,(i,s)=>r(i,s))}static map(n,r){return Object.getOwnPropertyNames(n).map(i=>r(i,n[i]))}static toNullProtoObj(n){if(Object.getPrototypeOf(n)===null)return n;let r=Object.create(null);return Object.getOwnPropertyNames(n).forEach(i=>{r[i]=n[i]}),r}static clone(n){return JSON.parse(JSON.stringify(n))}},Sg={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,n){if(e.payload.constructor===ArrayBuffer)return n(this.binaryEncode(e));{let r=[e.join_ref,e.ref,e.topic,e.event,e.payload];return n(JSON.stringify(r))}},decode(e,n){if(e.constructor===ArrayBuffer)return n(this.binaryDecode(e));{let[r,i,s,a,o]=JSON.parse(e);return n({join_ref:r,ref:i,topic:s,event:a,payload:o})}},binaryEncode(e){let{join_ref:n,ref:r,event:i,topic:s,payload:a}=e,o=new TextEncoder,l=o.encode(n),c=o.encode(r),u=o.encode(s),d=o.encode(i);this.assertFieldSize(l.byteLength,"join_ref"),this.assertFieldSize(c.byteLength,"ref"),this.assertFieldSize(u.byteLength,"topic"),this.assertFieldSize(d.byteLength,"event");let p=this.META_LENGTH+l.byteLength+c.byteLength+u.byteLength+d.byteLength,m=new ArrayBuffer(this.HEADER_LENGTH+p),h=new Uint8Array(m),g=new DataView(m),f=0;g.setUint8(f++,this.KINDS.push),g.setUint8(f++,l.byteLength),g.setUint8(f++,c.byteLength),g.setUint8(f++,u.byteLength),g.setUint8(f++,d.byteLength),h.set(l,f),f+=l.byteLength,h.set(c,f),f+=c.byteLength,h.set(u,f),f+=u.byteLength,h.set(d,f),f+=d.byteLength;var x=new Uint8Array(m.byteLength+a.byteLength);return x.set(h,0),x.set(new Uint8Array(a),m.byteLength),x.buffer},assertFieldSize(e,n){if(e>255)throw new Error(`unable to convert ${n} to binary: must be less than or equal to 255 bytes, but is ${e} bytes`)},binaryDecode(e){let n=new DataView(e),r=n.getUint8(0),i=new TextDecoder;switch(r){case this.KINDS.push:return this.decodePush(e,n,i);case this.KINDS.reply:return this.decodeReply(e,n,i);case this.KINDS.broadcast:return this.decodeBroadcast(e,n,i)}},decodePush(e,n,r){let i=n.getUint8(1),s=n.getUint8(2),a=n.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,l=r.decode(e.slice(o,o+i));o=o+i;let c=r.decode(e.slice(o,o+s));o=o+s;let u=r.decode(e.slice(o,o+a));o=o+a;let d=e.slice(o,e.byteLength);return{join_ref:l,ref:null,topic:c,event:u,payload:d}},decodeReply(e,n,r){let i=n.getUint8(1),s=n.getUint8(2),a=n.getUint8(3),o=n.getUint8(4),l=this.HEADER_LENGTH+this.META_LENGTH,c=r.decode(e.slice(l,l+i));l=l+i;let u=r.decode(e.slice(l,l+s));l=l+s;let d=r.decode(e.slice(l,l+a));l=l+a;let p=r.decode(e.slice(l,l+o));l=l+o;let m=e.slice(l,e.byteLength),h={status:p,response:m};return{join_ref:c,ref:u,topic:d,event:Ds.reply,payload:h}},decodeBroadcast(e,n,r){let i=n.getUint8(1),s=n.getUint8(2),a=this.HEADER_LENGTH+2,o=r.decode(e.slice(a,a+i));a=a+i;let l=r.decode(e.slice(a,a+s));a=a+s;let c=e.slice(a,e.byteLength);return{join_ref:null,ref:null,topic:o,event:l,payload:c}}},o3e=class{constructor(e,n={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=n.timeout||e3e,this.transport=n.transport||rs.WebSocket||Ic,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=n.longPollFallbackMs,this.fallbackTimer=null;let r=null;try{r=rs&&rs.sessionStorage}catch{}this.sessionStore=n.sessionStorage||r,this.establishedConnections=0,this.defaultEncoder=Sg.encode.bind(Sg),this.defaultDecoder=Sg.decode.bind(Sg),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=n.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Ic?(this.encode=n.encode||this.defaultEncoder,this.decode=n.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let i=null;Rc&&Rc.addEventListener&&(Rc.addEventListener("pagehide",s=>{this.conn&&(this.disconnect(),i=this.connectClock)}),Rc.addEventListener("pageshow",s=>{i===this.connectClock&&(i=null,this.connect())}),Rc.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=n.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=n.autoSendHeartbeat??!0,this.heartbeatCallback=n.heartbeatCallback??(()=>{}),this.rejoinAfterMs=s=>n.rejoinAfterMs?n.rejoinAfterMs(s):[1e3,2e3,5e3][s-1]||1e4,this.reconnectAfterMs=s=>n.reconnectAfterMs?n.reconnectAfterMs(s):[10,50,100,150,200,250,500,1e3,2e3][s-1]||5e3,this.logger=n.logger||null,!this.logger&&n.debug&&(this.logger=(s,a,o)=>{console.log(`${s}: ${a}`,o)}),this.longpollerTimeout=n.longpollerTimeout||2e4,this.params=Nu(n.params||{}),this.endPoint=`${e}/${tk.websocket}`,this.vsn=n.vsn||Z5e,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new _7(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{n.beforeReconnect&&await n.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=n.authToken&&Nu(n.authToken)}getLongPollTransport(){return Ic}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=e}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let e=ob.appendParams(ob.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)!=="/"?e:e.charAt(1)==="/"?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`}disconnect(e,n,r){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},n,r)}connect(e){e&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=Nu(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Ic?this.connectWithFallback(Ic,this.longPollFallbackMs):this.transportConnect())}log(e,n,r){this.logger&&this.logger(e,n,r)}hasLogger(){return this.logger!==null}onOpen(e){let n=this.makeRef();return this.stateChangeCallbacks.open.push([n,e]),n}onClose(e){let n=this.makeRef();return this.stateChangeCallbacks.close.push([n,e]),n}onError(e){let n=this.makeRef();return this.stateChangeCallbacks.error.push([n,e]),n}onMessage(e){let n=this.makeRef();return this.stateChangeCallbacks.message.push([n,e]),n}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let n=this.makeRef(),r=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:n});let i=this.onMessage(s=>{s.ref===n&&(this.off([i]),e(Date.now()-r))});return!0}transportName(e){switch(e){case Ic:return"LongPoll";default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=["phoenix",`${nk}${btoa(this.authToken()).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=n=>this.onConnError(n),this.conn.onmessage=n=>this.onConnMessage(n),this.conn.onclose=n=>this.onConnClose(n)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,n){this.sessionStore&&this.sessionStore.setItem(e,n)}connectWithFallback(e,n=2500){clearTimeout(this.fallbackTimer);let r=!1,i=!0,s,a,o=this.transportName(e),l=c=>{this.log("transport",`falling back to ${o}...`,c),this.off([s,a]),i=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${o}`))return l("memorized");this.fallbackTimer=setTimeout(l,n),a=this.onError(c=>{this.log("transport","error",c),i&&!r&&(clearTimeout(this.fallbackTimer),l(c))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(r=!0,!i){let c=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${c}`,"true"),this.log("transport",`established ${c} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(l,n),this.ping(c=>{this.log("transport","connected to primary after",c),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(e){this.log("error","error in heartbeat callback",e)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),t3e,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,n,r){if(!this.conn)return e&&e();const i=this.conn;this.waitForBufferDone(i,()=>{n?i.close(n,r||""):i.close(),this.waitForSocketClosed(i,()=>{this.conn===i&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,n,r=1){if(r===5||!e.bufferedAmount){n();return}setTimeout(()=>{this.waitForBufferDone(e,n,r+1)},150*r)}waitForSocketClosed(e,n,r=1){if(r===5||e.readyState===os.closed){n();return}setTimeout(()=>{this.waitForSocketClosed(e,n,r+1)},150*r)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",e)}onConnError(e){this.hasLogger()&&this.log("transport","error",e);let n=this.transport,r=this.establishedConnections;this.triggerStateCallbacks("error",e,n,r),(n===this.transport||r>0)&&this.triggerChanError(e)}
vendor: 4,134 bytes, line 737
737triggerChanError(e){this.channels.forEach(n=>{n.isErrored()||n.isLeaving()||n.isClosed()||n.trigger(Ds.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case os.connecting:return"connecting";case os.open:return"open";case os.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(n=>n!==e)}off(e){for(let n in this.stateChangeCallbacks)this.stateChangeCallbacks[n]=this.stateChangeCallbacks[n].filter(([r])=>e.indexOf(r)===-1)}channel(e,n={}){let r=new i3e(e,n,this);return this.channels.push(r),r}push(e){if(this.hasLogger()){let{topic:n,event:r,payload:i,ref:s,join_ref:a}=e;this.log("push",`${n} ${r} (${a}, ${s})`,i)}this.isConnected()?this.encode(e,n=>this.conn.send(n)):this.sendBuffer.push(()=>this.encode(e,n=>this.conn.send(n)))}makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(e){this.log("error","error in heartbeat callback",e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(e){this.log("error","error in heartbeat callback",e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,n=>{let{topic:r,event:i,payload:s,ref:a,join_ref:o}=n;if(a&&a===this.pendingHeartbeatRef){const l=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(s.status==="ok"?"ok":"error",l)}catch(c){this.log("error","error in heartbeat callback",c)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${s.status||""} ${r} ${i} ${a&&"("+a+")"||""}`.trim(),s);for(let l=0;l<this.channels.length;l++){const c=this.channels[l];c.isMember(r,i,s,o)&&c.trigger(i,s,a,o)}this.triggerStateCallbacks("message",n)})}triggerStateCallbacks(e,...n){try{this.stateChangeCallbacks[e].forEach(([r,i])=>{try{i(...n)}catch(s){this.log("error",`error in ${e} callback`,s)}})}catch(r){this.log("error",`error triggering ${e} callbacks`,r)}}leaveOpenTopic(e){let n=this.channels.find(r=>r.topic===e&&(r.isJoined()||r.isJoining()));n&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${e}"`),n.leave())}};class dm{constructor(n,r){const i=c3e(r);this.presence=new a3e(n.getChannel(),i),this.presence.onJoin((s,a,o)=>{const l=dm.onJoinPayload(s,a,o);n.getChannel().trigger("presence",l)}),this.presence.onLeave((s,a,o)=>{const l=dm.onLeavePayload(s,a,o);n.getChannel().trigger("presence",l)}),this.presence.onSync(()=>{n.getChannel().trigger("presence",{event:"sync"})})}get state(){return dm.transformState(this.presence.state)}static transformState(n){return n=l3e(n),Object.getOwnPropertyNames(n).reduce((r,i)=>{const s=n[i];return r[i]=xx(s),r},{})}static onJoinPayload(n,r,i){const s=uF(r),a=xx(i);return{event:"join",key:n,currentPresences:s,newPresences:a}}static onLeavePayload(n,r,i){const s=uF(r),a=xx(i);return{event:"leave",key:n,currentPresences:s,leftPresences:a}}}function xx(e){return e.metas.map(n=>(n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n))}function l3e(e){return JSON.parse(JSON.stringify(e))}function c3e(e){return(e==null?void 0:e.events)&&{events:e.events}}function uF(e){return e!=null&&e.metas?xx(e):[]}var dF;(function(e){e.SYNC="sync",e.JOIN="join",e.LEAVE="leave"})(dF||(dF={}));class u3e{get state(){return this.presenceAdapter.state}constructor(n,r){this.channel=n,this.presenceAdapter=new dm(this.channel.channelAdapter,r)}}function d3e(e){if(e instanceof Error)return e;if(typeof e=="string")return new Error(e);
737if(e&&typeof e=="object"){const n=e;if(typeof n.code=="number"){const r=typeof n.reason=="string"&&n.reason?` (${n.reason})`:"";return new Error(`socket closed: ${n.code}${r}`,{cause:e})}return new Error("channel error: transport failure",{cause:e})}return new Error("channel error: connection lost")}class p3e{constructor(n,r,i){const s=m3e(i);this.channel=n.getSocket().channel(r,s),this.socket=n}get state(){return this.channel.state}set state(n){this.channel.state=n}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(n,r){return this.channel.on(n,r)}off(n,r){this.channel.off(n,r)}subscribe(n){return this.channel.join(n)}unsubscribe(n){return this.channel.leave(n)}teardown(){this.channel.teardown()}onClose(n){this.channel.onClose(n)}onError(n){return this.channel.onError(n)}push(n,r,i){let s;try{s=this.channel.push(n,r,i)}catch{throw new Error(`tried to push '${n}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>V5e){const a=this.channel.pushBuffer.shift();a.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${a.event}`,a.payload())}return s}updateJoinPayload(n){const r=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},r),n)}canPush(){return this.socket.isConnected()&&this.state===Xa.joined}isJoined(){return this.state===Xa.joined}isJoining(){return this.state===Xa.joining}isClosed(){return this.state===Xa.closed}isLeaving(){return this.state===Xa.leaving}updateFilterBindings(n){this.channel.filterBindings=n}updatePayloadTransform(n){this.channel.onMessage=n}getChannel(){return this.channel}}function m3e(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},e.config)}}const h3e=/[,()"\\]/,f3e=e=>h3e.test(e)||e!==e.trim(),g3e=e=>`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`,pF=e=>{const n=e===null?"null":String(e);return f3e(n)?g3e(n):n},x3e=e=>e===null?"null":String(e),v3e=(e,n)=>{if(e==="in"){const r=Array.isArray(n)?n:[n];if(r.length===0)throw new Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(r)).map(s=>pF(s)).join(",")})`}return e==="is"?`is.${x3e(n)}`:`${e}.${pF(n)}`};class b3e{constructor(){this.filters=[]}add(n,r,i,s=!1){const a=s?"not.":"";return this.filters.push(`${n}=${a}${v3e(r,i)}`),this}eq(n,r){return this.add(n,"eq",r)}neq(n,r){return this.add(n,"neq",r)}gt(n,r){return this.add(n,"gt",r)}gte(n,r){return this.add(n,"gte",r)}lt(n,r){return this.add(n,"lt",r)}lte(n,r){return this.add(n,"lte",r)}in(n,r){return this.add(n,"in",r)}like(n,r){return this.add(n,"like",r)}ilike(n,r){return this.add(n,"ilike",r)}match(n,r){return this.add(n,"match",r)}imatch(n,r){return this.add(n,"imatch",r)}is(n,r){return this.add(n,"is",r)}isDistinct(n,r){return this.add(n,"isdistinct",r)}not(n,r,i){return this.add(n,r,i,!0)}build(){return this.filters.join(",")}toString(){return this.build()}}var mF;(function(e){e.ALL="*",e.INSERT="INSERT",e.UPDATE="UPDATE",e.DELETE="DELETE"})(mF||(mF={}));var ou;(function(e){e.BROADCAST="broadcast",e.PRESENCE="presence",e.POSTGRES_CHANGES="postgres_changes",e.SYSTEM="system"})(ou||(ou={}));var Ms;(function(e){e.SUBSCRIBED="SUBSCRIBED",e.TIMED_OUT="TIMED_OUT",e.CLOSED="CLOSED",e.CHANNEL_ERROR="CHANNEL_ERROR"})(Ms||(Ms={}));class pm{get state(){return this.channelAdapter.state}set state(n){this.channelAdapter.state=n}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(n,r={config:{}},i){var s,a;if(this.topic=n,this.params=r,this.socket=i,this.bindings={},this.subTopic=n.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config),this.channelAdapter=new p3e(this.socket.socketAdapter,n,this.params),this.presence=new u3e(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=F7(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((a=(s=this.params.config)===null||s===void 0?void 0:s.broadcast)===null||a===void 0)&&a.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(n,r=this.timeout){var i,s,a;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:o,presence:l,private:c}}=this.params,u=(s=(i=this.bindings.postgres_changes)===null||i===void 0?void 0:i.map(h=>h.filter))!==null&&s!==void 0?s:[],d=!!this.bindings[ou.PRESENCE]&&this.bindings[ou.PRESENCE].length>0||((a=this.params.config.presence)===null||a===void 0?void 0:a.enabled)===!0,p={},m={broadcast:o,presence:Object.assign(Object.assign({},l),{enabled:d}),postgres_changes:u,private:c};this.socket.accessTokenValue&&(p.access_token=this.socket.accessTokenValue),this._onError(h=>{n==null||n(Ms.CHANNEL_ERROR,d3e(h))}),this._onClose(()=>n==null?void 0:n(Ms.CLOSED)),this.updateJoinPayload(Object.assign({config:m},p)),this._updateFilterMessage(),this.channelAdapter.subscribe(r).receive("ok",async({postgres_changes:h})=>{if(this.socket._isManualToken()||this.socket.setAuth(),h===void 0){n==null||n(Ms.SUBSCRIBED);return}this._updatePostgresBindings(h,n)}).receive("error",h=>{this.state=Xa.errored;const g=Object.values(h).join(", ")||"error";n==null||n(Ms.CHANNEL_ERROR,new Error(g,{cause:h}))}).receive("timeout",()=>{n==null||n(Ms.TIMED_OUT)})}return this}_updatePostgresBindings(n,r){var i;const s=this.bindings.postgres_changes,a=(i=s==null?void 0:s.length)!==null&&i!==void 0?i:0,o=[];for(let l=0;l<a;l++){const c=s[l],{filter:{event:u,schema:d,table:p,filter:m}}=c,h=n&&n[l];if(h&&h.event===u&&pm.isFilterValueEqual(h.schema,d)&&pm.isFilterValueEqual(h.table,p)&&pm.isFilterValueEqual(h.filter,m))o.push(Object.assign(Object.assign({},c),{id:h.id}));else{this.unsubscribe(),this.state=Xa.errored,r==null||r(Ms.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=o,this.state!=Xa.errored&&r&&r(Ms.SUBSCRIBED)}presenceState(){return this.presence.state}async track(n,r={}){return await this.send({type:"presence",event:"track",payload:n},r)}async untrack(n={}){return await this.send({type:"presence",event:"untrack"},n)}on(n,r,i){const s=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),a=n===ou.PRESENCE||n===ou.POSTGRES_CHANGES;if(s&&a)throw this.socket.log("channel",`cannot add \`${n}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${n}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(n,r,i)}async httpSend(n,r,i={}){var s;if(r==null)return Promise.reject(new Error("Payload is required for httpSend()"));const a=r instanceof ArrayBuffer||ArrayBuffer.isView(r),o={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":a?"application/octet-stream":"application/json"};this.socket.accessTokenValue&&(o.Authorization=`Bearer ${this.socket.accessTokenValue}`);const l=new URL(this.broadcastEndpointURL);l.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(n)}`,this.private&&l.searchParams.set("private","true");const c={method:"POST",headers:o,body:a?r:JSON.stringify(r)},u=await this._fetchWithTimeout(l.toString(),c,(s=i.timeout)!==null&&s!==void 0?s:this.timeout);if(u.status===202)return{success:!0};if(u.status===404)return Promise.reject(new Error("httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realt
737ime-js/migrations/httpsend-server-version.md"));let d=u.statusText;try{const p=await u.json();d=p.error||p.message||d}catch{}return Promise.reject(new Error(d))}async send(n,r={}){var i,s;if(!this.channelAdapter.canPush()&&n.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}=n,l={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(l.Authorization=`Bearer ${this.socket.accessTokenValue}`);const c={method:"POST",headers:l,body:JSON.stringify({messages:[{topic:this.subTopic,event:a,payload:o,private:this.private}]})};try{const u=await this._fetchWithTimeout(this.broadcastEndpointURL,c,(i=r.timeout)!==null&&i!==void 0?i:this.timeout);return await((s=u.body)===null||s===void 0?void 0:s.cancel()),u.ok?"ok":"error"}catch(u){return u instanceof Error&&u.name==="AbortError"?"timed out":"error"}}else return new Promise(a=>{var o,l,c;const u=this.channelAdapter.push(n.type,n,r.timeout||this.timeout);n.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"),u.receive("ok",()=>a("ok")),u.receive("error",()=>a("error")),u.receive("timeout",()=>a("timed out"))})}updateJoinPayload(n){this.channelAdapter.updateJoinPayload(n)}async unsubscribe(n=this.timeout){return new Promise(r=>{this.channelAdapter.unsubscribe(n).receive("ok",()=>r("ok")).receive("timeout",()=>r("timed out")).receive("error",()=>r("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(n,r,i){const s=new AbortController,a=setTimeout(()=>s.abort(),i),o=await this.socket.fetch(n,Object.assign(Object.assign({},r),{signal:s.signal}));return clearTimeout(a),o}_on(n,r,i){const s=n.toLocaleLowerCase(),a=r==null?void 0:r.filter;(a instanceof b3e||typeof a=="object"&&a!==null&&typeof a.build=="function")&&(r=Object.assign(Object.assign({},r),{filter:a.build()}));const o=this.channelAdapter.on(n,i),l={type:s,filter:r,callback:i,ref:o};return this.bindings[s]?this.bindings[s].push(l):this.bindings[s]=[l],this._updateFilterMessage(),this}_onClose(n){this.channelAdapter.onClose(n)}_onError(n){this.channelAdapter.onError(n)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((n,r,i)=>{var s,a,o,l,c,u,d;const p=n.event.toLocaleLowerCase();if(this._notThisChannelEvent(p,i))return!1;const m=(s=this.bindings[p])===null||s===void 0?void 0:s.find(h=>h.ref===n.ref);if(!m)return!0;if(["broadcast","presence","postgres_changes"].includes(p))if("id"in m){const h=m.id,g=(a=m.filter)===null||a===void 0?void 0:a.event;return h&&((o=r.ids)===null||o===void 0?void 0:o.includes(h))&&(g==="*"||(g==null?void 0:g.toLocaleLowerCase())===((l=r.data)===null||l===void 0?void 0:l.type.toLocaleLowerCase()))}else{const h=(u=(c=m==null?void 0:m.filter)===null||c===void 0?void 0:c.event)===null||u===void 0?void 0:u.toLocaleLowerCase();return h==="*"||h===((d=r==null?void 0:r.event)===null||d===void 0?void 0:d.toLocaleLowerCase())}else return m.type.toLocaleLowerCase()===p})}_notThisChannelEvent(n,r){const{close:i,error:s,leave:a,join:o}=A7;return r&&[i,s,a,o].includes(n)&&r!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((n,r,i)=>{if(typeof r=="object"&&"ids"in r){const s=r.data,{schema:a,table:o,commit_timestamp:l,type:c,errors:u}=s;return Object.assign(Object.assign({},{schema:a,table:o,commit_timestamp:l,eventType:c,new:{},old:{},errors:u}),this._getPayloadRecords(s))}return r})}copyBindings(n){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const r in n.bindings)for(const i of n.bindings[r])this._on(i.type,i.filter,i.callback)}static isFilterValueEqual(n,r){return(n??void 0)===(r??void 0)}_getPayloadRecords(n){const r={new:{},old:{}};return(n.type==="INSERT"||n.type==="UPDATE")&&(r.new=cF(n.columns,n.record)),(n.type==="UPDATE"||n.type==="DELETE")&&(r.old=cF(n.columns,n.old_record)),r}}class y3e{constructor(n,r){this.socket=new o3e(n,r)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(n){this.socket.heartbeatCallback=n}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(n,r,i,s=1e4){return new Promise(a=>{setTimeout(()=>a("timeout"),s),this.socket.disconnect(()=>{n(),a("ok")},r,i)})}push(n){this.socket.push(n)}log(n,r,i){this.socket.log(n,r,i)}makeRef(){return this.socket.makeRef()}onOpen(n){this.socket.onOpen(n)}onClose(n){this.socket.onClose(n)}onError(n){this.socket.onError(n)}onMessage(n){this.socket.onMessage(n)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==ZN.connecting}isDisconnecting(){return this.socket.connectionState()==ZN.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const hF={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},j3e=[1e3,2e3,5e3,1e4],w3e=1e4;function N3e(){const e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(n){return e.has(n)?e.get(n):null},key(n){var r;return(r=Array.from(e.keys())[n])!==null&&r!==void 0?r:null},removeItem(n){e.delete(n)},setItem(n,r){e.set(n,String(r))}}}function k3e(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return N3e()}const q3e=`
738  addEventListener("message", (e) => {
739    if (e.data.event === "start") {
740      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
741    }
742  });`;class S3e{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(n,r){var i;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={}
742,this.ref=0,this.serializer=new W5e,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=a=>a?(...o)=>a(...o):(...o)=>fetch(...o),!(!((i=r==null?void 0:r.params)===null||i===void 0)&&i.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=r.params.apikey;const s=this._initializeOptions(r);this.socketAdapter=new y3e(n,s),this.httpEndpoint=F7(n),this.fetch=this._resolveFetch(r==null?void 0:r.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(n){const r=n.message;throw new Error(`WebSocket not available: ${r}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(n,r){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},n,r)}getChannels(){return this.channels}async removeChannel(n){const r=await n.unsubscribe();return r==="ok"&&n.teardown(),r}async removeAllChannels(){const n=this.channels.map(async i=>{const s=await i.unsubscribe();return i.teardown(),s}),r=await Promise.all(n);return await this.disconnect(),r}log(n,r,i){this.socketAdapter.log(n,r,i)}connectionState(){return this.socketAdapter.connectionState()||ZN.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(n,r={config:{}}){const i=`realtime:${n}`,s=this.getChannels().find(a=>a.topic===i);if(s)return s;{const a=new pm(`realtime:${n}`,r,this);return this._cancelPendingDisconnect(),this.channels.push(a),a}}push(n){this.socketAdapter.push(n)}async setAuth(n=null){this._authPromise=this._performAuth(n);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(n){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(n)}_makeRef(){return this.socketAdapter.makeRef()}_remove(n){this.channels=this.channels.filter(r=>r.topic!==n.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}
742this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(n=null){let r,i=!1;if(n)r=n,i=!0;else if(this.accessToken)try{r=await this.accessToken()}catch(s){this.log("error","Error fetching access token from callback",s),r=this.accessTokenValue}else r=this.accessTokenValue;i?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=r&&(this.accessTokenValue=r,this.channels.forEach(s=>{const a={access_token:r,version:$5e};r&&s.updateJoinPayload(a),s.joinedOnce&&s.channelAdapter.isJoined()&&s.channelAdapter.push(A7.access_token,{access_token:r})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(n="general"){this._isManualToken()||this.setAuth().catch(r=>{this.log("error",`Error setting auth in ${n}`,r)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(r=>{this.log("error","error waiting for auth on connect",r)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(n=>{n.ref&&n.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(n){return(r,i)=>{r!=="disconnected"&&(r=="sent"&&this._setAuthSafely(),n&&n(r,i))}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const n=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(n),this.workerRef.onerror=r=>{this.log("worker","worker error",r.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=r=>{r.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(n){let r;if(n)r=n;else{const i=new Blob([q3e],{type:"application/javascript"});r=URL.createObjectURL(i)}return r}_initializeOptions(n){var r,i,s,a,o,l,c,u,d,p,m,h;this.worker=(r=n==null?void 0:n.worker)!==null&&r!==void 0?r:!1,this.accessToken=(i=n==null?void 0:n.accessToken)!==null&&i!==void 0?i:null;const g={};g.timeout=(s=n==null?void 0:n.timeout)!==null&&s!==void 0?s:U5e,g.heartbeatIntervalMs=(a=n==null?void 0:n.heartbeatIntervalMs)!==null&&a!==void 0?a:hF.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(o=n==null?void 0:n.disconnectOnEmptyChannelsAfterMs)!==null&&o!==void 0?o:2*((l=n==null?void 0:n.heartbeatIntervalMs)!==null&&l!==void 0?l:hF.HEARTBEAT_INTERVAL),g.transport=(c=n==null?void 0:n.transport)!==null&&c!==void 0?c:D5e.getWebSocketConstructor(),g.params=n==null?void 0:n.params,g.logger=n==null?void 0:n.logger,g.heartbeatCallback=this._wrapHeartbeatCallback(n==null?void 0:n.heartbeatCallback),g.sessionStorage=(u=n==null?void 0:n.sessionStorage)!==null&&u!==void 0?u:k3e(),g.reconnectAfterMs=(d=n==null?void 0:n.reconnectAfterMs)!==null&&d!==void 0?d:b=>j3e[b-1]||w3e;let f,x;const v=(p=n==null?void 0:n.vsn)!==null&&p!==void 0?p:z5e;switch(v){case B5e:f=(b,y)=>y(JSON.stringify(b)),x=(b,y)=>y(JSON.parse(b));break;case I7:f=this.serializer.encode.bind(this.serializer),x=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${g.vsn}`)}if(g.vsn=v,g.encode=(m=n==null?void 0:n.encode)!==null&&m!==void 0?m:f,g.decode=(h=n==null?void 0:n.decode)!==null&&h!==void 0?h:x,g.beforeReconnect=this._reconnectAuth.bind(this),(n!=null&&n.logLevel||n!=null&&n.log_level)&&(this.logLevel=n.logLevel||n.log_level,g.params=Object.assign(Object.assign({},g.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=n==null?void 0:n.workerUrl,g.autoSendHeartbeat=!this.worker}return g}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}
742var Eh=class extends Error{constructor(e,n){var r;super(e),this.name="IcebergError",this.status=n.status,this.icebergType=n.icebergType,this.icebergCode=n.icebergCode,this.details=n.details,this.isCommitStateUnknown=n.icebergType==="CommitStateUnknownException"||[500,502,504].includes(n.status)&&((r=n.icebergType)==null?void 0:r.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function C3e(e,n,r){const i=new URL(n,e);if(r)for(const[s,a]of Object.entries(r))a!==void 0&&i.searchParams.set(s,a);return i.toString()}async function P3e(e){return!e||e.type==="none"?{}:e.type==="bearer"?{Authorization:`Bearer ${e.token}`}:e.type==="header"?{[e.name]:e.value}:e.type==="custom"?await e.getHeaders():{}}function E3e(e){const n=e.fetchImpl??globalThis.fetch;return{async request({method:r,path:i,query:s,body:a,headers:o}){const l=C3e(e.baseUrl,i,s),c=await P3e(e.auth),u=await n(l,{method:r,headers:{...a?{"Content-Type":"application/json"}:{},...c,...o},body:a?JSON.stringify(a):void 0}),d=await u.text(),p=(u.headers.get("content-type")||"").includes("application/json"),m=p&&d?JSON.parse(d):d;if(!u.ok){const h=p?m:void 0,g=h==null?void 0:h.error;throw new Eh((g==null?void 0:g.message)??`Request failed with status ${u.status}`,{status:u.status,icebergType:g==null?void 0:g.type,icebergCode:g==null?void 0:g.code,details:h})}return{status:u.status,headers:u.headers,data:m}}}}function Cg(e){return e.join("�")}var T3e=class{constructor(e,n=""){this.client=e,this.prefix=n}async listNamespaces(e){const n=e?{parent:Cg(e.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:n})).data.namespaces.map(i=>({namespace:i}))}async createNamespace(e,n){const r={namespace:e.namespace,properties:n==null?void 0:n.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:r})).data}async dropNamespace(e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Cg(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Cg(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Cg(e.namespace)}`}),!0}catch(n){if(n instanceof Eh&&n.status===404)return!1;throw n}}async createNamespaceIfNotExists(e,n){try{return await this.createNamespace(e,n)}catch(r){if(r instanceof Eh&&r.status===409)return;throw r}}};function Ac(e){return e.join("�")}var I3e=class{constructor(e,n="",r){this.client=e,this.prefix=n,this.accessDelegation=r}async listTables(e){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Ac(e.namespace)}/tables`})).data.identifiers}async createTable(e,n){const r={};return this.accessDelegation&&(r["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Ac(e.namespace)}/tables`,body:n,headers:r})).data.metadata}async updateTable(e,n){const r=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Ac(e.namespace)}/tables/${e.name}`,body:n});return{"metadata-location":r.data["metadata-location"],metadata:r.data.metadata}}async dropTable(e,n){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Ac(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String((n==null?void 0:n.purge)??!1)}})}async loadTable(e){const n={};return this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Ac(e.namespace)}/tables/${e.name}`,headers:n})).data.metadata}async tableExists(e){const n={};this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Ac(e.namespace)}/tables/${e.name}`,headers:n}),!0}catch(r){if(r instanceof Eh&&r.status===404)return!1;throw r}}
742async createTableIfNotExists(e,n){try{return await this.createTable(e,n)}catch(r){if(r instanceof Eh&&r.status===409)return await this.loadTable({namespace:e.namespace,name:n.name});throw r}}},A3e=class{constructor(e){var i;let n="v1";e.catalogName&&(n+=`/${e.catalogName}`);const r=e.baseUrl.endsWith("/")?e.baseUrl:`${e.baseUrl}/`;this.client=E3e({baseUrl:r,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=(i=e.accessDelegation)==null?void 0:i.join(","),this.namespaceOps=new T3e(this.client,n),this.tableOps=new I3e(this.client,n,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,n){return this.namespaceOps.createNamespace(e,n)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}async createTable(e,n){return this.tableOps.createTable(e,n)}async updateTable(e,n){return this.tableOps.updateTable(e,n)}async dropTable(e,n){await this.tableOps.dropTable(e,n)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,n){return this.namespaceOps.createNamespaceIfNotExists(e,n)}async createTableIfNotExists(e,n){return this.tableOps.createTableIfNotExists(e,n)}};function Th(e){"@babel/helpers - typeof";return Th=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Th(e)}function L3e(e,n){if(Th(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(Th(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function F3e(e){var n=L3e(e,"string");return Th(n)=="symbol"?n:n+""}function _3e(e,n,r){return(n=F3e(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function fF(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function xe(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?fF(Object(r),!0).forEach(function(i){_3e(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fF(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}var Wy=class extends Error{constructor(e,n="storage",r,i){super(e),this.__isStorageError=!0,this.namespace=n,this.name=n==="vectors"?"StorageVectorsError":"StorageError",this.status=r,this.statusCode=i}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Hy(e){return typeof e=="object"&&e!==null&&"__isStorageError"in e}var rk=class extends Wy{constructor(e,n,r,i="storage"){super(e,i,n,r),this.name=i==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=n,this.statusCode=r}toJSON(){return xe({},super.toJSON())}},O7=class extends Wy{constructor(e,n,r="storage"){super(e,r),this.name=r==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=n}};function lb(e,n,r){const i=xe({},e),s=n.toLowerCase();for(const a of Object.keys(i))a.toLowerCase()===s&&delete i[a];return i[s]=r,i}function O3e(e){const n={};for(const[r,i]of Object.entries(e))n[r.toLowerCase()]=i;return n}const R3e=e=>e?(...n)=>e(...n):(...n)=>fetch(...n),D3e=e=>{if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},ik=e=>{if(Array.isArray(e))return e.map(r=>ik(r));if(typeof e=="function"||e!==Object(e))return e;const n={};return Object.entries(e).forEach(([r,i])=>{const s=r.replace(/([-_][a-z])/gi,a=>a.toUpperCase().replace(/[-_]/g,""));n[s]=ik(i)}),n},M3e=e=>!e||typeof e!="string"||e.length===0||e.length>100||e.trim()!==e||e.includes("/")||e.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),gF=e=>{if(typeof e=="object"&&e!==null){const n=e;if(typeof n.msg=="string")return n.msg;if(typeof n.message=="string")return n.message;
742if(typeof n.error_description=="string")return n.error_description;if(typeof n.error=="string")return n.error;if(typeof n.error=="object"&&n.error!==null){const r=n.error;if(typeof r.message=="string")return r.message}}return JSON.stringify(e)},$3e=async(e,n,r,i)=>{if(e!==null&&typeof e=="object"&&"json"in e&&typeof e.json=="function"){const s=e;let a=parseInt(String(s.status),10);Number.isFinite(a)||(a=500),s.json().then(o=>{const l=(o==null?void 0:o.statusCode)||(o==null?void 0:o.code)||a+"";n(new rk(gF(o),a,l,i))}).catch(()=>{const o=a+"";n(new rk(s.statusText||`HTTP ${a} error`,a,o,i))})}else n(new O7(gF(e),e,i))},B3e=(e,n,r,i)=>{const s={method:e,headers:(n==null?void 0:n.headers)||{}};if(e==="GET"||e==="HEAD"||!i)return xe(xe({},s),r);if(D3e(i)){var a;const o=(n==null?void 0:n.headers)||{};let l;for(const[c,u]of Object.entries(o))c.toLowerCase()==="content-type"&&(l=u);s.headers=lb(o,"Content-Type",(a=l)!==null&&a!==void 0?a:"application/json"),s.body=JSON.stringify(i)}else s.body=i;return n!=null&&n.duplex&&(s.duplex=n.duplex),xe(xe({},s),r)};async function kp(e,n,r,i,s,a,o){return new Promise((l,c)=>{e(r,B3e(n,i,s,a)).then(u=>{if(!u.ok)throw u;if(i!=null&&i.noResolveJson)return u;if(o==="vectors"){const d=u.headers.get("content-type");if(u.headers.get("content-length")==="0"||u.status===204)return{};if(!d||!d.includes("application/json"))return{}}return u.json()}).then(u=>l(u)).catch(u=>$3e(u,c,i,o))})}function R7(e="storage"){return{get:async(n,r,i,s)=>kp(n,"GET",r,i,s,void 0,e),post:async(n,r,i,s,a)=>kp(n,"POST",r,s,a,i,e),put:async(n,r,i,s,a)=>kp(n,"PUT",r,s,a,i,e),head:async(n,r,i,s)=>kp(n,"HEAD",r,xe(xe({},i),{},{noResolveJson:!0}),s,void 0,e),remove:async(n,r,i,s,a)=>kp(n,"DELETE",r,s,a,i,e)}}const z3e=R7("storage"),{get:Ih,post:Ci,put:sk,head:U3e,remove:Ah}=z3e,Er=R7("vectors");var Gd=class{constructor(e,n={},r,i="storage"){this.shouldThrowOnError=!1,this.url=e,this.headers=O3e(n),this.fetch=R3e(r),this.namespace=i}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,n){return this.headers=lb(this.headers,e,n),this}async handleOperation(e){var n=this;try{return{data:await e(),error:null}}catch(r){if(n.shouldThrowOnError)throw r;if(Hy(r))return{data:null,error:r};throw r}}};let D7;D7=Symbol.toStringTag;var V3e=class{constructor(e,n){this.downloadFn=e,this.shouldThrowOnError=n,this[D7]="StreamDownloadBuilder",this.promise=null}then(e,n){return this.getPromise().then(e,n)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(n){if(e.shouldThrowOnError)throw n;if(Hy(n))return{data:null,error:n};throw n}}};let M7;M7=Symbol.toStringTag;var W3e=class{constructor(e,n){this.downloadFn=e,this.shouldThrowOnError=n,this[M7]="BlobDownloadBuilder",this.promise=null}asStream(){return new V3e(this.downloadFn,this.shouldThrowOnError)}then(e,n){return this.getPromise().then(e,n)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(n){if(e.shouldThrowOnError)throw n;if(Hy(n))return{data:null,error:n};throw n}}};const Jj={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},xF={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var H3e=class extends Gd{constructor(e,n={},r,i){super(e,n,i,"storage"),this.bucketId=r}async uploadOrUpdate(e,n,r,i){var s=this;return s.handleOperation(async()=>{let a;const o=xe(xe({},xF),i);let l=xe(xe({},s.headers),e==="POST"&&{"x-upsert":String(o.upsert)});const c=o.metadata;if(typeof Blob<"u"&&r instanceof Blob?(a=new FormData,a.append("cacheControl",o.cacheControl),c&&a.append("metadata",s.encodeMetadata(c)),a.append("",r)):typeof FormData<"u"&&r instanceof FormData?(a=r,a.has("cacheControl")||a.append("cacheControl",o.cacheControl),c&&!a.has("metadata")&&a.append("metadata",s.encodeMetadata(c))):(a=r,l["cache-control"]=`max-age=${o.cacheControl}`,l["content-type"]=o.contentType,c&&(l["x-metadata"]=s.toBase64(s.encodeMetadata(c))),(typeof ReadableStream<"u"&&a 
742instanceof ReadableStream||a&&typeof a=="object"&&"pipe"in a&&typeof a.pipe=="function")&&!o.duplex&&(o.duplex="half")),i!=null&&i.headers)for(const[m,h]of Object.entries(i.headers))l=lb(l,m,h);const u=s._removeEmptyFolders(n),d=s._getFinalPath(u),p=await(e=="PUT"?sk:Ci)(s.fetch,`${s.url}/object/${d}`,a,xe({headers:l},o!=null&&o.duplex?{duplex:o.duplex}:{}));return{path:u,id:p.Id,fullPath:p.Key}})}async upload(e,n,r){return this.uploadOrUpdate("POST",e,n,r)}async uploadToSignedUrl(e,n,r,i){var s=this;const a=s._removeEmptyFolders(e),o=s._getFinalPath(a),l=new URL(s.url+`/object/upload/sign/${o}`);return l.searchParams.set("token",n),s.handleOperation(async()=>{let c;const u=xe(xe({},xF),i);let d=xe(xe({},s.headers),{"x-upsert":String(u.upsert)});const p=u.metadata;if(typeof Blob<"u"&&r instanceof Blob?(c=new FormData,c.append("cacheControl",u.cacheControl),p&&c.append("metadata",s.encodeMetadata(p)),c.append("",r)):typeof FormData<"u"&&r instanceof FormData?(c=r,c.has("cacheControl")||c.append("cacheControl",u.cacheControl),p&&!c.has("metadata")&&c.append("metadata",s.encodeMetadata(p))):(c=r,d["cache-control"]=`max-age=${u.cacheControl}`,d["content-type"]=u.contentType,p&&(d["x-metadata"]=s.toBase64(s.encodeMetadata(p))),(typeof ReadableStream<"u"&&c instanceof ReadableStream||c&&typeof c=="object"&&"pipe"in c&&typeof c.pipe=="function")&&!u.duplex&&(u.duplex="half")),i!=null&&i.headers)for(const[m,h]of Object.entries(i.headers))d=lb(d,m,h);return{path:a,fullPath:(await sk(s.fetch,l.toString(),c,xe({headers:d},u!=null&&u.duplex?{duplex:u.duplex}:{}))).Key}})}async createSignedUploadUrl(e,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e);const s=xe({},r.headers);n!=null&&n.upsert&&(s["x-upsert"]="true");const a=await Ci(r.fetch,`${r.url}/object/upload/sign/${i}`,{},{headers:s}),o=new URL(r.url+a.url),l=o.searchParams.get("token");if(!l)throw new Wy("No token returned by API");return{signedUrl:o.toString(),path:e,token:l}})}async update(e,n,r){return this.uploadOrUpdate("PUT",e,n,r)}async move(e,n,r){var i=this;return i.handleOperation(async()=>await Ci(i.fetch,`${i.url}/object/move`,{bucketId:i.bucketId,sourceKey:e,destinationKey:n,destinationBucket:r==null?void 0:r.destinationBucket},{headers:i.headers}))}async copy(e,n,r){var i=this;return i.handleOperation(async()=>({path:(await Ci(i.fetch,`${i.url}/object/copy`,{bucketId:i.bucketId,sourceKey:e,destinationKey:n,destinationBucket:r==null?void 0:r.destinationBucket},{headers:i.headers})).Key}))}async createSignedUrl(e,n,r){var i=this;return i.handleOperation(async()=>{let s=i._getFinalPath(e);const a=typeof(r==null?void 0:r.transform)=="object"&&r.transform!==null&&Object.keys(r.transform).length>0;let o=await Ci(i.fetch,`${i.url}/object/sign/${s}`,xe({expiresIn:n},a?{transform:r.transform}:{}),{headers:i.headers});const l=new URLSearchParams;r!=null&&r.download&&l.set("download",r.download===!0?"":r.download),(r==null?void 0:r.cacheNonce)!=null&&l.set("cacheNonce",String(r.cacheNonce));const c=l.toString();return{signedUrl:encodeURI(`${i.url}${o.signedURL}${c?`&${c}`:""}`)}})}async createSignedUrls(e,n,r){var i=this;return i.handleOperation(async()=>{const s=await Ci(i.fetch,`${i.url}/object/sign/${i.bucketId}`,{expiresIn:n,paths:e},{headers:i.headers}),a=new URLSearchParams;r!=null&&r.download&&a.set("download",r.download===!0?"":r.download),(r==null?void 0:r.cacheNonce)!=null&&a.set("cacheNonce",String(r.cacheNonce));const o=a.toString();return s.map(l=>xe(xe({},l),{},{signedUrl:l.signedURL?encodeURI(`${i.url}${l.signedURL}${o?`&${o}`:""}`):null}))})}download(e,n,r){const i=typeof(n==null?void 0:n.transform)=="object"&&n.transform!==null&&Object.keys(n.transform).length>0?"render/image/authenticated":"object",s=new URLSearchParams;n!=null&&n.transform&&this.applyTransformOptsToQuery(s,n.transform),(n==null?void 0:n.cacheNonce)!=null&&s.set("cacheNonce",String(n.cacheNonce));const a=s.toString(),o=this._getFinalPath(e),l=()=>Ih(this.fetch,`${this.url}/${i}/${o}${a?`?${a}`:""}`,{headers:this.headers,noResolveJson:!0},r);return new W3e(l,this.shouldThrowOnError)}async info(e){var n=this;const r=n._getFinalPath(e);return n.handleOperation(async()=>ik(await Ih(n.fetch,`${n.url}/object/info/${r}`,{headers:n.headers})))}async exists(e){var n=this;const r=n._getFinalPath(e);try{return await U3e(n.fetch,`${n.url}/object/${r}`,{headers:n.headers}),{data:!0,error:null}}catch(s){if(n.shouldThrowOnError)throw s;if(Hy(s)){var i;const a=s instanceof rk?s.status:s instanceof O7?(i=s.originalError)===null||i===void 0?void 0:i.status:void 0;if(a!==void 0&&[400,404].includes(a))return{data:!1,error:s}}throw s}}getPublicUrl(e,n){const r=this._getFinalPath(e),i=new URLSearchParams;n!=null&&n.download&&i.set("download",n.download===!0?"":n.download),n!=null&&n.transform&&this.applyTransformOptsToQuery(i,n.transform),(n==null?void 0:n.cacheNonce)!=null&&i.set("cacheNonce",String(n.cacheNonce));const s=i.toString(),a=typeof(n==null?void 0:n.transform)=="object"&&n.transform!==null&&Object.keys(n.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${r}`)+(s?`?${s}`:"")}}}async remove(e){var n=this;return n.handleOperation(async()=>await Ah(n.fetch,`${n.url}/object/${n.bucketId}`,{prefixes:e},{headers:n.headers}))}async purgeCache(e,n,r){var i=this;return i.handleOperation(async()=>{const s=i._getFinalPath(e),a=new URLSearchParams;n!=null&&n.transformations&&a.set("transformations","true");const o=a.toString();return await Ah(i.fetch,`${i.url}/cdn/${s}${o?`?${o}`:""}`,{},{headers:i.headers},r)})}async list(e,n,r){var i=this;return i.handleOperation(async()=>{const s=n!=null&&n.sortBy?xe(xe({},Jj.sortBy),n.sortBy):Jj.sortBy,a=xe(xe(xe({},Jj),n),{},{sortBy:s,prefix:e||""});return await Ci(i.fetch,`${i.url}/object/list/${i.bucketId}`,a,{headers:i.headers},r)})}async listV2(e,n){var r=this;return r.handleOperation(async()=>{const i=xe({},e);return await Ci(r.fetch,`${r.url}/object/list-v2/${r.bucketId}`,i,{headers:r.headers},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,"/")}applyTransformOptsToQuery(e,n){return n.width&&e.set("width",n.width.toString()),n.height&&e.set("height",n.height.toString()),n.resize&&e.set("resize",n.resize),n.format&&e.set("format",n.format),n.quality&&e.set("qual
742ity",n.quality.toString()),e}};const G3e="2.110.7",ff={"X-Client-Info":`storage-js/${G3e}`};var K3e=class extends Gd{constructor(e,n={},r,i){const s=new URL(e);i!=null&&i.useNewHostname&&/supabase\.(co|in|red)$/.test(s.hostname)&&!s.hostname.includes("storage.supabase.")&&(s.hostname=s.hostname.replace("supabase.","storage.supabase."));const a=s.href.replace(/\/$/,""),o=xe(xe({},ff),n);super(a,o,r,"storage")}async listBuckets(e){var n=this;return n.handleOperation(async()=>{const r=n.listBucketOptionsToQueryString(e);return await Ih(n.fetch,`${n.url}/bucket${r}`,{headers:n.headers})})}async getBucket(e){var n=this;return n.handleOperation(async()=>await Ih(n.fetch,`${n.url}/bucket/${e}`,{headers:n.headers}))}async createBucket(e,n={public:!1}){var r=this;return r.handleOperation(async()=>await Ci(r.fetch,`${r.url}/bucket`,{id:e,name:e,type:n.type,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:r.headers}))}async updateBucket(e,n){var r=this;return r.handleOperation(async()=>await sk(r.fetch,`${r.url}/bucket/${e}`,{id:e,name:e,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:r.headers}))}async emptyBucket(e){var n=this;return n.handleOperation(async()=>await Ci(n.fetch,`${n.url}/bucket/${e}/empty`,{},{headers:n.headers}))}async deleteBucket(e){var n=this;return n.handleOperation(async()=>await Ah(n.fetch,`${n.url}/bucket/${e}`,{},{headers:n.headers}))}async purgeBucketCache(e,n,r){var i=this;return i.handleOperation(async()=>{const s=new URLSearchParams;n!=null&&n.transformations&&s.set("transformations","true");const a=s.toString();return await Ah(i.fetch,`${i.url}/cdn/${e}${a?`?${a}`:""}`,{},{headers:i.headers},r)})}listBucketOptionsToQueryString(e){const n={};return e&&("limit"in e&&(n.limit=String(e.limit)),"offset"in e&&(n.offset=String(e.offset)),e.search&&(n.search=e.search),e.sortColumn&&(n.sortColumn=e.sortColumn),e.sortOrder&&(n.sortOrder=e.sortOrder)),Object.keys(n).length>0?"?"+new URLSearchParams(n).toString():""}},Q3e=class extends Gd{constructor(e,n={},r){const i=e.replace(/\/$/,""),s=xe(xe({},ff),n);super(i,s,r,"storage")}async createBucket(e){var n=this;return n.handleOperation(async()=>await Ci(n.fetch,`${n.url}/bucket`,{name:e},{headers:n.headers}))}async listBuckets(e){var n=this;return n.handleOperation(async()=>{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 i=r.toString(),s=i?`${n.url}/bucket?${i}`:`${n.url}/bucket`;return await Ih(n.fetch,s,{headers:n.headers})})}async deleteBucket(e){var n=this;return n.handleOperation(async()=>await Ah(n.fetch,`${n.url}/bucket/${e}`,{},{headers:n.headers}))}from(e){var n=this;if(!M3e(e))throw new Wy("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const r=new A3e({baseUrl:this.url,catalogName:e,auth:{type:"custom",getHeaders:async()=>n.headers},fetch:this.fetch}),i=this.shouldThrowOnError;return new Proxy(r,{get(s,a){const o=s[a];return typeof o!="function"?o:async(...l)=>{try{return{data:await o.apply(s,l),error:null}}catch(c){if(i)throw c;return{data:null,error:c}}}}})}},Y3e=class extends Gd{constructor(e,n={},r){const i=e.replace(/\/$/,""),s=xe(xe({},ff),{},{"Content-Type":"application/json"},n);super(i,s,r,"vectors")}async createIndex(e){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/CreateIndex`,e,{headers:n.headers})||{})}async getIndex(e,n){var r=this;return r.handleOperation(async()=>await Er.post(r.fetch,`${r.url}/GetIndex`,{vectorBucketName:e,indexName:n},{headers:r.headers}))}async listIndexes(e){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/ListIndexes`,e,{headers:n.headers}))}async deleteIndex(e,n){var r=this;return r.handleOperation(async()=>await Er.post(r.fetch,`${r.url}/DeleteIndex`,{vectorBucketName:e,indexName:n},{headers:r.headers})||{})}},J3e=class extends Gd{constructor(e,n={},r){const i=e.replace(/\/$/,""),s=xe(xe({},ff),{},{"Content-Type":"application/json"},n);super(i,s,r,"vectors")}async putVectors(e){var n=this;if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/PutVectors`,e,{headers:n.headers})||{})}async getVectors(e){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/GetVectors`,e,{headers:n.headers}))}async listVectors(e){var n=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");
742if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/ListVectors`,e,{headers:n.headers}))}async queryVectors(e){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/QueryVectors`,e,{headers:n.headers}))}async deleteVectors(e){var n=this;if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/DeleteVectors`,e,{headers:n.headers})||{})}},X3e=class extends Gd{constructor(e,n={},r){const i=e.replace(/\/$/,""),s=xe(xe({},ff),{},{"Content-Type":"application/json"},n);super(i,s,r,"vectors")}async createBucket(e){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:n.headers})||{})}async getBucket(e){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/GetVectorBucket`,{vectorBucketName:e},{headers:n.headers}))}async listBuckets(e={}){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/ListVectorBuckets`,e,{headers:n.headers}))}async deleteBucket(e){var n=this;return n.handleOperation(async()=>await Er.post(n.fetch,`${n.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:n.headers})||{})}},Z3e=class extends X3e{constructor(e,n={}){super(e,n.headers||{},n.fetch)}from(e){return new eFe(this.url,this.headers,e,this.fetch)}async createBucket(e){var n=()=>super.createBucket,r=this;return n().call(r,e)}async getBucket(e){var n=()=>super.getBucket,r=this;return n().call(r,e)}async listBuckets(e={}){var n=()=>super.listBuckets,r=this;return n().call(r,e)}async deleteBucket(e){var n=()=>super.deleteBucket,r=this;return n().call(r,e)}},eFe=class extends Y3e{constructor(e,n,r,i){super(e,n,i),this.vectorBucketName=r}async createIndex(e){var n=()=>super.createIndex,r=this;return n().call(r,xe(xe({},e),{},{vectorBucketName:r.vectorBucketName}))}async listIndexes(e={}){var n=()=>super.listIndexes,r=this;return n().call(r,xe(xe({},e),{},{vectorBucketName:r.vectorBucketName}))}async getIndex(e){var n=()=>super.getIndex,r=this;return n().call(r,r.vectorBucketName,e)}async deleteIndex(e){var n=()=>super.deleteIndex,r=this;return n().call(r,r.vectorBucketName,e)}index(e){return new tFe(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},tFe=class extends J3e{constructor(e,n,r,i,s){super(e,n,s),this.vectorBucketName=r,this.indexName=i}async putVectors(e){var n=()=>super.putVectors,r=this;return n().call(r,xe(xe({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async getVectors(e){var n=()=>super.getVectors,r=this;return n().call(r,xe(xe({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async listVectors(e={}){var n=()=>super.listVectors,r=this;return n().call(r,xe(xe({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async queryVectors(e){var n=()=>super.queryVectors,r=this;return n().call(r,xe(xe({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async deleteVectors(e){var n=()=>super.deleteVectors,r=this;return n().call(r,xe(xe({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}},nFe=class extends K3e{constructor(e,n={},r,i){super(e,n,r,i)}from(e){return new H3e(this.url,this.headers,e,this.fetch)}get vectors(){return new Z3e(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new Q3e(this.url+"/iceberg",this.headers,this.fetch)}};function Gy(e,n){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&n.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++)n.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]]);return r}const $7="2.110.7",$s=30*1e3,Vp=3,Xj=Vp*$s,rFe=2*$s,iFe="http://localhost:9999",sFe="supabase.auth.token",aFe={"X-Client-Info":`gotrue-js/${$7}`},ak="X-Supabase-Api-Version",B7={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},oFe=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,lFe=10*60*1e3;
742class Lh extends Error{constructor(n,r,i){super(n),this.__isAuthError=!0,this.name="AuthError",this.status=r,this.code=i}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function oe(e){return typeof e=="object"&&e!==null&&"__isAuthError"in e}class cFe extends Lh{constructor(n,r,i){super(n,r,i),this.name="AuthApiError",this.status=r,this.code=i}}function uFe(e){return oe(e)&&e.name==="AuthApiError"}class _i extends Lh{constructor(n,r){super(n),this.name="AuthUnknownError",this.originalError=r}}class Ss extends Lh{constructor(n,r,i,s){super(n,i,s),this.name=r,this.status=i}}class on extends Ss{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function Pg(e){return oe(e)&&e.name==="AuthSessionMissingError"}class Lc extends Ss{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class Eg extends Ss{constructor(n){super(n,"AuthInvalidCredentialsError",400,void 0)}}class Tg extends Ss{constructor(n,r=null){super(n,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function dFe(e){return oe(e)&&e.name==="AuthImplicitGrantRedirectError"}class vF extends Ss{constructor(n,r=null){super(n,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class pFe extends Ss{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class ok extends Ss{constructor(n,r){super(n,"AuthRetryableFetchError",r,void 0)}}function bF(e){return oe(e)&&e.name==="AuthRetryableFetchError"}class yF extends Ss{constructor(n="Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)"){super(n,"AuthRefreshDiscardedError",409,void 0)}}function mFe(e){return oe(e)&&e.name==="AuthRefreshDiscardedError"}class jF extends Ss{constructor(n,r,i){super(n,"AuthWeakPasswordError",r,"weak_password"),this.reasons=i}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class cb extends Ss{constructor(n){super(n,"AuthInvalidJwtError",400,"invalid_jwt")}}const ub="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),wF=` 	
743\r=`.split(""),hFe=(()=>{const e=new Array(128);for(let n=0;n<e.length;n+=1)e[n]=-1;for(let n=0;n<wF.length;n+=1)e[wF[n].charCodeAt(0)]=-2;for(let n=0;n<ub.length;n+=1)e[ub[n].charCodeAt(0)]=n;return e})();function NF(e,n,r){if(e!==null)for(n.queue=n.queue<<8|e,n.queuedBits+=8;n.queuedBits>=6;){const i=n.queue>>n.queuedBits-6&63;r(ub[i]),n.queuedBits-=6}else if(n.queuedBits>0)for(n.queue=n.queue<<6-n.queuedBits,n.queuedBits=6;n.queuedBits>=6;){const i=n.queue>>n.queuedBits-6&63;r(ub[i]),n.queuedBits-=6}}function z7(e,n,r){const i=hFe[e];if(i>-1)for(n.queue=n.queue<<6|i,n.queuedBits+=6;n.queuedBits>=8;)r(n.queue>>n.queuedBits-8&255),n.queuedBits-=8;else{if(i===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}}function kF(e){const n=[],r=o=>{n.push(String.fromCodePoint(o))},i={utf8seq:0,codepoint:0},s={queue:0,queuedBits:0},a=o=>{xFe(o,i,r)};for(let o=0;o<e.length;o+=1)z7(e.charCodeAt(o),s,a);return n.join("")}function fFe(e,n){if(e<=127){n(e);return}else if(e<=2047){n(192|e>>6),n(128|e&63);return}else if(e<=65535){n(224|e>>12),n(128|e>>6&63),n(128|e&63);return}else if(e<=1114111){n(240|e>>18),n(128|e>>12&63),n(128|e>>6&63),n(128|e&63);return}throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function gFe(e,n){for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r);if(i>55295&&i<=56319){const s=(i-55296)*1024&65535;i=(e.charCodeAt(r+1)-56320&65535|s)+65536,r+=1}fFe(i,n)}}function xFe(e,n,r){if(n.utf8seq===0){if(e<=127){r(e);return}for(let i=1;i<6;i+=1)if(!(e>>7-i&1)){n.utf8seq=i;break}if(n.utf8seq===2)n.codepoint=e&31;else if(n.utf8seq===3)n.codepoint=e&15;else if(n.utf8seq===4)n.codepoint=e&7;else throw new Error("Invalid UTF-8 sequence");n.utf8seq-=1}else if(n.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");n.codepoint=n.codepoint<<6|e&63,n.utf8seq-=1,n.utf8seq===0&&r(n.codepoint)}}function ku(e){const n=[],r={queue:0,queuedBits:0},i=s=>{n.push(s)};for(let s=0;s<e.length;s+=1)z7(e.charCodeAt(s),r,i);return new Uint8Array(n)}function vFe(e){const n=[];return gFe(e,r=>n.push(r)),new Uint8Array(n)}function Cl(e){const n=[],r={queue:0,queuedBits:0},i=s=>{n.push(s)};return e.forEach(s=>NF(s,r,i)),NF(null,r,i),n.join("")}function bFe(e){return Math.round(Date.now()/1e3)+e}function yFe(){return Symbol("auth-callback")}const Cn=()=>typeof window<"u"&&typeof document<"u",rl={tested:!1,writable:!1},U7=()=>{if(!Cn())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(rl.tested)return rl.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),rl.tested=!0,rl.writable=!0}catch{rl.tested=!0,rl.writable=!1}return rl.writable};function jFe(e){const n={},r=new URL(e);if(r.hash&&r.hash[0]==="#")try{new URLSearchParams(r.hash.substring(1)).forEach((s,a)=>{n[a]=s})}catch{}return r.searchParams.forEach((i,s)=>{n[s]=i}),n}const V7=e=>e?(...n)=>e(...n):(...n)=>fetch(...n),wFe=e=>typeof e=="object"&&e!==null&&"status"in e&&"ok"in e&&"json"in e&&typeof e.json=="function",Dc=async(e,n,r)=>{await e.setItem(n,JSON.stringify(r))},Ni=async(e,n)=>{const r=await e.getItem(n);if(!r)return null;try{return JSON.parse(r)}catch{return null}},Ut=async(e,n)=>{await e.removeItem(n)};class Ky{constructor(){this.promise=new Ky.promiseConstructor((n,r)=>{this.resolve=n,this.reject=r})}}Ky.promiseConstructor=Promise;function Ig(e){const n=e.split(".");if(n.length!==3)throw new cb("Invalid JWT structure");for(let i=0;i<n.length;i++)if(!oFe.test(n[i]))throw new cb("JWT not in base64url format");return{header:JSON.parse(kF(n[0])),payload:JSON.parse(kF(n[1])),signature:ku(n[2]),raw:{header:n[0],payload:n[1]}}}async function NFe(e){return await new Promise(n=>{setTimeout(()=>n(null),e)})}function kFe(e,n){return new Promise((i,s)=>{(async()=>{for(let a=0;a<1/0;a++)try{const o=await e(a);if(!n(a,null,o)){i(o);return}}catch(o){if(!n(a,o)){s(o);return}}})()})}function qFe(e){return("0"+e.toString(16)).substr(-2)}function SFe(){const n=new Uint32Array(56);if(typeof crypto>"u"){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=r.length;let s="";for(let a=0;a<56;a++)s+=r.charAt(Math.floor(Math.random()*i));return s}return crypto.getRandomValues(n),Array.from(n,qFe).join("")}async function CFe(e){const r=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",r),s=new Uint8Array(i);return Array.from(s).map(a=>String.fromCharCode(a)).join("")}async function PFe(e){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code 
743challenge method will default to use plain instead of sha256."),e;const r=await CFe(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function il(e,n,r=!1){const i=SFe();let s=i;r&&(s+="/recovery"),await Dc(e,`${n}-code-verifier`,s);const a=await PFe(i);return[a,i===a?"plain":"s256"]}const EFe=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function TFe(e){const n=e.headers.get(ak);if(!n||!n.match(EFe))return null;try{return new Date(`${n}T00:00:00.0Z`)}catch{return null}}function IFe(e){if(!e)throw new Error("Missing exp claim");const n=Math.floor(Date.now()/1e3);if(e<=n)throw new Error("JWT has expired")}function AFe(e){switch(e){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 LFe=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ls(e){if(!LFe.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function qi(e){if(!e.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function Zj(){const e={};return new Proxy(e,{get:(n,r)=>{if(r==="__isUserNotAvailableProxy")return!0;if(typeof r=="symbol"){const i=r.toString();if(i==="Symbol(Symbol.toPrimitive)"||i==="Symbol(Symbol.toStringTag)"||i==="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:(n,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:(n,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 FFe(e,n){return new Proxy(e,{get:(r,i,s)=>{if(i==="__isInsecureUserWarningProxy")return!0;if(typeof i=="symbol"){const a=i.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,i,s)}return!n.value&&typeof i=="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."),n.value=!0),Reflect.get(r,i,s)}})}function qF(e){return JSON.parse(JSON.stringify(e))}const fl=e=>{if(typeof e=="object"&&e!==null){const n=e;if(typeof n.msg=="string")return n.msg;if(typeof n.message=="string")return n.message;if(typeof n.error_description=="string")return n.error_description;if(typeof n.error=="string")return n.error}return JSON.stringify(e)},_Fe=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function SF(e){var n;if(!wFe(e))throw new ok(fl(e),0);if(_Fe.includes(e.status))throw new ok(fl(e),e.status);let r;try{r=await e.json()}catch(a){throw new _i(fl(a),a)}let i;const s=TFe(e);if(s&&s.getTime()>=B7["2024-01-01"].timestamp&&typeof r=="object"&&r&&typeof r.code=="string"?i=r.code:typeof r=="object"&&r&&typeof r.error_code=="string"&&(i=r.error_code),i){if(i==="weak_password")throw new jF(fl(r),e.status,((n=r.weak_password)===null||n===void 0?void 0:n.reasons)||[]);if(i==="session_not_found")throw new on}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)=>
743a&&typeof o=="string",!0))throw new jF(fl(r),e.status,r.weak_password.reasons);throw new cFe(fl(r),e.status||500,i)}const OFe=(e,n,r,i)=>{const s={method:e,headers:(n==null?void 0:n.headers)||{}};return e==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},n==null?void 0:n.headers),s.body=JSON.stringify(i),Object.assign(Object.assign({},s),r))};async function de(e,n,r,i){var s;const a=Object.assign({},i==null?void 0:i.headers);a[ak]||(a[ak]=B7["2024-01-01"].name),i!=null&&i.jwt&&(a.Authorization=`Bearer ${i.jwt}`);const o=(s=i==null?void 0:i.query)!==null&&s!==void 0?s:{};i!=null&&i.redirectTo&&(o.redirect_to=i.redirectTo);const l=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=await RFe(e,n,r+l,{headers:a,noResolveJson:i==null?void 0:i.noResolveJson},{},i==null?void 0:i.body);return i!=null&&i.xform?i==null?void 0:i.xform(c):{data:Object.assign({},c),error:null}}async function RFe(e,n,r,i,s,a){const o=OFe(n,i,s,a);let l;try{l=await e(r,Object.assign({},o))}catch(c){throw console.error(c),new ok(fl(c),0)}if(l.ok||await SF(l),i!=null&&i.noResolveJson)return l;try{return await l.json()}catch(c){await SF(c)}}function Kr(e){var n;let r=null;$Fe(e)&&(r=Object.assign({},e),e.expires_at||(r.expires_at=bFe(e.expires_in)));const i=(n=e.user)!==null&&n!==void 0?n:typeof(e==null?void 0:e.id)=="string"?e:null;return{data:{session:r,user:i},error:null}}function CF(e){const n=Kr(e);return!n.error&&e.weak_password&&typeof e.weak_password=="object"&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message=="string"&&e.weak_password.reasons.reduce((r,i)=>r&&typeof i=="string",!0)&&(n.data.weak_password=e.weak_password),n}function Za(e){var n;return{data:{user:(n=e.user)!==null&&n!==void 0?n:e},error:null}}function DFe(e){return{data:e,error:null}}function MFe(e){const{action_link:n,email_otp:r,hashed_token:i,redirect_to:s,verification_type:a}=e,o=Gy(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),l={action_link:n,email_otp:r,hashed_token:i,redirect_to:s,verification_type:a},c=Object.assign({},o);return{data:{properties:l,user:c},error:null}}function PF(e){return e}function $Fe(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}const ew=["global","local","others"];class BFe{constructor({url:n="",headers:r={},fetch:i,experimental:s}){this.url=n,this.headers=r,this.fetch=V7(i),this.experimental=s??{},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)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(n,r=ew[0]){if(ew.indexOf(r)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${ew.join(", ")}`);try{return await de(this.fetch,"POST",`${this.url}/logout?scope=${r}`,{headers:this.headers,jwt:n,noResolveJson:!0}),{data:null,error:null}}catch(i){if(oe(i))return{data:null,error:i};throw i}}async inviteUserByEmail(n,r={}){try{return await de(this.fetch,"POST",`${this.url}/invite`,{body:{email:n,data:r.data},headers:this.headers,redirectTo:r.redirectTo,xform:Za})}catch(i){if(oe(i))return{data:{user:null},error:i};throw i}}async generateLink(n){try{const{options:r}=n,i=Gy(n,["options"]),s=Object.assign(Object.assign({},i),r);return"newEmail"in i&&(s.new_email=i==null?void 0:i.newEmail,delete s.newEmail),await de(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:MFe,redirectTo:r==null?void 0:r.redirectTo})}catch(r){if(oe(r))return{data:{properties:null,user:null},error:r};throw r}}async createUser(n){try{return await de(this.fetch,"POST",`${this.url}/admin/users`,{body:n,headers:this.headers,xform:Za})}catch(r){if(oe(r))return{data:{user:null},error:r};throw r}}async listUsers(n){var r,i,s,a,o,l,c;try{const u={nextPage:null,lastPage:0,total:0},d=await de(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(i=(r=n==null?void 0:n.page)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:"",per_page:(a=(s=n==null?void 0:n.perPage)===null||s===void 0?void 0:s.toString())!==null&&a!==void 0?a:""},xform:PF});if(d.error)throw d.error;const p=await d.json(),m=(o=d.headers.get("x-total-count"))!==null&&o!==void 0?o:0,h=(c=(l=d.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return h.length>
7430&&(h.forEach(g=>{const f=parseInt(g.split(";")[0].split("=")[1].substring(0,1)),x=JSON.parse(g.split(";")[1].split("=")[1]);u[`${x}Page`]=f}),u.total=parseInt(m)),{data:Object.assign(Object.assign({},p),u),error:null}}catch(u){if(oe(u))return{data:{users:[]},error:u};throw u}}async getUserById(n){Ls(n);try{return await de(this.fetch,"GET",`${this.url}/admin/users/${n}`,{headers:this.headers,xform:Za})}catch(r){if(oe(r))return{data:{user:null},error:r};throw r}}async updateUserById(n,r){Ls(n);try{return await de(this.fetch,"PUT",`${this.url}/admin/users/${n}`,{body:r,headers:this.headers,xform:Za})}catch(i){if(oe(i))return{data:{user:null},error:i};throw i}}async deleteUser(n,r=!1){Ls(n);try{return await de(this.fetch,"DELETE",`${this.url}/admin/users/${n}`,{headers:this.headers,body:{should_soft_delete:r},xform:Za})}catch(i){if(oe(i))return{data:{user:null},error:i};throw i}}async _listFactors(n){Ls(n.userId);try{const{data:r,error:i}=await de(this.fetch,"GET",`${this.url}/admin/users/${n.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:r,error:i}}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _deleteFactor(n){Ls(n.userId),Ls(n.id);try{return{data:await de(this.fetch,"DELETE",`${this.url}/admin/users/${n.userId}/factors/${n.id}`,{headers:this.headers}),error:null}}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _listOAuthClients(n){var r,i,s,a,o,l,c;try{const u={nextPage:null,lastPage:0,total:0},d=await de(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(i=(r=n==null?void 0:n.page)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:"",per_page:(a=(s=n==null?void 0:n.perPage)===null||s===void 0?void 0:s.toString())!==null&&a!==void 0?a:""},xform:PF});if(d.error)throw d.error;const p=await d.json(),m=(o=d.headers.get("x-total-count"))!==null&&o!==void 0?o:0,h=(c=(l=d.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return h.length>0&&(h.forEach(g=>{const f=parseInt(g.split(";")[0].split("=")[1].substring(0,1)),x=JSON.parse(g.split(";")[1].split("=")[1]);u[`${x}Page`]=f}),u.total=parseInt(m)),{data:Object.assign(Object.assign({},p),u),error:null}}catch(u){if(oe(u))return{data:{clients:[]},error:u};throw u}}async _createOAuthClient(n){try{return await de(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _getOAuthClient(n){try{return await de(this.fetch,"GET",`${this.url}/admin/oauth/clients/${n}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _updateOAuthClient(n,r){try{return await de(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${n}`,{body:r,headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(oe(i))return{data:null,error:i};throw i}}async _deleteOAuthClient(n){try{return await de(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${n}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _regenerateOAuthClientSecret(n){try{return await de(this.fetch,"POST",`${this.url}/admin/oauth/clients/${n}/regenerate_secret`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _listCustomProviders(n){try{const r={};return n!=null&&n.type&&(r.type=n.type),await de(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:r,xform:i=>{var s;return{data:{providers:(s=i==null?void 0:i.providers)!==null&&s!==void 0?s:[]},error:null}}})}catch(r){if(oe(r))return{data:{providers:[]},error:r};throw r}}async _createCustomProvider(n){try{return await de(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _getCustomProvider(n){try{return await de(this.fetch,"GET",`${this.url}/admin/custom-providers/${n}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _updateCustomProvider(n,r){try{return await de(this.fetch,"PUT",`${this.url}/admin/custom-providers/${n}`,{body:r,headers:this.headers,xform:i=>({data:i,error:null})})}catch(i){if(oe(i))return{data:null,error:i};throw i}}async _deleteCustomProvider(n){try{return await de(this.fetch,"DELET
743E",`${this.url}/admin/custom-providers/${n}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _adminListPasskeys(n){qi(this.experimental),Ls(n.userId);try{return await de(this.fetch,"GET",`${this.url}/admin/users/${n.userId}/passkeys`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(oe(r))return{data:null,error:r};throw r}}async _adminDeletePasskey(n){qi(this.experimental),Ls(n.userId),Ls(n.passkeyId);try{return await de(this.fetch,"DELETE",`${this.url}/admin/users/${n.userId}/passkeys/${n.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(oe(r))return{data:null,error:r};throw r}}}function EF(e={}){return{getItem:n=>e[n]||null,setItem:(n,r)=>{e[n]=r},removeItem:n=>{delete e[n]}}}globalThis&&U7()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");class zFe extends Error{constructor(n){super(n),this.isAcquireTimeout=!0}}function UFe(){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 W7(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function VFe(e){return parseInt(e,16)}function WFe(e){const n=new TextEncoder().encode(e);return"0x"+Array.from(n,i=>i.toString(16).padStart(2,"0")).join("")}function HFe(e){var n;const{chainId:r,domain:i,expirationTime:s,issuedAt:a=new Date,nonce:o,notBefore:l,requestId:c,resources:u,scheme:d,uri:p,version:m}=e;{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(!i)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(!p)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(m!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${m}`);if(!((n=e.statement)===null||n===void 0)&&n.includes(`
744`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`)}const h=W7(e.address),g=d?`${d}://${i}`:i,f=e.statement?`${e.statement}
745`:"",x=`${g} wants you to sign in with your Ethereum account:
746${h}
747
748${f}`;let v=`URI: ${p}
749Version: ${m}
750Chain ID: ${r}${o?`
751Nonce: ${o}`:""}
752Issued At: ${a.toISOString()}`;if(s&&(v+=`
753Expiration Time: ${s.toISOString()}`),l&&(v+=`
754Not Before: ${l.toISOString()}`),c&&(v+=`
755Request ID: ${c}`),u){let b=`
756Resources:`;for(const y of u){if(!y||typeof y!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${y}`);b+=`
757- ${y}`}v+=b}return`${x}
758${v}`}class Ht extends Error{constructor({message:n,code:r,cause:i,name:s}){var a;super(n,{cause:i}),this.__isWebAuthnError=!0,this.name=(a=s??(i instanceof Error?i.name:void 0))!==null&&a!==void 0?a:"Unknown Error",this.code=r}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class db extends Ht{constructor(n,r){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r,message:n}),this.name="WebAuthnUnknownError",this.originalError=r}}function GFe({error:e,options:n}){var r,i,s;const{publicKey:a}=n;if(!a)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new Ht({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(((r=a.authenticatorSelection)===null||r===void 0?void 0:r.requireResidentKey)===!0)return new Ht({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(n.mediation==="conditional"&&((i=a.authenticatorSelection)===null||i===void 0?void 0:i.userVerification)==="required")return new Ht({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(((s=a.authenticatorSelection)===null||s===void 0?void 0:s.userVerification)==="required")return new Ht({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new Ht({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new Ht({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return a.pubKeyCredParams.filter(l=>l.type==="public-key").length===0?new Ht({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new Ht({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const o=window.location.hostname;if(H7(o)){if(a.rp.id!==o)return new Ht({message:`The RP ID "${a.rp.id}
758" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ht({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(a.user.id.byteLength<1||a.user.id.byteLength>64)return new Ht({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new Ht({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ht({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function KFe({error:e,options:n}){const{publicKey:r}=n;if(!r)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(n.signal instanceof AbortSignal)return new Ht({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new Ht({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const i=window.location.hostname;if(H7(i)){if(r.rpId!==i)return new Ht({message:`The RP ID "${r.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ht({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new Ht({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ht({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}class QFe{createNewAbortSignal(){if(this.controller){const r=new Error("Cancelling existing WebAuthn API call for new one");r.name="AbortError",this.controller.abort(r)}const n=new AbortController;return this.controller=n,n.signal}cancelCeremony(){if(this.controller){const n=new Error("Manually cancelling existing WebAuthn API call");n.name="AbortError",this.controller.abort(n),this.controller=void 0}}}const lk=new QFe;function TF(e){if(!e)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:n,user:r,excludeCredentials:i}=e,s=Gy(e,["challenge","user","excludeCredentials"]),a=ku(n).buffer,o=Object.assign(Object.assign({},r),{id:ku(r.id).buffer}),l=Object.assign(Object.assign({},s),{challenge:a,user:o});if(i&&i.length>0){l.excludeCredentials=new Array(i.length);for(let c=0;c<i.length;c++){const u=i[c];l.excludeCredentials[c]=Object.assign(Object.assign({},u),{id:ku(u.id).buffer,type:u.type||"public-key",transports:u.transports})}}return l}function IF(e){if(!e)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(e);const{challenge:n,allowCredentials:r}=e,i=Gy(e,["challenge","allowCredentials"]),s=ku(n).buffer,a=Object.assign(Object.assign({},i),{challenge:s});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:ku(l.id).buffer,type:l.type||"public-key",transports:l.transports})}}return a}function AF(e){var n;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const r=e;return{id:e.id,rawId:e.id,response:{attestationObject:Cl(new Uint8Array(e.response.attestationObject)),clientDataJSON:Cl(new Uint8Array(e.response.clientDataJSON))},type:"public-key",clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:(n=r.authenticatorAttachment)!==null&&n!==void 0?n:void 0}}function LF(e){var n;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const r=e,i=e.getClientExtensionResults(),s=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:Cl(new Uint8Array(s.authenticatorData)),clientDataJSON:Cl(new Uint8Array(s.clientDataJSON)),signature:Cl(new Uint8Array(s.signature)),userHandle:s.userHandle?Cl(new Uint8Array(s.userHandle)):void 0},type:"public-key",clientExtensionResults:i,authenticatorAttachment:(n=r.authenticatorAttachment)!==null&&n!==void 0?n:void 0}}function H7(e){return e==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function pb(){var e,n;return!!(Cn()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.create)=="function"&&typeof((n=navigator==null?void 0:navigator.credentials)===null||n===void 0?void 0:n.get)=="function")}async function G7(e){try{const n=await navigator.credentials.create(e);return n?n instanceof PublicKeyCredential?{data:n,error:null}:{data:null,error:new db("Browser returned unexpected credential type",n)}:{data:null,error:new db("Empty credential response",n)}}catch(n){return{data:null,error:GFe({error:n,options:e})}}}async function K7(e){try{const n=await navigator.credentials.get(e);return n?n instanceof PublicKeyCredential?{data:n,error:null}:{data:null,error:new db("Browser returned unexpected credential type",n)}:{data:null,error:new db("Empty credential response",n)}}catch(n){return{data:null,error:KFe({error:n,options:e})}}}const YFe={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},JFe={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function mb(...e){const n=s=>s!==null&&typeof s=="object"&&!Array.isArray(s),r=s=>s instanceof ArrayBuffer||ArrayBuffer.isView(s),i={};for(const s of e)if(s)for(const a in s){const o=s[a];if(o!==void 0)if(Array.isArray(o))i[a]=o;else if(r(o))i[a]=o;else if(n(o)){const l=i[a];n(l)?i[a]=mb(l,o):i[a]=mb(o)}else i[a]=o}return i}function XFe(e,n){return mb(YFe,e,n||{})}function ZFe(e,n){return mb(JFe,e,n||{})}class e4e{constructor(n){this.client=n,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(n){return this.client.mfa.enroll(Object.assign(Object.assign({},n),{factorType:"webauthn"}))}async _challenge({factorId:n,webauthn:r,friendlyName:i,signal:s},a){var o;try{const{data:l,error:c}=await this.client.mfa.challenge({factorId:n,webauthn:r});if(!l)return{data:null,error:c};const u=s??lk.createNewAbortSignal();if(l.webauthn.type==="create"){const{user:d}=l.webauthn.credential_options.publicKey;if(!d.name){const p=i;if(p)d.name=`${d.id}:${p}`;else{const h=(await this.client.getUser()).data.user,g=((o=h==null?void 0:h.user_metadata)===null||o===void 0?void 0:o.name)||(h==null?void 0:h.email)||(h==null?void 0:h.id)||"User";d.name=`${d.id}:${g}`}}d.displayName||(d.displayName=d.name)}switch(l.webauthn.type){case"create":{const d=XFe(l.webauthn.credential_options.publicKey,a==null?void 0:a.create),{data:p,error:m}=await G7({publicKey:d,signal:u});return p?{data:{factorId:n,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:p}},error:null}:{data:null,error:m}}case"request":{const d=ZFe(l.webauthn.credential_options.publicKey,a==null?void 0:a.request),{data:p,error:m}=await K7(Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:d,signal:u}));return p?{data:{factorId:n,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:p}},error:null}:{data:null,error:m}}}}catch(l){return oe(l)?{data:null,error:l}:{data:null,error:new _i("Unexpected error in challenge",l)}}}async _verify({challengeId:n,factorId:r,webauthn:i}){return this.client.mfa.verify({factorId:r,challengeId:n,webauthn:i})}async _authenticate({factorId:n,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:i=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},a){if(!r)return{data:null,error:new Lh("rpId is required for WebAuthn authentication")};try{if(!pb())return{data:null,error:new _i("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this.challenge({factorId:n,webauthn:{rpId:r,rpOrigins:i},signal:s},{request:a});if(!o)return{data:null,error:l};const{webauthn:c}=o;return this._verify({factorId:n,challengeId:o.challengeId,webauthn:{type:c.type,rpId:r,rpOrigins:i,credential_response:c.credential_response}})}catch(o){return oe(o)?{data:null,error:o}:{data:null,error:new _i("Unexpected error in authenticate",o)}}}async _register({friendlyName:n,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:i=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},a){if(!r)return{data:null,error:new Lh("rpId is required for WebAuthn registration")};try{if(!pb())return{data:null,error:new _i("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this._enroll({friendlyName:n});if(!o)return await this.client.mfa.listFactors().then(d=>{var p;return(p=d.data)===null||p===void 0?void 0:p.all.find(m=>m.factor_type==="webauthn"&&m.friendly_name===n&&m.status!=="unverified")}).then(d=>d?this.client.mfa.unenroll({factorId:d==null?void 0:d.id}):void 0),{data:null,error:l};const{data:c,error:u}=await this._challenge({factorId:o.id,friendlyName:o.friendly_name,webauthn:{rpId:r,rpOrigins:i},signal:s},{create:a});return c?this._verify({factorId:o.id,challengeId:c.challengeId,webauthn:{rpId:r,rpOrigins:i,type:c.webauthn.type,credential_response:c.webauthn.credential_response}}):{data:null,error:u}}catch(o){return oe(o)?{data:null,error:o}:{data:null,error:new _i("Unexpected error in register",o)}}}}UFe();const t4e={url:iFe,storageKey:sFe,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:aFe,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},Fc={};class Fh{get jwks(){var n,r;return(r=(n=Fc[this.storageKey])===null||n===void 0?void 0:n.jwks)!==null&&r!==void 0?r:{keys:[]}}set jwks(n){Fc[this.storageKey]=Object.assign(Object.assign({},Fc[this.storageKey]),{jwks:n})}get jwks_cached_at(){var n,r;return(r=(n=Fc[this.storageKey])===null||n===void 0?void 0:n.cachedAt)!==null&&r!==void 0?r:Number.MIN_SAFE_INTEGER}set jwks_cached_at(n){Fc[this.storageKey]=Object.assign(Object.assign({},Fc[this.storageKey]),{cachedAt:n})}constructor(n){var r,i,s;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const a=Object.assign(Object.assign({},t4e),n);if(this.storageKey=a.storageKey,this.instanceID=(r=Fh.nextInstanceID[this.storageKey])!==null&&r!==void 0?r:0,Fh.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!a.debug,typeof a.debug=="function"&&(this.logger=a.debug),this.instanceID>0&&Cn()){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.experimental=(i=a.experimental)!==null&&i!==void 0?i:{},this.admin=new BFe({url:a.url,headers:a.headers,fetch:a.fetch,experimental:this.experimental}),this.url=a.url,this.headers=a.headers,this.fetch=V7(a.fetch),this.detectSessionInUrl=a.detectSessionInUrl,this.flowType=a.flowType,this.hasCustomAuthorizationHeader=a.hasCustomAuthorizationHeader,this.throwOnError=a.throwOnError,this.lockAcquireTimeout=a.lockAcquireTimeout,a.lock!=null&&(this.lock=a.lock),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 e4e(this)}
758,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.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(a.storage?this.storage=a.storage:U7()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=EF(this.memoryStorage)),a.userStorage&&(this.userStorage=a.userStorage)):(this.memoryStorage={},this.storage=EF(this.memoryStorage)),Cn()&&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)}(s=this.broadcastChannel)===null||s===void 0||s.addEventListener("message",async o=>{this._debug("received broadcast notification from other tab or client",o),(o.data.event==="TOKEN_REFRESHED"||o.data.event==="SIGNED_IN")&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(o.data.event,o.data.session,!1)}catch(l){this._debug("#broadcastChannel","error",l)}})}a.skipAutoInitialize||this.initialize().catch(o=>{this._debug("#initialize()","error",o)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(n){if(this.throwOnError&&n&&n.error)throw n.error;return n}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${$7}) ${new Date().toISOString()}`}_debug(...n){return this.logDebugMessages&&this.logger(this._logPrefix(),...n),this}async initialize(){var n;if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()):await this._initialize())();const r=await this.initializePromise,i=(n=this._pendingInitNotifications)!==null&&n!==void 0?n:[];this._pendingInitNotifications=null;for(const s of i)await this._notifyAllSubscribers(s.event,s.session,s.broadcast);return r}async _initialize(){var n;try{let r={},i="none";if(Cn()&&(r=jFe(window.location.href),this._isImplicitGrantCallback(r)?i="implicit":await this._isPKCECallback(r)&&(i="pkce")),Cn()&&this.detectSessionInUrl&&i!=="none"){const{data:s,error:a}=await this._getSessionFromURL(r,i);if(a){if(this._debug("#_initialize()","error detecting session from URL",a),dFe(a)){const c=(n=a.details)===null||n===void 0?void 0:n.code;if(c==="identity_already_exists"||c==="identity_not_found"||c==="single_identity_not_deletable")return{error:a}}return{error:a}}const{session:o,redirectType:l}=s;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 oe(r)?this._returnResult({error:r}):this._returnResult({error:new _i("Unexpected error during initialization",r)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(n){var r,i,s;try{const a=await de(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(i=(r=n==null?void 0:n.options)===null||r===void 0?void 0:r.data)!==null&&i!==void 0?i:{},gotrue_meta_security:{captcha_token:(s=n==null?void 0:n.options)===null||s===void 0?void 0:s.captchaToken}},xform:Kr}),{data:o,error:l}=a;if(l||!o)return this._returnResult({data:{user:null,session:null},error:l});const c=o.session,u=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:u,session:c},error:null})}catch(a){if(oe(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signUp(n){var r,i,s;try{let a;if("email"in n){const{email:d,password:p,options:m}=n;let h=null,g=null;this.flowType==="pkce"&&([h,g]=await il(this.storage,this.storageKey)),a=await de(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:m==null?void 0:m.emailRedirectTo,body:{email:d,password:p,data:(r=m==null?void 0:m.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},code_challenge:h,code_challenge_method:g},xform:Kr})}else if("phone"in n){const{phone:d,password:p,options:m}=n;a=await de(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:d,password:p,data:(i=m==null?void 0:m.data)!==null&&i!==void 0?i:{},channel:(s=m==null?void 0:m.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken}},xform:Kr})}else throw new Eg("You must provide either an email or phone number and a password");const{data:o,error:l}=a;if(l||!o)return await Ut(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l});const c=o.session,u=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:u,session:c},error:null})}catch(a){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signInWithPassword(n){try{let r;if("email"in n){const{email:a,password:o,options:l}=n;r=await de(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:CF})}else if("phone"in n){const{phone:a,password:o,options:l}=n;r=await de(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:CF})}else throw new Eg("You must provide either an email or phone number and a password");const{data:i,error:s}=r;if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!i||!i.session||!i.user){const a=new Lc;return this._returnResult({data:{user:null,session:null},error:a})}return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),this._returnResult({data:Object.assign({user:i.user,session:i.session},i.weak_password?{weakPassword:i.weak_password}:null),error:s})}catch(r){if(oe(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOAuth(n){var r,i,s,a;return await this._handleProviderSignIn(n.provider,{redirectTo:(r=n.options)===null||r===void 0?void 0:r.redirectTo,scopes:(i=n.options)===null||i===void 0?void 0:i.scopes,queryParams:(s=n.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(a=n.options)===null||a===void 0?void 0:a.skipBrowserRedirect})}async exchangeCodeForSession(n){return await this.initializePromise,this.lock!=null?this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(n)):this._exchangeCodeForSession(n)}async signInWithWeb3(n){const{chain:r}=n;switch(r){case"ethereum":return await this.signInWithEthereum(n);case"solana":return await this.signInWithSolana(n);default:throw new Error(`@supabase/auth-js: Unsupported chain "${r}"`)}}async signInWithEthereum(n){var r,i,s,a,o,l,c,u,d,p,m;let h,g;if("message"in n)h=n.message,g=n.signature;else{const{chain:f,wallet:x,statement:v,options:b}=n;let y;if(Cn())if(typeof x=="object")y=x;else{const T=window;if("ethereum"in T&&typeof T.ethereum=="object"&&"request"in T.ethereum&&typeof T.ethereum.request=="function")y=T.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 x!="object"||!(b!=null&&b.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");y=x}const N=new URL((r=b==null?void 0:b.url)!==null&&r!==void 0?r:window.location.href),j=await y.request({method:"eth_requestAccounts"}).then(T=>T).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!j||j.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const w=W7(j[0]);let q=(i=b==null?void 0:b.signInWithEthereum)===null||i===void 0?void 0:i.chainId;if(!q){const T=await y.request({method:"eth_chainId"});q=VFe(T)}const P={domain:N.host,address:w,statement:v,uri:N.href,version:"1",chainId:q,nonce:(s=b==null?void 0:b.signInWithEthereum)===null||s===void 0?void 0:s.nonce,issuedAt:(o=(a=b==null?void 0:b.signInWithEthereum)===null||a===void 0?void 0:a.issuedAt)!==null&&o!==void 0?o:new Date,expirationTime:(l=b==null?void 0:b.signInWithEthereum)===null||l===void 0?void 0:l.expirationTime,notBefore:(c=b==null?void 0:b.signInWithEthereum)===null||c===void 0?void 0:c.notBefore,requestId:(u=b==null?void 0:b.signInWithEthereum)===null||u===void 0?void 0:u.requestId,resources:(d=b==null?void 0:b.signInWithEthereum)===null||d===void 0?void 0:d.resources};h=HFe(P),g=await y.request({method:"personal_sign",params:[WFe(h),w]})}try{const{data:f,error:x}=await de(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:h,signature:g},!((p=n.options)===null||p===void 0)&&p.captchaToken?{gotrue_meta_security:{captcha_token:(m=n.options)===null||m===void 0?void 0:m.captchaToken}}:null),xform:Kr});if(x)throw x;if(!f||!f.session||!f.user){const v=new Lc;return this._returnResult({data:{user:null,session:null},error:v})}return f.session&&(await this._saveSession(f.session),await this._notifyAllSubscribers("SIGNED_IN",f.session)),this._returnResult({data:Object.assign({},f),error:x})}catch(f){if(oe(f))return this._returnResult({data:{user:null,session:null},error:f});throw f}}async signInWithSolana(n){var r,i,s,a,o,l,c,u,d,p,m,h;let g,f;if("message"in n)g=n.message,f=n.signature;else{const{chain:x,wallet:v,statement:b,options:y}=n;let N;if(Cn())if(typeof v=="object")N=v;else{const w=window;if("solana"in w&&typeof w.solana=="object"&&("signIn"in w.solana&&typeof w.solana.signIn=="function"||"signMessage"in w.solana&&typeof w.solana.signMessage=="function"))N=w.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 v!="object"||!(y!=null&&y.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");N=v}const j=new URL((r=y==null?void 0:y.url)!==null&&r!==void 0?r:window.location.href);if("signIn"in N&&N.signIn){const w=await N.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},y==null?void 0:y.signInWithSolana),{version:"1",domain:j.host,uri:j.href}),b?{statement:b}:null));let q;if(Array.isArray(w)&&w[0]&&typeof w[0]=="object")q=w[0];else if(w&&typeof w=="object"&&"signedMessage"in w&&"signature"in w)q=w;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in q&&"signature"in q&&(typeof q.signedMessage=="string"||q.signedMessage instanceof Uint8Array)&&q.signature instanceof Uint8Array)g=typeof q.signedMessage=="string"?q.
758signedMessage:new TextDecoder().decode(q.signedMessage),f=q.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in N)||typeof N.signMessage!="function"||!("publicKey"in N)||typeof N!="object"||!N.publicKey||!("toBase58"in N.publicKey)||typeof N.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");g=[`${j.host} wants you to sign in with your Solana account:`,N.publicKey.toBase58(),...b?["",b,""]:[""],"Version: 1",`URI: ${j.href}`,`Issued At: ${(s=(i=y==null?void 0:y.signInWithSolana)===null||i===void 0?void 0:i.issuedAt)!==null&&s!==void 0?s:new Date().toISOString()}`,...!((a=y==null?void 0:y.signInWithSolana)===null||a===void 0)&&a.notBefore?[`Not Before: ${y.signInWithSolana.notBefore}`]:[],...!((o=y==null?void 0:y.signInWithSolana)===null||o===void 0)&&o.expirationTime?[`Expiration Time: ${y.signInWithSolana.expirationTime}`]:[],...!((l=y==null?void 0:y.signInWithSolana)===null||l===void 0)&&l.chainId?[`Chain ID: ${y.signInWithSolana.chainId}`]:[],...!((c=y==null?void 0:y.signInWithSolana)===null||c===void 0)&&c.nonce?[`Nonce: ${y.signInWithSolana.nonce}`]:[],...!((u=y==null?void 0:y.signInWithSolana)===null||u===void 0)&&u.requestId?[`Request ID: ${y.signInWithSolana.requestId}`]:[],...!((p=(d=y==null?void 0:y.signInWithSolana)===null||d===void 0?void 0:d.resources)===null||p===void 0)&&p.length?["Resources",...y.signInWithSolana.resources.map(q=>`- ${q}`)]:[]].join(`
759`);const w=await N.signMessage(new TextEncoder().encode(g),"utf8");if(!w||!(w instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");f=w}}try{const{data:x,error:v}=await de(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:g,signature:Cl(f)},!((m=n.options)===null||m===void 0)&&m.captchaToken?{gotrue_meta_security:{captcha_token:(h=n.options)===null||h===void 0?void 0:h.captchaToken}}:null),xform:Kr});if(v)throw v;if(!x||!x.session||!x.user){const b=new Lc;return this._returnResult({data:{user:null,session:null},error:b})}return x.session&&(await this._saveSession(x.session),await this._notifyAllSubscribers("SIGNED_IN",x.session)),this._returnResult({data:Object.assign({},x),error:v})}catch(x){if(oe(x))return this._returnResult({data:{user:null,session:null},error:x});throw x}}async _exchangeCodeForSession(n){const r=await Ni(this.storage,`${this.storageKey}-code-verifier`),[i,s]=(r??"").split("/");try{if(!i&&this.flowType==="pkce")throw new pFe;const{data:a,error:o}=await de(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:n,code_verifier:i},xform:Kr});if(await Ut(this.storage,`${this.storageKey}-code-verifier`),o)throw o;if(!a||!a.session||!a.user){const l=new Lc;return this._returnResult({data:{user:null,session:null,redirectType:null},error:l})}return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers(s==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",a.session)),this._returnResult({data:Object.assign(Object.assign({},a),{redirectType:s??null}),error:o})}catch(a){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(a))return this._returnResult({data:{user:null,session:null,redirectType:null},error:a});throw a}}async signInWithIdToken(n){try{const{options:r,provider:i,token:s,access_token:a,nonce:o}=n,l=await de(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:i,id_token:s,access_token:a,nonce:o,gotrue_meta_security:{captcha_token:r==null?void 0:r.captchaToken}},xform:Kr}),{data:c,error:u}=l;if(u)return this._returnResult({data:{user:null,session:null},error:u});if(!c||!c.session||!c.user){const d=new Lc;return this._returnResult({data:{user:null,session:null},error:d})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers("SIGNED_IN",c.session)),this._returnResult({data:c,error:u})}catch(r){if(oe(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOtp(n){var r,i,s,a,o;try{if("email"in n){const{email:l,options:c}=n;let u=null,d=null;this.flowType==="pkce"&&([u,d]=await il(this.storage,this.storageKey));const{error:p}=await de(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:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:u,code_challenge_method:d},redirectTo:c==null?void 0:c.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:p})}if("phone"in n){const{phone:l,options:c}=n,{data:u,error:d}=await de(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:l,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},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:u==null?void 0:u.message_id},error:d})}throw new Eg("You must provide either an email or phone number.")}catch(l){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async verifyOtp(n){var r,i;try{let s,a;"options"in n&&(s=(r=n.options)===null||r===void 0?void 0:r.redirectTo,a=(i=n.options)===null||i===void 0?void 0:i.captchaToken);const{data:o,error:l}=await de(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},n),{gotrue_meta_security:{captcha_token:a}}),redirectTo:s,xform:Kr});if(l)throw l;if(!o)throw new Error("An error occurred on token verification.");const c=o.session,u=o.user;return c!=null&&c.access_token&&(await this._saveSession(c),await this._notifyAllSubscribers(n.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c)),this._returnResult({data:{user:u,session:c},error:null})}catch(s){if(oe(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithSSO(n){var r,i,s,a,o;try{let l=null,c=null;this.flowType==="pkce"&&([l,c]=await il(this.storage,this.storageKey));const u=await de(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in n?{provider_id:n.providerId}:null),"domain"in n?{domain:n.domain}:null),{redirect_to:(i=(r=n.options)===null||r===void 0?void 0:r.redirectTo)!==null&&i!==void 0?i:void 0}),!((s=n==null?void 0:n.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:n.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:l,code_challenge_method:c}),headers:this.headers,xform:DFe});return!((a=u.data)===null||a===void 0)&&a.url&&Cn()&&!(!((o=n.options)===null||o===void 0)&&o.skipBrowserRedirect)&&window.location.assign(u.data.url),this._returnResult(u)}catch(l){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(l))return this._returnResult({data:null,error:l});throw l}}async reauthenticate(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate()):await this._reauthenticate()}async _reauthenticate(){try{return await this._useSession(async n=>{const{data:{session:r},error:i}=n;if(i)throw i;if(!r)throw new on;const{error:s}=await de(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:r.access_token});return this._returnResult({data:{user:null,session:null},error:s})})}catch(n){if(oe(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async resend(n){try{const r=`${this.url}/resend`;if("email"in n){const{email:i,type:s,options:a}=n;let o=null,l=null;this.flowType==="pkce"&&([o,l]=await il(this.storage,this.storageKey));const{error:c}=await de(this.fetch,"POST",r,{headers:this.headers,body:{email:i,type:s,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}
759,code_challenge:o,code_challenge_method:l},redirectTo:a==null?void 0:a.emailRedirectTo});return c&&await Ut(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:c})}else if("phone"in n){const{phone:i,type:s,options:a}=n,{data:o,error:l}=await de(this.fetch,"POST",r,{headers:this.headers,body:{phone:i,type:s,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 Eg("You must provide either an email or phone number and a type")}catch(r){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async getSession(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async n=>n)):await this._useSession(async n=>n)}async _acquireLock(n,r){this._debug("#_acquireLock","begin",n);try{if(this.lockAcquired){const i=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await i,await r()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,n,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const i=r();for(this.pendingInLock.push((async()=>{try{await i}catch{}})()),await i;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await i}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(n){this._debug("#_useSession","begin");try{const r=await this.__loadSession();return await n(r)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lock!=null&&!this.lockAcquired&&this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let n=null;const r=await Ni(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",r),r!==null&&(this._isValidSession(r)?n=r:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!n)return{data:{session:null},error:null};const i=n.expires_at?n.expires_at*1e3-Date.now()<Xj:!1;if(this._debug("#__loadSession()",`session has${i?"":" not"} expired`,"expires_at",n.expires_at),!i){if(this.userStorage){const o=await Ni(this.userStorage,this.storageKey+"-user");o!=null&&o.user?n.user=o.user:n.user=Zj()}if(this.storage.isServer&&n.user&&!n.user.__isUserNotAvailableProxy){const o={value:this.suppressGetSessionWarning};n.user=FFe(n.user,o),o.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:n},error:null}}const{data:s,error:a}=await this._callRefreshToken(n.refresh_token);if(a){if(!!(n.expires_at&&n.expires_at*1e3>Date.now())){const l=await Ni(this.storage,this.storageKey);if(l&&l.refresh_token===n.refresh_token)return this._returnResult({data:{session:n},error:null})}return this._returnResult({data:{session:null},error:a})}return this._returnResult({data:{session:s},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(n){if(n)return await this._getUser(n);await this.initializePromise;let r;return this.lock!=null?r=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()):r=await this._getUser(),r.data.user&&(this.suppressGetSessionWarning=!0),r}async _getUser(n){try{return n?await de(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:n,xform:Za}):await this._useSession(async r=>{var i,s,a;const{data:o,error:l}=r;if(l)throw l;return!(!((i=o.session)===null||i===void 0)&&i.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new on}:await de(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(a=(s=o.session)===null||s===void 0?void 0:s.access_token)!==null&&a!==void 0?a:void 0,xform:Za})})}catch(r){if(oe(r))return Pg(r)&&(await this._removeSession(),await Ut(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:r});throw r}}async updateUser(n,r={}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(n,r)):await this._updateUser(n,r)}async _updateUser(n,r={}){try{return await this._useSession(async i=>{const{data:s,error:a}=i;if(a)throw a;if(!s.session)throw new on;const o=s.session;let l=null,c=null;this.flowType==="pkce"&&n.email!=null&&([l,c]=await il(this.storage,this.storageKey));const{data:u,error:d}=await de(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:r==null?void 0:r.emailRedirectTo,body:Object.assign(Object.assign({}
759,n),{code_challenge:l,code_challenge_method:c}),jwt:o.access_token,xform:Za});if(d)throw d;return o.user=u.user,await this._saveSession(o),await this._notifyAllSubscribers("USER_UPDATED",o),this._returnResult({data:{user:o.user},error:null})})}catch(i){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(i))return this._returnResult({data:{user:null},error:i});throw i}}async setSession(n){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(n)):await this._setSession(n)}async _setSession(n){try{if(!n.access_token||!n.refresh_token)throw new on;const r=Date.now()/1e3;let i=r,s=!0,a=null;const{payload:o}=Ig(n.access_token);if(o.exp&&(i=o.exp,s=i<=r),s){const{data:l,error:c}=await this._callRefreshToken(n.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(n.access_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});a={access_token:n.access_token,refresh_token:n.refresh_token,user:l.user,token_type:"bearer",expires_in:i-r,expires_at:i},await this._saveSession(a),await this._notifyAllSubscribers("SIGNED_IN",a)}return this._returnResult({data:{user:a.user,session:a},error:null})}catch(r){if(oe(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}}async refreshSession(n){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(n)):await this._refreshSession(n)}async _refreshSession(n){try{return await this._useSession(async r=>{var i;if(!n){const{data:o,error:l}=r;if(l)throw l;n=(i=o.session)!==null&&i!==void 0?i:void 0}if(!(n!=null&&n.refresh_token))throw new on;const{data:s,error:a}=await this._callRefreshToken(n.refresh_token);return a?this._returnResult({data:{user:null,session:null},error:a}):s?this._returnResult({data:{user:s.user,session:s},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(r){if(oe(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async _getSessionFromURL(n,r){var i;try{if(!Cn())throw new Tg("No browser detected.");if(n.error||n.error_description||n.error_code)throw new Tg(n.error_description||"Error in URL with unspecified error_description",{error:n.error||"unspecified_error",code:n.error_code||"unspecified_code"});switch(r){case"implicit":if(this.flowType==="pkce")throw new vF("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new Tg("Not a valid implicit grant flow url.");break;default:}if(r==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!n.code)throw new vF("No code detected.");const{data:y,error:N}=await this._exchangeCodeForSession(n.code);if(N)throw N;const j=new URL(window.location.href);return j.searchParams.delete("code"),window.history.replaceState(window.history.state,"",j.toString()),{data:{session:y.session,redirectType:(i=y.redirectType)!==null&&i!==void 0?i:null},error:null}}const{provider_token:s,provider_refresh_token:a,access_token:o,refresh_token:l,expires_in:c,expires_at:u,token_type:d}=n;if(!o||!c||!l||!d)throw new Tg("No session defined in URL");const p=Math.round(Date.now()/1e3),m=parseInt(c);let h=p+m;u&&(h=parseInt(u));const g=h-p;g*1e3<=$s&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${g}s, should have been closer to ${m}s`);const f=h-m;p-f>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",f,h,p):p-f<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",f,h,p);const{data:x,error:v}=await this._getUser(o);if(v)throw v;const b={provider_token:s,provider_refresh_token:a,access_token:o,expires_in:m,expires_at:h,refresh_token:l,token_type:d,user:x.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:b,redirectType:n.type},error:null})}catch(s){if(oe(s))return this._returnResult({data:{session:null,redirectType:null},error:s});throw s}}_isImplicitGrantCallback(n){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),n):!!(n.access_token||n.error||n.error_description||n.error_code)}
759async _isPKCECallback(n){const r=await Ni(this.storage,`${this.storageKey}-code-verifier`);return!!(n.code&&r)}async signOut(n={scope:"global"}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(n)):await this._signOut(n)}async _signOut({scope:n}={scope:"global"}){return await this._useSession(async r=>{var i;const s=async()=>{await this._removeSession(),await Ut(this.storage,`${this.storageKey}-code-verifier`)},{data:a,error:o}=r;if(o&&!Pg(o))return this._returnResult({error:o});const l=(i=a.session)===null||i===void 0?void 0:i.access_token;if(l){const{error:c}=await this.admin.signOut(l,n);if(c&&!(uFe(c)&&(c.status===404||c.status===401||c.status===403)||Pg(c)))return n!=="others"&&await s(),this._returnResult({error:c})}return n!=="others"&&await s(),this._returnResult({error:null})})}onAuthStateChange(n){const r=yFe(),i={id:r,callback:n,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,i),(async()=>(await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(r)}):await this._emitInitialSession(r)))(),{data:{subscription:i}}}async _emitInitialSession(n){return await this._useSession(async r=>{var i,s;try{const{data:{session:a},error:o}=r;if(o)throw o;await((i=this.stateChangeEmitters.get(n))===null||i===void 0?void 0:i.callback("INITIAL_SESSION",a)),this._debug("INITIAL_SESSION","callback id",n,"session",a)}catch(a){await((s=this.stateChangeEmitters.get(n))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",n,"error",a),Pg(a)?console.warn(a):console.error(a)}})}async resetPasswordForEmail(n,r={}){let i=null,s=null;this.flowType==="pkce"&&([i,s]=await il(this.storage,this.storageKey,!0));try{return await de(this.fetch,"POST",`${this.url}/recover`,{body:{email:n,code_challenge:i,code_challenge_method:s,gotrue_meta_security:{captcha_token:r.captchaToken}},headers:this.headers,redirectTo:r.redirectTo})}catch(a){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(a))return this._returnResult({data:null,error:a});throw a}}async getUserIdentities(){var n;try{const{data:r,error:i}=await this.getUser();if(i)throw i;return this._returnResult({data:{identities:(n=r.user.identities)!==null&&n!==void 0?n:[]},error:null})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async linkIdentity(n){return"token"in n?this.linkIdentityIdToken(n):this.linkIdentityOAuth(n)}async linkIdentityOAuth(n){var r;try{const{data:i,error:s}=await this._useSession(async a=>{var o,l,c,u,d;const{data:p,error:m}=a;if(m)throw m;const h=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,n.provider,{redirectTo:(o=n.options)===null||o===void 0?void 0:o.redirectTo,scopes:(l=n.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=n.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:!0});return await de(this.fetch,"GET",h,{headers:this.headers,jwt:(d=(u=p.session)===null||u===void 0?void 0:u.access_token)!==null&&d!==void 0?d:void 0})});if(s)throw s;return Cn()&&!(!((r=n.options)===null||r===void 0)&&r.skipBrowserRedirect)&&window.location.assign(i==null?void 0:i.url),this._returnResult({data:{provider:n.provider,url:i==null?void 0:i.url},error:null})}catch(i){if(oe(i))return this._returnResult({data:{provider:n.provider,url:null},error:i});throw i}}async linkIdentityIdToken(n){return await this._useSession(async r=>{var i;try{const{error:s,data:{session:a}}=r;if(s)throw s;const{options:o,provider:l,token:c,access_token:u,nonce:d}=n,p=await de(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(i=a==null?void 0:a.access_token)!==null&&i!==void 0?i:void 0,body:{provider:l,id_token:c,access_token:u,nonce:d,link_identity:!0,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:Kr}),{data:m,error:h}=p;return h?this._returnResult({data:{user:null,session:null},error:h}):!m||!m.session||!m.user?this._returnResult({data:{user:null,session:null},error:new Lc}):(m.session&&(await this._saveSession(m.session),await this._notifyAllSubscribers("USER_UPDATED",m.session)),this._returnResult({data:m,error:h}))}catch(s){if(await Ut(this.storage,`${this.storageKey}-code-verifier`),oe(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}})}async unlinkIdentity(n){try{return await this._useSession(async r=>{var i,s;const{data:a,error:o}=r;if(o)throw o;
759return await de(this.fetch,"DELETE",`${this.url}/user/identities/${n.identity_id}`,{headers:this.headers,jwt:(s=(i=a.session)===null||i===void 0?void 0:i.access_token)!==null&&s!==void 0?s:void 0})})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async _refreshAccessToken(n){const r="#_refreshAccessToken()";this._debug(r,"begin");try{const i=Date.now();return await kFe(async s=>(s>0&&await NFe(200*Math.pow(2,s-1)),this._debug(r,"refreshing attempt",s),await de(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:n},headers:this.headers,xform:Kr})),(s,a)=>{const o=200*Math.pow(2,s);return a&&bF(a)&&Date.now()+o-i<$s})}catch(i){if(this._debug(r,"error",i),oe(i))return this._returnResult({data:{session:null,user:null},error:i});throw i}finally{this._debug(r,"end")}}_isValidSession(n){return typeof n=="object"&&n!==null&&"access_token"in n&&"refresh_token"in n&&"expires_at"in n}async _handleProviderSignIn(n,r){const i=await this._getUrlForProvider(`${this.url}/authorize`,n,{redirectTo:r.redirectTo,scopes:r.scopes,queryParams:r.queryParams});return this._debug("#_handleProviderSignIn()","provider",n,"options",r,"url",i),Cn()&&!r.skipBrowserRedirect&&window.location.assign(i),{data:{provider:n,url:i},error:null}}async _recoverAndRefresh(){var n,r;const i="#_recoverAndRefresh()";this._debug(i,"begin");try{const s=await Ni(this.storage,this.storageKey);if(s&&this.userStorage){let o=await Ni(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!o&&(o={user:s.user},await Dc(this.userStorage,this.storageKey+"-user",o)),s.user=(n=o==null?void 0:o.user)!==null&&n!==void 0?n:Zj()}else if(s&&!s.user&&!s.user){const o=await Ni(this.storage,this.storageKey+"-user");o&&(o!=null&&o.user)?(s.user=o.user,await Ut(this.storage,this.storageKey+"-user"),await Dc(this.storage,this.storageKey,s)):s.user=Zj()}if(this._debug(i,"session from storage",s),!this._isValidSession(s)){this._debug(i,"session is not valid"),s!==null&&await this._removeSession();return}const a=((r=s.expires_at)!==null&&r!==void 0?r:1/0)*1e3-Date.now()<Xj;if(this._debug(i,`session has${a?"":" not"} expired with margin of ${Xj}s`),a){if(this.autoRefreshToken&&s.refresh_token){const{error:o}=await this._callRefreshToken(s.refresh_token);o&&(mFe(o)?this._debug(i,"refresh discarded by commit guard",o):this._debug(i,"refresh failed",o))}}else if(s.user&&s.user.__isUserNotAvailableProxy===!0)try{const{data:o,error:l}=await this._getUser(s.access_token);!l&&(o!=null&&o.user)?(s.user=o.user,await this._saveSession(s),await this._notifyAllSubscribers("SIGNED_IN",s)):this._debug(i,"could not get user data, skipping SIGNED_IN notification")}catch(o){console.error("Error getting user data:",o),this._debug(i,"error getting user data, skipping SIGNED_IN notification",o)}else await this._notifyAllSubscribers("SIGNED_IN",s)}catch(s){this._debug(i,"error",s),console.error(s);return}finally{this._debug(i,"end")}}async _callRefreshToken(n){var r,i;if(!n)throw new on;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===n&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug("#_callRefreshToken()","returning cached failure (cooldown active)"),this.lastRefreshFailure.result;const s="#_callRefreshToken()";this._debug(s,"begin");try{this.refreshingDeferred=new Ky;const a=await Ni(this.storage,this.storageKey),{data:o,error:l}=await this._refreshAccessToken(n);if(l)throw l;if(!o.session)throw new on;const c=await Ni(this.storage,this.storageKey);if(a!==null&&(c===null||c.refresh_token!==a.refresh_token)){this._debug(s,"commit guard: storage changed since refresh started, discarding rotated tokens",{startedWith:"present",nowHolds:c?"replaced":"cleared"});const m={data:null,error:new yF};return this.refreshingDeferred.resolve(m),m}const d=this._sessionRemovalEpoch;if(await this._saveSession(o.session),this._sessionRemovalEpoch!==d){this._debug(s,"commit guard (post-save): _removeSession ran during _saveSession, und
759oing write"),await Ut(this.storage,this.storageKey),this.userStorage&&await Ut(this.userStorage,this.storageKey+"-user");const m={data:null,error:new yF};return this.refreshingDeferred.resolve(m),m}await this._notifyAllSubscribers("TOKEN_REFRESHED",o.session);const p={data:o.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(p),p}catch(a){if(this._debug(s,"error",a),oe(a)){const o={data:null,error:a};if(!bF(a)){const l=await Ni(this.storage,this.storageKey);!!(l!=null&&l.expires_at&&l.expires_at*1e3>Date.now())?this._debug(s,"proactive refresh failed, access token still valid — preserving session"):await this._removeSession()}return this.lastRefreshFailure={refreshToken:n,result:o,expiresAt:Date.now()+rFe},(r=this.refreshingDeferred)===null||r===void 0||r.resolve(o),o}throw(i=this.refreshingDeferred)===null||i===void 0||i.reject(a),a}finally{this.refreshingDeferred=null,this._debug(s,"end")}}async _notifyAllSubscribers(n,r,i=!0){if(this._pendingInitNotifications!==null&&i){this._pendingInitNotifications.push({event:n,session:r,broadcast:i});return}const s=`#_notifyAllSubscribers(${n})`;this._debug(s,"begin",r,`broadcast = ${i}`);try{this.broadcastChannel&&i&&this.broadcastChannel.postMessage({event:n,session:r});const a=[],o=Array.from(this.stateChangeEmitters.values()).map(async l=>{try{await l.callback(n,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(s,"end")}}async _saveSession(n){this._debug("#_saveSession()",n),this.suppressGetSessionWarning=!0;const r=Object.assign({},n),i=r.user&&r.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!i&&r.user&&await Dc(this.userStorage,this.storageKey+"-user",{user:r.user});const s=Object.assign({},r);delete s.user;const a=qF(s);await Dc(this.storage,this.storageKey,a)}else{const s=qF(r);await Dc(this.storage,this.storageKey,s)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug("#_removeSession()"),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await Ut(this.storage,this.storageKey),await Ut(this.storage,this.storageKey+"-code-verifier"),await Ut(this.storage,this.storageKey+"-user"),this.userStorage&&await Ut(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const n=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{n&&Cn()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",n)}catch(r){console.error("removing visibilitychange callback failed",r)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const n=setInterval(()=>this._autoRefreshTokenTick(),$s);this.autoRefreshTicker=n,n&&typeof n=="object"&&typeof n.unref=="function"?n.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(n);const r=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=r,r&&typeof r=="object"&&typeof r.unref=="function"?r.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(r)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const n=this.autoRefreshTicker;this.autoRefreshTicker=null,n&&clearInterval(n);const r=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,r&&clearTimeout(r)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var n;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(n=this.broadcastChannel)===null||n===void 0||n.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug("#_autoRefreshTokenTick()","begin"),this.lock!=null){try{await this._acquireLock(0,async()=>{try{const n=Date.now();try{return await this._useSession(async r=>{const{data:{session:i}}=r;if(!i||!i.refresh_token||!i.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((i.expires_at*1e3-n)/$s);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${$s}ms, refresh threshold is ${Vp} ticks`),s<=Vp&&await this._callRefreshToken(i.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(n){if(n instanceof zFe)this._debug("auto refresh token tick lock not available");else throw n}return}if(this.refreshingDeferred!==null){this._debug("#_autoRefreshTokenTick()","refresh already in flight, skipping");return}try{const n=Date.now();try{await this._useSession(async r=>{const{data:{session:i}}=r;if(!i||!i.refresh_token||!i.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((i.expires_at*1e3-n)/$s);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${$s}ms, refresh threshold is ${Vp} ticks`),s<=Vp&&await this._callRefreshToken(i.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Cn()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(n){this._debug("#visibilityChangedCallback","error",n)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(n){console.error("_handleVisibilityChange",n)}}async _onVisibilityChanged(n){const r=`#_onVisibilityChanged(${n})`;if(this._debug(r,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken&&this._startAutoRefresh(),!n)if(
759await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,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()});else{if(document.visibilityState!=="visible"){this._debug(r,"visibilityState is no longer visible, skipping recovery");return}await this._recoverAndRefresh()}}else document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(n,r,i){const s=[`provider=${encodeURIComponent(r)}`];if(i!=null&&i.redirectTo&&s.push(`redirect_to=${encodeURIComponent(i.redirectTo)}`),i!=null&&i.scopes&&s.push(`scopes=${encodeURIComponent(i.scopes)}`),this.flowType==="pkce"){const[a,o]=await il(this.storage,this.storageKey),l=new URLSearchParams({code_challenge:`${encodeURIComponent(a)}`,code_challenge_method:`${encodeURIComponent(o)}`});s.push(l.toString())}if(i!=null&&i.queryParams){const a=new URLSearchParams(i.queryParams);s.push(a.toString())}return i!=null&&i.skipBrowserRedirect&&s.push(`skip_http_redirect=${i.skipBrowserRedirect}`),`${n}?${s.join("&")}`}async _unenroll(n){try{return await this._useSession(async r=>{var i;const{data:s,error:a}=r;return a?this._returnResult({data:null,error:a}):await de(this.fetch,"DELETE",`${this.url}/factors/${n.factorId}`,{headers:this.headers,jwt:(i=s==null?void 0:s.session)===null||i===void 0?void 0:i.access_token})})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async _enroll(n){try{return await this._useSession(async r=>{var i,s;const{data:a,error:o}=r;if(o)return this._returnResult({data:null,error:o});const l=Object.assign({friendly_name:n.friendlyName,factor_type:n.factorType},n.factorType==="phone"?{phone:n.phone}:n.factorType==="totp"?{issuer:n.issuer}:{}),{data:c,error:u}=await de(this.fetch,"POST",`${this.url}/factors`,{body:l,headers:this.headers,jwt:(i=a==null?void 0:a.session)===null||i===void 0?void 0:i.access_token});return u?this._returnResult({data:null,error:u}):(n.factorType==="totp"&&c.type==="totp"&&(!((s=c==null?void 0:c.totp)===null||s===void 0)&&s.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(oe(r))return this._returnResult({data:null,error:r});throw r}}async _verify(n){const r=async()=>{try{return await this._useSession(async i=>{var s;const{data:a,error:o}=i;if(o)return this._returnResult({data:null,error:o});const l=Object.assign({challenge_id:n.challengeId},"webauthn"in n?{webauthn:Object.assign(Object.assign({},n.webauthn),{credential_response:n.webauthn.type==="create"?AF(n.webauthn.credential_response):LF(n.webauthn.credential_response)})}:{code:n.code}),{data:c,error:u}=await de(this.fetch,"POST",`${this.url}/factors/${n.factorId}/verify`,{body:l,headers:this.headers,jwt:(s=a==null?void 0:a.session)===null||s===void 0?void 0:s.access_token});return u?this._returnResult({data:null,error:u}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+c.expires_in},c)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",c),this._returnResult({data:c,error:u}))})}catch(i){if(oe(i))return this._returnResult({data:null,error:i});throw i}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,r):r()}async _challenge(n){const r=async()=>{try{return await this._useSession(async i=>{var s;const{data:a,error:o}=i;if(o)return this._returnResult({data:null,error:o});const l=await de(this.fetch,"POST",`${this.url}/factors/${n.factorId}/challenge`,{body:n,headers:this.headers,jwt:(s=a==null?void 0:a.session)===null||s===void 0?void 0:s.access_token});if(l.error)return l;const{data:c}=l;if(c.type!=="webauthn")return{data:c,error:null};switch(c.webauthn.type){case"create":return{data:Object.assign(Object.assign({},c),{webauthn:Object.assign(Object.assign({},c.webauthn),{credential_options:Object.assign(Object.assign({},c.webauthn.credential_options),{publicKey:TF(c.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},c),{webauthn:Object.assign(Object.assign({},c.webauthn),{credential_options:Object.assign(Object.assign({},c.webauthn.credential_options),{publicKey:IF(c.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(i){if(oe(i))return this._returnResult({data:null,error:i});throw i}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,r):r()}async _challengeAndVerify(n){const{data:r,error:i}=await this._challenge({factorId:n.factorId});return i?this._returnResult({data:null,error:i}):await this._verify({factorId:n.factorId,challengeId:r.id,code:n.code})}async _listFactors(){var n;const{data:{user:r},error:i}=await this.getUser();if(i)return{data:null,error:i};const s={all:[],phone:[],totp:[],webauthn:[]};for(const a of(n=r==null?void 0:r.factors)!==null&&n!==void 0?n:[])s.all.push(a),a.status==="verified"&&s[a.factor_type].push(a);return{data:s,error:null}}async _getAuthenticatorAssuranceLevel(n){var r,i,s,a;
759if(n)try{const{payload:h}=Ig(n);let g=null;h.aal&&(g=h.aal);let f=g;const{data:{user:x},error:v}=await this.getUser(n);if(v)return this._returnResult({data:null,error:v});((i=(r=x==null?void 0:x.factors)===null||r===void 0?void 0:r.filter(N=>N.status==="verified"))!==null&&i!==void 0?i:[]).length>0&&(f="aal2");const y=h.amr||[];return{data:{currentLevel:g,nextLevel:f,currentAuthenticationMethods:y},error:null}}catch(h){if(oe(h))return this._returnResult({data:null,error:h});throw h}const{data:{session:o},error:l}=await this.getSession();if(l)return this._returnResult({data:null,error:l});if(!o)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:c}=Ig(o.access_token);let u=null;c.aal&&(u=c.aal);let d=u;((a=(s=o.user.factors)===null||s===void 0?void 0:s.filter(h=>h.status==="verified"))!==null&&a!==void 0?a:[]).length>0&&(d="aal2");const m=c.amr||[];return{data:{currentLevel:u,nextLevel:d,currentAuthenticationMethods:m},error:null}}async _getAuthorizationDetails(n){try{return await this._useSession(async r=>{const{data:{session:i},error:s}=r;return s?this._returnResult({data:null,error:s}):i?await de(this.fetch,"GET",`${this.url}/oauth/authorizations/${n}`,{headers:this.headers,jwt:i.access_token,xform:a=>({data:a,error:null})}):this._returnResult({data:null,error:new on})})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async _approveAuthorization(n,r){try{return await this._useSession(async i=>{const{data:{session:s},error:a}=i;if(a)return this._returnResult({data:null,error:a});if(!s)return this._returnResult({data:null,error:new on});const o=await de(this.fetch,"POST",`${this.url}/oauth/authorizations/${n}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"approve"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&Cn()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(i){if(oe(i))return this._returnResult({data:null,error:i});throw i}}async _denyAuthorization(n,r){try{return await this._useSession(async i=>{const{data:{session:s},error:a}=i;if(a)return this._returnResult({data:null,error:a});if(!s)return this._returnResult({data:null,error:new on});const o=await de(this.fetch,"POST",`${this.url}/oauth/authorizations/${n}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"deny"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&Cn()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(i){if(oe(i))return this._returnResult({data:null,error:i});throw i}}async _listOAuthGrants(){try{return await this._useSession(async n=>{const{data:{session:r},error:i}=n;return i?this._returnResult({data:null,error:i}):r?await de(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,xform:s=>({data:s,error:null})}):this._returnResult({data:null,error:new on})})}catch(n){if(oe(n))return this._returnResult({data:null,error:n});throw n}}async _revokeOAuthGrant(n){try{return await this._useSession(async r=>{const{data:{session:i},error:s}=r;return s?this._returnResult({data:null,error:s}):i?(await de(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:i.access_token,query:{client_id:n.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new on})})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async fetchJwk(n,r={keys:[]}){let i=r.keys.find(l=>l.kid===n);if(i)return i;const s=Date.now();if(i=this.jwks.keys.find(l=>l.kid===n),i&&this.jwks_cached_at+lFe>s)return i;const{data:a,error:o}=await de(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=s,i=a.keys.find(l=>l.kid===n),!i)?null:i}async getClaims(n,r={}){try{let i=n;if(!i){const{data:h,error:g}
759=await this.getSession();if(g||!h.session)return this._returnResult({data:null,error:g});i=h.session.access_token}const{header:s,payload:a,signature:o,raw:{header:l,payload:c}}=Ig(i);if(!(r!=null&&r.allowExpired))try{IFe(a.exp)}catch(h){throw new cb(h instanceof Error?h.message:"JWT validation failed")}const u=!s.alg||s.alg.startsWith("HS")||!s.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(s.kid,r!=null&&r.keys?{keys:r.keys}:r==null?void 0:r.jwks);if(!u){const{error:h}=await this.getUser(i);if(h)throw h;return{data:{claims:a,header:s,signature:o},error:null}}const d=AFe(s.alg),p=await crypto.subtle.importKey("jwk",u,d,!0,["verify"]);if(!await crypto.subtle.verify(d,p,o,vFe(`${l}.${c}`)))throw new cb("Invalid JWT signature");return{data:{claims:a,header:s,signature:o},error:null}}catch(i){if(oe(i))return this._returnResult({data:null,error:i});throw i}}async signInWithPasskey(n){var r,i,s;qi(this.experimental);try{if(!pb())return this._returnResult({data:null,error:new _i("Browser does not support WebAuthn",null)});const{data:a,error:o}=await this._startPasskeyAuthentication({options:{captchaToken:(r=n==null?void 0:n.options)===null||r===void 0?void 0:r.captchaToken}});if(o||!a)return this._returnResult({data:null,error:o});const l=IF(a.options),c=(s=(i=n==null?void 0:n.options)===null||i===void 0?void 0:i.signal)!==null&&s!==void 0?s:lk.createNewAbortSignal(),{data:u,error:d}=await K7({publicKey:l,signal:c});if(d||!u)return this._returnResult({data:null,error:d??new _i("WebAuthn ceremony failed",null)});const p=LF(u);return this._verifyPasskeyAuthentication({challengeId:a.challenge_id,credential:p})}catch(a){if(oe(a))return this._returnResult({data:null,error:a});throw a}}async registerPasskey(n){var r,i;qi(this.experimental);try{if(!pb())return this._returnResult({data:null,error:new _i("Browser does not support WebAuthn",null)});const{data:s,error:a}=await this._startPasskeyRegistration();if(a||!s)return this._returnResult({data:null,error:a});const o=TF(s.options),l=(i=(r=n==null?void 0:n.options)===null||r===void 0?void 0:r.signal)!==null&&i!==void 0?i:lk.createNewAbortSignal(),{data:c,error:u}=await G7({publicKey:o,signal:l});if(u||!c)return this._returnResult({data:null,error:u??new _i("WebAuthn ceremony failed",null)});const d=AF(c);return this._verifyPasskeyRegistration({challengeId:s.challenge_id,credential:d})}catch(s){if(oe(s))return this._returnResult({data:null,error:s});throw s}}async _startPasskeyRegistration(){qi(this.experimental);try{return await this._useSession(async n=>{const{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new on});const{data:s,error:a}=await de(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:r.access_token,body:{}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:s,error:null})})}catch(n){if(oe(n))return this._returnResult({data:null,error:n});throw n}}async _verifyPasskeyRegistration(n){qi(this.experimental);try{return await this._useSession(async r=>{const{data:{session:i},error:s}=r;if(s)return this._returnResult({data:null,error:s});if(!i)return this._returnResult({data:null,error:new on});const{data:a,error:o}=await de(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:i.access_token,body:{challenge_id:n.challengeId,credential:n.credential}});return o?this._returnResult({data:null,error:o}):this._returnResult({data:a,error:null})})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async _startPasskeyAuthentication(n){var r;qi(this.experimental);try{const{data:i,error:s}=await de(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(r=n==null?void 0:n.options)===null||r===void 0?void 0:r.captchaToken}}});return s?this._returnResult({data:null,error:s}):this._returnResult({data:i,error:null})}catch(i){if(oe(i))return this._returnResult({data:null,error:i});throw i}}async _verifyPasskeyAuthentication(n){qi(this.experimental);try{const{data:r,error:i}=await de(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:n.challengeId,credential:n.credential},xform:Kr});return i?this._returnResult({data:null,error:i}):(r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:r,error:null}))}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async _listPasskeys(){qi(this.experimental);try{return await this._useSession(async n=>{const{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new on});const{data:s,error:a}=await de(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:r.access_token,xform:o=>({data:o,error:null})});return a?this._returnResult({data:null,error:a}):this._returnResult({data:s,error:null})})}catch(n){if(oe(n))return this._returnResult({data:null,error:n});throw n}}async _updatePasskey(n){qi(this.experimental);try{return await this._useSession(async r=>{const{data:{session:i},error:s}=r;if(s)return this._returnResult({data:null,error:s});if(!i)return this._returnResult({data:null,error:new on});const{data:a,error:o}=await de(this.fetch,"PATCH",`${this.url}/passkeys/${n.passkeyId}`,{headers:this.headers,jwt:i.access_token,body:{friendly_name:n.friendlyName}});return o?this._returnResult({data:null,error:o}):this._returnResult({data:a,error:null})})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}async _deletePasskey(n){qi(this.experimental);try{return await this._useSession(async r=>{const{data:{session:i},error:s}=r;if(s)return this._returnResult({data:null,error:s});if(!i)return this._returnResult({data:null,error:new on});const{error:a}
759=await de(this.fetch,"DELETE",`${this.url}/passkeys/${n.passkeyId}`,{headers:this.headers,jwt:i.access_token,noResolveJson:!0});return a?this._returnResult({data:null,error:a}):this._returnResult({data:null,error:null})})}catch(r){if(oe(r))return this._returnResult({data:null,error:r});throw r}}}Fh.nextInstanceID={};const n4e=Fh,r4e="2.110.7";let Wp="",hb;if(typeof Deno<"u"){var tw;Wp="deno",hb=(tw=Deno.version)===null||tw===void 0?void 0:tw.deno}else if(typeof document<"u")Wp="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")Wp="react-native";else{var nw;Wp="node";const e=globalThis.process;hb=e==null||(nw=e.version)===null||nw===void 0?void 0:nw.replace(/^v/,"")}const Q7=[`runtime=${Wp}`];hb&&Q7.push(`runtime-version=${hb}`);const i4e={"X-Client-Info":`supabase-js/${r4e}; ${Q7.join("; ")}`},s4e={headers:i4e},a4e={schema:"public"},o4e={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},l4e={},c4e={enabled:!1,respectSamplingDecision:!0};function u4e(e,n,r,i){function s(a){return a instanceof r?a:new r(function(o){o(a)})}return new(r||(r=Promise))(function(a,o){function l(d){try{u(i.next(d))}catch(p){o(p)}}function c(d){try{u(i.throw(d))}catch(p){o(p)}}function u(d){d.done?a(d.value):s(d.value).then(l,c)}u((i=i.apply(e,[])).next())})}let rw=null;const d4e="@opentelemetry/api";function p4e(){return rw===null&&(rw=import(d4e).catch(()=>null)),rw}function m4e(){return u4e(this,void 0,void 0,function*(){try{const e=yield p4e();if(!e||!e.propagation||!e.context)return null;const n={};e.propagation.inject(e.context.active(),n);const r=n.traceparent;return r?{traceparent:r,tracestate:n.tracestate,baggage:n.baggage}:null}catch{return null}})}function h4e(e){if(!e||typeof e!="string")return null;const n=e.split("-");if(n.length!==4)return null;const[r,i,s,a]=n;if(r.length!==2||i.length!==32||s.length!==16||a.length!==2)return null;const o=/^[0-9a-f]+$/i;return!o.test(r)||!o.test(i)||!o.test(s)||!o.test(a)||i==="00000000000000000000000000000000"||s==="0000000000000000"?null:{version:r,traceId:i,parentId:s,traceFlags:a,isSampled:(parseInt(a,16)&1)===1}}function f4e(e,n){if(!e||!n||n.length===0)return!1;let r;if(e instanceof URL)r=e;else try{r=new URL(e)}catch{return!1}for(const i of n)try{if(typeof i=="string"){if(g4e(r.hostname,i))return!0}else if(i instanceof RegExp){if(i.test(r.hostname))return!0}else if(typeof i=="function"&&i(r))return!0}catch{continue}return!1}function g4e(e,n){if(n===e)return!0;if(n.startsWith("*.")){const r=n.slice(2);if(e.endsWith(r)&&(e===r||e.endsWith("."+r)))return!0}return!1}function x4e(e){const n=[];try{const r=new URL(e);n.push(r.hostname)}catch{}return n.push("*.supabase.co","*.supabase.in"),n.push("localhost","127.0.0.1","[::1]"),n}function _h(e){"@babel/helpers - typeof";return _h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},_h(e)}function v4e(e,n){if(_h(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||"default");if(_h(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function b4e(e){var n=v4e(e,"string");return _h(n)=="symbol"?n:n+""}function y4e(e,n,r){return(n=b4e(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function FF(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),r.push.apply(r,i)}return r}function Et(e){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?FF(Object(r),!0).forEach(function(i){y4e(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):FF(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}const j4e=e=>e?(...n)=>e(...n):(...n)=>fetch(...n),w4e=()=>Headers,Y7=e=>e.startsWith("sb_publishable_")||e.startsWith("sb_secret_"),N4e="sb_temp_",_F=new Set,k4e=e=>{var n,r;if(!e.startsWith("sb_")||Y7(e)||e.startsWith(N4e))return;const i=(n=(r=e.match(/^sb_[a-zA-Z0-9]+_/))===null||r===void 0?void 0:r[0])!==null&&n!==void 0?n:"unknown";_F.has(i)||(_F.add(i),console.warn("@supabase/supabase-js: Unrecognized Supabase API key format. The client will proceed and send this key as-is;
759 if you see authentication errors you may need to upgrade @supabase/supabase-js to a version that recognizes this key type."))},OF=(e,n,r,i,s,a)=>{const o=j4e(i),l=w4e(),c=(s==null?void 0:s.enabled)===!0,u=(s==null?void 0:s.respectSamplingDecision)!==!1,d=c?x4e(n):null,p=!(a!=null&&a.omitApiKeyAsBearer&&Y7(e));return async(m,h)=>{const g=await r();let f=new l(h==null?void 0:h.headers);if(f.has("apikey")||f.set("apikey",e),!f.has("Authorization")){const x=g??(p?e:null);x&&f.set("Authorization",`Bearer ${x}`)}if(d){const x=await q4e(m,d,u);x&&(x.traceparent&&!f.has("traceparent")&&f.set("traceparent",x.traceparent),x.tracestate&&!f.has("tracestate")&&f.set("tracestate",x.tracestate),x.baggage&&!f.has("baggage")&&f.set("baggage",x.baggage))}return o(m,Et(Et({},h),{},{headers:f}))}};async function q4e(e,n,r){if(!f4e(typeof e=="string"||e instanceof URL?e:e.url,n))return null;const i=await m4e();if(!i||!i.traceparent)return null;if(r){const s=h4e(i.traceparent);if(s&&!s.isSampled)return null}return i}function RF(e){return typeof e=="boolean"?{enabled:e}:e}function S4e(e){return e.endsWith("/")?e:e+"/"}function C4e(e,n){var r,i,s,a,o,l;const{db:c,auth:u,realtime:d,global:p}=e,{db:m,auth:h,realtime:g,global:f}=n,x=RF(e.tracePropagation),v=RF(n.tracePropagation),b={db:Et(Et({},m),c),auth:Et(Et({},h),u),realtime:Et(Et({},g),d),storage:{},global:Et(Et(Et({},f),p),{},{headers:Et(Et({},(r=f==null?void 0:f.headers)!==null&&r!==void 0?r:{}),(i=p==null?void 0:p.headers)!==null&&i!==void 0?i:{})}),tracePropagation:{enabled:(s=(a=x==null?void 0:x.enabled)!==null&&a!==void 0?a:v==null?void 0:v.enabled)!==null&&s!==void 0?s:!1,respectSamplingDecision:(o=(l=x==null?void 0:x.respectSamplingDecision)!==null&&l!==void 0?l:v==null?void 0:v.respectSamplingDecision)!==null&&o!==void 0?o:!0},accessToken:async()=>""};return e.accessToken?b.accessToken=e.accessToken:delete b.accessToken,b}function P4e(e){const n=e==null?void 0:e.trim();if(!n)throw new Error("supabaseUrl is required.");if(!n.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(S4e(n))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var E4e=class extends n4e{constructor(e){super(e)}},T4e=class{constructor(e,n,r){var i,s;this.supabaseUrl=e,this.supabaseKey=n;const a=P4e(e);if(!n)throw new Error("supabaseKey is required.");k4e(n),this.realtimeUrl=new URL("realtime/v1",a),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",a),this.storageUrl=new URL("storage/v1",a),this.functionsUrl=new URL("functions/v1",a);const o=`sb-${a.hostname.split(".")[0]}-auth-token`,l={db:a4e,realtime:l4e,auth:Et(Et({},o4e),{},{storageKey:o}),global:s4e,tracePropagation:c4e},c=C4e(r??{},l);if(this.settings=c,this.storageKey=(i=c.auth.storageKey)!==null&&i!==void 0?i:"",this.headers=(s=c.global.headers)!==null&&s!==void 0?s:{},c.accessToken)this.accessToken=c.accessToken,this.auth=new Proxy({},{get:(d,p)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(p)} is not possible`)}});else{var u;this.auth=this._initSupabaseAuthClient((u=c.auth)!==null&&u!==void 0?u:{},this.headers,c.global.fetch)}this.fetch=OF(n,e,this._getSessionToken.bind(this),c.global.fetch,c.tracePropagation),this.functionsFetch=OF(n,e,this._getSessionToken.bind(this),c.global.fetch,c.tracePropagation,{omitApiKeyAsBearer:!0}),this.realtime=this._initRealtimeClient(Et({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},c.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(d=>this.realtime.setAuth(d)).catch(d=>console.warn("Failed to set initial Realtime auth token:",d)),this.rest=new R5e(new URL("rest/v1",a).href,{headers:this.headers,schema:c.db.schema,fetch:this.fetch,timeout:c.db.timeout,urlLengthLimit:c.db.urlLengthLimit}),this.storage=new nFe(this.storageUrl.href,this.headers,this.fetch,r==null?void 0:r.storage),c.accessToken||this._listenForAuthEvents()}get functions(){return new P5e(this.functionsUrl.href,{headers:this.headers,customFetch:this.functionsFetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,n={},r={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,n,r)}channel(e,n={config:{}}){return this.realtime.channel(e,n)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getSessionToken(){var e=this,n,r;if(e.accessToken)return await e.accessToken();const{data:i}=await e.auth.getSession();return(n=(r=i.session)===null||r===void 0?void 0:r.access_token)!==null&&n!==void 0?n:null}async _getAccessToken(){var e=this,n;return(n=await e._getSessionToken())!==null&&n!==void 0?n:e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:n,detectSessionInUrl:r,storage:i,userStorage:s,storageKey:a,flowType:o,lock:l,debug:c,throwOnError:u,experimental:d,lockAcquireTimeout:p,skipAutoInitialize:m},h,g){const f={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new E4e({url:this.authUrl.href,headers:Et(Et({},f),h),storageKey:a,autoRefreshToken:e,persistSession:n,detectSessionInUrl:r,storage:i,userStorage:s,flowType:o,lock:l,debug:c,throwOnError:u,experimental:d,fetch:g,lockAcquireTimeout:p,skipAutoInitialize:m,hasCustomAuthorizationHeader:Object.keys(this.headers).some(x=>x.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new S3e(this.realtimeUrl.href,Et(Et({},e),{},{params:Et(Et({},{apikey:this.supabaseKey}),e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,n)=>{this._handleTokenChanged(e,"CLIENT",n==null?void 0:n.access_token)})}_handleTokenChanged(e,n,r){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN"||e==="INITIAL_SESSION")&&this.changedAccessToken!==r?(this.changedAccessToken=r,this.realtime.setAuth(r)):e==="SIGNED_OUT"&&(this.realtime.setAuth(),n=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const I4e=(e,n,r)=>new T4e(e,n,r);function A4e(){if(typeof window<"u")return!1;const e=globalThis.process;if(!e)return!1;const n=e.version;if(n==null)return!1;const r=n.match(/^v(\d+)\./);return r?parseInt(r[1],10)<=20:!1}A4e()&&console.warn("⚠️  Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to N
759ode.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715");function L4e(){var x,v;if(typeof window>"u")return;const e=location.hostname,r=["lovableproject.com","lovableproject-dev.com","lovable.app","gpt-eng.com","gptengineer.run"].some(b=>e===b||e.endsWith("."+b)),i="[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}",s=r?((x=e.match(new RegExp("^(?:id-preview(?:-[a-z0-9]+)?|project)--("+i+")(?:-dev)?(?=\\.|$)","i")))==null?void 0:x[1])??((v=e.match(new RegExp("^("+i+")(?=[.-])","i")))==null?void 0:v[1]):void 0,a=window.parent&&window.parent!==window;if(!s||!a)return localStorage;const o=e.endsWith(".lovableproject-dev.com")||e.endsWith(".gpt-eng.com"),l=o?/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$|^http:\/\/localhost:3000$/:/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$/,c=location.ancestorOrigins&&location.ancestorOrigins[0]||(document.referrer?new URL(document.referrer).origin:""),u=c&&l.test(c)?[c]:o?["https://lovable.dev","http://localhost:3000"]:["https://lovable.dev"],d="lovable-preview-auth:result",p=2e3,m=()=>Math.random().toString(36).slice(2)+Date.now().toString(36),h=(b,y,N)=>new Promise(j=>{const w=m();let q=!1,P;const T=_=>{q||(q=!0,clearTimeout(P),window.removeEventListener("message",E),j(_))},E=_=>{if(u.indexOf(_.origin)<0)return;const D=_.data;D&&D.type===d&&D.requestId===w&&T(D)};window.addEventListener("message",E);const A={type:b,requestId:w,projectId:s,key:y};N!==void 0&&(A.value=N);for(const _ of u)window.parent.postMessage(A,_);P=setTimeout(()=>T(null),p)});let g=!0;const f=250;return{getItem:async b=>{let y=await h("lovable-preview-auth:get",b);return!y&&g&&(await new Promise(N=>setTimeout(N,f)),y=await h("lovable-preview-auth:get",b)),g=!1,y&&y.ok&&typeof y.value=="string"?y.value===""?(localStorage.removeItem(b),null):y.value:localStorage.getItem(b)},setItem:(b,y)=>(localStorage.setItem(b,y),h("lovable-preview-auth:set",b,y).then(()=>{})),removeItem:b=>(localStorage.removeItem(b),h("lovable-preview-auth:remove",b).then(()=>{}))}}const F4e="https://jhlmvgfryhdnupcmfiyj.supabase.co",DF="sb_publishable_A6lPP3pJMgWcWeNlKymxqA_9bcBNSsv";function _4e(e){return e.startsWith("sb_publishable_")||e.startsWith("sb_secret_")}function O4e(e){return(n,r)=>{const i=new Headers(typeof Request<"u"&&n instanceof Request?n.headers:void 0);return r!=null&&r.headers&&new Headers(r.headers).forEach((s,a)=>i.set(a,s)),_4e(e)&&i.get("Authorization")===`Bearer ${e}`&&i.delete("Authorization"),i.set("apikey",e),fetch(n,{...r,headers:i})}}const Oh=I4e(F4e,DF,{global:{fetch:O4e(DF)},auth:{storage:L4e(),persistSession:!0,autoRefreshToken:!0}}),R4e=[.16,1,.3,1],MF=[{gradient:"from-secondary/15 via-accent/10 to-transparent",ring:"group-hover:border-secondary/50",dot:"bg-secondary"},{gradient:"from-accent/20 via-primary/10 to-transparent",ring:"group-hover:border-accent/50",dot:"bg-accent"},{gradient:"from-primary/15 via-secondary/10 to-transparent",ring:"group-hover:border-primary/50",dot:"bg-primary"},{gradient:"from-[#2BD7AD]/20 via-primary/5 to-transparent",ring:"group-hover:border-[#2BD7AD]/50",dot:"bg-[#2BD7AD]"}],D4e=()=>{const{data:e,isLoading:n}=_m({queryKey:["blog-featured-categories"],queryFn:async()=>{const{data:r,error:i}=await Oh.from("categories").select("id, name, slug, description").eq("is_featured",!0).order("name",{ascending:!0});if(i)throw i;return r??[]}});return!n&&(!e||e.length===0)?null:t.jsxs("section",{className:"mb-16","aria-labelledby":"featured-themes-heading",children:[t.jsxs("div",{className:"mb-8 flex items-center gap-3",children:[t.jsx(ui,{className:"w-4 h-4 text-secondary"}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary",children:"Thématiques à la une"})]}),t.jsx("h2",{id:"featured-themes-heading",className:"sr-only",children:"Thématiques à la une"}),n?t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:[...Array(3)].map((r,i)=>t.jsx("div",{className:"h-36 rounded-2xl bg-muted border border-border animate-pulse"},i))}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:e.map((r,i)=>{const s=MF[i%MF.length];return t.jsx(S.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:R4e,delay:i*.06},children:t.jsxs(C,{to:`/blog/theme/${r.slug}`,"aria-label":`Voir tous les articles de la catégorie ${r.name}`,className:`group relative block overflow-hidden rounded-2xl border border-border bg-card p-6 h-full transition-all duration-300 hover:-translate-y-0.5 hover:shadow-md ${s.ring}`,children:[t.jsx("div",{className:`pointer-events-none absolute inset-0 bg-gradient-to-br ${s.gradient} opacity-70`}),t.jsxs("div",{className:"relative flex h-full flex-col justify-between gap-8",children:[t.jsxs("div",{className:"flex items-start justify-between gap-4",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:`inline-block w-1.5 h-1.5 rounded-full ${s.dot}`}),t.jsx("span",{className:"text-[10px] tracking-[0.22em] uppercase text-muted-foreground",children:"Thème"})]}),t.jsx($b,{className:"w-4 h-4 text-muted-foreground transition-all duration-300 group-hover:text-foreground group-hover:-translate-y-0.5 group-hover:translate-x-0.5"})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground leading-snug group-hover:text-secondary transition-colors duration-300",children:r.name}),r.description&&t.jsx("p",{className:"mt-3 text-sm text-muted-foreground leading-relaxed line-clamp-2",children:r.description})]})]})]})},r.id)})})]})},J7=({activeSlug:e=null})=>{const{data:n}=_m({queryKey:["blog-all-categories"],queryFn:async()=>{const{data:i,error:s}=await Oh.from("categories").select("id, name, slug").order("name",{ascending:!0});if(s)throw s;return i??[]}}),r=!e;return t.jsxs("nav",{"aria-label":"Filtrer par catégorie",className:"flex flex-wrap gap-2 mb-12",children:[t.jsx(C,{to:"/blog",className:Yt("inl
759ine-flex items-center h-9 px-4 rounded-full border text-xs tracking-[0.14em] uppercase transition-all duration-200",r?"bg-foreground text-background border-foreground shadow-sm":"bg-background text-muted-foreground border-border hover:border-foreground/40 hover:text-foreground"),"aria-current":r?"page":void 0,children:"Tous les articles"}),n==null?void 0:n.map(i=>{const s=i.slug===e;return t.jsx(C,{to:`/blog/theme/${i.slug}`,className:Yt("inline-flex items-center h-9 px-4 rounded-full border text-xs tracking-[0.14em] uppercase transition-all duration-200",s?"bg-foreground text-background border-foreground shadow-sm":"bg-background text-muted-foreground border-border hover:border-foreground/40 hover:text-foreground"),"aria-current":s?"page":void 0,children:i.name},i.id)})]})},$F=[.16,1,.3,1],BF={"scpi-europeennes":"/blog/scpi-europeennes","courbe-en-j":"/blog/courbe-en-j","holding-patrimoniale":"/blog/holding-patrimoniale","demembrement-propriete":"/blog/demembrement-propriete","donation-partage":"/blog/donation-partage","apport-cession-150-0-b-ter":"/blog/apport-cession-150-0-b-ter","transfert-assurance-vie-luxembourg":"/blog/transfert-assurance-vie-luxembourg","credit-lombard-luxembourgeois":"/blog/credit-lombard-luxembourgeois","fonds-interne-dedie":"/blog/fonds-interne-dedie","perspectives-2026":"/blog/perspectives-2026","art-actif-patrimonial":"/blog/art-actif-patrimonial","fcpi-defiscaliser-innovation":"/blog/fcpi-defiscaliser-innovation","triangle-securite-luxembourgeois":"/blog/triangle-securite-luxembourgeois","av-luxembourg-vs-france":"/blog/av-luxembourg-vs-france","transmission-anticiper":"/blog/transmission-anticiper","pe-secondaires":"/blog/pe-secondaires","scpi-2025":"/blog/scpi-2025","av-luxembourg":"/blog/av-luxembourg","per-outil-fiscal":"/blog/per-outil-fiscal","pea-actions-long-terme":"/blog/pea-actions-long-terme","club-deal":"/blog/club-deal","girardin-industriel":"/blog/girardin-industriel","gfi-foret-actif-patrimonial":"/blog/gfi-foret-actif-patrimonial","denormandie-ancien-renove":"/blog/denormandie-ancien-renove","banquiers-vs-avocats":"/blog/banquiers-vs-avocats","coordination-banque-privee":"/blog/coordination-banque-privee","patrimoine-structure-dediee":"/blog/patrimoine-structure-dediee","transmission-sans-diviser-famille":"/blog/transmission-sans-diviser-famille","confidentialite-uhnw":"/blog/confidentialite-uhnw","fiscalite-internationale":"/blog/fiscalite-internationale","patrimoines-multigenerationnels":"/blog/patrimoines-multigenerationnels","family-office-complexite":"/blog/family-office-complexite","quitter-france":"/blog/quitter-france","expatrie-ue":"/blog/expatrie-ue","angles-morts-fiscaux-expat":"/blog/angles-morts-fiscaux-expat","conventions-fiscales-belgique-espagne-portugal":"/blog/conventions-fiscales-belgique-espagne-portugal","rupture-conseiller-expat":"/blog/rupture-conseiller-expat","portugal-ifici-apres-rnh":"/blog/portugal-ifici-apres-rnh","beckham-law-espagne":"/blog/beckham-law-espagne","contrat-luxembourgeois-colonne-vertebrale":"/blog/contrat-luxembourgeois-colonne-vertebrale","flat-tax-italie":"/blog/flat-tax-italie","forfait-fiscal-suisse":"/blog/forfait-fiscal-suisse","apport-cession-150-0-b-ter-loi-finances-2026":"/blog/apport-cession-150-0-b-ter-loi-finances-2026","investir-scpi":"/blog/investir-scpi","avantages-per":"/blog/avantages-per","payer-moins-impots":"/blog/payer-moins-impots","investir-jeune":"/blog/investir-jeune","gustav-sonden-next-gen-patrimoine":"/blog/gustav-sonden-next-gen-patrimoine","meilleurs-cgp-france-2026-leaders-league":"/blog/meilleurs-cgp-france-2026-leaders-league","gustav-sonden-bourdin":"/blog/gustav-sonden-bourdin"},qp=[{id:"gustav-sonden-bourdin",category:"marche",displayCategory:"Entretien vidéo",titleFr:"De la finance à l'entrepreneuriat : Gustav Sondén invité de BOURDIN",titleEn:"From finance to entrepreneurship: Gustav Sondén on BOURDIN",excerptFr:"« Il veut dépoussiérer la gestion de patrimoine » : le fondateur de Colbr revient chez BOURDIN sur son passage de la finance institutionnelle à l'entrepreneuriat, et sur sa vision d'un conseil transparent et exigeant. Vidéo intégrale.",excerptEn:"Colbr's founder joins BOURDIN to discu
759ss his move from institutional finance to entrepreneurship and his vision of transparent, demanding wealth advice. Full video inside.",date:"Septembre 2026",readTime:"8 min"},{id:"meilleurs-cgp-france-2026-leaders-league",category:"marche",displayCategory:"Distinction",titleFr:"Colbr parmi les meilleurs cabinets de gestion de patrimoine de France 2026",titleEn:"Colbr among France's leading wealth management firms in 2026",excerptFr:"Leaders League (Décideurs Magazine) distingue Colbr dans son classement 2026 des conseils en gestion de patrimoine, catégorie « Pratique réputée ». Méthodologie, lecture du palmarès et ce que cela change pour nos clients.",excerptEn:"Leaders League (Décideurs Magazine) features Colbr in its 2026 ranking of French wealth advisory firms. Methodology, how to read the ranking and what it means for our clients.",date:"Septembre 2026",readTime:"7 min"},{id:"perspectives-2026",category:"marche",titleFr:"Perspectives 2026 : repenser l'allocation dans un monde en transition",titleEn:"2026 outlook: rethinking allocation in a world in transition",excerptFr:"Normalisation monétaire, résilience des marchés émergents et structuration fiscale : comment calibrer son patrimoine face aux nouvelles réalités du cycle.",excerptEn:"Monetary n
759ormalisation, emerging market resilience and tax structuring: how to calibrate your wealth amid the new realities of the cycle.",date:"Janvier 2026",readTime:"9 min"},{id:"gustav-sonden-next-gen-patrimoine",category:"marche",displayCategory:"Entretien",titleFr:"Gustav Sondén : « L'accès aux produits s'est banalisé, la valeur est ailleurs »",titleEn:"Gustav Sondén: “Product access has become a commodity, value lies elsewhere”",excerptFr:"Invité du podcast Next Gen Patrimoine, le fondateur de Colbr revient sur la fintech devenue cabinet de conseil, la transparence des prix et ce que la technologie change vraiment au métier.",excerptEn:"A guest on the Next Gen Patrimoine podcast, Colbr's founder discusses the fintech that became an advisory firm, fee transparency and what technology really changes in the profession.",date:"Juillet 2026",readTime:"11 min"},{id:"investir-scpi",category:"immobilier",titleFr:"Investir dans une SCPI : rendement, fonctionnement et risques",titleEn:"Investing in an SCPI: yield, mechanics and risks",excerptFr:"Ticket d'entrée, gestion déléguée, fiscalité des revenus fonciers, sélection des sociétés de gestion : tout ce qu'il faut comprendre avant d'acheter vos premières parts.",excerptEn:"Entry ticket, delegated management, property income taxation, manager selection: what to understand before buying your first units.",date:"Juillet 2026",readTime:"12 min"},{id:"avantages-per",category:"fiscalite",titleFr:"Les avantages du PER : fiscalité, sortie et transfert",titleEn:"The benefits of the PER: taxation, exit and transfer",excerptFr:"Déduction des versements, choix des supports, sortie en capital ou en rente, cas de déblocage anticipé : le guide complet du Plan d'Épargne Retraite.",excerptEn:"Deductible contributions, investment options, lump sum or annuity exit, early release cases: the complete guide to the French retirement savings plan.",date:"Juillet 2026",readTime:"12 min"},{id:"payer-moins-impots",category:"fiscalite",titleFr:"Comment payer moins d'impôts : les leviers légaux à connaître",titleEn:"How to pay less tax: the legal levers to know",excerptFr:"Déductions, réductions, crédits d'impôt, dispositifs immobiliers et soutien à l'innovation : la cartographie des mécanismes et la manière de les combiner sans erreur.",excerptEn:"Deductions, tax reductions, tax credits, property schemes and innovation funding: mapping the mechanisms and combining them correctly.",date:"Juillet 2026",readTime:"13 min"},{id:"investir-jeune",category:"marche",titleFr:"Investir son argent en étant jeune : par où commencer ?",titleEn:"Investing your money young: where to start?",excerptFr:"Objectifs, horizon de placement, diversification, épargne de précaution : la méthode pour construire un patrimoine solide dès les premières années.",excerptEn:"Objectives, investment horizon, diversification, emergency savings: the method to build solid wealth from the earliest years.",date:"Juillet 2026",readTime:"11 min"},{id:"patrimoines-multigenerationnels",category:"transmission",displayCategory:"Gouvernance familiale",titleFr:"La pérennité du capital sans l'immobiliser : le secret des familles qui durent",titleEn:"How families that have spanned generations protect their capital without freezing it",excerptFr:"Gouvernance dynastique, diversification temporelle, transmission des valeurs : ce que les patrimoines centenaires ont compris que les autres n'ont pas encore saisi.",excerptEn:"Dynastic governance, temporal diversification, value transmission: what centennial wealth has understood that others have not yet grasped.",date:"Juin 2026",readTime:"15 min"},{id:"family-office-complexite",category:"transmission",displayCategory:"Family Office",titleFr:"Le vrai rôle d'un family office : pas gérer des actifs, mais gérer la complexité",titleEn:"The real role of a family office: not managing assets, but managing complexity",excerptFr:"Coordination, arbitrage des priorités, vision consolidée : pourquoi le family office est d'abord un système de gouvernance avant d'être un gestionnaire de portefeuille.",excerptEn:"Coordination, priority arbitration, consolidated view: why the family office is first a governance system before being a portfolio manager.",date:"Juin 2026",readTime:"15 min"},{id:"quitter-france",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Je quitte la France : que faire de mon assurance-vie, mon PEA et ma SCI avant le départ ?",titleEn:"Leaving France: what to do with my life insurance, PEA and SCI before departure?",excerptFr:"Exit tax, clôture ou maintien, optimisation pré-départ : le guide complet pour ne rien laisser au hasard avant de changer de résidence fiscale.",excerptEn:"Exit tax, closure or maintenance, pre-departure optimisation: the complete guide to leaving nothing to chance before changing tax residence.",date:"Juin 2026",readTime:"12 min"},{id:"expatrie-ue",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Français à Bruxelles, Madrid ou Lisbonne : qui peut encore gérer votre patrimoine français ?",titleEn:"French in Brussels, Madrid or Lisbon: who can still manage your French assets?",excerptFr:"Passeport européen, continuité du conseil, ruptures de relation : ce que l'expatriation dans l'UE change et ne change pas pour la gestion de votre patrimoine.",excerptEn:"European passport, continuity of advice, relationship breakdowns: what expatriation in the EU changes and does not change for the management of your assets.",date:"Juin 2026",readTime:"12 min"},{id:"angles-morts-fiscaux-expat",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Vivre en Europe, avoir des actifs en France : comment éviter les angles morts fiscaux",titleEn:"Living in Europe with French assets: how to avoid fiscal blind spots",excerptFr:"Double résidence, revenus de source française, obligations déclaratives croisées : les erreurs que commettent les expatriés français et comment les éviter.",excerptEn:"Dual residence, French-source income, cross-border reporting: the mistakes French expatriates make and how to avoid them.",date:"Juin 2026",readTime:"13 min"},{id:"conventions-fiscales-belgique-espagne-portugal",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Conventions fiscales franco belge, franco espagnole, franco portugaise : ce qui change vraiment pour votre patrimoine",titleEn:"French-Belgian, French-Spanish, French-Portuguese tax treaties: what really changes for your assets",excerptFr:"Dividendes, revenus immobiliers, plus values, succession : ce que chaque convention prévoit concrètement pour les expatriés français en Belgique, Espagne et Portugal.",excerptEn:"Dividends, property income, capital gains, inheritance: what each treaty provides for French expatriates in Belgium, Spain and Portugal.",date:"Juin 2026",readTime:"15 min"},{id:"rupture-conseiller-expat",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Mon conseiller français ne peut plus me suivre à l'étranger et maintenant ?",titleEn:"My French advisor can no longer follow me abroad: what now?",excerptFr:"Rupture de relation, continuité patrimoniale, alternatives concrètes : ce que font les expatriés français qui refusent de laisser leur patr
759imoine sans pilote.",excerptEn:"Relationship breakdown, wealth continuity, concrete alternatives: what French expatriates do who refuse to leave their assets without a pilot.",date:"Juin 2026",readTime:"12 min"},{id:"portugal-ifici-apres-rnh",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Après la fin du RNH : ce qui reste très intéressant pour un Français fortuné au Portugal",titleEn:"After the end of the NHR: what remains very attractive for wealthy French in Portugal",excerptFr:"IFICI, taux flat à 20%, exonération des revenus étrangers : ce que le Portugal offre encore aux expatriés fortunés et les pièges à éviter avant le départ.",excerptEn:"IFICI, flat 20% rate, foreign income exemption: what Portugal still offers wealthy expatriates and the pitfalls to avoid before departure.",date:"Juin 2026",readTime:"14 min"},{id:"beckham-law-espagne",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Beckham Law : ce que les Français dirigeants doivent vraiment savoir avant de s'installer en Espagne",titleEn:"Beckham Law: what French executives really need to know before settling in Spain",excerptFr:"Taux flat à 24%, impôt sur la fortune, Modelo 720, exit tax française : le tableau de bord complet pour un patrimoine franco espagnol sans angle mort.",excerptEn:"24% flat rate, wealth tax, Modelo 720, French exit tax: the complete dashboard for a Franco-Spanish wealth without blind spots.",date:"Juin 2026",readTime:"13 min"},{id:"contrat-luxembourgeois-colonne-vertebrale",category:"fiscalite",displayCategory:"Assurance-vie luxembourgeoise",titleFr:"Contrat luxembourgeois : pourquoi les patrimoines importants l'utilisent comme colonne vertébrale",titleEn:"Luxembourg contract: why significant wealth uses it as a backbone",excerptFr:"FAS, FID, triangle de sécurité, actifs alternatifs : ce que le contrat luxembourgeois permet que rien d'autre ne permet, et à partir de quand il s'impose.",excerptEn:"FAS, FID, security triangle, alternative assets: what the Luxembourg contract enables that nothing else can, and when it becomes essential.",date:"Juin 2026",readTime:"14 min"},{id:"flat-tax-italie",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Flat tax italienne à 100 000 € : pour qui c'est vraiment rentable ?",titleEn:"Italian flat tax at €100,000: who does it really pay for?",excerptFr:"Forfait sur revenus étrangers, succession italienne, structuration des actifs français : le guide complet pour un Français fortuné qui envisage l'Italie.",excerptEn:"Lump-sum on foreign income, Italian inheritance, structuring of French assets: the complete guide for a wealthy French considering Italy.",date:"Juin 2026",readTime:"15 min"},{id:"forfait-fiscal-suisse",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Forfait fiscal suisse : ce que les Français fortunés doivent savoir avant de s'installer",titleEn:"Swiss lump-sum tax: what wealthy French need to know before settling",excerptFr:"Imposition d'après la dépense, exit tax française, coordination des actifs franco-suisses : le guide complet pour un patrimoine transfrontalier sans angle mort.",excerptEn:"Lump-sum expenditure taxation, French exit tax, Franco-Swiss asset coordination: the complete guide for a cross-border wealth with no blind spot.",date:"Juin 2026",readTime:"15 min"},{id:"fiscalite-internationale",category:"fiscalite",displayCategory:"Fiscalité internationale",titleFr:"Résider en France, investir à l'international : le casse-tête fiscal que personne ne simplifie vraiment",titleEn:"Living in France, investing internationally: the tax puzzle no one really simplifies",excerptFr:"Conventions bilatérales, exit tax, CRS, structures étrangères : ce que tout investisseur français exposé à l'international doit comprendre, et anticiper.",excerptEn:"Bilateral treaties, exit tax, CRS, foreign structures: what every French international investor must understand, and anticipate.",date:"Juin 2026",readTime:"14 min"},{id:"confidentialite-uhnw",category:"fiscalite",displayCategory:"Confidentialité & sécurité",titleFr:"Pourquoi la confidentialité est devenue le premier critère de choix pour les UHNW",titleEn:"Why confidentiality has become the top selection criterion for UHNW",excerptFr:"Données patrimoniales, cybersécurité, réputation : ce que les grandes fortunes protègent en priorité, et comment.",excerptEn:"Wealth data, cybersecurity, reputation: what the wealthiest protect first, and how.",date:"Juin 2026",readTime:"14 min"},{id:"transmission-sans-diviser-famille",category:"transmission",displayCategory:"Transmission familiale",titleFr:"Transmettre son patrimoine sans diviser sa famille : ce que la loi ne règle pas",titleEn:"Transferring wealth without dividing your family: what the law does not settle",excerptFr:"Conflits successoraux, équité perçue, gouvernance familiale : pourquoi la meilleure transmission est celle qui a été parlée avant d'être signée.",excerptEn:"Succession conflicts, perceived fairness, family governance: why the best transfer is the one talked through before it is signed.",date:"Juin 2026",readTime:"15 min"},{id:"patrimoine-structure-dediee",category:"fiscalite",displayCategory:"Structure patrimoniale",titleFr:"À partir de quel moment un patrimoine devient trop complexe pour être géré sans structure dédiée ?",titleEn:"When does wealth become too complex to manage without a dedicated structure?",excerptFr:"Holding, multi-family office, coordination centralisée : les signaux qui indiquent qu'une gestion informelle ne suffit plus.",excerptEn:"Holding, multi-family office, centralized coordination: the signals that informal management is no longer enough.",date:"Juin 2026",readTime:"14 min"},{id:"coordination-banque-privee",category:"fiscalite",displayCategory:"Fiscalité & conformité",titleFr:"Ce que votre banque privée ne coordonne pas (et qui vous coûte cher)",titleEn:"What your private bank does not coordinate (and what it costs you)",excerptFr:"Dispersion des conseils, angles morts fiscaux, décisions incohérentes : le coût réel de l'absence de pilotage patrimonial global.",excerptEn:"Scattered advice, fiscal blind spots, inconsistent decisions: the real cost of the absence of global wealth orchestration.",date:"Juin 2026",readTime:"15 min"},{id:"banquiers-vs-avocats",category:"fiscalite",displayCategory:"Conseil patrimonial",titleFr:"Pourquoi les grandes fortunes font moins confiance à leurs banquiers qu'à leur avocat",titleEn:"Why high-net-worth families trust their lawyer more than their banker",excerptFr:"Conflits d'intérêts, conseil fragmenté, rémunération opaque : ce que les patrimoines sophistiqués ont compris sur la nature du conseil financier.",excerptEn:"Conflicts of interest, fragmented advice, opaque compensation: what sophisticated wealth has understood about the nature of financial advice.",date:"Juin 2026",readTime:"14 min"},{id:"scpi-europeennes",category:"immobilier",titleFr:"SCPI européennes : diversifier l'immobilier hors de France",titleEn:"European SCPIs: diversifying real estate outside France",excerptFr:"Fiscalité allégée, marchés porteurs, décorrélation : pourquoi l'immobilier européen change la donne pour l'investisseur français.",excerptEn:"Reduced taxation, strong markets, decorrelation: why European real estate changes the game for the French investor.",date:"Juillet 2026",readTime:"14 min"},{id:"courbe-en-j",category:"private-equity",titleFr:"Comprendre la courbe en J : pourquoi le PE déçoit les 3 premières années",titleEn:"Understanding the J-curve: why PE disappoints in the first 3 years",excerptFr:"Appels de fonds, frais de structure, valorisations prudentes : anatomie d'un phénomène mal compris qui décourage les investisseurs au mauvais moment.",excerptEn:"Capital calls, management fees, conservative valuations: anatomy of a misunderstood phenomenon that discourages investors at the wrong time.",date:"Juin 2026",readTime:"14 min"},{id:"holding-patrimoniale",category:"fiscalite",titleFr:"Holding patrimoniale : quand et pourquoi la créer",titleEn:"Wealth holding: when and why to create one",excerptFr:"Capitalisation à l'IS, régime mère fille, transmission optimisée : ce que la holding change pour les entrepreneurs et les investisseurs.",excerptEn:"IS capitalisation, parent-subsidiary regime, optimised transfer: what a holding changes for entrepreneurs and investors.",date:"Mai 2026",readTime:"11 min"},{id:"apport-cession-150-0-b-ter",category:"fiscalite",titleFr:"Apport cession (article 150-0 B ter) : réinvestir sans payer l'impôt immédiatement",titleEn:"Contribution-sale (article 150-0 B ter): reinvest without paying tax immediately",excerptFr:"Report d'imposition, réinvestissement qualifié, holding patrimoniale : le dispositif central de la gestion fiscale des cessions d'entreprise.",excerptEn:"Tax deferral, qualified reinvestment, wealth holding: the central device for managing the taxation of business disposals.",date:"Avril 2026",readTime:"13 min"},{id:"apport-cession-150-0-b-ter-loi-finances-2026",category:"fiscalite",titleFr:"Article 150-0 B ter : ce que la loi de finances pour 2026 change vraiment pour les entrepreneurs",titleEn:"Article 150-0 B ter: what the 2026 Finance Act really changes for entrepreneurs",excerptFr:"Quota de remploi porté à 70 %, délai étendu à 36 mois, périmètre des activités éligibles resserré : lecture patrimoniale des nouveaux équilibres du report d'imposition.",excerptEn:"Reinvestment quota raised to 70%, deadline extended to 36 months, tighter perimeter of eligible activities: a wealth reading of the new balance of the tax deferral regime.",date:"Décembre 2026",readTime:"12 min"},{id:"donation-partage",category:"transmission",titleFr:"Donation partage : sécuriser une transmission familiale équitable",titleEn:"Donation partition: securing an equitable family transfer",excerptFr:"Gel des valeurs, répartition irrévocable, paix familiale : pourquoi la donation partage est l'acte de transmission le plus structurant du droit civil français.",excerptEn:"Freezing of values, irrevocable allocation, family peace: why donation partition is the most structuring transfer act of French civil law.",date:"Mars 2026",readTime:"14 min"},{id:"demembrement-propriete",category:"transmission",titleFr:"Démembrement de propriété : transmettre sans se déposséder",titleEn:"Property dismemberment: transmit without dispossessing",excerptFr:"Usufruit, nue propriété, donation, fiscalité : l'outil de transmission le plus puissant du droit civil français.",excerptEn:"Usufruct, bare ownership, donation, taxation: the most powerful transfer tool in French civil law.",date:"Février 2026",readTime:"14 min"},{id:"transfert-assurance-vie-luxembourg",category:"fiscalite",displayCategory:"Assurance-vie luxembourgeoise",titleFr:"Transférer son assurance-vie française vers le Luxembourg : mécanique, fiscalité, limites",titleEn:"Transferring French life insurance to Luxembourg: mechanics, taxation, limits",excerptFr:"Transfert direct, rachat et réinvestissement, conservation de l'antériorité fiscale : ce que l'investisseur doit savoir avant de franchir le pas.",excerptEn:"Direct transfer, surrender and reinvestment, preservation of tax seniority: what the investor must know before taking the step.",date:"Janvier 2026",readTime:"15 min"},{id:"credit-lombard-luxembourgeois",category:"fiscalite",titleFr:"Crédit Lombard adossé à un contrat luxembourgeois : levier ou piège ?",titleEn:"Lombard loan backed by a Luxembourg contract: leverage or trap?",excerptFr:"Nantissement, effet de levier, appel de marge : ce que l'investisseur doit comprendre avant d'emprunter sur son patrimoine.",excerptEn:"Pledging, leverage, margin call: what the investor must understand before borrowing against their wealth.",date:"Décembre 2025",readTime:"14 min"},{id:"fonds-interne-dedie",category:"fiscalite",displayCategory:"Assurance-vie luxembourgeoise",titleFr:"Fonds dédié et fonds interne dédié : gérer son assurance-vie comme un mandat",titleEn:"Dedicated fund and dedicated internal fund: managing life insurance as a mandate",excerptFr:"Personnalisation totale, actifs sur mesure, alignement avec le gestionnaire : ce que le FID change pour les grands patrimoines.",excerptEn:"Total personalisation, bespoke assets, alignment with the manager: what the FID changes for large estates.",date:"Novembre 2025",readTime:"14 min"},{id:"triangle-securite-luxembourgeois",category:"fiscalite",displayCategory:"Assurance-vie luxembourgeoise",titleFr:"Le « triangle de sécurité » luxembourgeois : pourquoi les grandes fortunes s'y intéressent",titleEn:"The Luxembourg « security triangle »: why high-net-worth individuals care",excerptFr:"Ségrégation des actifs, super-privilège, surveillance continue : anatomie d'une protection patrimoniale sans équivalent en Europe.",excerptEn:"Asset segregation, super-privilege, continuous oversight: anatomy of a wealth protection with no equivalent in Europe.",date:"Novembre 2025",readTime:"12 min"},{id:"av-luxembourg-vs-france",category:"fiscalite",displayCategory:"Assurance-vie luxembourgeoise",titleFr:"Assurance-vie luxembourgeoise vs française : que choisir selon son patrimoine ?",titleEn:"Luxembourg vs French life insurance: which to choose for your wealth?",excerptFr:"Protection des actifs, liberté d'investissement, fiscalité, portabilité : le guide complet pour faire le bon choix selon sa situation.",excerptEn:"Asset protection, investment freedom, taxation, portability: the complete guide to making the right choice for your situation.",date:"Octobre 2025",readTime:"14 min"},{id:"fcpi-defiscaliser-innovation",category:"fiscalite",displayCategory:"FCPI",titleFr:"FCPI : défiscaliser en finançant l'innovation française",titleEn:"FCPI: cut your tax bill by funding French innovation",excerptFr:"Réduction d'impôt, capital-risque, sélection des gérants : ce que les Fonds Communs de Placement dans l'Innovation apportent à une stratég
759ie patrimoniale.",excerptEn:"Tax reduction, venture capital, manager selection: what FCPIs bring to a wealth strategy.",date:"Septembre 2025",readTime:"13 min"},{id:"art-actif-patrimonial",category:"marche",displayCategory:"Art",titleFr:"L'art comme actif patrimonial : au-delà de la passion",titleEn:"Art as a wealth asset: beyond passion",excerptFr:"Marché, rendement, liquidité, transmission : ce que l'investisseur doit savoir avant d'entrer sur le marché de l'art.",excerptEn:"Market, return, liquidity, transfer: what the investor should know before entering the art market.",date:"Août 2025",readTime:"14 min"},{id:"per-outil-fiscal",category:"fiscalite",displayCategory:"PER",titleFr:"PER : l'outil de retraite qui est aussi un outil fiscal",titleEn:"PER: a retirement tool that is also a tax tool",excerptFr:"Versements déductibles, sortie en capital, transmission : pourquoi le Plan d'Épargne Retraite mérite une place centrale dans toute stratégie patrimoniale.",excerptEn:"Deductible contributions, capital withdrawal, transfer: why the Retirement Savings Plan deserves a central place in any wealth strategy.",date:"Février 2025",readTime:"12 min"},{id:"pea-actions-long-terme",category:"fiscalite",displayCategory:"PEA",titleFr:"PEA : le meilleur outil pour investir en actions sur le long terme",titleEn:"PEA: the best tool to invest in equities for the long term",excerptFr:"Fiscalité allégée, univers élargi, transmission optimisée : ce que le Plan d'Épargne en Actions permet vraiment.",excerptEn:"Lighter taxation, broader universe, optimised transfer: what the Equity Savings Plan really enables.",date:"Mars 2025",readTime:"11 min"},{id:"club-deal",category:"private-equity",displayCategory:"Club Deal",titleFr:"Club deal : investir autrement, investir ensemble",titleEn:"Club deal: invest differently, invest together",excerptFr:"Ticket d'entrée réduit, actifs de qualité institutionnelle, alignement des intérêts : ce que les club deals apportent aux investisseurs privés.",excerptEn:"Lower entry ticket, institutional quality assets, alignment of interests: what club deals bring to private investors.",date:"Avril 2025",readTime:"10 min"},{id:"girardin-industriel",category:"fiscalite",titleFr:"Girardin industriel : réduire son impôt en finançant l'économie réelle",titleEn:"Industrial Girardin: cut your tax bill by financing the real economy",excerptFr:"Mécanisme, agrément, risques et sélection des opérateurs : tout ce qu'il faut savoir sur la défiscalisation ultramarine.",excerptEn:"Mechanism, approval, risks and operator selection: everything to know about overseas tax relief.",date:"Mai 2025",readTime:"11 min"},{id:"gfi-foret-actif-patrimonial",category:"immobilier",displayCategory:"GFI",titleFr:"Groupements Forestiers d'Investissement : quand la forêt devient un actif patrimonial",titleEn:"Forest Investment Groups: when the forest becomes a wealth asset",excerptFr:"Fiscalité avantageuse, décorrélation des marchés, transmission optimisée : ce que les GFI apportent à une allocation patrimoniale.",excerptEn:"Favourable taxation, market decorrelation, optimised transfer: what GFIs bring to a wealth allocation.",date:"Juin 2025",readTime:"12 min"},{id:"denormandie-ancien-renove",category:"immobilier",displayCategory:"Fiscalité",titleFr:"Denormandie : investir dans l'ancien, rénover utile, défiscaliser intelligemment",titleEn:"Denormandie: invest in old buildings, renovate usefully, cut tax intelligently",excerptFr:"Réduction d'impôt, logement ancien réhabilité, impact territorial : ce que la loi Denormandie apporte à une stratégie patrimoniale.",excerptEn:"Tax reduction, rehabilitated old housing, territorial impact: what the Denormandie law brings to a wealth strategy.",date:"Juillet 2025",readTime:"11 min"},{id:"pe-secondaires",category:"private-equity",titleFr:"Secondaires PE : l'opportunité méconnue",titleEn:"PE secondaries: the overlooked opportunity",excerptFr:"Pourquoi le marché secondaire du private equity offre un profil risque/rendement particulièrement attractif.",excerptEn:"Why the private equity secondary market offers a particularly attractive risk/return profile.",date:"Novembre 2024",readTime:"7 min"},{id:"scpi-2025",category:"immobilier",titleFr:"SCPI : la nouvelle génération à l'épreuve des taux",titleEn:"SCPI: the new generation tested by rate cycles",excerptFr:"Les SCPI européennes diversifiées résistent mieux à la remontée des taux. Décryptage et sélection.",excerptEn:"Diversified European SCPIs are weathering the rate cycle better. Analysis and selection.",date:"Octobre 2024",readTime:"6 min"}],M4e=()=>{const{tr:e}=K(),n=d=>{switch(d){case"marche":return e("Marché","Markets");case"fiscalite":return e("Fiscalité","Taxation");case"private-equity":return"Private Equity";case"immobilier":return e("Immobilier","Real Estate");case"transmission":return e("Transmission","Succession")}},[r,i]=k.useState(""),s=k.useMemo(()=>{const d=r.trim().toLowerCase();return d?qp.filter(p=>[p.titleFr,p.titleEn,p.excerptFr,p.excerptEn,n(p.category),p.date].join(" ").toLowerCase().includes(d)):qp},[r,e]),[a]=[qp[0]],o=r.trim().length>0,l=o?s:qp.slice(1),c={"investir-scpi":"/blog/investir-scpi","avantages-per":"/blog/avantages-per","payer-moins-impots":"/blog/payer-moins-impots","investir-jeune":"/blog/investir-jeune","apport-cession-150-0-b-ter-loi-finances-2026":"/blog/apport-cession-150-0-b-ter-loi-finances-2026","flat-tax-italie":"/blog/flat-tax-italie","contrat-luxembourgeois-colonne-vertebrale":"/blog/contrat-luxembourgeois-colonne-vertebrale","beckham-law-espagne":"/blog/beckham-law-espagne","portugal-ifici-apres-rnh":"/blog/portugal-ifici-apres-rnh","forfait-fiscal-suisse":"/blog/forfait-fiscal-suisse"},u=qp.filter(d=>c[d.id]).slice(0,3).map(d=>({id:d.id,to:c[d.id],title:e(d.titleFr,d.titleEn),excerpt:e(d.excerptFr,d.excerptEn),date:d.date,reading_time_minutes:parseInt(d.readTime,10)||null,category:{name:d.displayCategory||n(d.category)}}));return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-16 bg-muted",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsxs(C,{to:"/",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour à l'accueil","Back to home")]}),t.jsxs("div",{className:"flex flex-col md:flex-row md:items-start md:justify-between gap-8",children:[t.jsxs("div",{className:"flex-1",children:[t.jsx("h1",{className:"font-display text-4xl md:text-5xl tracking-tight text-foreground",children:e("Nos convictions.","Our convictions.")}),t.jsx("p",{className:"text-base text-muted-foreground mt-5 max-w-2xl leading-relaxed",children:e("Analyses de marché, décryptages fiscaux et stratég
759ies patrimoniales : les regards de nos experts sur les sujets qui structurent votre patrimoine.","Market analysis, tax insights and wealth strategies: our experts' perspectives on the topics shaping your wealth.")})]}),t.jsxs("div",{className:"relative w-full md:w-80 shrink-0",children:[t.jsx(_q,{className:"w-4 h-4 absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"}),t.jsx("input",{type:"search",value:r,onChange:d=>i(d.target.value),placeholder:e("Rechercher un article…","Search an article…"),"aria-label":e("Rechercher un article","Search an article"),className:"w-full h-11 pl-11 pr-4 rounded-full border border-border bg-background text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary/40 transition-all"})]})]})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6",children:[t.jsx(D4e,{}),t.jsx(J7,{activeSlug:null}),!o&&t.jsx(C,{to:BF[a.id]??"/blog",className:"block",children:t.jsx(S.article,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:$F},className:"group cursor-pointer mb-20 pb-20 border-b border-border",children:t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-5 gap-10 items-center",children:[t.jsxs("div",{className:"md:col-span-3 relative aspect-[4/3] rounded-xl overflow-hidden bg-primary",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary via-primary to-[#2a1854]"}),t.jsx("div",{className:"absolute inset-0 opacity-[0.07]",style:{backgroundImage:"linear-gradient(to right, white 1px, transparent 1px), linear-gradient(to bottom, white 1px, transparent 1px)",backgroundSize:"48px 48px"}}),t.jsx("div",{className:"absolute -top-24 -right-24 w-[420px] h-[420px] rounded-full bg-gradient-signature opacity-30 blur-3xl"}),t.jsx("div",{className:"absolute -bottom-32 -left-20 w-[360px] h-[360px] rounded-full bg-accent/30 opacity-40 blur-3xl"}),t.jsxs("div",{className:"absolute inset-0 flex flex-col justify-between p-8 md:p-10",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("span",{className:"text-[10px] tracking-[0.22em] uppercase text-white/80 border border-white/25 px-3 py-1.5 rounded-full font-medium",children:e("À la une","Featured")}),t.jsx("span",{className:"text-[10px] tracking-[0.22em] uppercase text-white/60 font-medium",children:a.displayCategory||n(a.category)})]}),t.jsxs("div",{children:[t.jsx("p",{className:"font-display text-[110px] md:text-[160px] leading-none tracking-tight text-white/95 transition-transform duration-700 group-hover:translate-x-1",children:"2026"}),t.jsxs("div",{className:"mt-4 flex items-center gap-3",children:[t.jsx("div",{className:"h-px w-12 bg-gradient-signature"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-white/70",children:e("Édition annuelle","Annual edition")})]})]})]})]}),t.jsxs("div",{className:"md:col-span-2",children:[t.jsxs("p",{className:"text-[11px] tracking-[0.18em] uppercase text-secondary mb-4",children:[a.displayCategory||n(a.category)," · ",a.date]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground leading-snug mb-4 group-hover:text-secondary transition-colors duration-300 text-left",children:e(a.titleFr,a.titleEn)}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-6",children:e(a.excerptFr,a.excerptEn)}),t.jsxs("span",{className:"inline-flex items-center gap-2 text-sm font-medium text-foreground group-hover:gap-3 transition-all",children:[e("Lire l'article","Read article"),t.jsx(V,{className:"w-4 h-4"})]})]})]})})}),!o&&u&&u.length>0&&t.jsxs("section",{className:"mb-20",children:[t.jsxs("div",{className:"mb-8",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-2",children:e("En temps réel","Real time")}
759),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground",children:e("Dernières publications","Latest publications")})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:u.map(d=>{var p;return t.jsxs(C,{to:d.to,className:"group block bg-card border border-border rounded-xl p-6 hover:shadow-md hover:border-foreground/15 hover:-translate-y-0.5 transition-all duration-300 h-full",children:[t.jsxs("p",{className:"text-[11px] tracking-[0.18em] uppercase text-muted-foreground mb-4",children:[((p=d.category)==null?void 0:p.name)||e("Article","Article"),d.reading_time_minutes?` · ${d.reading_time_minutes} MIN`:""]}),t.jsx("h3",{className:"text-base font-semibold tracking-tight text-foreground leading-snug mb-3 group-hover:text-secondary transition-colors duration-300 text-left",children:d.title}),d.excerpt&&t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4 line-clamp-3",children:d.excerpt}),t.jsxs("div",{className:"mt-auto flex items-center gap-2 text-[11px] text-muted-foreground/70",children:[t.jsx(Kx,{className:"w-3.5 h-3.5"}),d.date]})]},d.id)})})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:l.map((d,p)=>{const m=t.jsxs(S.article,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,ease:$F,delay:p*.06},className:"group cursor-pointer bg-card border border-border rounded-xl p-8 hover:shadow-md hover:border-foreground
759/15 hover:-translate-y-0.5 transition-all duration-300 h-full",children:[t.jsxs("p",{className:"text-[11px] tracking-[0.18em] uppercase text-muted-foreground mb-4",children:[d.displayCategory||n(d.category)," · ",d.readTime]}),t.jsx("h3",{className:"text-base font-semibold tracking-tight text-foreground leading-snug mb-3 group-hover:text-secondary transition-colors duration-300 text-left",children:e(d.titleFr,d.titleEn)}),t.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-6",children:e(d.excerptFr,d.excerptEn)}),t.jsx("p",{className:"text-[11px] text-muted-foreground/70",children:d.date})]}),h=BF;return h[d.id]?t.jsx(C,{to:h[d.id],className:"block",children:m},d.id):t.jsx("div",{children:m},d.id)})}),o&&l.length===0&&t.jsx("p",{className:"text-center text-sm text-muted-foreground py-16",children:e("Aucun article ne correspond à votre recherche.","No article matches your search.")}),t.jsx("div",{className:"mt-20 text-center",children:t.jsx("p",{className:"text-sm text-muted-foreground",children:e("D'autres analyses arrivent prochainement.","More analyses coming soon.")})})]})}),t.jsx(re,{})]})},$4e=[.16,1,.3,1],B4e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Marché","Markets")," · ",e("Janvier 2025","January 2025")," · 8 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Perspectives 2025 : comment positionner son patrimoine","2025 outlook: how to position your wealth")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-justify",children:e("Analyse des tendances macroéconomiques, des cycles de taux et des opportunités d'allocation pour l'année à venir.","Analysis of macroeconomic trends, rate cycles and allocation opportunities for the year ahead.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:$4e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'année ",t.jsx("strong",{children:"2024"})," a confirmé ce que beaucoup pressentaient : les marchés savent composer avec l'incertitude. Tandis que les ",t.jsx("strong",{children:"banques centrales amorçaient leur pivot"}),", les allocataires les mieux positionnés ont bénéficié d'une fenêtre rare. En 2025, cette fenêtre se referme progressivement, mais de nouvelles s'ouvrent, à condition de savoir les identifier."]}),t.jsxs(t.Fragment,{children:["Year ",t.jsx("strong",{children:"2024"})," confirmed what many sensed: markets know how to navigate uncertainty. As ",t.jsx("strong",{children:"central banks began their pivot"}),", the best-positioned allocators benefited from a rare window. In 2025, that window is gradually closing, but new ones are opening, for those who know how to spot them."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Un atterrissage en douceur, mais fragile","A soft landing, but fragile")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le scénario central qui se dessine pour 2025 reste celui d'un ",t.jsx("strong",{children:"atterrissage en douceur"})," côté américain, avec une croissance du PIB attendue aux alentours de ",t.jsx("strong",{children:"2%"}),", portée par la consommation et un marché de l'emploi qui résiste. En zone euro, la trajectoire est plus heurtée : la ",t.jsx("strong",{children:"désindustrialisation allemande"})," pèse sur la dynamique continentale, et la France aborde l'année sous ",t.jsx("strong",{children:"contrainte budgétaire sévère"}),"."]}),t.jsxs(t.Fragment,{children:["The central scenario for 2025 remains a ",t.jsx("strong",{children:"soft landing"})," in the US, with GDP growth expected around ",t.jsx("strong",{children:"2%"}),", driven by consumption and a resilient labour market. In the eurozone, the path is bumpier: ",t.jsx("strong",{children:"German deindustrialisation"})," weighs on continental momentum, and France enters the year under ",t.jsx("strong",{children:"severe budgetary constraints"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'inflation recule, mais demeure ",t.jsx("strong",{children:"structurellement plus élevée qu'avant 2020"}),". Les effets de la transition énergétique, les tensions géopolitiques persistantes et la réorientation des chaînes d'approvisionnement entretiennent une pression diffuse sur les prix. Dans ce contexte, les banques centrales avanceront prudemment sur la voie de la détente monétaire, vraisemblablement ",t.jsx("strong",{children:"trois à quatre baisses de taux"})," de la Fed sur l'année, et un rythme similaire du côté de la BCE."]}),t.jsxs(t.Fragment,{children:["Inflation is receding but remains ",t.jsx("strong",{children:"structurally higher than before 2020"}),". The energy transition, lasting geopolitical tensions and supply-chain reshuffling sustain diffuse price pressure. In that context, central banks will move cautiously toward easing, likely ",t.jsx("strong",{children:"three to four Fed cuts"})," over the year, with a similar pace at the ECB."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le cycle de taux : profiter avant la normalisation","The rate cycle: act before normalisation")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"fenêtre obligataire"})," est encore ouverte, mais plus pour longtemps. Les rendements actuels, entre ",t.jsx("strong",{children:"3,5% et 4%"})," sur le souverain européen à dix ans, jusqu'à ",t.jsx("strong",{children:"5,5%"})," sur le crédit investment grade américain, offrent des niveaux de portage que l'on n'avait pas connus depuis 2008. Lorsque les taux courts baisseront davantage, ces rendements se comprimeront mécaniquement."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"bond window"})," is still open, but not for long. Current yields, between ",t.jsx("strong",{children:"3.5% and 4%"})," on 10-year European sovereigns, up to ",t.jsx("strong",{children:"5.5%"})," on US investment-grade credit, offer carry levels not seen since 2008. As short rates fall further, these yields will mechanically compress."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Sécuriser du rendement aujourd'hui, c'est s'assurer un ",t.jsx("strong",{children:"coussin de performance pour les deux à trois années"}
759)," à venir. La stratégie consiste à allonger modérément la ",t.jsx("strong",{children:"duration"})," sur des obligations de qualité, tout en maintenant une exposition au crédit corporate dans les segments ",t.jsx("strong",{children:"BB–BBB"}),", où le spread compense encore le risque de façon satisfaisante. Les ",t.jsx("strong",{children:"fonds à échéance"}),", très prisés ces dix-huit derniers mois, restent pertinents pour les profils prudents."]}),t.jsxs(t.Fragment,{children:["Locking in yield today secures a ",t.jsx("strong",{children:"performance cushion for the next two to three years"}),". The approach: moderately extend ",t.jsx("strong",{children:"duration"})," on quality bonds while keeping corporate credit exposure in ",t.jsx("strong",{children:"BB–BBB"})," segments, where spreads still adequately compensate the risk. ",t.jsx("strong",{children:"Maturity funds"}),", very popular over the past eighteen months, remain relevant for cautious profiles."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre approche de gestion privée","Our private management approach")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Un accompagnement patrimonial global, indépendant et sur mesure, pour positionner votre portefeuille avec discernement face aux cycles de marché.","A comprehensive, independent and bespoke wealth advisory service to position your portfolio with discernment through market cycles.")}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer la gestion privée","Explore private management"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Repositionner le curseur : lecture par classe d'actifs","Resetting the dial: an asset-class view")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Si 2024 était l'année des ",t.jsx("strong",{children:"liquidités rémunérées"}),", 2025 appelle à réinvestir progressivement vers des actifs offrant de la croissance ou du ",t.jsx("strong",{children:"revenu durable"}),". Les ",t.jsx("strong",{children:"actions mondiales de qualité"}),", privilégiant les entreprises à fort pouvoir de fixation des prix et aux bilans solides, conservent leur place centrale dans un ",t.jsx(C,{to:"/gestion-privee",className:"text-primary underline-offset-4 hover:underline",children:"portefeuille diversifié"}),". L'immobilier coté et non coté mérite une approche sélective : les SCPI spécialisées (santé, logistique, éducation) résistent mieux à la revalorisation des actifs que les bureaux traditionnels."]}),t.jsxs(t.Fragment,{children:["If 2024 was the year of ",t.jsx("strong",{children:"remunerated cash"}),", 2025 calls for a gradual reinvestment into assets offering growth or ",t.jsx("strong",{children:"durable income"}),". ",t.jsx("strong",{children:"Quality global equities"}),", favouring companies with strong pricing power and solid balance sheets, keep a central role in a ",t.jsx(C,{to:"/gestion-privee",className:"text-primary underline-offset-4 hover:underline",children:"diversified portfolio"}),". Listed and unlisted real estate deserves a selective approach: specialised SCPIs (healthcare, logistics, education) are weathering revaluation better than traditional offices."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Du côté des liquidités, la logique de ",t.jsx("strong",{children:"sur-pondération"})," qui prévalait en 2023–2024 n'a plus la même pertinence : réduire progressivement l'exposition au ",t.jsx("strong",{children:"monétaire"})," au profit d'actifs offrant un ",t.jsx("strong",{children:"rendement réel positif sur la durée"})," est aujourd'hui la priorité."]}),t.jsxs(t.Fragment,{children:["On cash, the ",t.jsx("strong",{children:"overweight logic"})," that prevailed in 2023–2024 no longer holds the same relevance: gradually reducing ",t.jsx("strong",{children:"money-market exposure"})," in favour of assets offering a ",t.jsx("strong",{children:"positive real return over time"})," is now the priority."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le retour du non-coté","The return of private markets")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'environnement actuel est structurellement favorable au ",t.jsx("strong",{children:"private equity"})," : les valorisations de sortie se sont comprimées, créant des ",t.jsx("strong",{children:"points d'entrée attractifs pour les millésimes 2024–2025"}),". La ",t.jsx("strong",{children:"dette privée"}),", quant à elle, capte des spreads élevés tout en offrant la séniorité dans la structure de capital, un profil risque/rendement difficile à égaler sur les marchés liquides."]}),t.jsxs(t.Fragment,{children:["The current environment is structurally favourable to ",t.jsx("strong",{children:"private equity"}),": exit valuations have compressed, creating ",t.jsx("strong",{children:"attractive entry points for the 2024–2025 vintages"}),". ",t.jsx("strong",{children:"Private debt"})," captures high spreads while offering seniority in the capital structure, a risk/return profile hard to match in public markets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les patrimoines éligibles, une allocation de l'ordre de ",t.jsx("strong",{children:"10 à 20%"})," vers ces classes d'actifs contribue à améliorer le couple rendement/risque global du portefeuille, à condition d'accepter l'illiquidité inhérente à un horizon de ",t.jsx("strong",{children:"cinq à huit ans"}),"."]}),t.jsxs(t.Fragment,{children:["For eligible wealth, a ",t.jsx("strong",{children:"10 to 20%"})," allocation to these asset classes helps improve the portfolio's overall risk/return profile, provided one accepts the illiquidity inherent in a ",t.jsx("strong",{children:"five-to-eight-year horizon"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La dimension fiscale : ne pas négliger l'enveloppe","The tax dimension: don't overlook the wrapper")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dans un contexte de ",t.jsx("strong",{children:"pression budgétaire accrue"}),", la gestion de l'enveloppe fiscale devient aussi importante que le choix des actifs. Assurance-vie, PER, investissements défiscalisants dans les secteurs prioritaires, forêt, outre-mer, PME innovantes : chaque dispositif répond à une ",t.jsx("strong",{children:"logique patrimoniale précise"})," et mérite d'être calibré en fonction du profil et de l'horizon de chaque investisseur, un travail au cœur de notre ",t.jsx(C,{to:"/essentiel",className:"text-primary underline-offset-4 hover:underline",children:"offre Essentiel"}),"."]}),t.jsxs(t.Fragment,{children:["In a context of ",t.jsx("strong",{children:"growing budgetary pressure"}),", managing the tax wrapper becomes as important as choosing the assets. Life insurance, retirement plans, tax-efficient investments in priority sectors, forestry, overseas territories, innovative SMEs: each scheme answers a ",t.jsx("strong",{children:"specific wealth logic"})," and deserves calibration based on each investor's profile and horizon, a task at the core of our ",t.jsx(C,{to:"/essentiel",className:"text-primary underline-offset-4 hover:underline",children:"Essentiel offer"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"2025"})," pourrait également être l'occasion de rationaliser les structures de détention, dans un environnement réglementaire qui évolue et où l'",t.jsx("strong",{children:"anticipation reste le principal levier de préservation du capital transmis"}),"."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"2025"})," could also be the occasion to streamline holding structures, in an evolving regulatory environment where ",t.jsx("strong",{children:"anticipation remains the main lever for preserving transmitted capital"}),"."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("Un patrimoine bien positionné en 2025 n'est pas celui qui cherche à tout maximiser. C'est celui qui sait quoi préserver, quoi accélérer, et quoi patiemment attendre.","Well-positioned wealth in 2025 is not the wealth that tries to maximise everything. It is the wealth that knows what to preserve, what to accelerate, and what to patiently wait for.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Positionner votre patrimoine pour 2026","Position your wealth for 2026")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux analysent votre allocation actuelle et construisent avec vous une stratég
759ie calibrée aux opportunités et aux risques du cycle en cours.","Our wealth advisors analyse your current allocation and build with you a strategy calibrated to the opportunities and risks of the current cycle.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Accéder à la gestion privée","Access private management"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/essentiel",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Découvrir l'offre Essentiel","Discover Essentiel")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Les performances passées ne préjugent pas des performances futures.","Informational document, not investment advice. Past performance is not indicative of future performance.")})]})})}),t.jsx(re,{})]})},z4e=[.16,1,.3,1],U4e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Marché","Markets")," · ",e("Janvier 2026","January 2026")," · 9 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Perspectives 2026 : repenser l'allocation dans un monde en transition","2026 outlook: rethinking allocation in a world in transition")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:e("Normalisation monétaire, résilience des marchés émergents et structuration fiscale : comment calibrer son patrimoine face aux nouvelles réalités du cycle.","Monetary normalisation, emerging market resilience and tax structuring: how to calibrate your wealth amid the new realities of the cycle.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:z4e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'année ",t.jsx("strong",{children:"2025"})," a confirmé que la normalisation monétaire peut coexister avec des marchés en tendance. Les ",t.jsx("strong",{children:"baisses de taux"})," orchestrées par la Fed et la BCE n'ont pas provoqué l'euphorie attendue : les valorisations se sont ajustées de manière différenciée, pénalisant les actifs de croissance chers et récompensant la ",t.jsx("strong",{children:"qualité fondamentale"}),". En 2026, cette logique de sélectivité s'intensifie, dans un contexte où la ",t.jsx("strong",{children:"divergence géographique"})," devient le principal moteur d'allocation."]}),t.jsxs(t.Fragment,{children:["Year ",t.jsx("strong",{children:"2025"})," confirmed that monetary normalisation can coexist with trending markets. The ",t.jsx("strong",{children:"rate cuts"})," by the Fed and ECB did not trigger the expected euphoria: valuations adjusted unevenly, penalising expensive growth assets and rewarding ",t.jsx("strong",{children:"fundamental quality"}),". In 2026, this selectivity intensifies, in a context where ",t.jsx("strong",{children:"geographic divergence"})," becomes the main allocation driver."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le cycle de taux arrive à maturité : ce qui change","The rate cycle matures: what changes")}
759),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Après deux années de ",t.jsx("strong",{children:"détente monétaire"}),", les banques centrales majeures approchent le niveau qu'elles considèrent comme neutre. La Fed se situe aux alentours de ",t.jsx("strong",{children:"3,5 à 4 %"}),", la BCE légèrement en dessous. La marge de manuvre pour de nouvelles baisses s'amenuise, sauf choc exogène. Ce qui signifie que le ",t.jsx("strong",{children:"levier de performance obligataire"}),", si puissant en 2024-2025, perd de son efficacité : les gains de duration deviennent marginaux, et les ",t.jsx("strong",{children:"spreads de crédit"})," sont resserrés à des niveaux historiquement bas."]}),t.jsxs(t.Fragment,{children:["After two years of ",t.jsx("strong",{children:"monetary easing"}),", major central banks are nearing their estimated neutral rate. The Fed sits around ",t.jsx("strong",{children:"3.5 to 4%"}),", the ECB slightly below. Room for further cuts is narrowing, absent an exogenous shock. This means the ",t.jsx("strong",{children:"bond performance lever"}),", so powerful in 2024-2025, is losing effectiveness: duration gains become marginal, and ",t.jsx("strong",{children:"credit spreads"})," are compressed to historically tight levels."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La conséquence pratique pour un portefeuille patrimonial est claire : la ",t.jsx("strong",{children:"part obligataire"})," doit désormais être conçue comme un pilier de ",t.jsx("strong",{children:"stabilité et de rendement contractuel"}),", non comme un moteur de performance. Les fonds à échéance, les obligations indexées sur l'inflation et le ",t.jsx("strong",{children:"crédit privé senior"})," conservent leur pertinence, mais leur pondération globale doit être calibrée avec plus de précision qu'en 2024. Une sur-allocation aux obligations souveraines longues devient un pari sur la ",t.jsx("strong",{children:"récession"}),", non une stratégie de base."]}),t.jsxs(t.Fragment,{children:["The practical consequence for a wealth portfolio is clear: the ",t.jsx("strong",{children:"bond allocation"})," should now be designed as a pillar of ",t.jsx("strong",{children:"stability and contractual yield"}),", not as a performance engine. Maturity funds, inflation-linked bonds and ",t.jsx("strong",{children:"senior private credit"})," remain relevant, but their overall weight must be calibrated more precisely than in 2024. Over-allocating to long sovereigns becomes a bet on ",t.jsx("strong",{children:"recession"}),", not a baseline strategy."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'attraction des marchés émergents et de l'Asie","The pull of emerging markets and Asia")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Si 2025 a été le théâtre d'une ",t.jsx("strong",{children:"renaissance américaine"})," portée par la tech et la consommation, 2026 voit s'ouvrir une ",t.jsx("strong",{children:"fenêtre sur les marchés émergents"}),". L'Inde, le Vietnam, certains marchés d'Europe centrale et l'Indonésie combinent ",t.jsx("strong",{children:"croissance démographique"}),", réformes structurelles et valorisations attractives par rapport aux standards développés. La Chine, malgré ses incertitudes réglementaires, offre des ",t.jsx("strong",{children:"points d'entrée intéressants"})," dans les secteurs de la consommation domestique et des infrastructures vertes."]}),t.jsxs(t.Fragment,{children:["If 2025 was the stage of an ",t.jsx("strong",{children:"American renaissance"})," driven by tech and consumption, 2026 sees a ",t.jsx("strong",{children:"window opening on emerging markets"}),". India, Vietnam, select Central European markets and Indonesia combine ",t.jsx("strong",{children:"demographic growth"}),", structural reforms and attractive valuations relative to developed standards. China, despite regulatory uncertainties, offers ",t.jsx("strong",{children:"interesting entry points"}
759)," in domestic consumption and green infrastructure sectors."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette ",t.jsx("strong",{children:"rotation géographique"})," n'implique pas d'abandonner les marchés développés, mais d'en réduire la sur-pondération. Les actions européennes de qualité, notamment dans l'",t.jsx("strong",{children:"aéronautique, la santé et l'énergie"}),", bénéficient d'une amélioration du cycle industriel continental et d'un euro modéré favorable aux exportateurs. Les ",t.jsx(C,{to:"/plan-epargne-actions",className:"text-primary underline-offset-4 hover:underline",children:"PEA et comptes-titres internationaux"})," deviennent des enveloppes stratégiques pour capter cette diversification."]}),t.jsxs(t.Fragment,{children:["This ",t.jsx("strong",{children:"geographic rotation"})," does not imply abandoning developed markets, but reducing their overweight. European quality equities, especially in ",t.jsx("strong",{children:"aerospace, healthcare and energy"}),", benefit from an improving continental industrial cycle and a moderate euro favourable to exporters. ",t.jsx(C,{to:"/plan-epargne-actions",className:"text-primary underline-offset-4 hover:underline",children:"PEAs and international brokerage accounts"})," become strategic wrappers to capture this diversification."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Nos solutions d'allocation internationale","Our international allocation solutions")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Construire un portefeuille diversifié géographiquement avec des enveloppes fiscales optimisées : PEA, comptes-titres et fonds internationaux sélectionnés.","Build a geographically diversified portfolio with optimised tax wrappers: PEA, brokerage accounts and selected international funds.")}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer nos stratégies","Explore our strategies"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Infrastructure et transition : le nouvel incontournable","Infrastructure and transition: the new essential")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"transition énergétique"})," n'est plus un thème de niche : elle structure des flux de capitaux massifs vers les ",t.jsx("strong",{children:"infrastru
759ctures durables"}),", les réseaux électriques intelligents, le stockage et la mobilité bas-carbone. Ces actifs offrent des caractéristiques patrimoniales remarquables : ",t.jsx("strong",{children:"rendements contractuels longs"}),", décorrélation des marchés actions-obligations, indexation partielle sur l'inflation. Pour un investisseur privé, l'accès se fait principalement via des ",t.jsx("strong",{children:"fonds d'infrastructure"})," ou des véhicules de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity spécialisés"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"energy transition"})," is no longer a niche theme: it is structuring massive capital flows towards ",t.jsx("strong",{children:"sustainable infrastructure"}),", smart grids, storage and low-carbon mobility. These assets offer remarkable wealth characteristics: ",t.jsx("strong",{children:"long contractual yields"}),", decorrelation from equity-bond markets, partial inflation linkage. For a private investor, access is mainly through ",t.jsx("strong",{children:"infrastru
759cture funds"})," or specialised ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity vehicles"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Parallèlement, l'",t.jsx("strong",{children:"IA et la cybersécurité"})," continuent de structurer la performance sectorielle, mais avec une nuance : les valorisations sont désormais exigeantes, et la sélectivité entre les « gagnants de l'IA » et les « prometteurs surévalués » devient cruciale. Privilégier les entreprises générant des ",t.jsx("strong",{children:"cash flows récurrents"})," grâce à l'IA plutôt que celles en dépensant pour la promesse reste le bon filtre."]}),t.jsxs(t.Fragment,{children:["Meanwhile, ",t.jsx("strong",{children:"AI and cybersecurity"}),' continue to drive sectoral performance, but with a nuance: valuations are now demanding, and selectivity between "AI winners" and "overvalued hopefuls" becomes crucial. Favouring companies generating ',t.jsx("strong",{children:"recurring cash flows"})," from AI rather than those spending for the promise remains the right filter."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le non-coté : patience récompensée, liquidité surveillée","Private markets: patience rewarded, liquidity watched")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le marché secondaire du ",t.jsx("strong",{children:"private equity"})," a connu une année 2025 record en volumes, signe que la ",t.jsx("strong",{children:"liquidité revient"})," progressivement dans l'écosystème non coté. Les distributions aux investisseurs s'améliorent, et les ",t.jsx("strong",{children:"valorisations de sortie"})," se normalisent après la compression de 2022-2024. Pour les millésimes 2025-2026, les conditions de création de valeur sont favorables : multiples d'entrée raisonnables, effet de levier maîtrisé, et une prime d'illiquidité toujours attractive."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"private equity"})," secondary market saw a record 2025 in volumes, a sign that ",t.jsx("strong",{children:"liquidity is gradually returning"})," to the unlisted ecosystem. Distributions to investors are improving, and ",t.jsx("strong",{children:"exit valuations"})," are normalising after the 2022-2024 compression. For the 2025-2026 vintages, value creation conditions are favourable: reasonable entry multiples, controlled leverage, and an illiquidity premium that remains attractive."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cependant, la ",t.jsx("strong",{children:"dette privée"})," mérite une attention particulière : la resserrement des spreads obligataires réduit la marge de manuvre des prêteurs non bancaires, et la qualité du collatéral devient le critère discriminant. Se concentrer sur le ",t.jsx("strong",{children:"crédit senior garanti"})," et les stratégies de dette directe auprès d'entreprises de taille intermédiaire reste l'approche la plus robuste. Les ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"club deals"})," et les fonds spécialisés conservent leur place dans une allocation patrimoniale élégible."]}),t.jsxs(t.Fragment,{children:["However, ",t.jsx("strong",{children:"private debt"})," deserves particular attention: the tightening of bond spreads reduces the room for manoeuvre of non-bank lenders, and collateral quality becomes the discriminating criterion. Focusing on ",t.jsx("strong",{children:"senior secured credit"})," and direct lending to mid-sized companies remains the most robust approach. ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"Club deals"})," and specialised funds retain their place in an eligible wealth allocation."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Fiscalité 2026 : presser le levier avant que la fenêtre ne se réduise","Tax in 2026: pull the lever before the window narrows")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La France aborde 2026 avec une ",t.jsx("strong",{children:"trajectoire de déficit qui reste sous surveillance"}),". Les mesures d'économies budgétaires adoptées en 2025 ont stabilisé la situation, mais la marge de manœuvre pour de nouvelles niches fiscales est quasiment nulle. À l'inverse, les dispositifs existants : ",t.jsx(C,{to:"/girardin",className:"text-primary underline-offset-4 hover:underline",children:"Girardin"}),", ",t.jsx(C,{to:"/denormandie",className:"text-primary underline-offset-4 hover:underline",children:"Denormandie"}),", ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"GFI"}),", ",t.jsx(C,{to:"/fcpi",className:"text-primary underline-offset-4 hover:underline",children:"FCPI"})," conservent leur efficacité pour les contribuables à l'ISF ou à l'impôt sur le revenu élevé, et méritent d'être activés en début d'année pour optimiser l'imputation."]}),t.jsxs(t.Fragment,{children:["France enters 2026 with a ",t.jsx("strong",{children:"deficit trajectory still under scrutiny"}),". The austerity measures adopted in 2025 have stabilised the situation, but room for new tax niches is virtually nil. Conversely, existing schemes, ",t.jsx(C,{to:"/girardin",className:"text-primary underline-offset-4 hover:underline",children:"Girardin"}),", ",t.jsx(C,{to:"/denormandie",className:"text-primary underline-offset-4 hover:underline",children:"Denormandie"}),", ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"GFIs"}),", ",t.jsx(C,{to:"/fcpi",className:"text-primary underline-offset-4 hover:underline",children:"FCPIs"}),", retain their effectiveness for high income-tax or wealth-tax taxpayers, and deserve to be activated early in the year to optimise offsetting."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"PER"})," et l'",t.jsx("strong",{children:"assurance-vie"})," restent les deux piliers de l'enveloppe fiscale patrimoniale, chacun répondant à une logique distincte : le PER pour la ",t.jsx("strong",{children:"déduction immédiate"})," et la constitution d'un capital retraite, l'assurance-vie pour la ",t.jsx("strong",{children:"liquidité structurée"})," et la transmission optimisée. La rationalisation des contrats, fusionner les anciens contrats peu performants, recentrer sur des supports de qualité, reste une ",t.jsx("strong",{children:"priorité de gestion"})," pour 2026. Nos équipes patrimoniales intègrent cette revue annuelle dans leur ",t.jsx(C,{to:"/essentiel",className:"text-primary underline-offset-4 hover:underline",children:"offre Essentiel"}),"."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Retirement plans"})," and ",t.jsx("strong",{children:"life insurance"})," remain the two pillars of the wealth tax wrapper, each answering a distinct logic: retirement plans for ",t.jsx("strong",{children:"immediate deduction"})," and pension capital building, life insurance for ",t.jsx("strong",{children:"structured liquidity"})," and optimised transfer. Rationalising contracts, merging underperforming old contracts, refocusing on quality supports, remains a ",t.jsx("strong",{children:"management priority"})," for 2026. Our wealth teams integrate this annual review into their ",t.jsx(C,{to:"/essentiel",className:"text-primary underline-offset-4 hover:underline",children:"Essentiel offer"}),"."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("En 2026, le patrimoine qui performe sera celui qui saura naviguer entre la patience de l'investisseur non coté et l'agilité de l'allocateur actions. La diversification n'est plus une option : c'est la condition de survie d'un capital sur le long terme.","In 202
7596, wealth that performs will be that which can navigate between the patience of the private-market investor and the agility of the equity allocator. Diversification is no longer an option: it is the condition for a capital's long-term survival.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Positionner votre patrimoine pour 2026","Position your wealth for 2026")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux analysent votre allocation actuelle et construisent avec vous une stratégie calibrée aux opportunités et aux risques du cycle en cours.","Our wealth advisors analyse your current allocation and build with you a strategy calibrated to the opportunities and risks of the current cycle.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Accéder à la gestion privée","Access private management"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/essentiel",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Découvrir l'offre Essentiel","Discover Essentiel")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Les performances passées ne préjugent pas des performances futures.","Informational document, not investment advice. Past performance is not indicative of future performance.")})]})})}),t.jsx(re,{})]})},V4e=[.16,1,.3,1],W4e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Transmission","Estate transfer")," · ",e("Décembre 2024","December 2024")," · 10 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Transmission : anticiper pour optimiser","Estate transfer: plan ahead to optimise")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Démembrement, donation-partage, assurance-vie : les stratégies de transmission patrimoniale les plus efficaces en 2025.","Dismemberment, family gifts, life insurance, the most effective wealth-transfer strategies in 2025.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:V4e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Transmettre son patrimoine ne s'improvise pas. Dans un contexte fiscal ",t.jsx("strong",{children:"sous tension"}),", où les règles évoluent et où les ",t.jsx("strong",{children:"fenêtres d'optimisation se ferment"})," parfois sans prévenir, anticiper n'est plus une option, c'est une nécessité. Les dispositifs existent, ils sont puissants, mais leur efficacité dépend presque entièrement du ",t.jsx("strong",{children:"moment et de la façon dont on les mobilise"}),"."]}),t.jsxs(t.Fragment,{children:["Transferring wealth is not something to improvise. In a ",t.jsx("strong",{children:"tense fiscal context"}),", where rules evolve and ",t.jsx("strong",{children:"optimisation windows sometimes close"})," without warning, planning ahead is no longer an option, it is a necessity. The tools exist and they are powerful, but their effectiveness depends almost entirely on ",t.jsx("strong",{children:"the timing and the way they are mobilised"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi 2025 est une année charnière","Why 2025 is a pivotal year")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La pression budgétaire qui pèse sur les finances publiques françaises relance régulièrement le débat sur une ",t.jsx("strong",{children:"réforme de la fiscalité successorale"}),". Sans changement législatif confirmé à ce jour, le cadre actuel reste favorable, mais rien ne garantit qu'il le demeurera. Les abattements en vigueur, notamment les ",t.jsx("strong",{children:"100 000 € par parent et par enfant"})," renouvelables tous les ",t.jsx("strong",{children:"quinze ans"}),", constituent une opportunité concrète que beaucoup de familles n'utilisent pas pleinement, faute d'anticipation."]}),t.jsxs(t.Fragment,{children:["The budgetary pressure on French public finances regularly revives the debate on ",t.jsx("strong",{children:"inheritance tax reform"}),". With no legislative change confirmed to date, the current framework remains favourable, but nothing guarantees it will stay that way. The existing allowances, notably ",t.jsx("strong",{children:"€100,000 per parent and per child"})," renewable every ",t.jsx("strong",{children:"fifteen years"}),", are a concrete opportunity that many families fail to use fully, for lack of anticipation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Agir aujourd'hui, c'est ",t.jsx("strong",{children:"cristalliser des droits dans un environnement connu"}),", plutôt que de subir demain des règles que l'on n'aura pas choisies."]}),t.jsxs(t.Fragment,{children:["Acting today means ",t.jsx("strong",{children:"crystallising rights in a known environment"}),", rather than enduring tomorrow rules that one did not choose."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le démembrement de propriété : séparer pour mieux transmettre","Property dismemberment: separating to transfer better")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"démembrement"}
759)," reste l'un des outils les plus élégants de la transmission patrimoniale. En donnant la ",t.jsx("strong",{children:"nue-propriété"})," d'un bien à ses enfants tout en conservant l'",t.jsx("strong",{children:"usufruit"}),", le donateur continue de jouir du bien ou d'en percevoir les revenus, tandis que la valeur transmise, et donc les droits de donation, est calculée sur la seule nue-propriété, sensiblement inférieure à la pleine propriété."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"dismemberment"})," remains one of the most elegant wealth-transfer tools. By giving children the ",t.jsx("strong",{children:"bare ownership"})," of an asset while retaining the ",t.jsx("strong",{children:"usufruct"}),", the donor continues to enjoy the asset or receive its income, while the transferred value, and therefore the gift tax, is calculated on the bare ownership alone, significantly lower than full ownership."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'intérêt est double : à terme, au décès de l'usufruitier, les nus-propriétaires récupèrent la ",t.jsx("strong",{children:"pleine propriété sans aucun droit supplémentaire"})," à acquitter. Sur un bien immobilier de valeur, l'économie fiscale peut représenter ",t.jsx("strong",{children:"plusieurs centaines de milliers d'euros"})," selon l'âge du donateur au moment de l'opération, la valeur de l'usufruit étant d'autant plus élevée que le donateur est jeune."]}),t.jsxs(t.Fragment,{children:["The benefit is twofold: upon the usufructuary's death, the bare owners recover full ownership with ",t.jsx("strong",{children:"no additional tax due"}),". On a valuable property, the tax saving can reach ",t.jsx("strong",{children:"several hundred thousand euros"})," depending on the donor's age at the time, the value of usufruct being higher the younger the donor."]}))}),t.jsx("p",{children:e("Le démembrement s'applique également aux portefeuilles de valeurs mobilières et aux parts de sociétés, avec des subtilités propres à chaque support qu'il convient d'anticiper avec soin.","Dismemberment also applies to securities portfolios and company shares, with subtleties specific to each vehicle that must be anticipated carefully.")}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Assurance-vie : le pilier de votre transmission","Life insurance: the pillar of your estate transfer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Contrats sélectionnés, clause bénéficiaire sur mesure, complémentarité avec vos autres dispositifs successoraux : notre approche intégrée de l'assurance-vie.","Selected contracts, bespoke beneficiary clause, complementarity with your other succession tools: our integrated approach to life insurance.")}),t.jsxs(C,{to:"/assurance-vie",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer l'assurance-vie","Explore life insurance"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La donation-partage : organiser et pacifier","The donation-partage: organise and pacify")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Lorsqu'il s'agit de transmettre à plusieurs enfants, la ",t.jsx("strong",{children:"donation-partage"})," présente un avantage décisif sur la simple donation : elle ",t.jsx("strong",{children:"fige définitivement la valeur des biens transmis"})," à la date de l'acte. Pas de rapport à la succession, pas de réévaluation au décès, ce qui élimine une source majeure de conflits entre héritiers lorsque certains biens ont fortement progressé."]}),t.jsxs(t.Fragment,{children:["When transferring to several children, the ",t.jsx("strong",{children:"donation-partage"})," offers a decisive advantage over a simple gift: it ",t.jsx("strong",{children:"definitively freezes the value"})," of the assets transferred at the date of the deed. No re-inclusion in the estate, no revaluation at death, which removes a major source of conflict between he
759irs when certain assets have appreciated significantly."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Elle permet également d'intégrer les conjoints des enfants, voire les petits-enfants par le biais d'une ",t.jsx("strong",{children:"donation-partage transgénérationnelle"}),", un mécanisme permettant de « sauter » une génération en mobilisant les abattements des deux niveaux. Dans les familles où le patrimoine est conséquent et où les enfants n'ont pas tous les mêmes besoins ni les mêmes situations, cet outil offre une ",t.jsx("strong",{children:"souplesse précieuse"}),"."]}),t.jsxs(t.Fragment,{children:["It also makes it possible to include the children's spouses, or even grandchildren, through a ",t.jsx("strong",{children:"transgenerational donation-partage"}),", a mechanism that allows one to «skip» a generation by mobilising the allowances of both levels. In families with substantial wealth and where children have different needs and situations, this tool offers ",t.jsx("strong",{children:"valuable flexibility"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'assurance-vie : la clé de voûte de la transmission","Life insurance: the keystone of transfer")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"L'assurance-vie"})," reste, en 2025, le ",t.jsx("strong",{children:"véhicule de transmission le plus efficace du droit français"}),". Les capitaux transmis au décès bénéficient d'un régime fiscal dérogatoire particulièrement avantageux : jusqu'à ",t.jsx("strong",{children:"152 500 € par bénéficiaire désigné"})," sont exonérés de droits pour les versements effectués ",t.jsx("strong",{children:"avant 70 ans"}),", quel que soit le lien de parenté, ce qui permet notamment de gratifier des personnes qui n'auraient aucun abattement dans le cadre d'une succession classique."]}),t.jsxs(t.Fragment,{children:[t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"Life insurance"})," remains, in 2025, the ",t.jsx("strong",{children:"most effective transfer vehicle in French law"}),". Capital transferred at death benefits from a particularly favourable derogatory tax regime: up to ",t.jsx("strong",{children:"€152,500 per designated beneficiary"})," is exempt for premiums paid ",t.jsx("strong",{children:"before age 70"}),", regardless of family relationship, making it possible to gratify people who would have no allowance in a classic succession."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Au-delà du seul aspect fiscal, l'assurance-vie offre une ",t.jsx("strong",{children:"liberté de désignation totale"})," : le souscripteur peut organiser la transmission selon ses souhaits, indépendamment des règles de la réserve héréditaire, dans les limites fixées par la loi. La ",t.jsx("strong",{children:"clause bénéficiaire"}),", souvent rédigée de façon standard, mérite une attention particulière ; une rédaction sur mesure peut faire une ",t.jsx("strong",{children:"différence considérable"}),"."]}),t.jsxs(t.Fragment,{children:["Beyond the tax aspect, life insurance offers ",t.jsx("strong",{children:"full freedom of designation"}),": the subscriber can organise the transfer as they wish, independently of forced-heirship rules, within the limits set by law. The ",t.jsx("strong",{children:"beneficiary clause"}),", often drafted in a standard way, deserves particular attention, a bespoke wording can make a ",t.jsx("strong",{children:"considerable difference"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les versements effectués ",t.jsx("strong",{children:"après 70 ans"}),", le régime est différent mais reste intéressant : un abattement global de ",t.jsx("strong",{children:"30 500 €"})," s'applique sur les primes versées, et les ",t.jsx("strong",{children:"intérêts capitalisés sont totalement exonérés"})," de droits de succession."]}),t.jsxs(t.Fragment,{children:["For premiums paid ",t.jsx("strong",{children:"after age 70"}),", the regime differs but remains attractive: an overall allowance of ",t.jsx("strong",{children:"€30,500"})," applies to the premiums paid, and the ",t.jsx("strong",{children:"capitalised interest is fully exempt"})," from inheritance tax."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Démembrement de contrat : aller plus loin","Contract dismemberment: going further")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il est possible de combiner les deux approches en ",t.jsx("strong",{children:"démembrant la clause bénéficiaire"})," d'un contrat d'assurance-vie : le conjoint reçoit l'usufruit des capitaux, les enfants la nue-propriété. À terme, les enfants récupèrent la pleine propriété sans droits supplémentaires, tandis que le conjoint a pu ",t.jsx("strong",{children:"disposer librement des fonds"})," pendant sa vie. Ce montage, plus technique, requiert une rédaction précise de la clause et une coordination rigoureuse avec les autres éléments du patrimoine."]}),t.jsxs(t.Fragment,{children:["Both approaches can be combined by ",t.jsx("strong",{children:"dismembering the beneficiary clause"})," of a life insurance contract: the spouse receives the usufruct of the capital, and the children the bare ownership. At term, the children recover full ownership without additional tax, while the spouse has been ",t.jsx("strong",{children:"free to use the funds"})," during their lifetime. This more technical arrangement requires a precise drafting of the clause and rigorous coordination with the rest of the estate."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Société civile et holding familiale : structurer pour durer","Civil company and family holding: structuring for the long term")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les patrimoines comprenant des actifs professionnels ou immobiliers importants, la structuration en ",t.jsx(C,{to:"/family-office/gouvernance-familiale",className:"text-primary underline-offset-4 hover:underline",children:"société civile ou en holding familiale"})," ouvre des perspectives complémentaires. La transmission de parts sociales bénéficie de ",t.jsx("strong",{children:"décotes de valorisation"})," liées aux contraintes statutaires, et le mécanisme du ",t.jsx("strong",{children:"pacte Dutreil"})," permet, sous conditions, de transmettre une entreprise avec un ",t.jsx("strong",{children:"abattement de 75%"})," sur sa valeur, l'un des dispositifs les plus puissants du droit fiscal français. Notre ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"équipe family office"})," accompagne ces structurations dans leur globalité."]}),t.jsxs(t.Fragment,{children:["For estates including significant professional or real estate assets, structuring through a ",t.jsx(C,{to:"/family-office/gouvernance-familiale",className:"text-primary underline-offset-4 hover:underline",children:"civil company or family holding"})," opens up complementary perspectives. The transfer of company shares benefits from ",t.jsx("strong",{children:"valuation discounts"})," linked to statutory constraints, and the ",t.jsx("strong",{children:"Dutreil pact"})," mechanism allows, under conditions, transferring a company with a ",t.jsx("strong",{children:"75% allowance"})," on its value, one of the most powerful schemes in French tax law. Our ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"family office team"})," accompanies these structures in their entirety."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("La transmission patrimoniale efficace est rarement le fruit d'une seule décision. C'est une architecture, construite dans le temps, qui articule plusieurs outils en fonction de la composition du patrimoine, de la situation fam
759iliale et des objectifs de chacun. Plus elle est pensée tôt, plus elle est efficace, et plus elle préserve l'essentiel : la cohésion familiale autour d'un patrimoine transmis dans les meilleures conditions.","Effective wealth transfer is rarely the result of a single decision. It is an architecture, built over time, that combines several tools depending on the composition of the estate, the family situation and each person's objectives. The earlier it is thought through, the more effective it is, and the better it preserves the essential: family cohesion around wealth transferred in the best possible conditions.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Construire votre stratégie de transmission","Build your estate transfer strategy")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos équipes patrimoniales et family office conçoivent avec vous une architecture de transmission sur mesure, articulant assurance-vie, démembrement et gouvernance familiale.","Our wealth and family office teams design with you a bespoke transfer architecture, combining life insurance, dismemberment and family governance.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Accéder au family office","Access family office"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/family-office/gouvernance-familiale",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Gouvernance familiale","Family governance")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un professionnel qualifié avant toute décision.","Informational document, not investment, legal or tax advice. We recommend consulting a qualified professional before any decision.")})]})})}),t.jsx(re,{})]})},H4e=[.16,1,.3,1],G4e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Private Equity","Private Equity")," · ",e("Novembre 2024","November 2024")," · 7 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Secondaires PE : l'opportunité méconnue","PE secondaries: the overlooked opportunity")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Pourquoi le marché secondaire du private equity offre un profil risque/rendement particulièrement attractif.","Why the private equity secondary market offers a particularly attractive risk/return profile.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:H4e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dans l'univers du ",t.jsx("strong",{children:"private equity"}),", l'attention se porte naturellement vers le marché primaire : les levées de fonds, les millésimes, les gérants qui construisent leur réputation sur plusieurs cycles. Le ",t.jsx("strong",{children:"marché secondaire"}),", lui, reste dans l'ombre, mal compris, souvent ignoré des investisseurs privés, alors qu'il constitue aujourd'hui l'une des ",t.jsx("strong",{children:"opportunités les plus intéressantes de la classe d'actifs"}),"."]}),t.jsxs(t.Fragment,{children:["In the ",t.jsx("strong",{children:"private equity"})," world, attention naturally focuses on the primary market: fundraising, vintages, managers building their reputation across cycles. The ",t.jsx("strong",{children:"secondary market"})," remains in the shadows, poorly understood, often ignored by private investors, even though it is today one of the ",t.jsx("strong",{children:"most interesting opportunities in the asset class"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Qu'est-ce que le marché secondaire du private equity ?","What is the private equity secondary market?")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Lorsqu'un investisseur institutionnel, fonds de pension, compagnie d'assurance, family office, souhaite se désengager de ses positions en ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," avant l'échéance naturelle du fonds, il cède ses parts sur le marché secondaire. L'acheteur reprend alors une participation dans un ",t.jsx("strong",{children:"portefeuille déjà c
759onstitué"}),", avec une visibilité sur les actifs sous-jacents que n'offre jamais un investissement primaire."]}),t.jsxs(t.Fragment,{children:["When an institutional investor, pension fund, insurance company, family office, wishes to exit its ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," positions before the fund's natural maturity, it sells its stakes on the secondary market. The buyer takes over a stake in an ",t.jsx("strong",{children:"already-built portfolio"}),", with visibility on the underlying assets that a primary investment never offers."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce mécanisme existe depuis les années 1990, mais il a connu une ",t.jsx("strong",{children:"accélération marquée depuis 2020"}),". Le volume de transactions secondaires a dépassé ",t.jsx("strong",{children:"110 milliards de dollars"})," en 2023, et les projections pour 2025 anticipent une nouvelle progression significative, portée notamment par les besoins de liquidité d'investisseurs institutionnels contraints de rééquilibrer leurs allocations après plusieurs années de ",t.jsx("strong",{children:"surperformance du non-coté"}),"."]}),t.jsxs(t.Fragment,{children:["This mechanism has existed since the 1990s, but has seen a ",t.jsx("strong",{children:"marked acceleration since 2020"}),". Secondary transaction volumes exceeded ",t.jsx("strong",{children:"$110 billion"})," in 2023, and 2025 projections anticipate further significant growth, driven notably by liquidity needs of institutional investors forced to rebalance allocations after years of ",t.jsx("strong",{children:"private market outperformance"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Un profil risque/rendement structurellement amélioré","A structurally improved risk/return profile")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'intérêt des secondaires tient à plusieurs caractéristiques que ne possède pas l'",t.jsx("strong",{children:"investissement primaire"}),"."]}),t.jsxs(t.Fragment,{children:["The appeal of secondaires lies in several characteristics that ",t.jsx("strong",{children:"primary investments"})," do not offer."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La première est la ",t.jsx("strong",{children:"décote"}),". Les cessions sur le marché secondaire s'effectuent généralement avec une décote sur la ",t.jsx("strong",{children:"valeur nette d'inventaire"}),", parfois modeste en période de marché favorable, parfois significative lorsque les vendeurs sont contraints. En 2022–2023, ces décotes ont atteint ",t.jsx("strong",{children:"15 à 25%"})," sur certains segments. Acheter à décote, c'est s'offrir une ",t.jsx("strong",{children:"marge de sécurité"})," que l'investissement primaire ne procure jamais."]}),t.jsxs(t.Fragment,{children:["The first is the ",t.jsx("strong",{children:"discount"}),". Sales on the secondary market generally occur at a discount to ",t.jsx("strong",{children:"net asset value"}),", modest in favourable markets, significant when sellers are constrained. In 2022–2023, discounts reached ",t.jsx("strong",{children:"15 to 25%"})," on some segments. Buying at a discount provides a ",t.jsx("strong",{children:"margin of safety"})," that primary investments never offer."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La deuxième est la ",t.jsx("strong",{children:"visibilité"}),". Contrairement à un fonds primaire dont le portefeuille se constitue progressivement sur ",t.jsx("strong",{children:"trois à cinq ans"}),", un investissement secondaire porte sur des actifs déjà identifiés, souvent en phase de croissance ou de maturité. L'incertitude sur la qualité du portefeuille est donc ",t.jsx("strong",{children:"structurellement plus faible"}),"."]}),t.jsxs(t.Fragment,{children:["The second is ",t.jsx("strong",{children:"visibility"}),". Unlike a primary fund whose portfolio is built progressively over ",t.jsx("strong",{children:"three to five years"}),", a secondary investment targets already-identified assets, often in growth or maturity phases. Uncertainty on portfolio quality is therefore ",t.jsx("strong",{children:"structurally lower"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La troisième est la ",t.jsx("strong",{children:"courbe en J atténuée"}),". L'un des inconvénients classiques du private equity est la courbe en J : les premières années d'un fonds sont marquées par des appels de fonds sans distributions, ce qui pèse sur la performance comptable initiale. Les secondaires, parce qu'ils investissent dans de
759s fonds déjà avancés dans leur cycle de vie, ",t.jsx("strong",{children:"échappent en grande partie à cet effet"})," : les distributions arrivent plus tôt, et l'horizon effectif de l'investissement est raccourci."]}),t.jsxs(t.Fragment,{children:["The third is the ",t.jsx("strong",{children:"mitigated J-curve"}),". A classic drawback of private equity is the J-curve: a fund's early years are marked by capital calls without distributions, weighing on initial accounting performance. Secondaries, by investing in funds already advanced in their lifecycle, ",t.jsx("strong",{children:"largely escape this effect"}),", distributions come earlier and the effective investment horizon is shortened."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre Private Equity","Our Private Equity offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Fonds primaires et secondaires sélectionnés, accès aux meilleurs gérants européens et internationaux, accompagnement patrimonial dédié.","Selected primary and secondary funds, access to the best European and international managers, dedicated wealth support.")}),t.jsxs(C,{to:"/private-equity",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer le private equity","Explore private equity"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("2024–2025 : une fenêtre d'entrée particulièrement favorable","2024–2025: a particularly favourable entry window")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le contexte actuel renforce encore l'attrait structurel des secondaires. La remontée des taux d'intérêt de 2022–2023 a créé un phénomène dit d'",t.jsx("strong",{children:"« effet dénominateur »"})," chez les grands investisseurs institutionnels : la chute des valorisations des actifs cotés a mécaniquement augmenté le poids relatif du non-coté dans leurs portefeuilles, les poussant à vendre des positions PE pour respecter leurs ",t.jsx("strong",{children:"contraintes d'allocation"}),". Cette pression vendeuse a alimenté une ",t.jsx("strong",{children:"offre abondante de parts secondaires à des conditions attractives"}),"."]}),t.jsxs(t.Fragment,{children:["The current environment further reinforces the structural appeal of secondaries. The 2022–2023 rate hikes created a so-called ",t.jsx("strong",{children:"'denominator effect'"})," for large institutional investors: falling listed asset valuations mechanically increased the relative weight of private assets in their portfolios, pushing them to sell PE positions to meet ",t.jsx("strong",{children:"allocation constraints"}),". This selling pressure has fuelled an ",t.jsx("strong",{children:"abundant supply of secondary stakes at attractive terms"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Parallèlement, le ralentissement du marché des introductions en bourse et des fusions-acquisitions a contraint de nombreux gérants primaires à prolonger la durée de vie de leurs fonds, générant une demande croissante pour les solutions dites de ",t.jsx("strong",{children:"« continuation vehicles »"}),". Ces transactions, appelées ",t.jsx("strong",{children:"GP-led secondaries"}),", représentent désormais près de la ",t.jsx("strong",{children:"moitié du marché"})," et offrent aux investisseurs secondaires la possibilité de co-investir aux côtés des gérants les plus réputés sur leurs meilleures lignes."]}),t.jsxs(t.Fragment,{children:["In parallel, the slowdown in IPOs and M&A has forced many primary managers to extend their funds' lifespan, generating growing demand for ",t.jsx("strong",{children:"'continuation vehicles'"}),". These transactions, known as ",t.jsx("strong",{children:"GP-led secondaries"}),", now represent nearly ",t.jsx("strong",{children:"half the market"})," and allow secondary investors to co-invest alongside top-tier managers on their best holdings."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Comment y accéder ?","How to access it?")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le marché secondaire était historiquement réservé aux acteur
759s institutionnels capables de déployer ",t.jsx("strong",{children:"plusieurs dizaines de millions d'euros"})," par transaction. La démocratisation de l'accès au ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," a progressivement changé la donne : des fonds de fonds secondaires accessibles dès ",t.jsx("strong",{children:"100 000 €"})," permettent aujourd'hui aux investisseurs privés de bénéficier de ce profil d'investissement sans avoir à négocier directement des cessions sur le marché. Pour les investisseurs souhaitant une exposition plus concentrée et sélective, nos ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"club deals"})," offrent un accès direct aux meilleures opportunités."]}),t.jsxs(t.Fragment,{children:["The secondary market was historically reserved for institutional players able to deploy ",t.jsx("strong",{children:"tens of millions of euros"})," per transaction. The democratisation of ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," access has gradually changed this: secondary fund-of-funds accessible from ",t.jsx("strong",{children:"€100,000"})," now allow private investors to benefit from this profile without negotiating sales directly on the market. For investors seeking more concentrated and selective exposure, our ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"club deals"})," offer direct access to the best opportunities."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"sélection du gérant reste déterminante"}),". L'accès aux meilleures opportunités secondaires dépend de la qualité du réseau, de la capacité à analyser rapidement des portefeuilles complexes et d'une ",t.jsx("strong",{children:"discipline rigoureuse sur le prix d'acquisition"}),". Les gérants spécialisés, qui font des secondaires leur cœur de métier, ",t.jsx("strong",{children:"surperforment structurellement"})," les généralistes qui y consacrent une partie marginale de leur activité."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"choice of manager remains decisive"}),". Access to the best secondary opportunities depends on the quality of the network, the ability to analyse complex portfolios quickly, and ",t.jsx("strong",{children:"rigorous discipline on acquisition price"}),". Specialist managers, who make secondaries their core business, ",t.jsx("strong",{children:"structurally outperform"})," generalists for whom they are a marginal activity."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce qu'il faut garder à l'esprit","What to keep in mind")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les secondaires ne sont pas sans risques. La ",t.jsx("strong",{children:"liquidité reste limitée"}),", l'horizon d'investissement, bien que raccourci par rapport au primaire, demeure de ",t.jsx("strong",{children:"cinq à sept ans"}),", et la qualité des actifs sous-jacents varie considérablement selon les millésimes et les gérants cédants. La ",t.jsx("strong",{children:"due diligence"})," sur les portefeuilles acquis est complexe et requiert une expertise que tous les acteurs du marché ne possèdent pas."]}),t.jsxs(t.Fragment,{children:["Secondaries are not without risk. ",t.jsx("strong",{children:"Liquidity remains limited"}),", the investment horizon, although shorter than primary, remains ",t.jsx("strong",{children:"five to seven years"}),", and the quality of underlying assets varies considerably across vintages and selling managers. ",t.jsx("strong",{children:"Due diligence"})," on acquired portfolios is complex and requires expertise not all market participants possess."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ces points de vigilance mis à part, le ",t.jsx("strong",{children:"couple rendement/risque des secondaires"})," demeure l'un des plus attractifs du spectre des actifs alternatifs, en particulier dans un contexte où les décotes restent significatives et où l'offre de parts à céder continue d'alimenter un ",t.jsx("strong",{children:"marché structurellement porteur"}),"."]}),t.jsxs(t.Fragment,{children:["These points of vigilance aside, the ",t.jsx("strong",{children:"risk/return profile of secondaries"})," remains one of the most attractive across alternative assets, particularly in a context where discounts remain significant and where stake supply continues to fuel a ",t.jsx("strong",{children:"structurally supportive market"}),"."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("Le marché secondaire du private equity n'est pas un marché de seconde main. C'est un marché de seconde chance, celle d'accéder à des actifs de qualité, à des valorisations que le marché primaire ne permet jamais, avec une visibilité que les investisseurs de la première heure n'ont jamais eue.","The private equity secondary market is not a second-hand market. It is a second-chance market, the chance to access quality assets at valuations the primary market never allows, with visibility that first-hour investors never had.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Accéder aux marchés privés avec discernement","Access private markets with discernment")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos équipes sélectionnent les gérants secondaires de référence et structurent votre exposition au non-coté en cohérence avec votre allocation globale.","Our teams select leading secondary managers and structure your private market exposure in line with your overall allocation.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/private-equity",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le private equity","Discover private equity"),t.jsx(V,{className:"w-4 h-4"})]}
759),t.jsx(C,{to:"/club-deal",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Explorer les club deals","Explore club deals")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. L'investissement en private equity présente un risque de perte en capital et une liquidité limitée. Réservé aux investisseurs avertis.","Informational document, not investment advice. Investing in private equity involves a risk of capital loss and limited liquidity. Reserved for informed investors.")})]})})}),t.jsx(re,{})]})},K4e=[.16,1,.3,1],Q4e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Immobilier","Real estate")," · ",e("Octobre 2024","October 2024")," · 6 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("SCPI : la nouvelle génération à l'épreuve des taux","SCPI: the new generation tested by rate cycles")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Les SCPI européennes diversifiées résistent mieux à la remontée des taux. Décryptage et sélection.","Diversified European SCPIs are weathering the rate cycle better. Analysis and selection.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:K4e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'",t.jsx("strong",{children:"immobilier papier"})," a traversé deux années difficiles. La ",t.jsx("strong",{children:"remontée brutale des taux d'intérêt"})," amorcée en 2022 a contraint de nombreuses ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPI"})," à réviser leurs valeurs de parts à la baisse, semant le doute chez des investisseurs habitués à une classe d'actifs réputée stable. Pourtant, derrière cette correction uniforme en apparence, des ",t.jsx("strong",{children:"disparités considérables"})," sont apparues, révélant une fracture nette entre l'ancienne génération de SCPI et celles qui ont su anticiper le changement de régime."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"paper real estate"})," market has weathered two difficult years. The ",t.jsx("strong",{children:"sharp rate hikes"})," that began in 2022 forced many ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPIs"})," to revise unit values downward, raising doubts among investors used to a reputedly stable asset class. Yet, behind this seemingly uniform correction, ",t.jsx("strong",{children:"considerable disparities"})," have emerged, revealing a clear divide between the old generation of SCPIs and those that anticipated the regime change."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que la remontée des taux a vraiment révélé","What the rate rise really revealed")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La correction de 2022–2023 n'a pas frappé tous les véhicules de la même façon. Les SCPI fortement exposées aux ",t.jsx("strong",{children:"bureaux parisiens et franciliens"}),", longtemps le cœur du marché, ont subi de plein fouet la double peine d'une revalorisation à la baisse et d'une demande locative ",t.jsx("strong",{children:"structurellement affaiblie par le télétravail"}),". Certaines ont vu leur valeur de part chuter de ",t.jsx("strong",{children:"15 à 25%"}),", avec des délais de retrait allongés qui ont mis en lumière des ",t.jsx("strong",{children:"problèmes de liquidité latents"}),"."]}),t.jsxs(t.Fragment,{children:["The 2022–2023 correction did not affect all vehicles equally. SCPIs heavily exposed to ",t.jsx("strong",{children:"Paris and Île-de
759-France offices"}),", long the market's core, bore the brunt of both downward revaluation and rental demand ",t.jsx("strong",{children:"structurally weakened by remote work"}),". Some saw unit values fall by ",t.jsx("strong",{children:"15 to 25%"}),", with extended redemption delays revealing ",t.jsx("strong",{children:"latent liquidity issues"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["À l'inverse, une ",t.jsx("strong",{children:"nouvelle génération de SCPI"}),", créées pour la plupart après 2018, a traversé cette période avec une ",t.jsx("strong",{children:"résilience remarquable"}),". Leur point commun : une ",t.jsx("strong",{children:"diversification géographique européenne"})," assumée, une exposition délibérée aux secteurs alternatifs, et des ",t.jsx("strong",{children:"frais de souscription significativement réduits"})," qui préservent la performance dès l'entrée."]}),t.jsxs(t.Fragment,{children:["Conversely, a ",t.jsx("strong",{children:"new generation of SCPIs"}),", most created after 2018, navigated this period with ",t.jsx("strong",{children:"remarkable resilience"}),". Their common features: deliberate ",t.jsx("strong",{children:"European geographic diversification"}),", intentional exposure to alternative sectors, and ",t.jsx("strong",{children:"significantly reduced subscription fees"})," that preserve performance from entry."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La thèse européenne : pourquoi elle tient","The European thesis: why it holds")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les SCPI de nouvelle génération ont massivement investi hors de France, Allemagne, Pays-Bas, Espagne, Irlande, Pologne, pour des raisons à la fois ",t.jsx("strong",{children:"fiscales et fondamentales"}),". Sur le plan fiscal d'abord : les revenus de source étrangère bénéficient généralement d'une ",t.jsx("strong",{children:"fiscalité plus douce"})," pour les investisseurs français, grâce aux conventions de non-double imposition qui permettent d'échapper aux ",t.jsx("strong",{children:"prélèvements sociaux"})," sur la fraction européenne des distributions."]}),t.jsxs(t.Fragment,{children:["New-generation SCPIs have invested heavily outside France, Germany, the Netherlands, Spain, Ireland, Poland, for both ",t.jsx("strong",{children:"tax and fundamental reasons"}),". On the tax side: foreign-source income generally benefits from ",t.jsx("strong",{children:"gentler taxation"})," for French investors, thanks to double-taxation treaties that allow them to escape ",t.jsx("strong",{children:"social contributions"})," on the European portion of distributions."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Sur le plan fondamental ensuite : la ",t.jsx("strong",{children:"diversification géographique"})," dilue le risque de concentration sectorielle et permet de capter des ",t.jsx("strong",{children:"dynamiques de marché différenciées"}),". Un immeuble de bureaux à Amsterdam ou un actif logistique à Varsovie ne réagit pas aux mêmes cycles qu'un commerce parisien, et cette ",t.jsx("strong",{children:"décorrélation partielle a une valeur réelle en période de stress"}),"."]}),t.jsxs(t.Fragment,{children:["On the fundamental side: ",t.jsx("strong",{children:"geographic diversification"})," dilutes sector-concentration risk and captures ",t.jsx("strong",{children:"differentiated market dynamics"}),". An Amsterdam office or a Warsaw logistics asset does not react to the same cycles as a Parisian retail unit, and this ",t.jsx("strong",{children:"partial decorrelation has real value during stress"}),"."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre sélection SCPI","Our SCPI selection")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("SCPI européennes diversifiées, thématiques de conviction, analyse indépendante des gérants et accompagnement patrimonial dédié.","Diversified European SCPIs, conviction themes, independent manager analysis and dedicated wealth support.")}),t.jsxs(C,{to:"/scpi",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer les SCPI","Explore SCPIs"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les secteurs qui résistent","The sectors holding up")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"sélection sectorielle"})," explique en grande partie la surperformance des meilleures SCPI récentes. Plusieurs thématiques se distinguent par leur ",t.jsx("strong",{children:"résilience structurelle"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"sector selection"})," largely explains the outperformance of the best recent SCPIs. Several themes stand out for their ",t.jsx("strong",{children:"structural resilience"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"santé et l'éducation"})," constituent le segment le plus défensif : cliniques, maisons de retraite, établissements scolaires privés, crèches. Les baux sont ",t.jsx("strong",{children:"longs"}),", les locataires institutionnels et les besoins sous-jacents ",t.jsx("strong",{children:"indépendants des cycles économiques"}),". La démographie européenne assure une demande durable sur l'ensemble de ces actifs."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Healthcare and education"})," form the most defensive segment: clinics, retirement homes, private schools, nurseries. Leases are ",t.jsx("strong",{children:"long"}),", tenants institutional, and underlying needs ",t.jsx("strong",{children:"independent of economic cycles"}),". European demographics ensure lasting demand across these assets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"logistique urbaine et le commerce de proximité"})," ont également démontré leur robustesse. Portés par la croissance structurelle du ",t.jsx("strong",{children:"e-commerce"})," et par des besoins de proximité que la pandémie a réaffirmés, ces actifs affichent des ",t.jsx("strong",{children:"taux d'occupation élevés"})," et des loyers en progression dans la plupart des grandes métropoles européennes."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Urban logistics and convenience retail"})," have also proven robust. Driven by structural ",t.jsx("strong",{children:"e-commerce growth"})," and proximity needs reaffirmed by the pandemic, these assets show ",t.jsx("strong",{children:"high occupancy rates"})," and rising rents across most major European cities."]}))}),t.jsx("p",{children:e("L'hôtellerie et le résidentiel géré, résidences étudiantes, coliving, résidences seniors, représentent une troisième famille d'actifs à fort potentiel, encore sous-représentée dans les portefeuilles des épargnants français malgré des fondamentaux solides.","Hospital
759ity and managed residential, student housing, co-living, senior residences, represent a third asset family with strong potential, still underrepresented in French savers' portfolios despite solid fundamentals.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Lire une SCPI au-delà du taux de distribution","Reading an SCPI beyond the distribution rate")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"taux de distribution"}),", l'indicateur le plus affiché, le plus comparé, est aussi le plus trompeur s'il est lu isolément. Un rendement apparent de ",t.jsx("strong",{children:"6%"})," peut masquer une érosion de la valeur de part, des réserves en cours de ponction ou un portefeuille vieillissant dont la ",t.jsx("strong",{children:"valeur locative de marché se dégrade progressivement"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"distribution rate"}),", the most quoted and compared indicator, is also the most misleading when read alone. An apparent yield of ",t.jsx("strong",{children:"6%"})," may hide unit-value erosion, reserves being drawn down, or an ageing portfolio whose ",t.jsx("strong",{children:"market rental value is gradually deteriorating"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les indicateurs véritablement pertinents sont ailleurs : le ",t.jsx("strong",{children:"taux d'occupation financier"}),", qui mesure la part des loyers effectivement encaissés par rapport aux loyers théoriques ; le ",t.jsx("strong",{children:"taux de renouvellement des baux"}),", qui traduit la qualité des relations locataires ; et l'évolution de la ",t.jsx("strong",{children:"valeur de reconstitution"}),", qui donne une image fidèle de la valeur intrinsèque du patrimoine détenu."]}),t.jsxs(t.Fragment,{children:["The truly relevant indicators lie elsewhere: the ",t.jsx("strong",{children:"financial occupancy rate"}),", measuring rents actually collected versus theoretical rents; the ",t.jsx("strong",{children:"lease-renewal rate"}),", reflecting tenant relationship quality; and the evolution of the ",t.jsx("strong",{children:"reconstitution value"}),", which gives a faithful picture of the portfolio's intrinsic value."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"durée moyenne des baux restants (WALB)"})," est également un indicateur de sécurité important : plus elle est longue, plus les ",t.jsx("strong",{children:"flux de revenus sont prévisibles"})," et moins la SCPI est exposée au risque de vacance à court terme. Notre ",t.jsx(C,{to:"/simulateur-credit-scpi",className:"text-primary underline-offset-4 hover:underline",children:"simulateur crédit SCPI"})," permet d'affiner votre stratégie d'acquisition."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Weighted Average Lease Break (WALB)"})," is also an important safety indicator: the longer it is, the more ",t.jsx("strong",{children:"predictable income flows"})," are and the less exposed the SCPI is to short-term vacancy risk. Our ",t.jsx(C,{to:"/simulateur-credit-scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPI credit simulator"})," allows you to refine your acquisition strategy."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le moment de la sélectivité","The time for selectivity")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dans un environnement où les taux longs commencent à refluer, l'",t.jsx("strong",{children:"immobilier non coté"})," retrouve mécaniquement de l'attrait relatif. La compression des rendements obligataires réduit l'écart de compétitivité qui avait temporairement rendu les fonds en euros et le monétaire plus séduisants que la ",t.jsx("strong",{children:"pierre papier"}),". Les ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPI"})," bien positionnées devraient bénéficier de ce rééquilibrage, à condition d'avoir traversé la période difficile ",t.jsx("strong",{children:"sans détérioration majeure de leur patr
759imoine"}),"."]}),t.jsxs(t.Fragment,{children:["In an environment where long rates are starting to ease, ",t.jsx("strong",{children:"unlisted real estate"})," mechanically regains relative appeal. The compression of bond yields narrows the competitiveness gap that had temporarily made euro funds and money markets more attractive than ",t.jsx("strong",{children:"paper real estate"}),". Well-positioned ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPIs"})," should benefit from this rebalancing, provided they made it through the difficult period ",t.jsx("strong",{children:"without major portfolio deterioration"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est précisément pourquoi la ",t.jsx("strong",{children:"sélection prime aujourd'hui sur l'exposition"}),". Toutes les SCPI ne profiteront pas de la même façon du retournement de cycle. Celles qui abordent 2025 avec un ",t.jsx("strong",{children:"portefeuille diversifié, des baux longs, des locataires solides"})," et une valeur de part stable sont en position de force. Les autres continueront de digérer les ajustements en cours."]}),t.jsxs(t.Fragment,{children:["This is precisely why ",t.jsx("strong",{children:"selection now prevails over exposure"}),". Not all SCPIs will benefit equally from the cycle turn. Those entering 2025 with a ",t.jsx("strong",{children:"diversified portfolio, long leases, solid tenants"})," and stable unit value are in a strong position. The others will keep digesting ongoing adjustments."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("La SCPI n'est pas morte, elle s'est divisée. D'un côté, des véhicules hérités d'un cycle révolu, qui portent encore le poids de leurs erreurs d'allocation. De l'autre, une nouvelle génération construite pour un monde de taux normalisés, de travail hybride et de diversification européenne. La distinction entre les deux n'a jamais été aussi importante qu'aujourd'hui.","The SCPI is not dead, it has split. On one side, vehicles inherited from a bygone cycle, still carrying the weight of allocation mistakes. On the other, a new generation built for a world of normalised rates, hybrid work and European diversification. The distinction between the two has never been as important as today.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Investir dans les SCPI avec méthode","Invest in SCPIs with method")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Notre sélection indépendante identifie les véhicules les mieux positionnés pour 2025, avec une analyse approfondie des gérants, des portefeuilles et des indicateurs clés de performance.","Our independent selection identifies the best-positioned vehicles for 2025, with an in-depth analysis of managers, portfolios and key performance indicators.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/scpi",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir notre sélection SCPI","Discover our SCPI selection"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/simulateur-credit-scpi",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Simulateur crédit SCPI","SCPI credit simulator")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Investir dans une SCPI présente un risque de perte en capital et de liquidité. Les performances passées ne préjugent pas des performances futures.","Informational document, not investment advice. Investing in an SCPI involves a risk of capital loss and liquidity. Past performance is not indicative of future performance.")})]})})}),t.jsx(re,{})]})},Y4e=[.16,1,.3,1],J4e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Septembre 2024","September 2024")," · 9 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Assurance-vie luxembourgeoise : pour qui, pourquoi","Luxembourg life insurance: for whom, why")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Triangle de sécurité, super-privilège, FAS et FID : comprendre les atouts du contrat luxembourgeois.","Security triangle, super-privilege, FAS and FID: understanding the strengths of the Luxembourg contract.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
759,animate:{opacity:1,y:0},transition:{duration:.6,ease:Y4e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie luxembourgeoise"})," est souvent évoquée avec une certaine aura, celle d'un produit réservé aux ",t.jsx("strong",{children:"grandes fortunes"}),", opaque dans son fonctionnement, dont les avantages resteraient l'apanage d'initiés. La réalité est plus accessible et plus précise : le contrat luxembourgeois répond à des ",t.jsx("strong",{children:"besoins concrets, documentés"}),", qui concernent un nombre croissant d'investisseurs patrimoniaux français. Encore faut-il comprendre ce qui le distingue réellement de son équivalent français, et pour qui cette distinction fait une différence significative."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg life insurance contract"})," is often spoken of with a certain aura, that of a product reserved for the ",t.jsx("strong",{children:"very wealthy"}),", opaque in its workings, whose benefits remain the preserve of insiders. The reality is more accessible and more precise: the Luxembourg contract addresses ",t.jsx("strong",{children:"concrete, documented needs"})," that concern a growing number of French wealth investors. One must, however, understand what truly sets it apart from its French equivalent, and for whom that distinction makes a significant difference."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le cadre : pourquoi le Luxembourg","The framework: why Luxembourg")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"Grand-Duché de Luxembourg"})," est devenu, au fil des décennies, la ",t.jsx("strong",{children:"première place européenne de l'assurance-vie transfrontalière"}),". Ce n'est pas le fruit du hasard : un cadre réglementaire rigoureux, une stabilité juridique éprouvée et une fiscalité transparente, le contrat luxembourgeois est fiscalisé dans le ",t.jsx("strong",{children:"pays de résidence du souscripteur"}),", pas au Luxembourg, ont attiré les grands assureurs européens et créé un écosystème de gestion de premier plan."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Grand Duchy of Luxembourg"})," has become Europe's ",t.jsx("strong",{children:"leading hub for cross-border life insurance"}),". This is no accident: a rigorous regulatory framework, proven legal stability and transparent taxation, the Luxembourg contract is taxed in the ",t.jsx("strong",{children:"subscriber's country of residence"}),", not in Luxembourg, have attracted major European insurers and created a top-tier asset management ecosystem."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour un résident fiscal français, un contrat d'assurance-vie souscrit auprès d'un assureur luxembourgeois bénéficie de la ",t.jsx("strong",{children:"même fiscalité qu'un contrat français"})," : les règles des rachats partiels, les ",t.jsx("strong",{children:"abattements après huit ans"}),", le régime successoral dérogatoire s'appliquent de façon identique. Ce n'est pas sur la fiscalité que réside l'avantage luxembourgeois, c'est sur la ",t.jsx("strong",{children:"protection des actifs"}),", la liberté d'investissement et la ",t.jsx("strong",{children:"mobilité internationale"}),"."]}),t.jsxs(t.Fragment,{children:["For a French tax resident, a life insurance contract taken out with a Luxembourg insurer benefits from the ",t.jsx("strong",{children:"same taxation as a French one"}),": partial-withdrawal rules, ",t.jsx("strong",{children:"allowances after eight years"})," and the derogatory inheritance regime apply identically. The Luxembourg advantage does not lie in taxation, it lies in ",t.jsx("strong",{children:"asset protection"}),", investment freedom and ",t.jsx("strong",{children:"international mobility"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le triangle de sécurité : une protection sans équivalent","The security triangle: unmatched protection")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'argument le plus solide en faveur du contrat luxembourgeois est d'ordre ",t.jsx("strong",{children:"prudentiel"}),". En France, les actifs d'un contrat d'assurance-vie sont cantonnés dans le bilan de l'assureur : en cas de défaillance de ce dernier, le souscripteur devient un ",t.jsx("strong",{children:"créancier chirographaire"}),", protégé certes par le Fonds de Garantie des Assurances de Personnes à hauteur de ",t.jsx("strong",{children:"70 000 €"}),", mais exposé au-delà de ce seuil."]}),t.jsxs(t.Fragment,{children:["The strongest argument in favour of the Luxembourg contract is ",t.jsx("strong",{children:"prudential"}),". In France, the assets of a life insurance contract sit on the insurer's balance sheet: in case of insolvency, the subscriber becomes an ",t.jsx("strong",{children:"unsecured creditor"}),", protected by the Personal Insurance Guarantee Fund up to ",t.jsx("strong",{children:"€70,000"}),", but exposed beyond that threshold."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Au Luxembourg, le dispositif est fondamentalement différent. Les actifs représentatifs des contrats sont obligatoirement déposés auprès d'une ",t.jsx("strong",{children:"banque dépositaire agréée"})," par le Commissariat aux Assurances, le régulateur luxembourgeois, et ",t.jsx("strong",{children:"séparés du bilan de l'assureur"}),". Cette ségrégation des actifs constitue le premier côté du tri
759angle. Le deuxième est le ",t.jsx("strong",{children:"super-privilège"})," : en cas de faillite de l'assureur, les souscripteurs sont ",t.jsx("strong",{children:"créanciers de premier rang"})," sur ces actifs, avant les actionnaires, avant les créanciers obligataires, avant l'État luxembourgeois lui-même. Le troisième côté est le rôle du Commissariat aux Assurances, qui surveille en permanence l'adéquation entre les actifs déposés et les engagements envers les souscripteurs, avec obligation de reconstitution immédiate en cas d'écart."]}),t.jsxs(t.Fragment,{children:["In Luxembourg, the setup is fundamentally different. Contract assets must be deposited with a ",t.jsx("strong",{children:"custodian bank approved"})," by the Commissariat aux Assurances, the Luxembourg regulator, and ",t.jsx("strong",{children:"segregated from the insurer's balance sheet"}),". This asset segregation is the first side of the triangle. The second is the ",t.jsx("strong",{children:"super-privilege"}),": in case of insurer insolvency, subscribers are ",t.jsx("strong",{children:"first-rank creditors"})," on these assets, ahead of shareholders, bondholders and the Luxembourg State itself. The third side is the role of the Commissariat aux Assurances, which continuously monitors the match between deposited assets and commitments to subscribers, with an obligation to restore the balance immediately if any gap appears."]}))}),t.jsx("p",{children:e("Pour un patrimoine financier significatif, cette architecture prudentielle représente une protection concrète qui n'a pas d'équivalent dans le droit français.","For a significant financial estate, this prudential architecture provides concrete protection with no equivalent in French law.")}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Contrats luxembourgeois sélectionnés par colbr","Luxembourg contracts selected by colbr")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Accès aux meilleures compagnies d'assurance luxembourgeoises, FAS et FID sur mesure, accompagnement patrimonial dédié.","Access to the leading Luxembourg insurance companies, bespoke FAS and FID, dedicated wealth advisory.")}),t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer l'offre luxembourgeoise colbr","Explore the colbr Luxembourg offer"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("FAS et FID : la liberté d'investissement comme atout central","FAS and FID: investment freedom as a central advantage")}),t.jsx("p",{children:e("Le deuxième avantage distinctif du contrat luxembourgeois tient à l'univers d'investissement accessible. Au-delà des unités de compte classiques disponibles dans les contrats français, le cadre luxembourgeois ouvre l'accès à deux véhicules d'investissement dédiés.","The second distinctive advantage of the Luxembourg contract lies in the accessible investment universe. Beyond the classic unit-linked options available in French contracts, the Luxembourg framework opens access to two dedicated investment vehicles.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"Fonds d'Assurance Spécialisé (FAS)"})," est un portefeuille sur mesure géré par un gestionnaire d'actifs mandaté par le souscripteur. Accessible à partir de ",t.jsx("strong",{children:"250 000 € d'encours"})," typiquement, il permet d'intégrer dans l'enveloppe assurance-vie des actifs qui en seraient exclus dans un contrat standard : ",t.jsx("strong",{children:"fonds alternatifs, private equity, dette privée, produits structurés complexes"}),". Le souscripteur ne donne pas d'instructions directes au gérant, ce qui serait incompatible avec le régime fiscal de l'assurance-vie, mais définit une politique d'investissement que le mandataire met en œuvre avec une grande latitude."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Specialised Insurance Fund (FAS)"})," is a bespoke portfolio managed by an asset manager mandated by the subscriber. Typically accessible from ",t.jsx("strong",{children:"€250,000 in assets"}),", it allows assets normally excluded from standard contracts to be integrated 
759within the life-insurance wrapper: ",t.jsx("strong",{children:"alternative funds, private equity, private debt, complex structured products"}),". The subscriber does not give direct instructions to the manager, which would be incompatible with the life-insurance tax regime, but defines an investment policy that the manager implements with broad latitude."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"Fonds Interne Dédié (FID)"})," va encore plus loin dans la personnalisation : il s'agit d'un fonds créé spécifiquement pour le souscripteur, géré par un établissement financier de son choix selon des directives qu'il contribue à définir. Les seuils d'accès sont plus élevés, généralement à partir d'",t.jsx("strong",{children:"un million d'euros"}),", mais le niveau de personnalisation est total. Pour un investisseur disposant d'un patrimoine important et de convictions d'investissement précises, le FID constitue une enveloppe fiscale et successorale d'une ",t.jsx("strong",{children:"flexibilité exceptionnelle"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Dedicated Internal Fund (FID)"})," goes even further in customisation: a fund created specifically for the subscriber, managed by a financial institution of their choice according to directives they help define. Access thresholds are higher, generally from ",t.jsx("strong",{children:"one million euros"}),", but the level of personalisation is total. For an investor with substantial wealth and clear investment convictions, the FID provides an exceptionally ",t.jsx("strong",{children:"flexible tax and inheritance wrapper"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La portabilité internationale : un avantage souvent sous-estimé","International portability: an often underestimated advantage")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le contrat luxembourgeois présente une qualité peu mise en avant mais déterminante pour certains profils : sa ",t.jsx("strong",{children:"portabilité géographique"}),". Un souscripteur qui quitte la France pour s'installer en Belgique, en Suisse, au Royaume-Uni ou dans n'importe quel autre pays avec lequel le Luxembourg a conclu des accords conserve son contrat ",t.jsx("strong",{children:"sans le liquider"}),", en bénéficiant du traitement fiscal du pays d'accueil."]}),t.jsxs(t.Fragment,{children:["The Luxembourg contract has a quality that is rarely highlighted but decisive for certain profiles: its ",t.jsx("strong",{children:"geographic portability"}),". A subscriber leaving France to settle in Belgium, Switzerland, the United Kingdom or any other country with which Luxembourg has agreements keeps their contract ",t.jsx("strong",{children:"without liquidating it"}),", benefiting from the host country's tax treatment."]}))}),t.jsx("p",{children:e("Pour les expatriés, les dirigeants avec une forte mobilité internationale, les familles dont les héritiers sont établis à l'étranger, cette portabilité représente un avantage concret et durable. Un contrat français devrait en principe être clôturé ou gelé lors d'un changement de résidence fiscale hors de l'Union Européenne, le contrat luxembourgeois, lui, suit son souscripteur.","For expatriates, executives with strong international mobility, and families whose heirs are settled abroad, this portability is a concrete and lasting advantage. A French contract should in principle be closed or frozen upon a change of tax residence outside the EU, the Luxembourg contract follows its subscriber.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pour qui le contrat luxembourgeois est-il pertinent ?","Who is the Luxembourg contract relevant for?")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La réponse honnête à cette question est que le contrat luxembourgeois n'est ",t.jsx("strong",{children:"pas pertinent pour tout le monde"}),". En dessous de ",t.jsx("strong",{children:"250 000 €"})," de capitaux à investir, ses avantages spécifiques, FAS, FID, protection renforcée, ne sont pas pleinement accessibles, et une ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie française de qualité"})," offre une enveloppe fiscale tout aussi efficace à moindres frais."]}),t.jsxs(t.Fragment,{children:["The honest answer is that the Luxembourg contract is ",t.jsx("strong",{children:"not relevant for everyone"}),". Below ",t.jsx("strong",{children:"€250,000"})," of investable capital, its specific advantages, FAS, FID, enhanced protection, are not fully accessible, and a quality ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"French life insurance contract"})," provides an equally effective tax wrapper at lower cost."]}))}),t.jsx("p",{children:e("Au-delà de ce seuil, plusieurs profils trouvent dans le contrat luxembourgeois une réponse que le marché français ne peut pas apporter : l'investisseur fortuné souhaitant sécuriser son patrimoine financier au-delà des limites du Fonds de Garantie français ; le chef d'entreprise voulant loger des actifs non cotés dans une enveloppe fiscalement optimisée ; la famille internationale dont les membres sont répartis entre plusieurs pays et pour laquelle la portabilité du contrat est une nécessité pratique ; et plus généralement, tout investisseur dont le patrimoine financier justifie une architecture de gestion sur mesure plutôt qu'une solution standardisée.","Above that threshold, several profiles find in the Luxembourg contract an answer the French market cannot provide: the wealthy investor seeking to secure financial assets beyond the limits of the French Guarantee Fund; the business owner wishing to hold unlisted assets in a tax-optimised wrapper; the international family whose members are spread across several countries, for whom contract portability is a practical necessity; and more generally, any investor whose wealth justifies a bespoke management ar
759chitecture rather than a standardised solution.")}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("Le contrat luxembourgeois n'est pas un produit de défiscalisation, c'est un produit de structuration. Il ne promet pas de rendements supérieurs : il offre une protection renforcée, une liberté d'investissement élargie et une adaptabilité que le cadre français, aussi performant soit-il, ne peut pas égaler au même niveau de patrimoine. Pour ceux à qui il s'adresse, c'est précisément ce dont ils ont besoin.","The Luxembourg contract is not a tax-saving product, it is a structuring product. It does not promise higher returns: it offers enhanced protection, broader investment freedom and an adaptability that the French framework, however effective, cannot match at the same wealth level. For those it is meant for, that is precisely what they need.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre patrimoine avec le Luxembourg","Structure your wealth with Luxembourg")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers sélectionnent les compagnies luxembourgeoises adaptées à votre profil et orchestrent la structuration FAS ou FID selon vos convictions d'investissement.","Our advisors select the Luxembourg companies suited to your profile and orchestrate FAS or FID structuring according to your investment convictions.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le contrat luxembourgeois","Discover the Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/assurance-vie",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Voir l'assurance-vie française","See French life insurance")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le contrat d'assurance-vie luxembourgeois est soumis à la réglementation luxembourgeoise et à la fiscalité du pays de résidence du souscripteur. Nous vous recommandons de consulter un professionnel qualifié avant toute décision.","Informational document, not investment, legal or tax advice. The Luxembourg life insurance contract is subject to Luxembourg regulation and to the taxation of the subscriber's country of residence. We recommend consulting a qualified professional before any decision.")})]})})}),t.jsx(re,{})]})},X4e=[.16,1,.3,1],Z4e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Marché","Markets")," · ",e("Août 2024","August 2024")," · 11 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Produits structurés : viser 8 à 10% par an avec un capital protégé","Structured products: targeting 8–10% per year with protected capital")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Mécanismes, scénarios de marché, sélection des sous-jacents : guide complet des produits structurés.","Mechanisms, market scenarios, underlying selection, a complete guide to structured products.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
759,animate:{opacity:1,y:0},transition:{duration:.6,ease:X4e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx(C,{to:"/produits-structures",className:"text-primary underline-offset-4 hover:underline",children:"produits structurés"})," souffrent d'une réputation ambivalente. Trop complexes pour les uns, trop opaques pour les autres, ils sont pourtant devenus l'un des instruments les plus utilisés par les gestionnaires de patrimoine pour répondre à une demande précise : offrir un ",t.jsx("strong",{children:"rendement significatif tout en encadrant le risque de perte en capital"}),". Dans un environnement de taux normalisés où les obligations souveraines ne suffisent plus à générer de la performance réelle, comprendre les produits structurés n'est plus une option, c'est une ",t.jsx("strong",{children:"nécessité pour tout investisseur sérieux"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx(C,{to:"/produits-structures",className:"text-primary underline-offset-4 hover:underline",children:"structured products"})," suffer from an ambivalent reputation. Too complex for some, too opaque for others, they have nonetheless become one of the most widely used instruments by wealth managers to meet a precise demand: deliver ",t.jsx("strong",{children:"significant yield while framing the risk of capital loss"}),". In an environment of normalised rates where sovereign bonds no longer suffice to generate real performance, understanding structured products is no longer optional, it is a ",t.jsx("strong",{children:"necessity for any serious investor"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce qu'est réellement un produit structuré","What a structured product really is")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un produit structuré est une ",t.jsx("strong",{children:"combinaison d'instruments financiers"}),", généralement une ",t.jsx("strong",{children:"obligation et une option"}),", assemblée par un établissement bancaire pour offrir un profil de gain et de risque prédéfini. L'investisseur ne s'expose pas directement aux marchés : il souscrit un contrat dont les ",t.jsx("strong",{children:"termes sont fixés à l'avance"}),", avec des scénarios de performance clairement documentés selon l'évolution du sous-jacent retenu."]}),t.jsxs(t.Fragment,{children:["A structured product is a ",t.jsx("strong",{children:"combination of financial instruments"}),", typically a ",t.jsx("strong",{children:"bond and an option"}),", assembled by a bank to deliver a predefined risk/return profile. The investor is not directly exposed to the markets: they subscribe to a contract whose ",t.jsx("strong",{children:"terms are set in advance"}),", with clearly documented performance scenarios depending on the chosen underlying."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette mécanique n'a rien de mystérieux. L'établissement émetteur utilise la ",t.jsx("strong",{children:"composante obligataire"})," pour garantir tout ou partie du capital à l'échéance, et la ",t.jsx("strong",{children:"composante optionnelle"})," pour financer la participation à la hausse, ou pour offrir un coupon conditionnel. Le niveau de protection, le rendement cible et les conditions d'activation dépendent directement du ",t.jsx("strong",{children:"niveau des taux d'intérêt"})," au moment de la structuration : c'est pourquoi l'environnement actuel, avec des taux encore élevés, est particulièrement favorable à la construction de produits attractifs."]}),t.jsxs(t.Fragment,{children:["There is nothing mysterious about this mechanism. The issuer uses the ",t.jsx("strong",{children:"bond component"})," to guarantee all or part of the capital at maturity, and the ",t.jsx("strong",{children:"option component"})," to finance upside participation or a conditional coupon. The level of protection, target yield and activation conditions depend directly on ",t.jsx("strong",{children:"interest rates"})," at the time of structuring, which is why today's still-elevated rate environment is particularly favourable to building attractive products."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les grandes familles de produits","The main product families")}),t.jsx("p",{children:e("Tous les produits structurés ne se ressemblent pas. Trois familles dominent le marché de détail en France.","Not all structured products are alike. Three families dominate the French retail market.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"autocalls"}),", ou produits à remboursement anticipé conditionnel, sont les plus répandus. Leur fonctionnement repose sur des ",t.jsx("strong",{children:"dates d'observation périodiques"}),", généralement annuelles : si le sous-jacent se situe au-dessus d'un niveau prédéfini à la date d'observation, le produit rembourse le capital augmenté d'un ",t.jsx("strong",{children:"coupon cumulé"}),". Sinon, il continue jusqu'à la prochaine date. À l'échéance finale, une ",t.jsx("strong",{children:"barrière de protection"}),", typiquement entre 40 et 60% en dessous du niveau initial, détermine si le capital est remboursé intégralement ou partiellement. Ces produits visent des rendements de ",t.jsx("strong",{children:"7 à 10% par an"}),", avec des maturités maximales de huit à dix ans."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"autocalls"}),", products with conditional early redemption, are the most widespread. They rely on ",t.jsx("strong",{children:"periodic observation dates"}),", usually annual: if the underlying is above a predefined level at the observation date, the product redeems capital plus a ",t.jsx("strong",{children:"cumulative coupon"}
759),". Otherwise, it continues to the next date. At final maturity, a ",t.jsx("strong",{children:"protection barrier"}),", typically 40 to 60% below the initial level, determines whether capital is repaid in full or partially. These products target ",t.jsx("strong",{children:"7 to 10% yields per year"}),", with maximum maturities of eight to ten years."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"produits à capital garanti"})," offrent une protection totale du capital à l'échéance, financée par les taux d'intérêt. En contrepartie de cette sécurité absolue, la participation à la hausse est plafonnée ou partielle. Dans l'environnement de taux actuel, il est possible de construire des produits offrant ",t.jsx("strong",{children:"100% de protection du capital à cinq ans"})," avec une participation significative à la hausse des marchés, une combinaison qui n'était tout simplement pas réalisable en période de ",t.jsx("strong",{children:"taux négatifs"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"capital-guaranteed products"})," offer full protection of capital at maturity, financed by interest rates. In exchange for this absolute safety, upside participation is capped or partial. In today's rate environment, it is possible to build products offering ",t.jsx("strong",{children:"100% capital protection at five years"})," with significant participation in market upside, a combination that was simply not feasible during the ",t.jsx("strong",{children:"negative-rate era"}),"."]}))}),t.jsx("p",{children:e("Les produits à effet de levier ou à rendement fixe conditionnel constituent une troisième famille, plus agressive, où le coupon est versé dès lors que le sous-jacent reste au-dessus d'une barrière basse, parfois 50 ou 60% du niveau initial. Ces produits maximisent le rendement potentiel en acceptant une protection plus limitée, et conviennent à des investisseurs ayant une conviction sur la stabilité à long terme du sous-jacent retenu.","Leveraged or conditional-fixed-yield products form a third, more aggressive family, where the coupon is paid as long as the underlying stays above a low barrier, sometimes 50 or 60% of the initial level. These products maximise potential yield in exchange for more limited protection, and suit investors with conviction on the long-term stability of the chosen underlying.")}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre sélection de produits structurés","Our structured product selection")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Produits sur mesure ou catalogues sélectionnés, sous-jacents diversifiés, émetteurs de premier rang. Accompagnement de A à Z.","Bespoke or catalogue-selected products, diversified underlyings, first-rank issuers. End-to-end advisory.")}),t.jsxs(C,{to:"/produits-structures",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer les produits structurés colbr","Explore colbr structured products"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La sélection du sous-jacent : la décision la plus importante","Underlying selection: the most important decision")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"sous-jacent"}),", l'indice ou l'action sur lequel le produit est indexé, est le ",t.jsx("strong",{children:"paramètre le plus déterminant de l'analyse"}),". Un produit attractif sur un mauvais sous-jacent reste un mauvais produit."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"underlying"}),", the index or stock the product is indexed on, is the ",t.jsx("strong",{children:"most decisive parameter in the analysis"}),". An attractive product on a bad underlying remains a bad product."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"indices actions"}
759)," sont les sous-jacents les plus fréquemment utilisés. L'",t.jsx("strong",{children:"Euro Stoxx 50"}),", le CAC 40 et le S&P 500 offrent une liquidité et une transparence optimales, mais leur niveau de ",t.jsx("strong",{children:"volatilité implicite"}),", qui conditionne le prix des options et donc l'attractivité du coupon, varie dans le temps. Les indices de dividendes ou les indices sectoriels peuvent offrir des points d'entrée plus intéressants selon les configurations de marché."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"equity indices"})," are the most frequently used underlyings. The ",t.jsx("strong",{children:"Euro Stoxx 50"}),", CAC 40 and S&P 500 offer optimal liquidity and transparency, but their ",t.jsx("strong",{children:"implied volatility"}),", which drives option prices and therefore coupon attractiveness, varies over time. Dividend or sector indices may offer more interesting entry points depending on market configurations."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"indices personnalisés"}),", construits spécifiquement pour la structuration, sont de plus en plus utilisés. Ces indices dits « ",t.jsx("strong",{children:"décrément fixe"})," » intègrent une déduction forfaitaire annuelle censée simuler le coût des dividendes, ce qui permet à l'émetteur de proposer des coupons plus élevés. L'inconvénient est symétrique : ces indices sont ",t.jsx("strong",{children:"structurellement désavantagés"})," par rapport à leur équivalent standard en cas de forte hausse des marchés, et leur performance historique est mécaniquement amputée. Les utiliser n'est pas nécessairement problématique, mais exige de comprendre le mécanisme et de ne pas comparer leur niveau à celui d'un indice standard."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"custom indices"}),", built specifically for structuring, are increasingly used. These so-called '",t.jsx("strong",{children:"fixed decrement"}),"' indices include a flat annual deduction meant to simulate dividend cost, allowing the issuer to offer higher coupons. The downside is symmetric: these indices are ",t.jsx("strong",{children:"structurally disadvantaged"})," compared to their standard equivalents in strong bull markets, and their historical performance is mechanically reduced. Using them is not necessarily problematic, but requires understanding the mechanism and not comparing their level to that of a standard index."]}))}),t.jsx("p",{children:e("Les actions individuelles peuvent servir de sous-jacent pour des produits dit worst-of, où la performance du produit dépend de la moins bonne des actions du panier. Ces structures offrent des coupons élevés en contrepartie d'un risque de corrélation difficile à appréhender pour l'investisseur non averti.","Individual stocks can serve as underlying for so-called worst-of products, where the product's performance depends on the weakest stock in the basket. These structures offer high coupons in exchange for correlation risk that is difficult for non-informed investors to grasp.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Lire une fiche produit sans se noyer","Reading a product term sheet without drowning")}),t.jsx("p",{children:e("Quelques paramètres concentrent l'essentiel de l'analyse d'un produit structuré.","A few parameters concentrate the bulk of the analysis of a structured product.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"niveau de la barrière de protection"})," est le premier. Une barrière à ",t.jsx("strong",{children:"60% du niveau initial"})," signifie que le capital n'est remboursé intégralement qu'à condition que le sous-jacent ne chute pas de plus de ",t.jsx("strong",{children:"40%"})," entre la date de souscription et l'échéance. Ce niveau doit être mis en perspective avec l'historique de volatilité du sous-jacent : un indice diversifié a rarement perdu 40% sur une décennie, mais certains secteurs ou indices concentrés le peuvent."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"protection barrier level"}
759)," is the first. A barrier at ",t.jsx("strong",{children:"60% of the initial level"})," means capital is only repaid in full provided the underlying does not fall by more than ",t.jsx("strong",{children:"40%"})," between subscription and maturity. This level must be placed in perspective with the underlying's volatility history: a diversified index has rarely lost 40% over a decade, but some sectors or concentrated indices can."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"risque de crédit de l'émetteur"})," est le second. Un produit structuré est une ",t.jsx("strong",{children:"créance sur l'établissement émetteur"})," : en cas de faillite de ce dernier, même un produit à capital garanti peut enregistrer des pertes. La qualité de signature de l'émetteur, et la possibilité de diversifier entre plusieurs émetteurs, est un paramètre de gestion à ne pas négliger."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"issuer credit risk"})," is the second. A structured product is a ",t.jsx("strong",{children:"claim on the issuing bank"}),": if the issuer defaults, even a capital-guaranteed product can record losses. Issuer credit quality, and the ability to diversify across several issuers, is a management parameter not to be neglected."]}))}),t.jsx("p",{children:e("La liquidité secondaire mérite également attention. Les produits structurés sont conçus pour être détenus jusqu'à l'échéance ou jusqu'à un remboursement anticipé. Une revente avant terme est possible, mais la valorisation dépend des conditions de marché à la date de cession, et peut s'éloigner significativement de la valeur nominale si les taux ou la volatilité ont évolué défavorablement depuis la souscription.","Secondary liquidity also deserves attention. Structured products are designed to be held to maturity or early redemption. Selling before term is possible, but valuation depends on market conditions at the sale date, and may differ significantly from nominal value if rates or volatility have moved unfavourably since subscription.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi le moment est favorable","Why the timing is favourable")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"niveau des taux d'intérêt"})," conditionne directement l'attractivité des produits structurés. Des taux élevés signifient que la composante obligataire génère davantage de revenus, ce qui permet soit de financer une ",t.jsx("strong",{children:"protection plus forte"}),", soit d'acheter des options plus généreuses, et donc d'offrir des ",t.jsx("strong",{children:"coupons plus élevés"})," pour un même niveau de risque."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"level of interest rates"})," directly drives the attractiveness of structured products. High rates mean the bond component generates more income, allowing either ",t.jsx("strong",{children:"stronger protection"})," or the purchase of more generous options, and therefore ",t.jsx("strong",{children:"higher coupons"})," for the same level of risk."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En 2021, avec des ",t.jsx("strong",{children:"taux négatifs"}),", construire un autocall à capital protégé et coupon de 6% était économiquement impossible. Aujourd'hui, des produits offrant ",t.jsx("strong",{children:"8 à 10% de rendement annuel conditionnel"})," avec une barrière de protection à ",t.jsx("strong",{children:"40–50%"})," sont structurellement réalisables, et ils l'ont été régulièrement depuis 2022. Cette fenêtre se réduira progressivement à mesure que les taux baisseront : les produits structurés souscrits en ",t.jsx("strong",{children:"2024 et 2025"})," bénéficient d'un contexte de construction parmi les plus favorables de la dernière décennie."]}),t.jsxs(t.Fragment,{children:["In 2021, with ",t.jsx("strong",{children:"negative rates"}),", building a capital-protected autocall with a 6% coupon was economically impossible. Today, products offering ",t.jsx("strong",{children:"8 to 10% conditional annual yield"})," with a ",t.jsx("strong",{children:"40–50% protection barrier"})," are structurally feasible, and have been regularly since 2022. This window will gradually narrow as rates fall: structured products subscribed 
759in ",t.jsx("strong",{children:"2024 and 2025"})," benefit from one of the most favourable construction contexts of the past decade."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Intégration dans un portefeuille","Portfolio integration")}),t.jsx("p",{children:e("Un produit structuré ne se substitue ni aux actions ni aux obligations, il occupe une place spécifique dans l'allocation, entre les deux. Sa contribution est double : il offre un rendement conditionnel élevé tout en limitant la volatilité comptable du portefeuille, puisque sa valeur n'évolue pas au rythme quotidien des marchés.","A structured product replaces neither equities nor bonds, it occupies a specific place in the allocation, between the two. Its contribution is twofold: it offers a high conditional yield while limiting accounting volatility of the portfolio, since its value does not move with daily market swings.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Une allocation raisonnée se situe généralement entre ",t.jsx("strong",{children:"10 et 30%"})," d'un portefeuille global, répartie sur plusieurs produits aux ",t.jsx("strong",{children:"sous-jacents différents"}),", aux dates d'émission échelonnées et aux ",t.jsx("strong",{children:"émetteurs diversifiés"}),". Cette granularité réduit à la fois le risque de concentration sur un seul scénario de marché et le risque de crédit sur un seul établissement."]}),t.jsxs(t.Fragment,{children:["A sensible allocation generally sits between ",t.jsx("strong",{children:"10 and 30%"})," of an overall portfolio, spread across several products with ",t.jsx("strong",{children:"different underlyings"}),", staggered issuance dates and ",t.jsx("strong",{children:"diversified issuers"}),". This granularity reduces both concentration risk on a single market scenario and credit risk on a single institution."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("Les produits structurés ne sont pas une promesse de rendement sans risque, ils sont une ingénierie du risque. Bien sélectionnés, bien compris et bien intégrés dans une allocation cohérente, ils permettent de viser des performances de 8 à 10% par an dans des scénarios de marché raisonnables, avec une protection explicite contre les baisses modérées. C'est précisément ce que beaucoup d'investisseurs recherchent, et ce que peu d'instruments offrent avec autant de lisibilité.","Structured products are not a promise of risk-free yield, they are an engineering of risk. Well selected, well understood and well integrated into a coherent allocation, they allow targeting 8 to 10% annual performance in reasonable market scenarios, with explicit protection against moderate drawdowns. That is precisely what many investors are looking for, and what few instruments deliver with as much clarity.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Accéder aux produits structurés colbr","Access colbr structured products")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos experts analysent chaque produit, sélectionnent les émetteurs et construisent une allocation cohérente avec vos objectifs de rendement et votre tolérance au risque.","Our experts analyse each product, select issuers and build an allocation consistent with your yield objectives and risk tolerance.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/produits-structures",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir nos produits structurés","Discover our structured products"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Prendre rendez-vous","Book an appointment")})]})]}
759),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Les produits structurés comportent un risque de perte en capital et un risque de crédit sur l'émetteur. Ils sont destinés à des investisseurs disposant des connaissances et de l'expérience nécessaires pour en comprendre les caractéristiques et les risques.","Informational document, not investment advice. Structured products entail a risk of capital loss and credit risk on the issuer. They are intended for investors with the knowledge and experience required to understand their features and risks.")})]})})}),t.jsx(re,{})]})},zF=[.16,1,.3,1],e_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Patrimoine","Wealth")," · ",e("Août 2025","August 2025")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("L'art comme actif patrimonial : au-delà de la passion","Art as a wealth asset: beyond passion")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Marché, rendement, liquidité, transmission : ce que l'investisseur doit savoir avant d'entrer sur le marché de l'art.","Market, return, liquidity, transfer: what the investor should know before entering the art market.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:zF},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'art occupe une place singulière dans l'univers des ",t.jsx("strong",{children:"actifs patrimoniaux"}),". Il est le seul placement dont on peut décorer ses murs, le seul dont la valeur dépend autant de l'histoire que des chiffres, le seul où l'émotion et le rendement coexistent sans que l'un ne disqualifie l'autre. Cette singularité est à la fois ce qui attire les investisseurs vers l'art et ce qui rend son approche patrimoniale si exigeante. Car investir dans l'art, c'est naviguer dans un ",t.jsx("strong",{children:"marché opaque, fragmenté, sans cotation officielle ni régulateur central"}),", un marché qui récompense généreusement les connaisseurs et pénalise sévèrement les naïfs."]}),t.jsxs(t.Fragment,{children:["Art occupies a singular place in the universe of ",t.jsx("strong",{children:"wealth assets"}),". It is the only investment one can hang on one's walls, the only one whose value depends as much on history as on numbers, the only one where emotion and return coexist without disqualifying each other. This singularity is both what attracts investors to art and what makes its wealth approach so demanding. For investing in art means navigating an ",t.jsx("strong",{children:"opaque, fragmented market with no official quotation or central regulator"}),", a market that generously rewards the knowledgeable and severely penalises the naive."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre offre","Our offer")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Investir dans l'art avec colbr","Investing in art with colbr")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Accès aux œuvres blue chip, expertise indépendante, accompagnement de la sélection à la transmission.","Access to blue-chip works, independent expertise, support from selection to transfer.")}),t.jsxs(C,{to:"/art",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer l'offre Art","Explore our Art offer"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Un marché mondial, mais profondément asymétrique","A global market, yet deeply asymmetric")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le marché de l'art mondial représente environ ",t.jsx("strong",{children:"65 milliards de dollars"})," de transactions annuelles selon les estimations les plus récentes. Ce chiffre, impressionnant en apparence, masque une réalité beaucoup plus concentrée : l'essentiel du volume et de la valeur est capté par un nombre très restreint d'artistes, de maisons de vente et de galeries. Les trois premières maisons de vente aux enchères mondiales, ",t.jsx("strong",{children:"Christie's, Sotheby's et Phillips"}),", représentent à elles seules une fraction majoritaire des transactions publiques de haut de gamme. Et au sein du marché secondaire, les dix artistes les plus échangés concentrent régulièrement plus de ",t.jsx("strong",{children:"20 % du volume total des ventes"}),"."]}),t.jsxs(t.Fragment,{children:["The global art market represents approximately ",t.jsx("strong",{children:"$65 b
759illion"})," in annual transactions according to the most recent estimates. This figure, impressive on the surface, masks a far more concentrated reality: the bulk of volume and value is captured by a very small number of artists, auction houses and galleries. The world's top three auction houses, ",t.jsx("strong",{children:"Christie's, Sotheby's and Phillips"}),", alone account for a majority share of public high-end transactions. And within the secondary market, the ten most traded artists regularly concentrate over ",t.jsx("strong",{children:"20% of total sales volume"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette ",t.jsx("strong",{children:"concentration extrême"})," a une implication directe pour l'investisseur : le marché de l'art n'est pas un marché homogène. Il est en réalité une multitude de marchés superposés, le marché des maîtres anciens, celui de l'art moderne, celui de l'art contemporain établi, celui des artistes émergents, qui obéissent à des ",t.jsx("strong",{children:"logiques de prix, de liquidité et de risque radicalement différentes"}),". Ce qui est vrai pour un Basquiat ne l'est pas pour un artiste de la scène parisienne des années 1970, et ce qui vaut pour une estampe japonaise ne s'applique pas à une sculpture contemporaine. L'hétérogénéité du marché est son trait le plus structurant, et le plus déroutant pour qui l'aborde sans préparation."]}),t.jsxs(t.Fragment,{children:["This ",t.jsx("strong",{children:"extreme concentration"})," has a direct implication for the investor: the art market is not a homogeneous market. It is in reality a multitude of overlapping markets, old masters, modern art, established contemporary art, emerging artists, governed by ",t.jsx("strong",{children:"radically different price, liquidity and risk logics"}),". What holds true for a Basquiat does not hold for a 1970s Parisian scene artist, and what applies to a Japanese print does not apply to a contemporary sculpture. Market heterogeneity is its most structuring trait, and the most disorienting for those approaching it unprepared."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La performance historique : des chiffres à lire avec précaution","Historical performance: figures to be read with caution")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les études sur la ",t.jsx("strong",{children:"performance financière de l'art"})," à long terme livrent des résultats convergents mais nuancés. L'indice ",t.jsx("strong",{children:"Mei Moses"}),", l'une des références académiques les plus citées en la matière, suggère une performance annualisée de l'art aux enchères de l'ordre de ",t.jsx("strong",{children:"7 à 8 %"})," sur le long terme, comparable à celle des actions mondiales. D'autres études produisent des résultats plus modestes, autour de ",t.jsx("strong",{children:"4 à 5 %"})," selon les segments et les périodes étudiées."]}),t.jsxs(t.Fragment,{children:["Studies on the ",t.jsx("strong",{children:"long-term financial performance of art"})," deliver convergent yet nuanced results. The ",t.jsx("strong",{children:"Mei Moses index"}),", one of the most cited academic references in this field, suggests an annualised auction art performance of around ",t.jsx("strong",{children:"7 to 8%"})," over the long term, comparable to that of global equities. Other studies produce more modest results, around ",t.jsx("strong",{children:"4 to 5%"})," depending on segments and periods studied."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ces chiffres doivent être lus avec plusieurs précautions importantes. Ils ne portent que sur les œuvres qui sont ",t.jsx("strong",{children:"repassées en vente publique"}),", ce qui introduit un ",t.jsx("strong",{children:"biais de survivance considérable"})," : les œuvres dont la valeur a fortement progressé ont davantage de chances d'être remises sur le marché que celles dont la cote a stagné ou reculé. Les ",t.jsx("strong",{children:"coûts de transaction"}),", commissions acheteur et vendeur aux enchères, frais de stockage, d'assurance, de restauration éventuelle, ne sont pas toujours intégrés dans les calculs de performance, alors qu'ils peuvent représenter ",t.jsx("strong",{children:"20 à 30 % de la valeur de l'œuvre"})," sur la durée de détention. Et la ",t.jsx("strong",{children:"dispersion des rendements individuels"})," est considérable : derrière une moyenne de 6 %, certaines œuvres ont décuplé de valeur tandis que d'autres ont perdu 80 % de leur prix d'acquisition."]}),t.jsxs(t.Fragment,{children:["These figures must be read with several important caveats. They cover only works that have been ",t.jsx("strong",{children:"resold at public auction"}),", which introduces a ",t.jsx("strong",{children:"considerable survivorship bias"}),": works whose value has risen sharply are more likely to be brought back to market than those whose value has stagnated or fallen. ",t.jsx("strong",{children:"Transaction costs"}),", buyer and seller auction commissions, storage, insurance and potential restoration costs, are not always integrated into performance calculations, yet they can represent ",t.jsx("strong",{children:"20 to 30% of the work's value"})," over the holding period. And the ",t.jsx("strong",{children:"dispersion of individual returns"})," is considerable: behind an average of 6%, some works have tenfolded in value while others have lost 80% of their purchase price."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"vraie performance de l'art comme investissement"})," n'est donc pas celle du marché en moyenne, c'est celle de l'œuvre spécifique que l'on a achetée, au prix spécifique auquel on l'a acquise, dans le contexte de marché spécifique dans lequel on la revend. C'est cette dispersion qui rend ",t.jsx("strong",{children:"l'expertise si déterminante"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"true performance of art as an investment"})," is therefore not that of the market on average, it is that of the specific work one has bought, at the specific price at which one acquired it, in the specific market context in which one resells it. It is this dispersion that makes ",t.jsx("strong",{children:"expertise so decisive"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les segments du marché : quatre univers distincts","Market segments: four distinct universes")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Comprendre le marché de l'art comme actif patrimonial suppose de distinguer clairement les segments qui le composent, car leurs ",t.jsx("strong",{children:"profils risque-rendement sont fondamentalement différents"}),"."]}),t.jsxs(t.Fragment,{children:["Understanding the art market as a wealth asset requires clearly distinguishing the segments that compose it, as their ",t.jsx("strong",{children:"risk-return profiles are fundamentally different"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'art dit ",t.jsx("strong",{children:"blue chip"}),", Picasso, Monet, Warhol, Basquiat, Richter, constitue le segment le plus liquide et le mieux documenté du marché. Ces artistes ont une ",t.jsx("strong",{children:"cote internationale établie"}),", un marché secondaire actif dans les grandes maisons de vente, et une demande structurelle portée par des collectionneurs institutionnels et privés du monde entier. La liquidité, bien qu'inférieure à celle des marchés financiers, est réelle pour les œuvres majeures. En contrepartie, les ",t.jsx("strong",{children:"prix d'entrée sont élevés"}),", souvent plusieurs millions d'euros pour une œuvre significative, et les marges de progression sont plus limitées que dans les segments moins établis."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Blue-chip"})," art, Picasso, Monet, Warhol, Basquiat, Richter, constitutes the most liquid and best-documented segment of the market. The
759se artists have an ",t.jsx("strong",{children:"established international quotation"}),", an active secondary market at major auction houses, and structural demand from institutional and private collectors worldwide. Liquidity, although lower than in financial markets, is real for major works. In return, ",t.jsx("strong",{children:"entry prices are high"}),", often several million euros for a significant work, and upside margins are more limited than in less established segments."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'art ",t.jsx("strong",{children:"moderne et l'après-guerre"})," constituent un segment intermédiaire, moins liquide que le blue chip mais offrant encore une certaine profondeur de marché. Les grands noms de l'École de Paris, les expressionnistes abstraits américains ou les artistes du Nouveau Réalisme disposent d'une cote documentée et d'un marché de collectionneurs fidèles. Ce segment est particulièrement prisé par les collectionneurs européens et offre des ",t.jsx("strong",{children:"opportunités d'acquisition à des prix encore accessibles"}
759)," pour des œuvres de grande qualité."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Modern and post-war art"})," form an intermediate segment, less liquid than blue chip but still offering some market depth. The great names of the École de Paris, American abstract expressionists or Nouveau Réalisme artists have a documented quotation and a loyal collector base. This segment is particularly prized by European collectors and offers ",t.jsx("strong",{children:"acquisition opportunities at still accessible prices"})," for works of high quality."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'art ",t.jsx("strong",{children:"contemporain établi"}),", artistes vivants ou décédés récemment, dont la cote est reconnue par les institutions muséales et les galeries de premier plan, est le segment le plus dynamique en termes de progression des prix depuis deux décennies. C'est ici que se sont réalisées les ",t.jsx("strong",{children:"plus-values les plus spectaculaires"}),", et aussi les erreurs de jugement les plus coûteuses. La sélection des artistes est déterminante, car la ",t.jsx("strong",{children:"légitimité institutionnelle"}),", expositions dans des musées reconnus, présence dans des collections publiques, représentation par des galeries de référence, est le principal prédicteur de la solidité d'une cote sur le long terme."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Established contemporary art"}),", living artists or those recently deceased, whose quotation is recognised by museum institutions and leading galleries, is the most dynamic segment in terms of price appreciation over the past two decades. This is where the ",t.jsx("strong",{children:"most spectacular capital gains"})," have been realised, and also the most costly misjudgements. Artist selection is decisive, as ",t.jsx("strong",{children:"institutional legitimacy"}),", exhibitions in recognised museums, presence in public collections, representation by reference galleries, is the main predictor of a quotation's long-term solidity."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"artistes émergents"}),", enfin, constituent le segment le plus spéculatif du marché. Les prix d'entrée sont accessibles, parfois quelques milliers d'euros pour des œuvres de jeunes artistes en début de carrière, et le potentiel de progression est théoriquement illimité. Mais le ",t.jsx("strong",{children:"taux d'attrition est brutal"})," : la grande majorité des artistes qui suscitent un enthousiasme initial ne parviennent pas à construire une cote durable, et leurs œuvres se retrouvent invendables à terme. Investir dans l'art émergent sans une connaissance approfondie du milieu artistique, sans accès aux galeries primaires qui construisent les carrières, et sans une tolérance totale à la perte en capital sur une fraction significative des achats, est une stratégie risquée que l'on ne devrait aborder qu'avec une perspective de portefeuille."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Emerging artists"}),", finally, constitute the most speculative segment of the market. Entry prices are accessible, sometimes a few thousand euros for works by young artists at the beginning of their career, and upside potential is theoretically unlimited. But the ",t.jsx("strong",{children:"attrition rate is brutal"}),": the vast majority of artists who generate initial enthusiasm fail to build a lasting quotation, and their works eventually become unsaleable. Investing in emerging art without in-depth knowledge of the art world, without access to primary galleries that build careers, and without complete tolerance for capital loss on a significant fraction of purchases, is a risky strategy that should only be approached with a portfolio perspective."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les coûts cachés : ce que le prix marteau ne dit pas","Hidden costs: what the hammer price doesn't tell")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'une des erreurs les plus fréquentes des investisseurs qui abordent l'art sans préparation est de ",t.jsx("strong",{children:"sous-estimer considérablement les coûts réels"})," associés à la détention et à la transaction d'œuvres d'art. Ces coûts, pris dans leur ensemble, peuvent transformer une opération apparemment rentable en une opération décevante."]}),t.jsxs(t.Fragment,{children:["One of the most frequent mistakes made by investors approaching art without preparation is to ",t.jsx("strong",{children:"considerably underestimate the real costs"})," associated with holding and transacting works of art. Taken together, these costs can turn an apparently profitable operation into a disappointing one."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"frais de transaction aux enchères"})," sont les plus visibles. Les maisons de vente prélèvent une commission acheteur, les frais de vente, généralement comprise entre ",t.jsx("strong",{children:"15 et 25 % du prix marteau"})," pour les ventes grand public, avec des paliers dégressifs pour les œuvres de haute valeur. À la revente, le vendeur supporte à son tour une commission vendeur négociable mais souvent significative. Au total, les frais aller-retour peuvent représenter ",t.jsx("strong",{children:"30 à 40 % de la valeur de l'œuvre"}),", ce qui signifie qu'une œuvre acquise 100 000 € doit être revendue 140 000 € pour que l'opération soit neutre en termes de rendement brut."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Auction transaction fees"})," are the most visible. Auction houses charge a buyer's premium, selling fees, generally between ",t.jsx("strong",{children:"15 and 25% of the hammer price"})," for public sales, with degressive tiers for high-value works. On resale, the seller in turn bears a negotiable but often significant seller's commission. In total, round-trip fees can represent ",t.jsx("strong",{children:"30 to 40% of the work's value"}),", meaning that a work acquired for €100,000 must be resold for €140,000 for the operation to be neutral in terms of gross return."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"coûts de conservation"})," sont moins visibles mais continus. L'assurance d'une collection d'art significative représente typiquement ",t.jsx("strong",{children:"0,1 à 0,5 % de la valeur assurée par an"}
759),". Le stockage dans des conditions climatiques contrôlées, indispensable pour les œuvres fragiles, génère des frais supplémentaires. Les restaurations éventuelles, le transport sécurisé pour les prêts à des expositions ou pour les ventes, l'expertise et les certificats d'authenticité s'accumulent sur la durée de détention. Une collection bien gérée mobilise des ",t.jsx("strong",{children:"ressources opérationnelles non négligeables"}),"."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Holding costs"})," are less visible but continuous. Insurance for a significant art collection typically represents ",t.jsx("strong",{children:"0.1 to 0.5% of insured value per year"}),". Storage in controlled climatic conditions, essential for fragile works, generates additional costs. Potential restorations, secure transport for exhibition loans or sales, expertise and certificates of authenticity accumulate over the holding period. A well-managed collection mobilises ",t.jsx("strong",{children:"non-negligible operational resources"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"droit de suite"}),", enfin, est un coût réglementaire spécifique au marché de l'art. Lorsqu'une œuvre d'un artiste vivant ou décédé depuis moins de soixante-dix ans est revendue dans l'Union Européenne, l'artiste ou ses ayants droit perçoivent un pourcentage du prix de vente, entre ",t.jsx("strong",{children:"0,25 et 4 %"})," selon les tranches. Ce droit est à la charge du vendeur et réduit d'autant son produit net."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Artist's resale right"}),", finally, is a regulatory cost specific to the art market. When a work by a living artist or one deceased less than seventy 
759years ago is resold in the European Union, the artist or their beneficiaries receive a percentage of the sale price, between ",t.jsx("strong",{children:"0.25 and 4%"})," depending on the tiers. This right is borne by the seller and reduces their net proceeds accordingly."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'expertise : la compétence sans laquelle rien n'est possible","Expertise: the competence without which nothing is possible")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dans la plupart des classes d'actifs, un investisseur avisé peut accéder à une information de qualité suffisante pour prendre des décisions éclairées sans être lui-même un expert du domaine. Le marché de l'art est différent : ",t.jsx("strong",{children:"l'asymétrie d'information entre les initiés et les néophytes est structurelle"}),", et elle est exploitée par les professionnels du milieu, marchands, galeristes, maisons de vente, qui ne sont pas toujours des tiers désintéressés."]}),t.jsxs(t.Fragment,{children:["In most asset classes, a savvy investor can access sufficiently quality information to make informed decisions without being an expert in the field themselves. The art market is different: ",t.jsx("strong",{children:"the information asymmetry between insiders and newcomers is structural"}),", and it is exploited by professionals in the field, dealers, gallerists, auction houses, who are not always disinterested third parties."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'",t.jsx("strong",{children:"expertise en art"})," couvre plusieurs dimensions. L'authenticité d'abord : le marché de l'art est malheureusement l'un des plus exposés à la ",t.jsx("strong",{children:"contrefaçon et aux attributions douteuses"}),". Pour les œuvres significatives, un certificat d'authenticité, une provenance documentée et l'avis d'un expert reconnu dans le domaine concerné sont des prérequis non négociables. L'",t.jsx("strong",{children:"état de conservation"})," ensuite : une restauration mal réalisée ou dissimulée peut réduire considérablement la valeur d'une œuvre. L'évaluation de la cote et du potentiel d'appréciation enfin : comprendre où se situe un artiste dans son ",t.jsx("strong",{children:"cycle de marché"}),", en ascension, à son apogée ou en déclin, requiert une connaissance du milieu artistique que seuls les acteurs réguliers du marché possèdent."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Art expertise"})," covers several dimensions. Authenticity first: the art market is unfortunately one of the most exposed to ",t.jsx("strong",{children:"forgery and questionable attributions"}),". For significant works, a certificate of authenticity, documented provenance and the opinion of a recognised expert in the relevant field are non-negotiable prerequisites. ",t.jsx("strong",{children:"Condition"})," next: a poorly executed or concealed restoration can considerably reduce a work's value. Finally, evaluating quotation and appreciation potential: understanding where an artist sits in their ",t.jsx("strong",{children:"market cycle"}),", rising, at their peak or in decline, requires art world knowledge that only regular market actors possess."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les investisseurs qui souhaitent accéder au marché de l'art sans développer cette expertise en interne, plusieurs options existent. Les ",t.jsx("strong",{children:"conseillers en art"}),", art advisors, sont des professionnels indépendants qui accompagnent les collectionneurs dans leurs acquisitions et cessions, généralement rémunérés à la commission ou aux honoraires. Leur valeur réside dans leur accès aux œuvres disponibles ",t.jsx("strong",{children:"hors circuit public"}),", leur capacité d'évaluation indépendante et leur connaissance des dynamiques du marché. Choisir un conseiller dont la rémunération ne crée pas de conflit d'intérêt avec les recommandations qu'il formule est la condition préalable à une relation de confiance productive."]}),t.jsxs(t.Fragment,{children:["For investors wishing to access the art market without developing this expertise internally, several options exist. ",t.jsx("strong",{children:"Art advisors"})," are independent professionals who accompany collectors in their acquisitions and disposals, generally remunerated by commission or fees. Their value lies in their access to works available ",t.jsx("strong",{children:"off the public circuit"}),", their independent evaluation capacity and their knowledge of market dynamics. Choosing an advisor whose remuneration does not create a conflict of interest with the recommendations they formulate is a prerequisite for a productive trust relationship."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les nouvelles formes d'accès : art fractionné et fonds d'art","New forms of access: fractional art and art funds")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le marché de l'art a connu ces dernières années l'émergence de ",t.jsx("strong",{children:"véhicules d'accès collectifs"})," qui permettent à des investisseurs sans la capacité financière ni l'expertise nécessaires pour acheter des œuvres en direct de s'exposer à la performance du marché."]}),t.jsxs(t.Fragment,{children:["The art market has seen in recent years the emergence of ",t.jsx("strong",{children:"collective access vehicles"})," that allow investors without the financial capacity or expertise needed to buy works directly to gain exposure to market performance."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"fonds d'art"}),", structures d'investissement collectif dédiées à l'acquisition, la gestion et la cession d'œuvres, existent depuis plusieurs décennies, avec des fortunes diverses. Leur modèle repose sur la sélection d'œuvres par des équipes expertes, la mutualisation des coûts de gestion et la diversification du risque sur un ",t.jsx("strong",{children:"portefeuille d'œuvres plutôt qu'une seule acquisition"}),". Les fonds les plus établis ont démontré leur capacité à générer des rendements compétitifs sur des horizons de sept à dix ans, mais la qualité des équipes de sélection et la discipline dans les prix d'acquisition sont déterminantes. La liquidité reste limitée, les fonds d'art sont des véhicules fermés dont la liquidation intervient à terme préétabli."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Art funds"}),", collective investment structures dedicated to the acquisition, management and disposal of works, have existed for several decades, with mixed fortunes. Their model relies on work selection by expert teams, pooling of management costs and risk diversification over a ",t.jsx("strong",{children:"portfolio of works rather than a single acquisition"}),". The most established funds have demonstrated their ability to generate competitive returns over seven to ten year horizons, but the quality of selection teams and discipline in acquisition prices are decisive. Liquidity remains limited, art funds are closed-end vehicles whose liquidation occurs at a predetermined term."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'",t.jsx("strong",{children:"art fractionné"})," est une innovation plus récente, portée par des plateformes numériques qui tokenisent la propriété d'œuvres en parts accessibles à partir de quelques centaines d'euros. Le concept est séduisant dans son principe, démocratiser l'accès à des œuvres majeures, mais sa maturité reste limitée et plusieurs questions fondamentales demeurent ouvertes : la ",t.jsx("strong",{children:"liquidité du marché secondaire"})," sur ces plateformes est encore embryonnaire, le cadre réglementaire évolue rapidement, et la valorisation des parts en temps réel sur des actifs aussi peu liquides que des œuvres d'art soulève des questions méthodologiques sérieuses. Ce segment mérite d'être suivi avec intérêt mais abordé avec prudence dans le cadre d'une allocation patrimoniale sérieuse."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Fractional art"})," is a more recent innovation, driven by digital platforms that tokenise ownership of works into shares accessible from a few hundred euros. The concept is appealing in principle, democratising access to major works, but its maturity remains limited and several fundamental questions remain open: ",t.jsx("strong",{children:"secondary market liquidity"})," on these platforms is still embryonic, the regulatory framework is evolving rapidly, and real-time valuation of shares on assets as illiquid as works of art raises serious methodological questions. This segment deserves to be followed with interest but approached with caution within a serious wealth allocation framework."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Fiscalité et transmission : des atouts réels","Taxation and transfer: real strengths")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'art bénéficie en France d'un ",t.jsx("strong",{children:"régime fiscal particulièrement favorable"})," qui contribue à son attrait patrimonial, indépendamment de sa performance en tant qu'investissement."]}),t.jsxs(t.Fragment,{children:["Art benefits in France from a ",t.jsx("strong",{children:"particularly favourable tax regime"}
759)," that contributes to its wealth appeal, independently of its performance as an investment."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"plus-values réalisées lors de la cession"})," d'œuvres d'art sont soumises à un régime spécifique. Le cédant peut opter soit pour la ",t.jsx("strong",{children:"taxe forfaitaire de 6,5 % du prix de cession"}),", applicable quel que soit le montant de la plus-value, soit pour le régime de droit commun des plus-values mobilières avec un abattement de 5 % par année de détention au-delà de la deuxième, conduisant à une ",t.jsx("strong",{children:"exonération totale après vingt-deux ans de détention"}),". Pour les œuvres dont la valeur a fortement progressé, la taxe forfaitaire de 6,5 % est généralement bien plus avantageuse que le régime de droit commun des plus-values."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Capital gains realised on disposal"})," of works of art are subject to a specific regime. The seller may opt either for a ",t.jsx("strong",{children:"flat tax of 6.5% of the sale price"}),", applicable regardless of the gain amount, or for the standard capital gains regime with a 5% allowance per year of holding beyond the second, leading to ",t.jsx("strong",{children:"total exemption after twenty-two years of holding"}),". For works whose value has risen sharply, the 6.5% flat tax is generally far more advantageous than the standard capital gains regime."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les œuvres d'art sont ",t.jsx("strong",{children:"exclues de l'assiette de l'Impôt sur la Fortune Immobilière"}),", ce qui n'était pas le cas sous l'ancien ISF, dont elles étaient également exonérées. Cette exonération est un avantage significatif pour les patrimoines importants : une collection d'art de plusieurs millions d'euros ne génère aucune imposition annuelle au titre de l'IFI, contrairement à des actifs immobiliers de valeur équivalente."]}),t.jsxs(t.Fragment,{children:["Works of art are ",t.jsx("strong",{children:"excluded from the base of the Real Estate Wealth Tax (IFI)"}),", which was not the case under the former ISF, from which they were also exempt. This exemption is a significant advantage for substantial wealth: an art collection worth several million euros generates no annual taxation under IFI, unlike real estate assets of equivalent value."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En matière de ",t.jsx("strong",{children:"transmission"}),", les œuvres d'art sont soumises aux droits de succession et de donation selon les règles de droit commun, sans abattement spécifique lié à leur nature artistique. Toutefois, il existe une possibilité de ",t.jsx("strong",{children:"dation en paiement"})," : les héritiers peuvent s'acquitter des droits de succession en remettant à l'État des œuvres d'art agréées par le ministère de la Culture, à hauteur de leur valeur estimée. Ce mécanisme, utilisé notamment lors de successions comportant des œuvres majeures, permet de conserver le patrimoine familial sans procéder à des cessions forcées pour régler la fiscalité successorale."]}),t.jsxs(t.Fragment,{children:["Regarding ",t.jsx("strong",{children:"transfer"}),", works of art are subject to inheritance and gift duties under ordinary law, with no specific allowance linked to their artistic nature. However, there is a possibility of ",t.jsx("strong",{children:"dation in payment"}),": heirs may settle inheritance duties by handing over to the State works of art approved by the Ministry of Culture, up to their estimated value. This mechanism, used particularly in successions involving major works, allows the family estate to be preserved without forced disposals to settle inheritance tax."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre Investissement Art","Our Art Investment offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Accédez au marché de l'art blue-chip avec un accompagnement sur-mesure et une sélection rigoureuse d'œuvres.","Access the blue-chip art market with bespoke guidance and a rigorous selection of works.")}),t.jsxs(C,{to:"/art",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer l'art chez colbr","Explore art at colbr"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Construire une collection avec une logique patrimoniale","Building a collection with a wealth logic")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'investisseur qui souhaite aborder l'art avec une vraie ",t.jsx("strong",{children:"logique patrimoniale"})," doit résoudre une tension fondamentale : entre l'achat coup de cœur, dicté par l'émotion et le goût personnel, et l'achat raisonné, guidé par l'anal
759yse de marché et la perspective de valorisation. La meilleure approche est probablement celle qui assume cette tension plutôt que de la nier, en acceptant que certaines acquisitions soient avant tout des choix esthétiques et personnels, et que d'autres soient davantage guidées par une ",t.jsx("strong",{children:"logique de rendement"}),"."]}),t.jsxs(t.Fragment,{children:["The investor wishing to approach art with a genuine ",t.jsx("strong",{children:"wealth logic"})," must resolve a fundamental tension: between the impulse purchase, dictated by emotion and personal taste, and the reasoned purchase, guided by market analysis and appreciation prospects. The best approach is probably the one that embraces this tension rather than denying it, accepting that some acquisitions are above all aesthetic and personal choices, and that others are more guided by a ",t.jsx("strong",{children:"return logic"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce qui distingue systématiquement les collectionneurs qui créent de la valeur sur le long terme, c'est la ",t.jsx("strong",{children:"cohérence de leur regard"}),". Une collection construite autour d'une thématique, d'une période ou d'une géographie précise développe une identité propre qui renforce la valeur de chaque pièce individuellement, les grands collectionneurs ne font pas que sélectionner des œuvres, ils construisent des ",t.jsx("strong",{children:"ensembles dont la cohérence est elle-même un actif"}),". Cette logique de collection, plus que la sélection d'œuvres isolées, est ce qui permet de créer une valeur durable et transmissible."]}),t.jsxs(t.Fragment,{children:["What systematically distinguishes collectors who create value over the long term is the ",t.jsx("strong",{children:"coherence of their vision"}),". A collection built around a theme, a period or a specific geography develops its own identity that reinforces the value of each individual piece, great collectors do not merely select works, they build ",t.jsx("strong",{children:"ensembles whose coherence is itself an asset"}),". This collection logic, more than the selection of isolated works, is what enables the creation of lasting and transferable value."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'art est un actif qui ne ressemble à aucun autre, non pas parce qu'il échappe aux lois de l'économie, mais parce qu'il les conjugue avec des dimensions que les autres actifs ignorent. La ",t.jsx("strong",{children:"rareté, l'histoire, la beauté, le prestige social"})," et la capacité à concentrer en un seul objet la mémoire d'une époque entière : ces qualités n'ont pas de prix standardisé, et c'est précisément pour cette raison que le marché de l'art récompense si généreusement ceux qui savent les évaluer. Investir dans l'art, c'est accepter d'entrer dans un monde où ",t.jsx("strong",{children:"l'expertise compte plus que les algorithmes"}),", où le réseau compte plus que les plateformes, et où la patience est la première vertu de l'investisseur."]}),t.jsxs(t.Fragment,{children:["Art is an asset like no other, not because it escapes the laws of economics, but because it combines them with dimensions that other assets ignore. ",t.jsx("strong",{children:"Rarity, history, beauty, social prestige"})," and the ability to concentrate the memory of an entire era in a single object: these qualities have no standardised price, and it is precisely for this reason that the art market so generously rewards those who know how to evaluate them. Investing in art means accepting to enter a world where ",t.jsx("strong",{children:"expertise counts more than algorithms"}),", where network counts more than platforms, and where patience is the investor's first virtue."]}))})]}),t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:zF},className:"mt-16 p-8 md:p-10 rounded-xl bg-gradient-signature text-white",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-white/80 mb-3",children:e("Construire votre stratég
759ie","Build your strategy")}),t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("L'art au service de votre patrimoine","Art at the service of your wealth")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 leading-relaxed mb-6 max-w-xl",children:e("Que vous envisagiez une première acquisition ou la structuration d'une collection existante, nos équipes vous accompagnent dans la construction d'une stratégie patrimoniale intégrant l'art comme classe d'actifs.","Whether you are considering a first acquisition or the structuring of an existing collection, our teams accompany you in building a wealth strategy integrating art as an asset class.")}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs(C,{to:"/art",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir notre offre art","Discover our art offer"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:[e("Gestion privée","Private wealth"),t.jsx(V,{className:"w-4 h-4"})]})]})]}),t.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed text-justify",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Le marché de l'art présente des risques spécifiques liés à la liquidité, à l'authenticité et à la valorisation des œuvres. Les performances passées ne préjugent pas des performances futures. Nous vous recommandons de consulter un conseiller spécialisé avant toute décision d'acquisition à vocation patrimoniale.","Document for information purposes only and does not constitute investment advice. The art market involves specific risks related to liquidity, authenticity and work valuation. Past performance does not guarantee future results. We recommend consulting a specialist advisor before any acquisition decision with a wealth purpose.")})})]})}),t.jsx(re,{})]})},UF=[.16,1,.3,1],t_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Septembre 2025","September 2025")," · 13 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("FCPI : défiscaliser en finançant l'innovation française","FCPI: cut your tax bill by funding French innovation")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Réduction d'impôt, capital-risque, sélection des gérants : ce que les Fonds Communs de Placement dans l'Innovation apportent à une stratégie patrimoniale.","Tax reduction, venture capital, manager selection: what FCPIs bring to a wealth strategy.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:UF},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La fiscalité française offre peu de dispositifs qui permettent simultanément de ",t.jsx("strong",{children:"réduire son impôt de façon significative"})," et de participer au financement de l'économie réelle productive. Le ",t.jsx("strong",{children:"FCPI"}),", Fonds Commun de Placement dans l'Innovation, est de ceux-là. Créé en 1997 pour canaliser l'épargne privée vers les ",t.jsx("strong",{children:"entreprises innovantes non cotées"}),", il reste à ce jour l'un des rares outils de défiscalisation qui conjuguent un avantage fiscal immédiat et une exposition au segment le plus dynamique du tissu entrepreneurial français et européen. Cette double promesse mérite d'être examinée avec rigueur, car le FCPI est aussi l'un des dispositifs où ",t.jsx("strong",{children:"l'écart entre les meilleurs et les moins bons gérants est le plus saisissant"}),"."]}),t.jsxs(t.Fragment,{children:["French tax law offers few schemes that simultaneously allow for a ",t.jsx("strong",{children:"significant tax reduction"})," and participation in financing productive real economy. The ",t.jsx("strong",{children:"FCPI"}),", Common Fund for Investment in Innovation, is one of them. Created in 1997 to channel private savings towards ",t.jsx("strong",{children:"unlisted innovative companies"}),", it remains one of the rare tax relief tools that combine an immediate fiscal advantage with exposure to the most dynamic segment of the French and European entrepreneurial fabric. This dual promise deserves rigorous examination, because the FCPI is also one of the schemes where ",t.jsx("strong",{children:"the gap between the best and worst managers is most striking"}),"."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre offre","Our offer")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre sélection FCPI","Our FCPI selection")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Gérants top quartile, audit indépendant, calibrage fiscal sur-mesure. Découvrez notre sélection ouverte chaque automne.","Top-quartile managers, independent audit, bespoke tax calibration. Discover our selection opened each autumn.")}),t.jsxs(C,{to:"/fcpi",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer les FCPI","Explore FCPIs"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le mécanisme : investir dans l'innovation pour réduire son impôt","The mechanism: invest in innovation to reduce tax")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un FCPI est un fonds d'investissement qui consacre au moins ",t.jsx("strong",{children:"70 % de son actif"})," à des titres de ",t.jsx("strong",{children:"sociétés innovantes non cotées"}),", ou cotées sur des marchés de petite capitalisation comme Euronext Growth, répondant à des critères précis définis par la loi. Les 30 % restants peuvent être investis librement, généralement dans de
759s actifs liquides ou des fonds diversifiés qui permettent d'assurer une certaine stabilité de la valeur liquidative en cours de vie du fonds."]}),t.jsxs(t.Fragment,{children:["An FCPI is an investment fund that dedicates at least ",t.jsx("strong",{children:"70% of its assets"})," to securities of ",t.jsx("strong",{children:"unlisted innovative companies"}),", or listed on small-cap markets such as Euronext Growth, meeting precise criteria defined by law. The remaining 30% may be freely invested, generally in liquid assets or diversified funds that ensure some stability of the net asset value during the fund's life."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'investisseur qui souscrit des parts de FCPI bénéficie d'une ",t.jsx("strong",{children:"réduction d'impôt sur le revenu égale à 25 %"})," des sommes versées, dans la limite d'un plafond de versements de ",t.jsx("strong",{children:"12 000 € pour un célibataire"})," et ",t.jsx("strong",{children:"24 000 € pour un couple"})," soumis à imposition commune. La réduction maximale est donc de ",t.jsx("strong",{children:"3 000 € pour un célibataire"})," et ",t.jsx("strong",{children:"6 000 € pour un couple"}),", soumise au ",t.jsx("strong",{children:"plafonnement global des niches fiscales de 10 000 €"})," par an."]}),t.jsxs(t.Fragment,{children:["The investor subscribing to FCPI units benefits from an ",t.jsx("strong",{children:"income tax reduction equal to 25%"})," of amounts paid, capped at a contribution ceiling of ",t.jsx("strong",{children:"€12,000 for a single person"})," and ",t.jsx("strong",{children:"€24,000 for a couple"})," under joint taxation. The maximum reduction is therefore ",t.jsx("strong",{children:"€3,000 for a single person"})," and ",t.jsx("strong",{children:"€6,000 for a couple"}),", subject to the ",t.jsx("strong",{children:"global tax niche ceiling of €10,000"})," per year."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En contrepartie de cet avantage fiscal, l'investisseur s'engage à conserver ses parts pendant une ",t.jsx("strong",{children:"durée minimale de cinq ans"}),", en pratique, la durée de vie des fonds est généralement de ",t.jsx("strong",{children:"sept à dix ans"}),", période au terme de laquelle le fonds est liquidé et les produits de cession distribués aux porteurs de parts. Les ",t.jsx("strong",{children:"plus-values réalisées à la sortie sont exonérées d'impôt sur le revenu"}),", seuls les ",t.jsx("strong",{children:"prélèvements sociaux de 17,2 %"})," restant dus sur les gains éventuels."]}),t.jsxs(t.Fragment,{children:["In return for this tax advantage, the investor commits to holding their units for a ",t.jsx("strong",{children:"minimum period of five years"}),", in practice, fund life is generally ",t.jsx("strong",{children:"seven to ten years"}),", at the end of which the fund is liquidated and sale proceeds distributed to unit holders. ",t.jsx("strong",{children:"Capital gains realised on exit are exempt from income tax"}),", only ",t.jsx("strong",{children:"social contributions of 17.2%"})," remaining due on any gains."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les critères d'éligibilité des entreprises : ce que finance réellement un FCPI","Company eligibility criteria: what an FCPI really finances")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La définition légale des entreprises innovantes éligibles aux FCPI a évolué depuis la création du dispositif, pour s'adapter aux réalités du tissu entrepreneurial et éviter les abus. Aujourd'hui, une entreprise est considérée comme innovante au sens des FCPI si elle remplit l'une des conditions suivantes : ses ",t.jsx("strong",{children:"dépenses de recherche et développement représentent au moins 10 % de ses charges d'exploitation"})," au cours de l'un des trois exercices précédents, ou elle est reconnue comme entreprise innovante par ",t.jsx("strong",{children:"BpiFrance"})," sur la base d'une évaluation qualitative de son caractère innovant."]}),t.jsxs(t.Fragment,{children:["The legal definition of innovative companies eligible for FCPIs has evolved since the scheme's creation, to adapt to the realities of the entrepreneurial fabric and prevent abuses. Today, a company is considered innovative within the meaning of FCPIs if it meets one of the following conditions: its ",t.jsx("strong",{children:"research and development expenses represent at least 10% of its operating expenses"})," during one of the three preceding financial years, or it is recognised as an innovative company by ",t.jsx("strong",{children:"Bpifrance"})," on the basis of a qualitative assessment of its innovative character."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En pratique, l'univers des entreprises éligibles est large et diversifié. Les ",t.jsx("strong",{children:"startups technologiques en phase de croissance"}),", les ",t.jsx("strong",{children:"scale-ups"})," cherchant à accélérer leur développement, les ",t.jsx("strong",{children:"PME industrielles"})," engagées dans des programmes de R&D significatifs et les entreprises ",t.jsx("strong",{children:"deeptech"})," développant des technologies de rupture constituent le cœur de l'univers d'investissement des FCPI. Ce sont des entreprises dont le ",t.jsx("strong",{children:"potentiel de création de valeur est élevé"}),", et dont le risque de perte en capital l'est tout autant."]}),t.jsxs(t.Fragment,{children:["In practice, the universe of eligible companies is broad and diversified. ",t.jsx("strong",{children:"Technology startups in growth phase"}),", ",t.jsx("strong",{children:"scale-ups"})," seeking to accelerate their development, ",t.jsx("strong",{children:"industrial SMEs"})," engaged in significant R&D programmes and ",t.jsx("strong",{children:"deeptech"})," companies developing breakthrough technologies form the core of the FCPI investment universe. These are companies with a ",t.jsx("strong",{children:"high value creation potential"}),", and an equally high risk of capital loss."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"concentration sectorielle"})," des FCPI varie selon les gérants et les millésimes. Certains fonds se spécialisent sur la tech et le numérique, d'autres privilégient les ",t.jsx("strong",{children:"sciences de la vie et la santé"}),", d'autres encore adoptent une approche généraliste couvrant l'ensemble du spectre de l'innovation. Cette orientation sectorielle est un ",t.jsx("strong",{children:"paramètre de sélection important"}),", les cycles de valorisation et les dynamiques de sortie varient considérablement selon les secteurs."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"sectoral concentration"}
759)," of FCPIs varies depending on managers and vintages. Some funds specialise in tech and digital, others favour ",t.jsx("strong",{children:"life sciences and health"}),", yet others adopt a generalist approach covering the full spectrum of innovation. This sectoral orientation is an ",t.jsx("strong",{children:"important selection parameter"}),", valuation cycles and exit dynamics vary considerably by sector."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La réduction d'impôt : bien calibrer son engagement","Tax reduction: calibrating your commitment")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'avantage fiscal du FCPI est réel et immédiat, mais son calibrage dans une ",t.jsx("strong",{children:"stratégie fiscale globale"})," requiert quelques précautions."]}),t.jsxs(t.Fragment,{children:["The FCPI's tax advantage is real and immediate, but its calibration within an ",t.jsx("strong",{children:"overall tax strategy"})," requires some caution."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"plafond de niches fiscales de 10 000 € annuels"})," s'applique à l'ensemble des réductions d'impôt de même nature, FCPI, FIP, Girardin social, et quelques autres dispositifs. Un investisseur qui mobilise déjà ce plafond via d'autres dispositifs ne peut pas additionner la réduction FCPI par-dessus. La ",t.jsx("strong",{children:"vérification de la capacité fiscale disponible"})," avant toute souscription est une étape indispensable."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"annual tax niche ceiling of €10,000"})," applies to all tax reductions of the same nature, FCPI, FIP, social Girardin, and a few other schemes. An investor who already uses this ceiling through other schemes cannot add the FCPI reduction on top. ",t.jsx("strong",{children:"Verifying available tax capacity"})," before any subscription is an essential step."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le taux de réduction de 25 % est conditionné au maintien du ",t.jsx("strong",{children:"quota d'investissement de 70 % en titres éligibles"})," pendant toute la durée de vie du fonds. Si ce quota n'est pas respecté, ce qui est de la responsabilité du gérant et non de l'investisseur, la réduction peut être partiellement remise en cause. Les FCPI gérés par des ",t.jsx("strong",{children:"sociétés de gestion sérieuses"})," respectent systématiquement ce quota, mais la vérification des engagements du gérant sur ce point fait partie de l'analyse préalable."]}),t.jsxs(t.Fragment,{children:["The 25% reduction rate is conditional on maintaining the ",t.jsx("strong",{children:"70% investment quota in eligible securities"})," throughout the fund's life. If this quota is not met, which is the manager's responsibility and not the investor's, the reduction may be partially challenged. FCPIs managed by ",t.jsx("strong",{children:"serious management companies"})," systematically respect this quota, but verifying the manager's commitments on this point is part of the preliminary analysis."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La réduction d'impôt s'impute sur l'impôt de l'année de souscription. Un investissement réalisé en décembre génère une réduction sur l'impôt de l'année payable en septembre de l'année suivante, ce qui crée un ",t.jsx("strong",{children:"délai d'environ neuf mois"})," entre le décaissement et le bénéfice effectif de l'avantage fiscal. Ce délai est court par rapport à d'autres dispositifs, mais mérite d'être intégré dans la ",t.jsx("strong",{children:"trésorerie prévisionnelle"})," de l'investisseur."]}),t.jsxs(t.Fragment,{children:["The tax reduction is offset against the tax of the subscription year. An investment made in December generates a reduction on the tax of that year payable in September of the following year, creating a ",t.jsx("strong",{children:"delay of approximately nine months"}
759)," between the outlay and the effective benefit of the tax advantage. This delay is short compared to other schemes, but deserves to be integrated into the investor's ",t.jsx("strong",{children:"cash flow projections"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le rendement financier : une dispersion exceptionnelle","Financial return: exceptional dispersion")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Au-delà de la fiscalité, la performance financière d'un FCPI dépend entièrement de la ",t.jsx("strong",{children:"qualité des investissements réalisés par le gérant"}),", et c'est précisément là que réside la complexité et le risque du dispositif. La ",t.jsx("strong",{children:"dispersion des performances entre les meilleurs et les moins bons FCPI"})," est l'une des plus élevées de tout l'univers des fonds d'investissement."]}),t.jsxs(t.Fragment,{children:["Beyond taxation, an FCPI's financial performance depends entirely on the ",t.jsx("strong",{children:"quality of investments made by the manager"}),", and that is precisely where the scheme's complexity and risk lie. The ",t.jsx("strong",{children:"performance dispersion between the best and worst FCPIs"})," is one of the highest in the entire investment fund universe."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les FCPI des ",t.jsx("strong",{children:"gérants les plus performants"}),", qui ont su identifier les entreprises à forte croissance, accompagner leur développement et réaliser des sorties dans des conditions favorables, ont délivré des rendements globaux qui, combinés à la ",t.jsx("strong",{children:"réduction fiscale d'entrée"}),", se traduisent par des performances très attractives pour l'investisseur. À l'inverse, les FCPI des gérants moins disciplinés, qui ont investi dans des ",t.jsx("strong",{children:"entreprises surévaluées"}),", tardé à reconnaître les échecs ou subi des effets de mode sectoriels, ont produit des résultats décevants, parfois avec des pertes en capital significatives qui annulent l'avantage fiscal initial."]}),t.jsxs(t.Fragment,{children:["FCPIs of the ",t.jsx("strong",{children:"most performing managers"}),", who have identified high-growth companies, supported their development and achieved exits in favourable conditions, have delivered overall returns which, combined with the ",t.jsx("strong",{children:"entry tax reduction"}),", translate into very attractive performance for the investor. Conversely, FCPIs of less disciplined managers, who invested in ",t.jsx("strong",{children:"overvalued companies"}),", delayed recognising failures or suffered from sectoral trend effects, have produced disappointing results, sometimes with significant capital losses that cancel out the initial tax advantage."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette dispersion a une implication directe et incontournable : dans l'univers des FCPI, ",t.jsx("strong",{children:"le choix du gérant est de loin le paramètre le plus déterminant"})," de la performance finale. Un FCPI de mauvaise qualité, même avec une réduction d'impôt de 25 % à l'entrée, peut produire un résultat net négatif si les investissements sous-jacents sont liquidés à des valeurs très inférieures aux prix d'acquisition. L'avantage fiscal ne constitue pas un ",t.jsx("strong",{children:"filet de sécurité absolu"}),", c'est un coussin qui améliore le rendement d'une bonne opération et atténue partiellement les pertes d'une mauvaise."]}),t.jsxs(t.Fragment,{children:["This dispersion has a direct and unavoidable implication: in the FCPI universe, ",t.jsx("strong",{children:"manager choice is by far the most decisive parameter"})," for final performance. A poor-quality FCPI, even with a 25% tax reduction on entry, can produce a negative net result if the underlying investments are liquidated at values well below acquisition prices. The tax advantage does not constitute an ",t.jsx("strong",{children:"absolute safety net"}),", it is a cushion that improves the return of a good operation and partially mitigates the losses of a bad one."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Comment évaluer un gérant de FCPI","How to evaluate an FCPI manager")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"sélection du gérant"})," est donc la décision centrale de tout investissement en FCPI, et elle mérite une analyse aussi rigoureuse que pour n'importe quelle autre classe d'actifs à risque élevé."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Manager selection"})," is therefore the central decision of any FCPI investment, and it deserves as rigorous an analysis as for any other high-risk asset class."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"track record sur les millésimes précédents"})," est le premier élément d'analyse. Un gérant qui a géré plusieurs générations de FCPI dispose d'un historique de performance documenté, taux de distribution final, multiple du capital investi, taux de casse sur le portefeuille, délai moyen de sortie, qui permet une ",t.jsx("strong",{children:"évaluation factuelle de sa capacité à créer de la valeur"})," sur ce type d'actifs. Les gérants sans historique ou dont les millésimes précédents sont trop récents pour être liquidés ne peuvent pas être évalués sur cette base, ce qui accroît l'incertitude sur la performance attendue."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"track record on previous vintages"})," is the first element of analysis. A manager who has managed several generations of FCPIs has a documented performance history, final distribution rate, multiple of invested capital, portfolio loss rate, average exit delay, that enables a ",t.jsx("strong",{children:"factual evaluation of their ability to create value"})," on this type of asset. Managers without a track record or whose previous vintages are too recent to be liquidated cannot be evaluated on this basis, which increases uncertainty about expected performance."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"qualité de l'équipe d'investissement"})," est le deuxième critère. La sélection d'entreprises innovantes non cotées requiert une expertise sectorielle pointue, un réseau de sourcing étendu et une capacité d'accompagnement opérationnel qui vont bien au-delà de la seule analyse financière. Les ",t.jsx("strong",{children:"meilleures équipes de FCPI"})," combinent des profils d'investisseurs expérimentés en venture capital et des experts sectoriels capables d'évaluer le potentiel technologique des entreprises examinées."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"quality of the investment team"})," is the second criterion. Selecting unlisted innovative companies requires sharp sectoral expertise, an extensive sourcing network and an operational support capacity that goes well beyond financial analysis alone. The ",t.jsx("strong",{children:"best FCPI teams"})," combine experienced venture capital investor profiles and sectoral experts capable of evaluating the technological potential of the companies under review."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"politique de valorisation des actifs"})," en cours de vie est le troisième élément à scruter. Certains gérants pratiquent une valorisation conservatrice qui sous-estime la valeur du portefeuille en cours de vie mais produit des sorties favorablement surprenantes. D'autres maintiennent des ",t.jsx("strong",{children:"valorisations optimistes"})," qui flattent la valeur liquidative intermédiaire mais se traduisent par des corrections significatives au moment des sorties effectives. La cohérence entre les valorisations intermédiaires et les prix de sortie effectifs sur les millésimes précédents est un indicateur de la ",t.jsx("strong",{children:"rigueur et de l'honnêteté intellectuelle du gérant"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"asset valuation policy"})," during the fund's life is the third element to scrutinise. Some managers practise conservative valuation that understates portfolio value during the fund's life but produces favourably surprising exits. Others maintain ",t.jsx("strong",{children:"optimistic valuations"})," that flatter the intermediate net asset value but result in significant corrections at the time of actual exits. The consistency between intermediate valuations and actual exit prices on previous vintages is an indicator of the ",t.jsx("strong",{children:"manager's rigour and intellectual honesty"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("FCPI et FIP : les distinguer clairement","FCPI and FIP: clearly distinguishing them")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FCPI est souvent présenté conjointement avec le ",t.jsx("strong",{children:"FIP"}),", Fonds d'Investissement de Proximité, avec lequel il partage plusieurs caractéristiques fiscales. Les confondre est une ",t.jsx("strong",{children:"erreur fréquente"})," qui mérite d'être corrigée."]}),t.jsxs(t.Fragment,{children:["The FCPI is often presented together with the ",t.jsx("strong",{children:"FIP"}),", Fonds d'Investissement de Proximité (Local Investment Fund), with which it shares several fiscal characteristics. Confusing them is a ",t.jsx("strong",{children:"common mistake"})," that deserves to be corrected."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FIP investit dans de
759s ",t.jsx("strong",{children:"PME régionales non innovantes"}),", définies par leur implantation géographique dans une zone déterminée plutôt que par leur caractère innovant. Son quota d'investissement en titres éligibles est identique, 70 % minimum, et ses avantages fiscaux sont similaires, avec la même réduction d'impôt de 25 % dans les mêmes plafonds. Les deux dispositifs sont ",t.jsx("strong",{children:"cumulables"})," : un investisseur peut souscrire simultanément à un FCPI et à un FIP en mobilisant deux enveloppes de réduction distinctes."]}),t.jsxs(t.Fragment,{children:["The FIP invests in ",t.jsx("strong",{children:"non-innovative regional SMEs"}),", defined by their geographical location in a given area rather than by their innovative character. Its eligible securities investment quota is identical, 70% minimum, and its tax benefits are similar, with the same 25% tax reduction within the same ceilings. The two schemes are ",t.jsx("strong",{children:"cumulative"}),": an investor can subscribe simultaneously to an FCPI and an FIP using two separate reduction envelopes."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"différence fondamentale"})," réside dans la nature des entreprises financées et dans le profil risque-rendement qui en découle. Les FCPI financent des entreprises innovantes à fort potentiel de croissance, ",t.jsx("strong",{children:"profil venture capital"}),", avec une dispersion des performances très élevée. Les FIP financent des PME régionales plus matures, ",t.jsx("strong",{children:"profil private equity de proximité"}),", avec des rendements espérés généralement plus modestes mais une volatilité moindre. Les deux dispositifs répondent à des logiques complémentaires et peuvent s'intégrer dans une ",t.jsx("strong",{children:"stratégie de défiscalisation cohérente"})," sans se substituer l'un à l'autre."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"fundamental difference"})," lies in the nature of the companies financed and the resulting risk-return profile. FCPIs finance innovative companies with high growth potential, ",t.jsx("strong",{children:"venture capital profile"}),", with very high performance dispersion. FIPs finance more mature regional SMEs, ",t.jsx("strong",{children:"proximity private equity profile"}),", with generally more modest expected returns but lower volatility. The two schemes serve complementary logics and can be integrated into a ",t.jsx("strong",{children:"coherent tax relief strategy"})," without substituting for one another."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le calendrier de souscription : ne pas attendre décembre","Subscription calendar: don't wait until December")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le marché des FCPI est fortement ",t.jsx("strong",{children:"saisonnier"}),". La grande majorité des souscriptions se concentrent sur le dernier trimestre de l'année, à mesure que les contribuables prennent conscience de leur charge fiscale annuelle et cherchent des solutions de réduction d'impôt avant la clôture de l'exercice. Cette concentration en fin d'année crée plusieurs inefficacités que l'investisseur avisé cherche à éviter."]}),t.jsxs(t.Fragment,{children:["The FCPI market is highly ",t.jsx("strong",{children:"seasonal"}),". The vast majority of subscriptions are concentrated in the last quarter of the year, as taxpayers become aware of their annual tax liability and seek tax reduction solutions before the financial year closes. This year-end concentration creates several inefficiencies that the savvy investor seeks to avoid."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les souscriptions de fin d'année sont souvent réalisées dans la ",t.jsx("strong",{children:"précipitation"}),", sans le temps nécessaire pour une analyse sérieuse du gérant et du fonds. Les meilleures tranches des meilleurs fonds, celles que les gérants réservent à leurs clients les plus fidèles, sont souvent ",t.jsx("strong",{children:"épuisées avant décembre"}),". Et la pression commerciale de fin d'année peut conduire à souscrire dans de
759s fonds de moindre qualité faute d'alternatives disponibles."]}),t.jsxs(t.Fragment,{children:["Year-end subscriptions are often made in ",t.jsx("strong",{children:"haste"}),", without the time needed for a serious analysis of the manager and the fund. The best tranches of the best funds, those that managers reserve for their most loyal clients, are often ",t.jsx("strong",{children:"sold out before December"}),". And the year-end commercial pressure can lead to subscribing to lower-quality funds for lack of available alternatives."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Anticiper la réflexion dès le printemps, en analysant les millésimes disponibles, en évaluant les gérants et en ",t.jsx("strong",{children:"calibrant le montant d'investissement optimal"})," en fonction de la situation fiscale prévisionnelle, permet de souscrire dans de meilleures conditions, dans les fonds de son choix et avec la sérénité que la décision mérite."]}),t.jsxs(t.Fragment,{children:["Anticipating the reflection from spring onwards, by analysing available vintages, evaluating managers and ",t.jsx("strong",{children:"calibrating the optimal investment amount"})," based on projected tax situation, allows subscribing in better conditions, in the funds of one's choice and with the serenity the decision deserves."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre FCPI","Our FCPI offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("FCPI sélectionnés auprès des gérants reconnus, accompagnement patrimonial et fiscal dédié.","FCPIs selected from recognised managers, dedicated wealth and tax advisory.")}),t.jsxs(C,{to:"/fcpi",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer les FCPI colbr","Explore colbr FCPIs"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'intégration dans une stratégie patrimoniale globale","Integration into an overall wealth strategy")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FCPI n'est pas un outil autonome, il s'inscrit dans une ",t.jsx("strong",{children:"stratégie patrimoniale globale"})," dont il occupe une place précise et limitée. Plusieurs principes guident son intégration optimale."]}),t.jsxs(t.Fragment,{children:["The FCPI is not a standalone tool, it fits into an ",t.jsx("strong",{children:"overall wealth strategy"})," where it occupies a precise and limited place. Several principles guide its optimal integration."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La proportion du patrimoine global allouée aux FCPI devrait rester modeste, typiquement entre ",t.jsx("strong",{children:"2 et 5 % du patrimoine financier liquide"}),". La nature du sous-jacent, capital-risque dans des entreprises non cotées avec un risque de perte en capital réel, impose une ",t.jsx("strong",{children:"discipline de dimensionnement"})," que l'attrait de la réduction fiscale ne doit pas faire oublier. L'investisseur qui surpondère les FCPI dans son allocation patrimoniale parce qu'il cherche avant tout à réduire son impôt fait une erreur de priorité : ",t.jsx("strong",{children:"l'optimisation fiscale ne doit jamais primer sur la cohérence de l'allocation"}),"."]}),t.jsxs(t.Fragment,{children:["The proportion of total wealth allocated to FCPIs should remain modest, typically between ",t.jsx("strong",{children:"2 and 5% of liquid financial wealth"}),". The nature of the underlying, venture capital in unlisted companies with a real risk of capital loss, imposes a ",t.jsx("strong",{children:"sizing discipline"})," that the appeal of the tax reduction must not make one forget. The investor who overweights FCPIs in their wealth allocation because they are primarily seeking to reduce their tax makes a priority error: ",t.jsx("strong",{children:"tax optimisation must never take precedence over allocation coherence"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"diversification dans le temps"})," est tout aussi importante que la diversification dans l'espace. Souscrire à un nouveau millésime chaque année, plutôt que de concentrer un investissement important sur un seul fonds une seule année, permet de lisser les aléas du calendrier de valorisation et de diversifier les expositions sectorielles et les points d'entrée sur les entreprises du portefeuille."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Time diversification"})," is just as important as spatial diversification. Subscribing to a new vintage each year, rather than concentrating a large investment in a single fund in a single year, allows smoothing out valuation calendar uncertainties and diversifying sectoral exposures and entry points into portfolio companies."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La complémentarité avec d'autres ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"dispositifs de défiscalisation"}),", ",t.jsx(C,{to:"/plan-epargne-retraite",className:"text-primary underline-offset-4 hover:underline",children:"PER"})," pour la retraite, ",t.jsx(C,{to:"/denormandie",className:"text-primary underline-offset-4 hover:underline",children:"Denormandie"})," pour l'immobilier, ",t.jsx(C,{to:"/girardin",className:"text-primary underline-offset-4 hover:underline",children:"Girardin"})," pour les revenus exceptionnels, ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"GFI"})," pour la transmission, permet de construire une ",t.jsx("strong",{children:"stratég
759ie fiscale cohérente"})," qui mobilise chaque outil dans son domaine de pertinence optimale, sans surexposer le patrimoine à une seule classe de risque."]}),t.jsxs(t.Fragment,{children:["The complementarity with other ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"tax relief schemes"}),", ",t.jsx(C,{to:"/plan-epargne-retraite",className:"text-primary underline-offset-4 hover:underline",children:"PER"})," for retirement, ",t.jsx(C,{to:"/denormandie",className:"text-primary underline-offset-4 hover:underline",children:"Denormandie"})," for real estate, ",t.jsx(C,{to:"/girardin",className:"text-primary underline-offset-4 hover:underline",children:"Girardin"})," for exceptional income, ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"GFI"})," for transfer, enables building a ",t.jsx("strong",{children:"coherent tax strategy"})," that deploys each tool in its optimal relevance domain, without overexposing wealth to a single risk class."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FCPI est un ",t.jsx("strong",{children:"outil sérieux pour les investisseurs sérieux"}),". Il ne mérite ni l'enthousiasme naïf de ceux qui le réduisent à sa réduction d'impôt, ni la méfiance excessive de ceux qui l'écartent au motif de sa complexité. Utilisé avec discernement, dans le bon dosage, avec les bons gérants, dans le bon contexte fiscal, il permet de ",t.jsx("strong",{children:"financer l'innovation française"})," tout en allégeant une charge fiscale qui pèse sur les contribuables les plus actifs de l'économie. C'est une équation que peu de dispositifs parviennent à proposer avec autant d'élégance."]}),t.jsxs(t.Fragment,{children:["The FCPI is a ",t.jsx("strong",{children:"serious tool for serious investors"}),". It deserves neither the naive enthusiasm of those who reduce it to its tax reduction, nor the excessive wariness of those who dismiss it on grounds of complexity. Used with discernment, in the right dosage, with the right managers, in the right tax context, it allows for ",t.jsx("strong",{children:"financing French innovation"})," while lightening a tax burden that weighs on the most active taxpayers in the economy. It is an equation that few schemes manage to offer with such elegance."]}))})]}),t.jsxs(S.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,ease:UF},className:"mt-16 p-8 md:p-10 rounded-xl bg-gradient-signature text-white",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-white/80 mb-3",children:e("Construire votre stratégie","Build your strategy")}),t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Intégrer les FCPI dans votre patrimoine","Integrate FCPIs into your wealth")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 leading-relaxed mb-6 max-w-xl",children:e("Sélection rigoureuse des gérants, calibrage fiscal optimal et accompagnement sur-mesure : nos équipes vous accompagnent dans la construction d'une stratégie de défiscalisation cohérente.","Rigorous manager selection, optimal tax calibration and bespoke advisory: our teams accompany you in building a coherent tax relief strategy.")}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs(C,{to:"/fcpi",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir notre offre FCPI","Discover our FCPI offer"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsxs(C,{to:"/dispositifs-fiscaux",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:[e("Tous les dispositifs fiscaux","All tax relief schemes"),t.jsx(V,{className:"w-4 h-4"})]})]})]}),t.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:t.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed text-justify",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil fiscal. Les FCPI présentent un risque de perte en capital et une liquidité limitée. Les avantages fiscaux mentionnés sont soumis à conditions et susceptibles d'évoluer. Nous vous recommandons de consulter un conseiller patr
759imonial qualifié avant toute décision de souscription.","Document for information purposes only and does not constitute investment or tax advice. FCPIs carry a risk of capital loss and limited liquidity. The tax advantages mentioned are subject to conditions and may change. We recommend consulting a qualified wealth advisor before any subscription decision.")})})]})}),t.jsx(re,{})]})},n_e=[.16,1,.3,1],r_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Octobre 2025","October 2025")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Assurance-vie luxembourgeoise vs française : que choisir selon son patrimoine ?","Luxembourg vs French life insurance: which to choose for your wealth?")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Protection des actifs, liberté d'investissement, fiscalité, portabilité : le guide complet pour faire le bon choix selon sa situation.","Asset protection, investment freedom, taxation, portability: the complete guide to making the right choice for your situation.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:n_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La question revient régulièrement dans les conversations patrimoniales, portée par des investisseurs qui ont entendu parler du ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"contrat luxembourgeois"})," sans toujours comprendre précisément ce qui le distingue de son équivalent français. La réponse honnête n'est pas celle que l'on entend souvent, ni le plaidoyer systématique pour le Luxembourg de certains conseillers spécialisés, ni le réflexe défensif de ceux qui considèrent que le ",t.jsx("strong",{children:"contrat français suffit toujours"}),". La vérité est plus nuancée et plus utile : les deux enveloppes sont excellentes dans leur domaine de pertinence respectif, et le choix entre elles dépend de ",t.jsx("strong",{children:"paramètres objectifs"})," qui varient selon la situation de chaque investisseur."]}),t.jsxs(t.Fragment,{children:["The question comes up regularly in wealth-planning conversations, raised by investors who have heard of the ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg contract"})," without always fully understanding what sets it apart from its French equivalent. The honest answer is not the one often heard, neither the systematic plea for Luxembourg from some specialist advisers, nor the defensive reflex of those who believe the ",t.jsx("strong",{children:"French contract is always sufficient"}),". The truth is more nuanced and more useful: both wrappers are excellent in their respective domains, and the choice between them depends on ",t.jsx("strong",{children:"objective parameters"})," that vary with each investor's situation."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Un point de départ essentiel : la fiscalité est identique","A crucial starting point: taxation is identical")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Avant toute comparaison sérieuse, un malentendu fondamental doit être dissipé. Le contrat d'",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie luxembourgeois"})," souscrit par un résident fiscal français est soumis exactement à la ",t.jsx("strong",{children:"même fiscalité"})," que son équivalent français. Les règles d'imposition des rachats, les ",t.jsx("strong",{children:"abattements de 4 600 € et 9 200 € après huit ans"})," de détention, le ",t.jsx("strong",{children:"prélèvement forfaitaire unique de 30 %"})," avant cette échéance, le ",t.jsx("strong",{children:"régime successoral dérogatoire"})," avec ses abattements de 152 500 € par bénéficiaire pour les versements avant 70 ans, tout cela s'applique de façon rigoureusement identique aux deux types de contrats."]}),t.jsxs(t.Fragment,{children:["Before any serious comparison, a fundamental misunderstanding must be cleared up. A ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg life insurance contract"})," taken out by a French tax resident is subject to exactly the ",t.jsx("strong",{children:"same taxation"})," as its French equivalent. Taxation rules for withdrawals, the ",t.jsx("strong",{children:"€4,600 and €9,200 allowances after eight years"})," of holding, the ",t.jsx("strong",{children:"30% flat-rate levy"})," before that date, the ",t.jsx("strong",{children:"derogatory inheritance regime"})," with its €152,500 allowance per beneficiary for contributions before age 70, all apply in strictly identical fashion to both types of contract."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le Luxembourg n'offre ",t.jsx("strong",{children:"aucun avantage fiscal supplémentaire"})," à un résident français. Quiconque présente le contrat luxembourgeois comme un outil de défiscalisation supplémentaire par rapport au contrat français soit ne maîtrise pas le sujet, soit adopte un angle commercial trompeur. ",t.jsx("strong",{children:"L'advantage luxembourgeois est ailleurs"}),", dans la protection des actifs, dans la liberté d'investissement, dans la ",t.jsx("strong",{children:"portabilité internationale"}),", et il ne concerne pas la fiscalité courante du contrat."]}),t.jsxs(t.Fragment,{children:["Luxembourg offers ",t.jsx("strong",{children:"no additional tax advantage"})," to a French resident. Anyone presenting the Luxembourg contract as an additional tax-saving tool compared with the French contract either does not understand the subject or is adopting a misleading commercial angle. ",t.jsx("strong",{children:"The Luxembourg advantage lies elsewhere"}),", in asset protection, investment freedom, ",t.jsx("strong",{children:"international portability"}),", and it does not concern the contract's current tax treatment."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que le contrat français offre de remarquable","What the French contract offers that is remarkable")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"contrat d'assurance-vie français"})," est l'un des meilleurs produits d'épargne du droit civil européen. Trente ans de développement, une concurrence intense entre assureurs et distributeurs, une ",t.jsx("strong",{children:"réglementation mature"})," et une culture de l'épargne longue profondément ancrée dans les comportements des ménages français ont produit un écosystème de contrats d'une qual
759ité et d'une diversité remarquables."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"French life insurance contract"})," is one of the best savings products in European civil law. Thirty years of development, fierce competition between insurers and distributors, ",t.jsx("strong",{children:"mature regulation"})," and a deeply rooted long-term savings culture in French household behaviour have produced an ecosystem of contracts of remarkable quality and diversity."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les meilleurs contrats français haut de gamme, distribués par les banques privées, les courtiers spécialisés et les conseillers en gestion de patrimoine indépendants, offrent aujourd'hui des ",t.jsx("strong",{children:"univers d'investissement très larges"}),". Des centaines d'unités de compte couvrant l'ensemble des classes d'actifs accessibles aux particuliers, des ",t.jsx("strong",{children:"fonds euros performants"})," bénéficiant de la garantie en capital, des accès à l'immobilier via des ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPI et des OPCI"}),", des ETF à frais réduits, des fonds de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," accessibles en assurance-vie : l'offre française couvre la très grande majorité des besoins patrimoniaux des investisseurs jusqu'à des encours significatifs."]}),t.jsxs(t.Fragment,{children:["The best French premium contracts, distributed by private banks, specialist brokers and independent wealth advisers, today offer very ",t.jsx("strong",{children:"broad investment universes"}),". Hundreds of unit-linked funds covering all asset classes accessible to individuals, ",t.jsx("strong",{children:"performing euro funds"})," with capital guarantees, access to real estate via ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPIs and OPCIs"}),", low-cost ETFs, ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," funds accessible through life insurance: the French offering covers the vast majority of wealth-planning needs for investors with significant assets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"liquidité est totale et immédiate"}),". Les rachats partiels ou totaux sont traités en quelques jours, sans contrainte de marché secondaire ni décote de liquidité. Les versements complémentaires sont libres. La gestion déléguée à des conseillers ou gérants mandatés est accessible dans la plupart des contrats haut de gamme. Et les frais, notamment dans les contrats distribués par les conseillers indépendants, ont fortement baissé sous l'effet de la concurrence et de la réglementation."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Liquidity is total and immediate"}),". Partial or total withdrawals are processed within a few days, with no secondary-market constraint or liquidity haircut. Additional contributions are free. Delegated management by advisers or mandated managers is accessible in most premium contracts. And costs, particularly in contracts distributed by independent advisers, have fallen sharply thanks to competition and regulation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La protection offerte par le ",t.jsx("strong",{children:"Fonds de Garantie des Assurances de Personnes"})," : 70 000 € par assuré et par assureur, est suffisante pour couvrir la quasi-totalité des contrats des épargnants français, dont les encours moyens restent bien en dessous de ce seuil. Pour la très grande majorité des investisseurs, cette protection est adéquate et le risque de défaillance d'un grand assureur français est théoriquement faible."]}),t.jsxs(t.Fragment,{children:["The protection provided by the ",t.jsx("strong",{children:"French Personal Insurance Guarantee Fund"}),", €70,000 per insured person and per insurer, is sufficient to cover almost all contracts of French savers, whose average assets remain well below this threshold. For the vast majority of investors, this protection is adequate and the risk of default by a major French insurer is theoretically low."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Où le contrat français atteint ses limites","Where the French contract reaches its limits")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les limites du contrat français apparaissent 
759à mesure que le ",t.jsx("strong",{children:"patrimoine financier croît"})," et que la situation de l'investisseur se complexifie. Elles sont de trois ordres : la ",t.jsx("strong",{children:"protection des actifs"}),", la ",t.jsx("strong",{children:"liberté d'investissement"})," et la ",t.jsx("strong",{children:"mobilité géographique"}),"."]}),t.jsxs(t.Fragment,{children:["The limits of the French contract appear as ",t.jsx("strong",{children:"financial wealth grows"})," and the investor's situation becomes more complex. They fall into three areas: ",t.jsx("strong",{children:"asset protection"}),", ",t.jsx("strong",{children:"investment freedom"})," and ",t.jsx("strong",{children:"geographic mobility"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Sur la protection des actifs, le plafond de garantie de ",t.jsx("strong",{children:"70 000 € du Fonds de Garantie"})," devient insuffisant pour des encours importants. Un investisseur qui détient 500 000 € dans un contrat français auprès d'un assureur unique est exposé à hauteur de 430 000 € au risque de défaillance de cet assureur. Certes, la probabilité d'une telle défaillance est faible pour les grands assureurs français, mais elle n'est pas nulle, et les crises financières ont démontré que des institutions considérées comme ",t.jsx("em",{children:"too big to fail"})," peuvent connaître des difficultés graves. La diversification entre plusieurs assureurs français est une solution partielle mais imparfaite, qui multiplie les contrats et les relations sans offrir la protection structurelle que le cadre luxembourgeois garantit par construction."]}),t.jsxs(t.Fragment,{children:["On asset protection, the ",t.jsx("strong",{children:"€70,000 Guarantee Fund ceiling"})," becomes insufficient for large assets. An investor holding €500,000 in a French contract with a single insurer is exposed to €430,000 of risk in the event of that insurer's failure. Admittedly, the probability of such a failure is low for major French insurers, but it is not zero, and financial crises have shown that institutions considered ",t.jsx("em",{children:"too big to fail"})," can experience serious difficulties. Diversification across several French insurers is a partial but imperfect solution, multiplying contracts and relationships without offering the structural protection that the Luxembourg framework guarantees by design."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Sur la liberté d'investissement, le contrat français présente des ",t.jsx("strong",{children:"contraintes réglementaires"})," qui limitent l'accès à certaines classes d'actifs. Les fonds de private equity accessibles en assurance-vie française sont soumis à des règles de liquidité qui excluent les fonds véritablement illiquides. Les ",t.jsx("strong",{children:"produits structurés complexes"}),", les fonds alternatifs non UCITS, les obligations corporate non cotées et certains actifs réels internationaux ne peuvent pas être logés dans une assurance-vie française. Pour un investisseur dont l'allocation cible intègre une fraction significative de ces actifs, le contrat français ne peut tout simplement pas accueillir l'intégralité de son portefeuille."]}),t.jsxs(t.Fragment,{children:["On investment freedom, the French contract has ",t.jsx("strong",{children:"regulatory constraints"})," that limit access to certain asset classes. Private equity funds accessible through French life insurance are subject to liquidity rules that exclude truly illiquid funds. ",t.jsx("strong",{children:"Complex structured products"}),", non-UCITS alternative funds, unlisted corporate bonds and certain international real assets cannot be held in French life insurance. For an investor whose target allocation includes a significant fraction of these assets, the French contract simply cannot accommodate the entirety of their portfolio."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Sur la mobilité géographique, enfin, le contrat français est conçu pour et par un résident fiscal français. En cas de déménagement à l'étranger, sa gestion devient complexe et ses avantages peuvent être partiellement ou totalement perdus selon le pays d'accueil. Pour les profils à ",t.jsx("strong",{children:"forte mobilité internationale"}),", cette fragilité géographique est un risque patrimonial concret."]}
759),t.jsxs(t.Fragment,{children:["On geographic mobility, the French contract is designed for and by French tax residents. In the event of moving abroad, management becomes complex and its benefits may be partially or totally lost depending on the host country. For profiles with ",t.jsx("strong",{children:"strong international mobility"}),", this geographic fragility is a concrete wealth risk."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La protection luxembourgeoise : ce que le triangle de sécurité change vraiment","Luxembourg protection: what the security triangle really changes")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"triangle de sécurité luxembourgeois"})," est souvent évoqué comme un argument de vente sans que sa mécanique précise soit expliquée. Il mérite une description rigoureuse, car c'est la compréhension de son fonctionnement qui permet d'évaluer sa valeur réelle."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Luxembourg security triangle"})," is often cited as a selling point without its precise mechanics being explained. It deserves a rigorous description, because understanding how it works is what allows one to assess its real value."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Au Luxembourg, les actifs représentatifs des contrats d'assurance-vie sont obligatoirement déposés auprès d'une ",t.jsx("strong",{children:"banque dépositaire agréée"})," par le Commissariat aux Assurances, le régulateur luxembourgeois. 
759Ces actifs sont ",t.jsx("strong",{children:"juridiquement séparés du bilan de l'assureur"}),", ils n'appartiennent pas à l'assureur, ils sont détenus pour le compte des souscripteurs. En cas de faillite de l'assureur, ces actifs ne tombent pas dans la masse des créanciers : ils restent la propriété des souscripteurs et leur sont restitués en priorité."]}),t.jsxs(t.Fragment,{children:["In Luxembourg, the assets representing life insurance contracts must be deposited with an ",t.jsx("strong",{children:"approved custodian bank"})," by the Commissariat aux Assurances, the Luxembourg regulator. These assets are ",t.jsx("strong",{children:"legally separated from the insurer's balance sheet"}),", they do not belong to the insurer, they are held on behalf of subscribers. In the event of the insurer's insolvency, these assets do not fall into the creditors' pool: they remain the property of subscribers and are returned to them as a priority."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est le ",t.jsx("strong",{children:"super-privilège"})," : les souscripteurs sont ",t.jsx("strong",{children:"créanciers de premier rang"})," sur les actifs ségrégués, avant absolument tous les autres créanciers de l'assureur. Il n'y a ",t.jsx("strong",{children:"pas de plafond à cette protection"}),", elle porte sur l'intégralité des actifs déposés pour le compte du souscripteur, quel que soit leur montant. Et le Commissariat aux Assurances surveille en permanence l'adéquation entre les actifs déposés et les engagements de l'assureur, avec ",t.jsx("strong",{children:"obligation de reconstitution immédiate"})," en cas d'écart."]}),t.jsxs(t.Fragment,{children:["That is the ",t.jsx("strong",{children:"super-privilege"}),": subscribers are ",t.jsx("strong",{children:"first-rank creditors"})," on the segregated assets, ahead of absolutely all other creditors of the insurer. There is ",t.jsx("strong",{children:"no cap on this protection"}),", it covers the entirety of the assets deposited on behalf of the subscriber, whatever their amount. And the Commissariat aux Assurances continuously monitors the match between deposited assets and the insurer's commitments, with an ",t.jsx("strong",{children:"obligation to restore immediately"})," in case of any shortfall."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Concrètement, cela signifie qu'un investisseur qui détient cinq millions d'euros dans un contrat luxembourgeois bénéficie d'une ",t.jsx("strong",{children:"protection intégrale sur ces cinq millions"}),", structurellement garantie par le droit luxembourgeois. Le même investisseur avec cinq millions d'euros répartis sur plusieurs contrats français ne bénéficie que de 70 000 € de garantie par assureur, le reste étant une ",t.jsx("strong",{children:"exposition non couverte"})," au risque de crédit de chaque assureur."]}),t.jsxs(t.Fragment,{children:["Concretely, this means that an investor holding five million euros in a Luxembourg contract benefits from ",t.jsx("strong",{children:"full protection on those five million"}),", structurally guaranteed by Luxembourg law. The same investor with five million euros spread across several French contracts receives only €70,000 of guarantee per insurer, the rest being ",t.jsx("strong",{children:"uncovered exposure"})," to each insurer's credit risk."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Contrats luxembourgeois sélectionnés par colbr","Luxembourg contracts selected by colbr")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Accès aux meilleures compagnies d'assurance luxembourgeoises, FAS et FID sur mesure, accompagnement patrimonial dédié.","Access to the leading Luxembourg insurance companies, bespoke FAS and FID, dedicated wealth advisory.")}),t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer l'offre luxembourgeoise colbr","Explore the colbr Luxembourg offer"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Comparaison directe selon les niveaux de patr
759imoine","Direct comparison by wealth level")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La pertinence respective des deux cadres varie significativement selon la taille du patrimoine financier et la complexité de la situation de l'investisseur."}),t.jsx(t.Fragment,{children:"The respective relevance of the two frameworks varies significantly with the size of financial wealth and the complexity of the investor's situation."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour un patrimoine financier ",t.jsx("strong",{children:"inférieur à 150 000 €"}),", le contrat français est la réponse naturelle et optimale. L'intégralité du capital est couverte par le Fonds de Garantie. L'univers d'investissement des meilleurs contrats français couvre largement les besoins d'un portefeuille de cette taille. Les frais des contrats français distribués par les conseillers indépendants sont compétitifs. Et les avantages spécifiques du contrat luxembourgeois ne sont pas accessibles à ce niveau d'encours. Il n'y a objectivement ",t.jsx("strong",{children:"aucune raison d'aller au Luxembourg"})," pour un patrimoine de cette taille."]}),t.jsxs(t.Fragment,{children:["For financial wealth ",t.jsx("strong",{children:"below €150,000"}),", the French contract is the natural and optimal answer. The entire capital is covered by the Guarantee Fund. The investment universe of the best French contracts amply covers the needs of a portfolio of this size. Costs of French contracts distributed by independent advisers are competitive. And the specific advantages of the Luxembourg contract are not accessible at this asset level. There is objectively ",t.jsx("strong",{children:"no reason to go to Luxembourg"})," for wealth of this size."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Entre ",t.jsx("strong",{children:"150 000 € et 500 000 €"}),", la réflexion commence à se poser différemment. La protection du Fonds de Garantie ne couvre plus qu'une fraction du capital. La diversification entre plusieurs contrats français devient une précaution raisonnable. À ce stade, les avantages du contrat luxembourgeois restent partiellement accessibles, la protection renforcée est effective dès le premier euro, mais le ",t.jsx("strong",{children:"FAS"}),", qui ouvre l'accès aux investissements sur mesure, n'est généralement accessible qu'à partir de 250 000 €. Pour les investisseurs sans mobilité internationale et sans besoins d'investissement sortant de l'ordinaire, plusieurs contrats français de qualité peuvent suffire. Pour ceux qui anticipent une expatriation ou qui souhaitent accéder à des actifs non standards, le contrat luxembourgeois commence à prendre tout son sens."]}),t.jsxs(t.Fragment,{children:["Between ",t.jsx("strong",{children:"€150,000 and €500,000"}),", the thinking begins to change. The Guarantee Fund protection now covers only a fraction of the capital. Diversification across several French contracts becomes a reasonable precaution. At this stage, the advantages of the Luxembourg contract remain partially accessible, enhanced protection is effective from the first euro, but the ",t.jsx("strong",{children:"FAS"}),", which opens access to bespoke investments, is generally only accessible from €250,000. For investors without international mobility and without unusual investment needs, several quality French contracts may suffice. For those anticipating expatriation or wanting access to non-standard assets, the Luxembourg contract begins to make full sense."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Entre ",t.jsx("strong",{children:"500 000 € et deux millions d'euros"}),", le contrat luxembourgeois s'impose comme la solution préférentielle pour la fraction du patrimoine logée en assurance-vie. La protection renforcée du triangle de sécurité a une ",t.jsx("strong",{children:"valeur patrimoniale réelle et documentée"})," à ce niveau d'encours. Le FAS est pleinement accessible et permet de construire un portefeuille sur mesure intégrant des classes d'actifs inaccessibles en France. Et si l'investisseur a des liens fam
759iliaux ou professionnels avec l'étranger, la ",t.jsx("strong",{children:"portabilité internationale"})," est un avantage immédiatement concret. La question n'est plus de savoir si le contrat luxembourgeois est préférable, il l'est structurellement, mais comment l'articuler avec les contrats français existants dans une stratégie patrimoniale cohérente."]}),t.jsxs(t.Fragment,{children:["Between ",t.jsx("strong",{children:"€500,000 and two million euros"}),", the Luxembourg contract asserts itself as the preferred solution for the portion of wealth held in life insurance. The enhanced protection of the security triangle has ",t.jsx("strong",{children:"real and documented wealth value"})," at this asset level. The FAS is fully accessible and allows building a bespoke portfolio incorporating asset classes inaccessible in France. And if the investor has family or professional ties abroad, ",t.jsx("strong",{children:"international portability"})," is an immediately concrete advantage. The question is no longer whether the Luxembourg contract is preferable, structurally, it is, but how to articulate it with existing French contracts in a coherent wealth strategy."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Au-delà de ",t.jsx("strong",{children:"deux millions d'euros"}),", le contrat luxembourgeois est la solution qui s'impose sans discussion. Le ",t.jsx("strong",{children:"FID"})," devient accessible, offrant un niveau de personnalisation total sur l'univers d'investissement. La protection du triangle de sécurité est d'autant plus précieuse que les encours sont élevés. Et pour les grands patrimoines dont les membres de la famille sont souvent répartis dans plusieurs pays, la portabilité internationale est une nécessité pratique que le contrat français ne peut pas satisfaire."]}),t.jsxs(t.Fragment,{children:["Beyond ",t.jsx("strong",{children:"two million euros"}),", the Luxembourg contract is the solution that imposes itself without discussion. The ",t.jsx("strong",{children:"FID"})," becomes accessible, offering total personalisation of the investment universe. The protection of the security triangle is all the more valuable as assets are high. And for large estates whose family members are often spread across several countries, international portability is a practical necessity that the French contract cannot satisfy."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le FAS et le FID : ce que la personnalisation permet vraiment","FAS and FID: what personalisation really enables")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La liberté d'investissement du contrat luxembourgeois mérite une description précise, car c'est souvent le paramètre le moins bien compris des investisseurs qui s'interrogent sur le passage au Luxembourg."}),t.jsx(t.Fragment,{children:"The investment freedom of the Luxembourg contract deserves a precise description, because it is often the least well-understood parameter for investors wondering about moving to Luxembourg."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"Fonds d'Assurance Spécialisé (FAS)"})," permet de mandater un gestionnaire d'actifs de son choix pour gérer un portefeuille personnalisé à l'intérieur du contrat d'assurance-vie. Ce portefeuille peut intégrer des fonds de ",t.jsx("strong",{children:"private equity véritablement illiquides"}),", des fonds de dette privée, des fonds alternatifs non UCITS, des ",t.jsx(C,{to:"/produits-structures",className:"text-primary underline-offset-4 hover:underline",children:"produits structurés sur mesure"}),", des obligations corporate non cotées. La politique d'investissement est définie conjointement entre l'investisseur et son gestionnaire, l'assureur luxembourgeois n'intervient pas dans les décisions d'investissement, il se contente de garantir le cadre prudentiel et fiscal."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Specialised Insurance Fund (FAS)"})," allows mandating an asset manager of one's choice to manage a personalised portfolio within the life insurance contract. This portfolio can include truly ",t.jsx("strong",{children:"illiquid private equity funds"}),", private debt funds, non-UCITS alternative funds, ",t.jsx(C,{to:"/produits-structures",className:"text-primary underline-offset-4 hover:underline",children:"bespoke structured products"}),", unlisted corporate bonds. The investment policy is defined jointly between the investor and their manager, the Luxembourg insurer does not intervene in investment decisions, it merely guarantees the prudential and tax framework."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"Fonds Interne Dédié (FID)"})," va encore plus loin : c'est un véhicule créé spécifiquement pour un s
759ouscripteur unique, géré par l'établissement financier de son choix, pouvant intégrer des actifs encore moins liquides et moins standardisés que dans un FAS. Des ",t.jsx("strong",{children:"participations directes dans des entreprises non cotées"}),", des actifs immobiliers internationaux, des créances privées ou des instruments sur mesure peuvent être logés dans un FID dans le respect du cadre légal luxembourgeois."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Dedicated Internal Fund (FID)"})," goes even further: a vehicle created specifically for a single subscriber, managed by a financial institution of their choice, capable of holding assets even less liquid and less standardised than in a FAS. ",t.jsx("strong",{children:"Direct stakes in unlisted companies"}),", international real estate assets, private receivables or bespoke instruments can be housed in a FID within the limits of Luxembourg law."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La condition juridique fondamentale, qui préserve la qualification d'assurance-vie et donc les ",t.jsx("strong",{children:"avantages fiscaux et successoraux"})," du contrat, est que le souscripteur ne donne pas d'instructions directes sur des opérations spécifiques. Il définit une stratégie, un cadre, des contraintes, mais la mise en œuvre appartient au gestionnaire mandaté. En pratique, le niveau d'influence effective du souscripteur sur son portefeuille est très élevé dans les deux véhicules, dans les limites de ce que le droit luxembourgeois autorise."]}),t.jsxs(t.Fragment,{children:["The fundamental legal condition, which preserves the life-insurance qualification and thus the contract's ",t.jsx("strong",{children:"tax and inheritance advantages"}),", is that the subscriber does not give direct instructions on specific operations. They define a strategy, a framework, constraints, but implementation belongs to the mandated manager. In practice, the effective level of influence the subscriber has over their portfolio is very high in both vehicles, within the limits allowed by Luxembourg law."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La portabilité : anticiper ce que l'on ne prévoit pas toujours","Portability: anticipating what one does not always foresee")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"portabilité internationale"})," est l'avantage du contrat luxembourgeois qui est le plus difficile à valoriser au moment de la souscription, parce qu'elle concerne des situations futures que l'on n'anticipe pas toujours clairement. C'est aussi celui dont l'absence est la plus coûteuse lorsque le besoin se manifeste."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"International portability"})," is the Luxembourg contract advantage that is hardest to value at the time of subscription, because it concerns future situations that are not always clearly anticipated. It is also the one whose absence is most costly when the need arises."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un contrat d'",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie français"})," souscrit par un résident fiscal français est conçu pour fonctionner dans le cadre fiscal français. En cas de départ à l'étranger, plusieurs difficultés peuvent surgir selon le pays d'accueil : certains pays ne reconnaissent pas le régime juridique de l'assurance-vie à la française et traitent le contrat comme un compte de valeurs mobilières ordinaire, avec une ",t.jsx("strong",{children:"imposition immédiate des plus-values latentes"}),". D'autres imposent des déclarations spécifiques aux autorités fiscales locales, avec des sanctions en cas de non-conformité. D'autres encore rendent la gestion courante du contrat compliquée, l'assureur français pouvant être réticent à servir des clients non-résidents pour des raisons de conformité réglementaire."]}),t.jsxs(t.Fragment,{children:["A ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"French life insurance contract"})," taken out by a French tax resident is designed to operate within the French tax framework. In the event of moving abroad, several difficulties may arise depending on the host country: some countries do not recognise the French life-insurance legal regime and treat the contract as an ordinary securities account, with ",t.jsx("strong",{children:"immediate taxation of latent capital gains"}),". Others impose specific declarations on local tax authorities, with penalties for non-compliance. Still others make day-to-day contract management complicated, with the French insurer potentially reluctant to serve non-resident clients for regulatory compliance reasons."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le contrat luxembourgeois est ",t.jsx("strong",{children:"structurellement conçu pour traverser les frontières"}),". Les assureurs luxembourgeois ont l'expérience, les équipes juridiques et les accords nécessaires pour adapter le traitement du contrat au régime fiscal du nouveau pays de résidence. Le contrat continue à fonctionner normalement, avec la fiscalité du pays d'accueil, sans liquidation forcée ni perte de l'ancienneté acquise. Pour un dirigeant qui envisage un développement international, pour une famille dont les enfants s'installent à l'étranger, ou pour un investisseur dont la mobilité géographique est possible à dix ou vingt ans, cette portabilité est une ",t.jsx("strong",{children:"assurance patrimoniale"})," dont la valeur est réelle même si elle est difficile à quantifier."]}),t.jsxs(t.Fragment,{children:["The Luxembourg contract is ",t.jsx("strong",{children:"structurally designed to cross borders"}),". Luxembourg insurers have the experience, legal teams and agreements needed to adapt the contract's treatment to the tax regime of the new country of residence. The contract continues to function normally, with the host country's taxation, without forced liquidation or loss of acquired seniority. For an executive considering international development, for a family whose children are settling abroad, or for an investor whose geographic mobility is possible in ten or twenty years, this portability is a ",t.jsx("strong",{children:"wealth insurance"})," whose value is real even if hard to quantify."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les frais : un différentiel qui s'est réduit","Costs: a differential that has narrowed")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"L'argument des frais est souvent avancé en défaveur du contrat luxembourgeois, et il mérite d'être nuancé. Historiquement, les contrats luxembourgeois présentaient des frais de gestion sensiblement supérieurs à leur
759s équivalents français, en partie parce qu'ils s'adressaient à une clientèle plus fortunée moins sensible au prix, et en partie parce que la gestion personnalisée des FAS et FID génère des coûts opérationnels réels."}),t.jsx(t.Fragment,{children:"The cost argument is often raised against the Luxembourg contract, and it deserves to be nuanced. Historically, Luxembourg contracts had significantly higher management fees than their French equivalents, partly because they targeted wealthier clients less sensitive to price, and partly because the personalised management of FAS and FID generates real operational costs."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette situation a évolué. La concurrence entre assureurs luxembourgeois s'est intensifiée, et les frais des contrats distributivement commercialisés en France ont significativement baissé. Pour les contrats sans fonds euros, purement en unités de compte, les frais luxembourgeois sont aujourd'hui ",t.jsx("strong",{children:"comparables à ceux des meilleurs contrats français haut de gamme"}),". Pour les contrats intégrant un FAS ou un FID, les frais supplémentaires liés à la gestion personnalisée sont la contrepartie directe d'un service qui n'existe pas dans le cadre français, la comparaison n'est donc pas pertinente sur cette dimension."]}),t.jsxs(t.Fragment,{children:["This situation has evolved. Competition among Luxembourg insurers has intensified, and the costs of contracts distributed in France have fallen significantly. For contracts without euro funds, purely unit-linked, Luxembourg fees are now ",t.jsx("strong",{children:"comparable to those of the best French premium contracts"}),". For contracts incorporating a FAS or FID, the additional costs linked to personalised management are the direct counterpart of a service that does not exist in the French framework, so the comparison is not relevant on this dimension."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le différentiel de frais résiduel entre un contrat luxembourgeois et un contrat français de même qualité doit être mis en regard de la valeur des avantages obtenus. Pour un encours de deux millions d'euros, un différentiel de ",t.jsx("strong",{children:"0,2 % par an représente 4 000 € annuels"}),". La protection renforcée, la liberté d'investissement élargie et la portabilité internationale valent-elles 4 000 € par an ? Pour la très grande majorité des investisseurs concernés par ces enjeux, la réponse est oui."]}),t.jsxs(t.Fragment,{children:["The residual cost differential between a Luxembourg contract and a French contract of equivalent quality must be weighed against the value of the benefits obtained. For assets of two million euros, a differential of ",t.jsx("strong",{children:"0.2% per year represents €4,000 annually"}),". Are enhanced protection, broader investment freedom and international portability worth €4,000 a year? For the vast majority of investors concerned by these issues, the answer is yes."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Articuler les deux dans une stratégie cohérente","Combining both in a coherent strategy")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La question n'est pas toujours de choisir entre les deux, elle est parfois d'",t.jsx("strong",{children:"articuler intelligemment les deux cadres"})," dans une stratégie patrimoniale globale. Pour les patrimoines significatifs, cette articulation est souvent la réponse la plus efficace."]}),t.jsxs(t.Fragment,{children:["The question is not always choosing between the two, it is sometimes ",t.jsx("strong",{children:"intelligently combining both frameworks"})," within an overall wealth strategy. For significant estates, this combination is often the most effective answer."]}
759))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Une allocation patrimoniale cohérente peut intégrer un ou plusieurs ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"contrats français"})," pour la partie du patrimoine destinée aux fonds euros et aux unités de compte standard, en bénéficiant de la liquidité totale et des frais optimisés des meilleurs contrats français. Elle peut simultanément intégrer un ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"contrat luxembourgeois"})," pour la partie du patrimoine qui requiert une protection renforcée, un investissement sur mesure ou une exposition à des actifs non accessibles en France. Les deux enveloppes sont fiscalement équivalentes, mais elles se complètent en couvrant des besoins différents."]}),t.jsxs(t.Fragment,{children:["A coherent wealth allocation can incorporate one or more ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"French contracts"})," for the portion of wealth destined for euro funds and standard unit-linked funds, benefiting from total liquidity and optimised costs of the best French contracts. It can simultaneously incorporate a ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg contract"})," for the portion of wealth requiring enhanced protection, bespoke investment or exposure to assets not accessible in France. Both wrappers are fiscally equivalent, but they complement each other by covering different needs."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette ",t.jsx("strong",{children:"architecture duale"})," est celle que les conseillers patrimoniaux les plus rigoureux recommandent pour les clients dont le patrimoine financier dépasse 500 000 €. Elle ne répond pas à une logique de complexification pour le plaisir, elle répond à une réalité : les besoins patrimoniaux d'un investisseur de cette taille ne peuvent pas être c
759ouverts optimalement par un seul type de contrat."]}),t.jsxs(t.Fragment,{children:["This ",t.jsx("strong",{children:"dual architecture"})," is what the most rigorous wealth advisers recommend for clients whose financial wealth exceeds €500,000. It does not respond to a logic of complexity for complexity's sake, it responds to a reality: the wealth-planning needs of an investor of this size cannot be optimally covered by a single type of contract."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["Le choix entre assurance-vie française et luxembourgeoise n'est pas une question de prestige ou de sophistication, c'est une question d'",t.jsx("strong",{children:"adéquation entre les caractéristiques d'un outil et les besoins d'un investisseur"})," à un moment précis de sa vie patrimoniale. Pour les patrimoines modestes, le contrat français est la meilleure réponse. Pour les patrimoines importants avec des besoins de protection, de personnalisation ou de mobilité internationale, le contrat luxembourgeois s'impose. Entre les deux, la réponse dépend de paramètres objectifs qui méritent une analyse sérieuse plutôt qu'une préférence par défaut."]}),t.jsxs(t.Fragment,{children:["The choice between French and Luxembourg life insurance is not a question of prestige or sophistication, it is a question of ",t.jsx("strong",{children:"fit between a tool's characteristics and an investor's needs"})," at a specific point in their wealth life. For modest estates, the French contract is the best answer. For large estates with protection, customisation or international mobility needs, the Luxembourg contract imposes itself. In between, the answer depends on objective parameters that deserve serious analysis rather than a default preference."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre patrimoine avec colbr","Structure your wealth with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers analysent votre situation patrimoniale et vous recommandent l'articulation optimale entre contrats français et luxembourgeois selon vos objectifs, votre mobilité et votre appétence pour les actifs alternatifs.","Our advisers analyse your wealth situation and recommend the optimal combination of French and Luxembourg contracts according to your objectives, mobility and appetite for alternative assets.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le contrat luxembourgeois","Discover the Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/assurance-vie",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Voir l'assurance-vie française","See French life insurance")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les règles fiscales applicables à l'assurance-vie sont susceptibles d'évoluer. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision de souscription ou de transfert de contrat.","Informational document, not investment, legal or tax advice. Tax rules applicable to life insurance are subject to change. We recommend consulting a qualified wealth adviser before any subscription or contract transfer decision.")})]})})}),t.jsx(re,{})]})},i_e=[.16,1,.3,1],s_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Novembre 2025","November 2025")," · 12 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Le « triangle de sécurité » luxembourgeois : pourquoi les grandes fortunes s'y intéressent","The Luxembourg « security triangle »: why high-net-worth individuals care")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Ségrégation des actifs, super-privilège, surveillance continue : anatomie d'une protection patrimoniale sans équivalent en Europe.","Asset segregation, super-privilege, continuous oversight: anatomy of a wealth protection with no equivalent in Europe.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
759,animate:{opacity:1,y:0},transition:{duration:.6,ease:i_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il y a des concepts financiers qui sonnent bien sans que l'on sache exactement ce qu'ils recouvrent. Le ",t.jsx("strong",{children:"triangle de sécurité luxembourgeois"})," est de ceux-là. On l'entend dans les conversations patrimoniales haut de gamme, on le retrouve dans les brochures des assureurs luxembourgeois, on le cite comme argument décisif dans les comparaisons avec le ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"contrat français"}),". Mais rares sont ceux qui peuvent en expliquer le fonctionnement précis, et encore plus rares ceux qui comprennent pourquoi il change fondamentalement la nature de la protection offerte à l'investisseur."]}),t.jsxs(t.Fragment,{children:["There are financial concepts that sound impressive without anyone knowing exactly what they mean. The ",t.jsx("strong",{children:"Luxembourg security triangle"})," is one of them. It is heard in high-end wealth conversations, found in Luxembourg insurers' brochures, cited as a decisive argument in comparisons with the ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"French contract"}),". But few can explain its precise mechanics, and even fewer understand why it fundamentally changes the nature of protection offered to the investor."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce n'est pourtant pas une abstraction marketing. C'est un ",t.jsx("strong",{children:"dispositif légal concret"}),", construit pierre par pierre par le législateur luxembourgeois, qui répond à une question simple et fondamentale : que se passe-t-il pour mon argent si mon assureur fait faillite ?"]}),t.jsxs(t.Fragment,{children:["Yet it is not a marketing abstraction. It is a ",t.jsx("strong",{children:"concrete legal mechanism"}),", built stone by stone by the Luxembourg legislator, answering a simple and fundamental question: what happens to my money if my insurer goes bust?"]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La question que personne ne pose avant d'en avoir besoin","The question no one asks until they need to")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La défaillance d'un assureur vie est un événement rare. Suffisamment rare pour que la plupart des épargnants n'y pensent jamais, et suffisamment possible pour que les investisseurs avertis considèrent qu'il serait imprudent de l'ignorer. L'histoire financière des trente dernières années a démontré à plusieurs reprises que des ",t.jsx("strong",{children:"institutions considérées comme solides"})," peuvent connaître des difficultés graves et rapides. Les crises ne préviennent pas."]}),t.jsxs(t.Fragment,{children:["The failure of a life insurer is a rare event. Rare enough that most savers never think about it, and possible enough that informed investors consider it imprudent to ignore it. The financial history of the last thirty years has repeatedly shown that ",t.jsx("strong",{children:"institutions considered solid"})," can experience severe and rapid difficulties. Crises do not announce themselves."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En France, la réponse à cette question est connue mais rarement formulée clairement. Les actifs d'un contrat d'",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie"})," sont inscrits au bilan de l'assureur. L'assuré est un créancier de l'assureur, un créancier protégé, dans une certaine mesure, par le ",t.jsx("strong",{children:"Fonds de Garantie des Assurances de Personnes à hauteur de 70 000 €"})," par assureur. Au-delà de ce seuil, l'exposition au risque de l'assureur est réelle, non couverte, et la priorité de remboursement en cas de liquidation dépend des règles générales du droit des faillites."]}),t.jsxs(t.Fragment,{children:["In France, the answer to this question is known but rarely stated clearly. The assets of a ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"life insurance contract"})," sit on the insurer's balance sheet. The policyholder is a creditor of the insurer, a creditor protected, to some extent, by the ",t.jsx("strong",{children:"Personal Insurance Guarantee Fund up to €70,000"})," per insurer. Beyond this threshold, exposure to the insurer's risk 
759is real, uncovered, and repayment priority in the event of liquidation depends on the general rules of insolvency law."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour un contrat de 80 000 €, cette architecture est satisfaisante. Pour un contrat de 800 000 €, elle signifie que ",t.jsx("strong",{children:"730 000 € sont exposés sans protection garantie"}),". Pour un contrat de plusieurs millions d'euros, c'est une vulnérabilité patrimoniale structurelle que les investisseurs concernés ont tout intérêt à comprendre avant qu'elle ne se matérialise."]}),t.jsxs(t.Fragment,{children:["For an €80,000 contract, this architecture is satisfactory. For an €800,000 contract, it means that ",t.jsx("strong",{children:"€730,000 is exposed without guaranteed protection"}),". For a contract of several million euros, it is a structural wealth vulnerability that concerned investors have every interest in understanding before it materialises."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le premier côté du triangle : la ségrégation des actifs","The first side of the triangle: asset segregation")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La première innovation fondamentale du cadre luxembourgeois est la ",t.jsx("strong",{children:"ségrégation des actifs"}),". Au Luxembourg, les avoirs représentatifs des contrats d'assurance-vie ne sont pas inscrits au bilan de l'assureur. Ils sont obligatoirement déposés auprès d'une ",t.jsx("strong",{children:"banque dépositaire agréée"})," par le Commissariat aux Assurances, et ils sont ",t.jsx("strong",{children:"juridiquement séparés"})," de tout ce qui appartient à l'assureur en propre."]}),t.jsxs(t.Fragment,{children:["The first fundamental innovation of the Luxembourg framework is ",t.jsx("strong",{children:"asset segregation"}),". In Luxembourg, the assets representing life insurance contracts are not recorded on the insurer's balance sheet. They must be deposited with an ",t.jsx("strong",{children:"approved custodian bank"}
759)," by the Commissariat aux Assurances, and are ",t.jsx("strong",{children:"legally separated"})," from everything that belongs to the insurer itself."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La distinction est capitale. Ces actifs n'appartiennent pas à l'assureur, ils sont détenus par lui pour le compte de ses souscripteurs, dans une structure de détention qui les isole de toute ",t.jsx("strong",{children:"procédure collective"})," pouvant l'affecter. Si l'assureur fait faillite demain, ses créanciers ne peuvent pas toucher aux actifs ségrégués. Ils ne font pas partie de la masse à distribuer. Ils restent la propriété des souscripteurs, logés dans une ",t.jsx("strong",{children:"enveloppe juridique hermétique"})," à toute contamination par les difficultés de l'assureur."]}),t.jsxs(t.Fragment,{children:["The distinction is crucial. These assets do not belong to the insurer, they are held by it on behalf of its subscribers, in a holding structure that isolates them from any ",t.jsx("strong",{children:"collective proceedings"})," affecting the insurer. If the insurer fails tomorrow, its creditors cannot touch the segregated assets. They do not form part of the estate to be distributed. They remain the property of subscribers, housed in a ",t.jsx("strong",{children:"hermetically sealed legal envelope"})," immune to any contamination by the insurer's difficulties."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est un ",t.jsx("strong",{children:"changement de nature, pas de degré"}),". En France, l'assuré est un créancier de l'assureur, protégé jusqu'à 70 000 €. Au Luxembourg, l'assuré est propriétaire d'actifs ségrégués, protégés dans leur intégralité par construction. La différence entre les deux positions juridiques est fondamentale pour tout encours dépassant significativement le seuil de garantie français."]}),t.jsxs(t.Fragment,{children:["This is a ",t.jsx("strong",{children:"change in nature, not degree"}),". In France, the policyholder is a creditor of the insurer, protected up to €70,000. In Luxembourg, the policyholder is the owner of segregated assets, protected in their entirety by design. The difference between the two legal positions is fundamental for any assets significantly exceeding the French guarantee threshold."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le deuxième côté : le super-privilège","The second side: the super-privilege")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Si la ségrégation des actifs constitue le premier rempart, le ",t.jsx("strong",{children:"super-privilège"})," en est le deuxième, celui qui intervient dans le scénario résiduel où, malgré la ségrégation, un écart apparaîtrait entre la valeur des actifs déposés et les engagements de l'assureur envers ses souscripteurs."]}),t.jsxs(t.Fragment,{children:["If asset segregation is the first line of defence, the ",t.jsx("strong",{children:"super-privilege"})," is the second, the one that intervenes in the residual scenario where, despite segregation, a gap appears between the value of deposited assets and the insurer's commitments to its subscribers."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le droit luxembourgeois confère aux souscripteurs le statut de ",t.jsx("strong",{children:"créanciers de premier rang"})," sur les actifs de l'assureur, dans l'hypothèse d'un tel écart. Premier rang signifie littéralement avant tous les autres, avant les actionnaires de l'assureur, avant ses créanciers obligataires, avant ses fournisseurs, avant les administrations fiscales, avant ",t.jsx("strong",{children:"l'État luxembourgeois lui-même"}),". Aucun autre créancier ne peut être remboursé tant que les souscripteurs ne l'ont pas été intégralement."]}),t.jsxs(t.Fragment,{children:["Luxembourg law grants subscribers the status of ",t.jsx("strong",{children:"first-rank creditors"})," on the insurer's assets, in the event of such a gap. First rank literally means ahead of all others, ahead of the insurer's shareholders, its bondholders, its suppliers, the tax authorities, ",t.jsx("strong",{children:"the Luxembourg State itself"}),". No other creditor can be repaid until subscribers have been repaid in full."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce super-privilège ",t.jsx("strong",{children:"n'a pas de plafond"}),". Il porte sur l'intégralité des engagements envers les souscripteurs, quelle que soit leur taille. Un souscripteur avec cinq millions d'euros dans un contrat luxembourgeois bénéficie du même niveau de priorité absolue qu'un souscripteur avec 100 000 €. C'est la deuxième raison pour laquelle le cadre luxembourgeois est structurellement supérieur au cadre français pour les patrimoines significatifs."]}),t.jsxs(t.Fragment,{children:["This super-privilege ",t.jsx("strong",{children:"has no ceiling"}),". It covers the entirety of commitments to subscribers, whatever their size. A subscriber with five million euros in a Luxembourg contract benefits from the same absolute priority as a subscriber with €100,000. This is the second reason why the Luxembourg framework is structurally superior to the French one for significant wealth."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Contrats luxembourgeois sélectionnés par colbr","Luxembourg contracts selected by colbr")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Accès aux meilleures compagnies d'assurance luxembourgeoises, FAS et FID sur mesure, accompagnement patrimonial dédié.","Access to the leading Luxembourg insurance companies, bespoke FAS and FID, dedicated wealth advisory.")}),t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer l'offre luxembourgeoise colbr","Explore the colbr Luxembourg offer"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le troisième côté : la surveillance permanente","The third side: continuous oversight")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les deux premiers piliers seraient insuffisants s'ils n'étaie
759nt pas complétés par un ",t.jsx("strong",{children:"mécanisme de surveillance continue"})," capable d'intervenir avant que les difficultés ne deviennent irréversibles. C'est le rôle du ",t.jsx("strong",{children:"Commissariat aux Assurances"}),", le régulateur luxembourgeois, dont les prérogatives sur ce sujet dépassent largement celles de son homologue français."]}),t.jsxs(t.Fragment,{children:["The first two pillars would be insufficient if not complemented by a ",t.jsx("strong",{children:"continuous oversight mechanism"})," capable of intervening before difficulties become irreversible. This is the role of the ",t.jsx("strong",{children:"Commissariat aux Assurances"}),", the Luxembourg regulator, whose powers on this subject far exceed those of its French counterpart."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le Commissariat surveille en temps réel l'adéquation entre les actifs déposés auprès des banques dépositaires et les engagements de chaque assureur envers ses souscripteurs. Cette surveillance n'est pas annuelle, ni trimestrielle, elle est ",t.jsx("strong",{children:"continue"}),". Si un écart apparaît, pour quelque raison que ce soit, l'assureur est tenu de le combler immédiatement. Il n'existe pas de délai de grâce, pas de tolérance temporaire, pas de fenêtre dans laquelle une situation dégradée pourrait se creuser sans correction."]}),t.jsxs(t.Fragment,{children:["The Commissariat monitors in real time the match between assets deposited with custodian banks and each insurer's commitments to its subscribers. This oversight is not annual or quarterly, it is ",t.jsx("strong",{children:"continuous"}),". If a gap appears, for whatever reason, the insurer is required to fill it immediately. There is no grace period, no temporary tolerance, no window in which a deteriorating situation could worsen uncorrected."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette surveillance en continu ferme la fenêtre temporelle qui est précisément celle dans laquelle les catastrophes financières se produisent. La plupart des faillites d'institutions financières ne surviennent pas brutalement, elles s'accumulent sur des mois ou des années, dans un espace de temps pendant lequel les souscripteurs d'un contrat ordinaire sont exposés sans le savoir. Le Commissariat aux Assurances est conçu pour ",t.jsx("strong",{children:"détecter et corriger ces dérives"})," avant qu'elles ne deviennent des crises."]}),t.jsxs(t.Fragment,{children:["This continuous oversight closes the time window in which financial catastrophes precisely occur. Most financial institution failures do not happen abruptly, they accumulate over months or years, in a timeframe during which subscribers to an ordinary contract are exposed without knowing it. The Commissariat aux Assurances is designed to ",t.jsx("strong",{children:"detect and correct these drifts"})," before they become crises."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi les grandes fortunes s'y intéressent spécifiquement","Why high-net-worth individuals specifically care")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La logique de l'intérêt croissant des grands patrimoines pour le triangle de sécurité est simple et mécanique. Plus un encours est élevé, plus la protection de 70 000 € du ",t.jsx("strong",{children:"Fonds de Garantie français"})," représente une fraction faible de la valeur protégée, et plus la vulnérabilité non couverte est absolument significative."]}),t.jsxs(t.Fragment,{children:["The logic behind the growing interest of large estates in the security triangle is simple and mechanical. The higher the assets, the smaller a fraction the €70,000 protection of the ",t.jsx("strong",{children:"French Guarantee Fund"})," represents of the protected value, and the more absolutely significant the uncovered vulnerability becomes."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour un encours de 200 000 €, la fraction non couverte représente 65 % du capital. Pour un encours d'un million d'euros, elle représente 93 %. Pour cinq millions d'euros, elle représente ",t.jsx("strong",{children:"98,6 %"}),". À mesure que le patrimoine financier croît, la protection française devient proportionnellement dérisoire, et le triangle de sécurité luxembourgeois, qui protège ",t.jsx("strong",{children:"100 % du capital"})," quel que soit son montant, prend une valeur croissante."]}),t.jsxs(t.Fragment,{children:["For assets of €200,000, the uncovered fraction represents 65% of capital. For assets of one million euros, it represents 93%. For five million euros, it represents ",t.jsx("strong",{children:"98.6%"}),". As financial wealth grows, French protection becomes proportionally derisory, and the Luxembourg security triangle, which protects ",t.jsx("strong",{children:"100% of capital"})," whatever the amount, takes on increasing value."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il y a aussi une logique de ",t.jsx("strong",{children:"concentration du risque"}),". Un investisseur qui détient l'essentiel de son patrimoine financier liquide dans un ou deux contrats d'assurance-vie, ce qui est fréquent chez les entrepreneurs et les cadres dirigeants qui ont accumulé leur patr
759imoine sur une période courte et intensive, supporte une concentration sur le risque émetteur qui mérite d'être prise au sérieux. La diversification entre assureurs français est une réponse partielle, mais elle multiplie les contrats sans offrir la protection structurelle que le cadre luxembourgeois garantit par construction."]}),t.jsxs(t.Fragment,{children:["There is also a ",t.jsx("strong",{children:"risk concentration"})," logic. An investor who holds most of their liquid financial wealth in one or two life insurance contracts, common among entrepreneurs and senior executives who have built their wealth over a short, intensive period, bears a concentration on issuer risk that deserves to be taken seriously. Diversification across French insurers is a partial answer, but it multiplies contracts without offering the structural protection that the Luxembourg framework guarantees by design."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Un contexte qui renforce la pertinence de la question","A context that reinforces the relevance of the question")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La solidité du système financier européen n'est pas remise en cause, mais le contexte des dernières années a rappelé que des événements considérés comme improbables peuvent survenir. La crise de 2008 a montré que des ",t.jsx("strong",{children:"institutions financières de premier plan"})," peuvent connaître des difficultés graves. Les épisodes de stress sur le secteur assurantiel européen liés aux taux négatifs prolongés, puis à la ",t.jsx("strong",{children:"remontée brutale des taux de 2022"}),", ont mis sous tension les bilans d'assureurs dont les portefeuilles obligataires portaient des moins-values latentes significatives."]}),t.jsxs(t.Fragment,{children:["The solidity of the European financial system is not in question, but the context of recent years has reminded us that events considered improbable can occur. The 2008 crisis showed that ",t.jsx("strong",{children:"top-tier financial institutions"})," can experience severe difficulties. Episodes of stress on the European insurance sector linked to prolonged negative rates, then the ",t.jsx("strong",{children:"sharp rate rise of 2022"}),", put pressure on the balance sheets of insurers whose bond portfolios carried significant latent losses."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Aucun grand assureur français n'a fait défaut. Mais la question de savoir ce qui se passerait si l'un d'eux le faisait n'est pas une question paranoïaque, c'est une question de ",t.jsx("strong",{children:"gestion du risque de queue"}),", celle que les investisseurs institutionnels posent systématiquement et que les investisseurs privés devraient poser avec la même rigueur dès lors que les montants en jeu sont significatifs."]}),t.jsxs(t.Fragment,{children:["No major French insurer has defaulted. But the question of what would happen if one did is not a paranoid question, it is a ",t.jsx("strong",{children:"tail-risk management"})," question, the kind institutional investors systematically ask and which private investors should ask with the same rigour when the amounts at stake are significant."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que le triangle de sécurité ne couvre pas","What the security triangle does not cover")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La rigueur intellectuelle impose de mentionner les limites du dispositif, même si elles sont moins souvent évoquées que ses atouts."}),t.jsx(t.Fragment,{children:"Intellectual rigour requires mentioning the limits of the mechanism, even if they are less often discussed than its strengths."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le triangle de sécurité protège contre le ",t.jsx("strong",{children:"risque de défaillance de l'assureur"}),". Il ne protège pas contre le risque de marché, si les unités de compte dans lesquelles le contrat est investi perdent de la valeur, cette perte est entièrement supportée par le souscripteur, exactement comme dans un contrat français. La protection luxembourgeoise est une ",t.jsx("strong",{children:"protection prudentielle"}),", pas une protection contre la volatilité des actifs financiers."]}),t.jsxs(t.Fragment,{children:["The security triangle protects against ",t.jsx("strong",{children:"insurer default risk"}
759),". It does not protect against market risk, if the unit-linked funds in which the contract is invested lose value, that loss is fully borne by the subscriber, exactly as in a French contract. Luxembourg protection is ",t.jsx("strong",{children:"prudential protection"}),", not protection against financial asset volatility."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Elle ne protège pas non plus contre le risque de défaillance de la banque dépositaire, même si ce risque est atténué par la réglementation bancaire luxembourgeoise et par le fait que les banques dépositaires agréées sont généralement des filiales de grandes institutions financières européennes dont la solidité est elle-même surveillée."}),t.jsx(t.Fragment,{children:"Nor does it protect against custodian bank default risk, although this risk is mitigated by Luxembourg banking regulation and by the fact that approved custodian banks are generally subsidiaries of major European financial institutions whose solidity is itself monitored."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Et elle ne modifie pas la relation entre le souscripteur et les actifs sous-jacents, si un fonds coté dans le contrat suspend ses rachats, si un actif non coté se révèle illiquide, le souscripteur subit ces contraintes indépendamment du cadre prudentiel luxembourgeois."}),t.jsx(t.Fragment,{children:"And it does not alter the relationship between the subscriber and the underlying assets, if a listed fund in the contract suspends redemptions, if an unlisted asset turns out to be illiquid, the subscriber bears these constraints independently of the Luxembourg prudential framework."}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["Ce qui rend le triangle de sécurité remarquable n'est pas qu'il soit utile dans les circonstances normales, dans les circonstances normales, un contrat français fonctionne parfaitement bien. C'est qu'il est conçu précisément pour les circonstances anormales, celles que personne n'anticipe et qui surviennent pourtant. Les grandes fortunes s'intéressent au ",t.jsx("strong",{children:"triangle de sécurité luxembourgeois"})," non pas parce qu'elles anticipent une catastrophe, mais parce qu'elles ont compris que la gestion patrimoniale sérieuse consiste à construire des structures qui résistent aux événements improbables autant qu'aux événements probables. La ségrégation des actifs, le super-privilège et la surveillance continue ne sont pas trois arguments commerciaux, ce sont trois piliers juridiques qui, pris ensemble, offrent une protection sans équivalent en Europe."]}),t.jsxs(t.Fragment,{children:["What makes the security triangle remarkable is not that it is useful in normal circumstances, in normal circumstances, a French contract works perfectly well. It is that it is designed precisely for abnormal circumstances, those no one anticipates yet which occur. High-net-worth individuals care about the ",t.jsx("strong",{children:"Luxembourg security triangle"})," not because they anticipate a catastrophe, but because they have understood that serious wealth management means building structures that withstand improbable events as well as probable ones. Asset segregation, the super-privilege and continuous oversight are not three sales arguments, they are three legal pillars that, taken together, provide protection with no equivalent in Europe."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre patrimoine avec colbr","Structure your wealth with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers analysent votre situation patrimoniale et vous recommandent l'articulation optimale entre contrats français et luxembourgeois selon vos objectifs, votre mobilité et votre appétence pour les actifs alternatifs.","Our advisers anal
759yse your wealth situation and recommend the optimal combination of French and Luxembourg contracts according to your objectives, mobility and appetite for alternative assets.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le contrat luxembourgeois","Discover the Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/assurance-vie",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Voir l'assurance-vie française","See French life insurance")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision de souscription.","Informational document, not investment, legal or tax advice. We recommend consulting a qualified wealth adviser before any subscription decision.")})]})})}),t.jsx(re,{})]})},a_e=[.16,1,.3,1],o_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Novembre 2025","November 2025")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Fonds dédié et fonds interne dédié : gérer son assurance-vie comme un mandat","Dedicated fund and dedicated internal fund: managing life insurance as a mandate")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Personnalisation totale, actifs sur mesure, alignement avec le gestionnaire : ce que le FID change pour les grands patrimoines.","Total personalisation, bespoke assets, alignment with the manager: what the FID changes for large estates.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:a_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il existe un moment dans la construction d'un patrimoine où les enveloppes standard cessent d'être suffisantes. Non pas parce qu'elles sont mauvaises, les meilleurs contrats d'",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie luxembourgeoise"}),", comme leurs équivalents français, sont des outils remarquables pour la grande majorité des investisseurs. Mais parce que, passé un certain seuil, les besoins patrimoniaux deviennent trop spécifiques, trop personnalisés, trop complexes pour être satisfaits par un catalogue de fonds prédéfinis et une politique d'investissement standardisée. C'est précisément pour répondre à cette réalité que le cadre luxembourgeois a développé le ",t.jsx("strong",{children:"Fonds Interne Dédié"}),", un véhicule qui transforme l'assurance-vie en quelque chose qui ressemble davantage à un mandat de gestion privé qu'à un produit d'épargne."]}
759),t.jsxs(t.Fragment,{children:["There comes a moment in wealth building when standard wrappers cease to be sufficient. Not because they are bad, the best ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg life insurance contracts"}),", like their French equivalents, are remarkable tools for the vast majority of investors. But because, past a certain threshold, wealth-planning needs become too specific, too personalised, too complex to be satisfied by a catalogue of pre-defined funds and a standardised investment policy. It is precisely to address this reality that the Luxembourg framework developed the ",t.jsx("strong",{children:"Dedicated Internal Fund"}),", a vehicle that transforms life insurance into something closer to a private management mandate than a savings product."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que signifie concrètement « dédié »","What 'dedicated' actually means")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le mot ",t.jsx("strong",{children:"dédié"})," n'est pas un argument marketing. Il décrit une réalité juridique précise : le fonds est créé spécifiquement pour un souscripteur unique, il n'existe que pour lui, et il cesse d'exister lorsque le contrat prend fin. Il n'est pas partagé avec d'autres souscripteurs, il n'est pas soumis aux contraintes de liquidité d'un fonds collectif, il n'est pas contraint par les règles de valorisation quotidienne qui s'imposent aux OPCVM distribués au grand public."]}),t.jsxs(t.Fragment,{children:["The word ",t.jsx("strong",{children:"dedicated"})," is not a marketing argument. It describes a precise legal reality: the fund is created specifically for a single subscriber, it exists only for them, and it ceases to exist when the contract ends. It is not shared with other subscribers, it is not subject to the liquidity constraints of a collective fund, it is not bound by the daily valuation rules imposed on UCITS distributed to the general public."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette ",t.jsx("strong",{children:"dédicace totale"})," est ce qui rend le FID fondamentalement différent des unités de compte classiques disponibles dans n'importe quel contrat d'assurance-vie. Lorsqu'un investisseur souscrit une unité de compte dans un contrat standard, il rejoint un pool de souscripteurs dont les intérêts ne sont pas nécessairement alignés avec les siens. Le gérant du fonds doit gérer la liquidité pour l'ensemble des porteurs, maintenir une diversification compatible avec un cahier des charges collectif, et prendre des décisions qui conviennent à une clientèle hétérogène. Dans un FID, il n'y a qu'un seul investisseur, et toutes les décisions de gestion sont prises dans son seul intérêt."]}),t.jsxs(t.Fragment,{children:["This ",t.jsx("strong",{children:"total dedication"})," is what makes the FID fundamentally different from the classic unit-linked funds available in any life insurance contract. When an investor subscribes to a unit-linked fund in a standard contract, they join a pool of subscribers whose interests are not necessarily aligned with theirs. The fund manager must manage liquidity for all holders, maintain diversification compatible with a collective mandate, and make decisions that suit a heterogeneous clientele. In a FID, there is only one investor, and all management decisions are made solely in their interest."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La structure : comment un FID est construit","The structure: how a FID is built")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un ",t.jsx("strong",{children:"Fonds Interne Dédié"})," est un compartiment d'investissement créé à l'intérieur du contrat d'assurance-vie luxembourgeois. Techniquement, il prend la forme d'un actif représentatif du contrat, géré par un établissement financier mandaté, une banque privée, une société de gestion indépendante, un family office, selon une ",t.jsx("strong",{children:"politique d'investissement définie conjointement"})," avec le souscripteur."]}),t.jsxs(t.Fragment,{children:["A ",t.jsx("strong",{children:"Dedicated Internal Fun
759d"})," is an investment compartment created within the Luxembourg life insurance contract. Technically, it takes the form of a contract's representative asset, managed by a mandated financial institution, a private bank, an independent asset management company, a family office, according to an ",t.jsx("strong",{children:"investment policy defined jointly"})," with the subscriber."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La mise en place d'un FID suppose plusieurs étapes. Le souscripteur et son conseiller patrimonial définissent d'abord une ",t.jsx("strong",{children:"politique d'investissement détaillée"})," : allocation cible entre les grandes classes d'actifs, univers d'investissement autorisé, contraintes de risque, objectifs de rendement, préférences sectorielles ou géographiques, exclusions éventuelles. Cette politique est formalisée dans un document contractuel qui lie le gestionnaire mandaté et qui peut être révisé au fil du temps selon l'évolution de la situation patrimoniale du souscripteur."]}),t.jsxs(t.Fragment,{children:["Setting up a FID involves several steps. The subscriber and their wealth adviser first define a ",t.jsx("strong",{children:"detailed investment policy"}),": target allocation between major asset classes, authorised investment universe, risk constraints, return objectives, sectoral or geographic preferences, possible exclusions. This policy is formalised in a contractual document binding the mandated manager, which can be revised over time according to the evolution of the subscriber's wealth situation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'assureur luxembourgeois intervient comme ",t.jsx("strong",{children:"cadre prudentiel et fiscal"}),", il garantit que le FID respecte les règles réglementaires qui permettent de le qualifier d'actif représentatif d'un contrat d'assurance-vie, préservant ainsi tous les ",t.jsx("strong",{children:"avantages fiscaux et successoraux"})," attachés à cette enveloppe. Le gestionnaire mandaté intervient comme exécutant de la stratégie d'investissement, avec une latitude qui peut être très large selon les termes du mandat. Et le souscripteur intervient comme donneur d'orientation stratégique, sans pouvoir donner d'instructions directes sur des opérations spécifiques, condition indispensable au maintien de la qualification juridique du contrat."]}),t.jsxs(t.Fragment,{children:["The Luxembourg insurer acts as a ",t.jsx("strong",{children:"prudential and tax framework"}),", it ensures that the FID complies with the regulatory rules allowing it to qualify as a representative asset of a life insurance contract, thus preserving all the ",t.jsx("strong",{children:"tax and inheritance advantages"})," attached to this wrapper. The mandated manager acts as executor of the investment strategy, with latitude that can be very wide depending on the terms of the mandate. And the subscriber acts as a strategic direction giver, without being able to give direct instructions on specific operations, a condition essential to maintaining the legal qualification of the contract."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'univers d'investissement : ce que le FID permet que rien d'autre ne permet","The investment universe: what the FID enables that nothing else does")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"liberté d'investissement"})," du FID est ce qui le distingue le plus radicalement de toute autre enveloppe disponible en France ou au Luxembourg pour les contrats standards. Elle mérite d'être décrite précisément, car c'est souvent sur ce point que les investisseurs réalisent pleinement la différence."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"investment freedom"})," of the FID is what most radically distinguishes it from any other wrapper available in France or Luxembourg for standard contracts. It deserves to be described precisely, because it is often on this point that investors fully realise the difference."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dans un contrat d'",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie français"}),", même haut de gamme, l'univers d'investissement est limité aux actifs valorisables régulièrement et suffisamment liquides pour permettre les rachats que les s
759ouscripteurs peuvent demander à tout moment. Cette contrainte de liquidité exclut structurellement les fonds de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," véritablement illiquides, les fonds de dette privée sans fenêtre de liquidité régulière, les obligations corporate non cotées, les participations directes dans des entreprises non cotées et de nombreux actifs réels internationaux."]}),t.jsxs(t.Fragment,{children:["In a ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"French life insurance contract"}),", even a premium one, the investment universe is limited to assets that can be valued regularly and are sufficiently liquid to allow withdrawals that subscribers may request at any time. This liquidity constraint structurally excludes truly illiquid ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," funds, private debt funds without a regular liquidity window, unlisted corporate bonds, direct stakes in unlisted companies and many international real assets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FID n'est pas soumis à cette contrainte, parce que le souscripteur unique a accepté contractuellement les termes de liquidité de son fonds. Il peut intégrer des fonds de private equity classiques avec des appels de fonds progressifs sur plusieurs années, des instruments de dette privée au profil illiquide, des ",t.jsx(C,{to:"/produits-structures",className:"text-primary underline-offset-4 hover:underline",children:"produits structurés entièrement sur mesure"})," construits selon les convictions spécifiques de l'investisseur, des participations dans des fonds alternatifs non UCITS distribués uniquement à des investisseurs professionnels, et dans certains cas des actifs immobiliers internationaux ou des créances privées."]}),t.jsxs(t.Fragment,{children:["The FID is not subject to this constraint, because the sole subscriber has contractually accepted the liquidity terms of their fund. It can include classic private equity funds with capital calls spread over several years, illiquid private debt instruments, ",t.jsx(C,{to:"/produits-structures",className:"text-primary underline-offset-4 hover:underline",children:"fully bespoke structured products"})," built according to the investor's specific convictions, stakes in non-UCITS alternative funds distributed only to professional investors, and in some cases international real estate assets or private receivables."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Concrètement, un investisseur qui dispose d'un FID peut loger dans son assurance-vie luxembourgeoise une allocation réellement diversifiée entre actifs cotés et non cotés, liquides et illiquides, publics et privés, tout en bénéficiant de l'",t.jsx("strong",{children:"enveloppe fiscale et successorale de l'assurance-vie"})," sur l'intégralité de cette allocation. C'est une combinaison que rien d'autre ne permet d'atteindre dans le cadre réglementaire européen."]}),t.jsxs(t.Fragment,{children:["Concretely, an investor with a FID can house in their Luxembourg life insurance a truly diversified allocation between listed and unlisted, liquid and illiquid, public and private assets, while benefiting from the ",t.jsx("strong",{children:"tax and inheritance wrapper of life insurance"})," on the entirety of this allocation. It is a combination that nothing else allows within the European regulatory framework."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("FAS et FID sur mesure avec colbr","Bespoke FAS and FID with colbr")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Accès aux meilleurs assureurs luxembourgeois, sélection des gestionnaires mandatés, construction de portefeuilles uniques alignés avec vos convictions patrimoniales.","Access to the leading Luxembourg insurers, selection of mandated managers, construction of unique portfolios aligned with your wealth convictions.")}),t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer le contrat luxembourgeois colbr","Explore the colbr Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le choix du gestionnaire : la décision la plus importante","Choosing the manager: the most important decision")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Si la structure du FID est standardisée par le cadre réglementaire luxembourgeois, son contenu dépend entièrement du gestionnaire mandaté et de la qualité de sa relation avec le souscripteur. C'est pourquoi le choix du gestionnaire est de loin ",t.jsx("strong",{children:"la décision la plus importante"})," dans la mise en place d'un FID."]}),t.jsxs(t.Fragment,{children:["While the structure of the FID is standardised by the Luxembourg regulatory framework, its content depends entirely on the mandated manager and the quality of their relationship with the subscriber. That is 
759why the choice of manager is by far ",t.jsx("strong",{children:"the most important decision"})," in setting up a FID."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le gestionnaire idéal pour un FID n'est pas nécessairement le plus grand ni le plus réputé, c'est celui dont l'expertise couvre les classes d'actifs que le souscripteur souhaite intégrer dans son allocation, dont la ",t.jsx("strong",{children:"philosophie d'investissement"})," est alignée avec ses convictions, et dont la taille et l'organisation lui permettent de consacrer une attention réelle à un mandat individuel plutôt que de le noyer dans une masse de gestion standardisée."]}),t.jsxs(t.Fragment,{children:["The ideal manager for a FID is not necessarily the largest or most renowned, it is the one whose expertise covers the asset classes the subscriber wishes to integrate into their allocation, whose ",t.jsx("strong",{children:"investment philosophy"})," is aligned with their convictions, and whose size and organisation allow them to devote real attention to an individual mandate rather than drowning it in a mass of standardised management."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les banques privées de premier plan disposent généralement des infrastructures nécessaires pour gérer des FID complexes intégrant des actifs illiquides, avec des équipes dédiées aux mandats sur mesure et des accès aux fonds de private equity et de dette privée les plus sélectifs. Les sociétés de gestion indépendantes spécialisées offrent parfois une ",t.jsx("strong",{children:"agilité et une proximité"})," avec le souscripteur que les grandes structures ne peuvent pas toujours garantir. Les family offices multi-clients, lorsqu'ils sont agréés pour intervenir dans le cadre luxembourgeois, apportent une perspective véritablement patrimoniale plutôt que purement financière."]}),t.jsxs(t.Fragment,{children:["Leading private banks generally have the infrastructure needed to manage complex FIDs incorporating illiquid assets, with teams dedicated to bespoke mandates and access to the most selective private equity and private debt funds. Specialised independent asset managers sometimes offer an ",t.jsx("strong",{children:"agility and closeness"})," to the subscriber that large structures cannot always guarantee. Multi-client family offices, when authorised to operate under the Luxembourg framework, bring a truly wealth-oriented rather than purely financial perspective."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"rémunération du gestionnaire"})," mérite une attention particulière. Un gestionnaire rémunéré uniquement aux honoraires sur encours, sans rétrocessions de la part des fonds dans lesquels il investit, présente une structure d'intérêts mieux alignée avec celle du souscripteur qu'un gestionnaire qui perçoit des commissions sur les produits distribués. Cette transparence sur la structure de rémunération est une condition du conseil véritablement indépendant."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"manager's remuneration"})," deserves particular attention. A manager remunerated solely by fees on assets under management, without retrocessions from the funds in which they invest, presents an interest structure better aligned with that of the subscriber than a manager who receives commissions on distributed products. This transparency on the remuneration structure is a condition of truly independent advice."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La gouvernance : comment le souscripteur pilote sans diriger","Governance: how the subscriber steers without directing")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"condition juridique fondamentale"})," qui préserve la qualification d'assurance-vie, et donc tous les avantages fiscaux et successoraux qui y sont attachés, est que le souscripteur ne donne pas d'instructions directes sur des opérations spécifiques. Il ne peut pas appeler son gestionnaire pour lui dire d'acheter telle action aujourd'hui ou de vendre tel fonds demain. S'il le faisait, le contrat risquerait d'être requalifié en compte-titres ordinaire, avec une ",t.jsx("strong",{children:"imposition immédiate de toutes les plus-values latentes"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"fundamental legal condition"})," that preserves the life-insurance qualification, and thus all the tax and inheritance advantages attached to it, is that the subscriber does not give direct instructions on specific operations. They cannot call their manager to tell them to buy a particular share today or sell a particular fund tomorrow. If they did, the contract could be requalified as an ordinary securities account, with ",t.jsx("strong",{children:"immediate taxation of all latent capital gains"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En pratique, cette c
759ontrainte est moins limitative qu'elle n'y paraît, et les investisseurs qui travaillent avec des gestionnaires expérimentés dans le cadre luxembourgeois savent la naviguer avec fluidité. Le souscripteur définit et révise la ",t.jsx("strong",{children:"politique d'investissement"}),", allocation entre grandes classes d'actifs, univers autorisé, contraintes de risque, orientations sectorielles ou géographiques. Il peut demander à son gestionnaire de réduire l'exposition aux actions ou d'augmenter la poche private equity lors de la révision annuelle de la stratégie. Il peut exprimer des vues sur des thématiques d'investissement qu'il souhaite voir intégrer ou exclure. Il peut changer de gestionnaire si la relation ne le satisfait pas."]}),t.jsxs(t.Fragment,{children:["In practice, this constraint is less limiting than it appears, and investors who work with managers experienced in the Luxembourg framework know how to navigate it smoothly. The subscriber defines and revises the ",t.jsx("strong",{children:"investment policy"}),", allocation between major asset classes, authorised universe, risk constraints, sectoral or geographic orientations. They can ask their manager to reduce equity exposure or increase the private equity allocation during the annual strategy review. They can express views on investment themes they would like to see integrated or excluded. They can change manager if the relationship is unsatisfactory."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce niveau d'influence effective sur la gestion est considérable. Ce n'est pas un mandat de gestion libre où l'investisseur décide de tout, c'est une ",t.jsx("strong",{children:"co-construction de la stratégie"})," dans laquelle le gestionnaire garde la main sur l'exécution et le souscripteur conserve le pilotage de l'orientation générale. Pour les investisseurs qui ont des convictions fortes et souhaitent les voir reflétées dans leur allocation, cette gouvernance est une architecture satisfaisante."]}),t.jsxs(t.Fragment,{children:["This level of effective influence over management is considerable. It is not a discretionary mandate where the investor decides everything, it is a ",t.jsx("strong",{children:"co-construction of strategy"})," in which the manager keeps control of execution and the subscriber retains steering of the general direction. For investors with strong convictions who wish to see them reflected in their allocation, this governance is a satisfactory architecture."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le FID et la transmission : une dimension souvent négligée","The FID and succession: an often-neglected dimension")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FID est principalement présenté comme un outil de gestion, et il l'est. Mais ses implications en matière de ",t.jsx("strong",{children:"transmission patrimoniale"})," méritent d'être explorées, car elles ajoutent une dimension significative à sa valeur pour les grands patrimoines."]}),t.jsxs(t.Fragment,{children:["The FID is primarily presented as a management tool, and it is. But its implications for ",t.jsx("strong",{children:"wealth succession"})," deserve to be explored, because they add a significant dimension to its value for large estates."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'assurance-vie luxembourgeoise avec FID bénéficie du même ",t.jsx("strong",{children:"régime successoral dérogatoire"})," que n'importe quel contrat d'assurance-vie : les capitaux transmis au décès bénéficient des abattements de 152 500 € par bénéficiaire désigné pour les versements effectués avant 70 ans, avec un prélèvement forfaitaire de 20 % puis 31,25 % au-delà. Ce régime s'applique à ",t.jsx("strong",{children:"l'intégralité de la valeur du FID"})," au moment du décès, y compris aux actifs illiquides qui y sont logés."]}),t.jsxs(t.Fragment,{children:["Luxembourg life insurance with a FID benefits from the same ",t.jsx("strong",{children:"derogatory inheritance regime"})," as any life insurance contract: the capital transmitted upon death benefits from allowances of €152,500 per designated beneficiary for contributions made before age 70, with a flat-rate levy of 20% then 31.25% beyond. This regime applies to the ",t.jsx("strong",{children:"entirety of the FID's value"})," at the time of death, including the illiquid assets housed within it."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est ici que réside un avantage que peu d'investisseurs anticipent. Des actifs de ",t.jsx("strong",{children:"private equity ou de dette privée"})," détenus en direct par un investisseur tomberaient dans sa succession ordinaire, soumis aux droits de succession de droit commun et contraignant potentiellement les héritiers à une liquidation forcée dans de
759s conditions défavorables pour régler la fiscalité successorale. Logés dans un FID, ces mêmes actifs bénéficient du régime successoral de l'assurance-vie, avec ses ",t.jsx("strong",{children:"abattements généreux"})," et sa transmissibilité hors succession. La différence fiscale peut être considérable pour les patrimoines importants intégrant une fraction significative d'actifs non cotés."]}),t.jsxs(t.Fragment,{children:["This is where an advantage that few investors anticipate lies. ",t.jsx("strong",{children:"Private equity or private debt"})," assets held directly by an investor would fall into their ordinary estate, subject to standard inheritance duties and potentially forcing heirs into a forced liquidation under unfavourable conditions to settle inheritance tax. Housed in a FID, these same assets benefit from the life insurance succession regime, with its ",t.jsx("strong",{children:"generous allowances"})," and transferability outside the estate. The tax difference can be considerable for large estates incorporating a significant fraction of unlisted assets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"clause bénéficiaire"})," du contrat permet par ailleurs d'organiser la transmission du FID avec une précision et une souplesse que le droit successoral ordinaire ne permet pas. Un démembrement de la clause bénéficiaire, usufruit au conjoint survivant, nue-propriété aux enfants, peut être combiné avec les actifs spécifiques logés dans le FID pour construire une architecture de transmission véritablement sur mesure."]}),t.jsxs(t.Fragment,{children:["The contract's ",t.jsx("strong",{children:"beneficiary clause"})," also allows the succession of the FID to be organised with a precision and flexibility that ordinary succession law does not permit. A split of the beneficiary clause, usufruct to the surviving spouse, bare ownership to the children, can be combined with the specific assets housed in the FID to build a truly bespoke succession architecture."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("À partir de quand un FID est-il pertinent","When a FID becomes relevant")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FID n'est pas accessible à tous les budgets, et ses avantages spécifiques ne se justifient pas en dessous d'un certain niveau de patrimoine. Les seuils d'accès varient selon les assureurs luxembourgeois et les gestionnaires mandatés, mais la pratique du marché converge vers des minimums d'encours de l'ordre d'",t.jsx("strong",{children:"un à deux millions d'euros"})," pour un FID classique, et davantage pour les structures les plus complexes intégrant des actifs illiquides significatifs."]}),t.jsxs(t.Fragment,{children:["The FID is not accessible to all budgets, and its specific advantages are not justified below a certain level of wealth. Access thresholds vary among Luxembourg insurers and mandated managers, but market practice converges towards minimum assets of the order of ",t.jsx("strong",{children:"one to two million euros"})," for a standard FID, and more for the most complex structures incorporating significant illiquid assets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ces seuils ne sont pas arbitraires. Ils reflètent les ",t.jsx("strong",{children:"coûts fixes réels"})," de création et de maintenance d'un véhicule dédié, frais juridiques de mise en place, coûts opérationnels de la banque dépositaire, ressources de l'assureur pour le suivi prudentiel, temps du gestionnaire pour une gestion véritablement individualisée. En dessous d'un certain encours, ces coûts fixes représentent une fraction trop importante de la valeur du fonds pour que l'économie générale de l'opération soit favorable."]}),t.jsxs(t.Fragment,{children:["These thresholds are not arbitrary. They reflect the ",t.jsx("strong",{children:"real fixed costs"})," of creating and maintaining a dedicated vehicle, legal set-up fees, operational costs of the custodian bank, insurer resources for prudential monitoring, manager time for truly individualised management. Below a certain asset level, these fixed costs represent too large a fraction of the fund's value for the overall economics of the operation to be favourable."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les encours compris entre ",t.jsx("strong",{children:"500 000 € et un million d'euros"}),", le ",t.jsx("strong",{children:"Fonds d'Assurance Spécialisé, le FAS"}),", constitue une alternative pertinente qui offre une personnalisation significative à des seuils d'accès inférieurs à ceux du FID. La différence principale entre les deux véhicules est le degré de personnalisation et l'accès aux actifs les plus illiquides, le FAS est plus standardisé dans sa structure, le FID est entièrement sur mesure dans son contenu."]}),t.jsxs(t.Fragment,{children:["For assets between ",t.jsx("strong",{children:"€500,000 and one million euros"}),", the ",t.jsx("strong",{children:"Specialised Insurance Fund, the FAS"}),", is a relevant alternative offering significant personalisation at lower access thresholds than the FID. The main difference between the two vehicles is the degree of personalisation and access to the most illiquid assets, the FAS is more standardised in its structure, the FID is entirely bespoke in its content."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que le FID révèle sur la gestion patrimoniale des grands patrimoines","What the FID reveals about large estate wealth management")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Il y a quelque chose de révélateur dans l'existence même du FID. Il dit quelque chose sur la façon dont les grands patrimoines sont gérés, et sur ce qui les distingue de la gestion standard."}),t.jsx(t.Fragment,{children:"There is something revealing about the very existence of the FID. It says something about how large estates are managed, and about what distinguishes them from standard management."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La gestion patrimoniale des grands patrimoines n'est pas une version plus chère de la gestion standard. C'est une approche ",t.jsx("strong",{children:"fondamentalement différente"}),", dans laquelle l'enveloppe fiscale et l'allocation d'actifs sont co-construites plutôt que séparées, dans laquelle les actifs illiquides sont intégrés dans une logique de portefeuille global plutôt que traités comme des satellites déconnectés, et dans laquelle la transmission est pensée en amont plutôt qu'organisée dans l'urgence."]}),t.jsxs(t.Fragment,{children:["Wealth management for large estates is not a more expensive version of standard management. It is a ",t.jsx("strong",{children:"fundamentally different approach"}),", in which the tax wrapper and asset allocation are co-constructed rather than separated, in which illiquid assets are integrated into a global portfolio logic rather than treated as disconnected satellites, and in which succession is planned upstream rather than organised in haste."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le FID est l'expression la plus aboutie de cette approche dans le cadre de l'assurance-vie. Il transforme une enveloppe fiscale standardisée en un ",t.jsx("strong",{children:"outil patrimonial sur mesure"}
759),", capable d'accueillir n'importe quelle stratégie d'allocation dans le respect du cadre réglementaire qui lui confère sa valeur. Ce n'est pas un produit, c'est une ",t.jsx("strong",{children:"architecture"}),"."]}),t.jsxs(t.Fragment,{children:["The FID is the most accomplished expression of this approach within the life insurance framework. It transforms a standardised tax wrapper into a ",t.jsx("strong",{children:"bespoke wealth tool"}),", capable of accommodating any allocation strategy within the regulatory framework that gives it its value. It is not a product, it is an ",t.jsx("strong",{children:"architecture"}),"."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["Le Fonds Interne Dédié n'est pas pour tout le monde, et ce n'est pas un défaut. Il est conçu pour les investisseurs dont la ",t.jsx("strong",{children:"complexité patrimoniale"})," a dépassé ce que les solutions standard peuvent traiter, ceux qui ont besoin d'une enveloppe fiscale capable de contenir leur allocation réelle, pas une allocation simplifiée qui s'adapte aux contraintes de l'enveloppe. Pour eux, il représente ce que la gestion privée a de plus sophistiqué à offrir : la ",t.jsx("strong",{children:"liberté totale dans un cadre parfaitement structuré"}),"."]}),t.jsxs(t.Fragment,{children:["The Dedicated Internal Fund is not for everyone, and that is not a flaw. It is designed for investors whose ",t.jsx("strong",{children:"wealth complexity"})," has exceeded what standard solutions can handle, those who need a tax wrapper capable of containing their actual allocation, not a simplified allocation that adapts to the constraints of the wrapper. For them, it represents what private management has most sophisticated to offer: ",t.jsx("strong",{children:"total freedom within a perfectly structured framework"}),"."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Construire votre FID avec colbr","Build your FID with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers vous accompagnent dans la définition de votre politique d'investissement, la sélection du gestionnaire mandaté et la construction d'un portefeuille FID aligné avec vos objectifs patrimoniaux.","Our advisers support you in defining your investment policy, selecting the mandated manager and building a FID portfolio aligned with your wealth objectives.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le contrat luxembourgeois","Discover the Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Notre offre gestion privée","Our private management offer")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le FID est réservé à des investisseurs disposant des connaissances et de l'expérience nécessaires pour en comprendre les caractéristiques et les risques. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision.","Informational document, not investment, legal or tax advice. The FID is reserved for investors with the knowledge and experience necessary to understand its characteristics and risks. We recommend consulting a qualified wealth adviser before any decision.")})]})})}),t.jsx(re,{})]})},l_e=[.16,1,.3,1],c_e=()=>{const{tr:e,lang:n}=K(),r=(l,c)=>n==="en"?c:l,i="https://colbr.co/blog/credit-lombard-luxembourgeois",s=e("Crédit Lombard au Luxembourg : taux d'avance, coût, appel de marge","Lombard loan in Luxembourg: advance rate, cost, margin call"),a=e("Comment fonctionne un crédit Lombard adossé à un contrat luxembourgeois : taux d'avance par classe d'actifs, coût réel, seuil d'appel de marge et cas d'usage. Guide 2026.","How a Lombard loan backed by a Luxembourg contract works: advance rates by asset class, real cost, margin call thresholds and use cases."),o=[{q:e("Quel est le taux d'avance d'un crédit Lombard luxembourgeois ?","What is the advance rate of a Luxembourg Lombard loan?"),a:e("Il dépend de la classe d'actifs nantie : 80 à 90 % pour des obligations souveraines de qualité, 60 à 75 % pour des fonds actions diversifiés, et une quotité très réduite ou nulle sur les actifs illiquides (private equity, dette privée).","It depends on the pledged asset class: 80–90% for high-quality sovereign bonds, 60–75% for diversified equity funds, and a very low or nil ratio on illiquid assets (private equity, private debt).")},{q:e("Quel montant minimum pour un crédit Lombard ?","What is the minimum amount for a Lombard loan?"),a:e("L'intérêt économique apparaît généralement à partir de 500 000 € d'encours nanti sur un contrat luxembourgeois. Sur un compte-titres, les établissements que nous mobilisons étudient les dossiers dès 300 000 € de portefeuille.","The economics generally work from €500,000 of pledged assets on a Luxembourg contract. On a securities account, the institutions we work with review cases from €300,000.")},{q:e("Combien coûte un crédit Lombard ?","How much does a Lombard loan cost?"),a:e("Le taux est indexé sur une référence de marché (€STR, SOFR, SARON) majorée d'une marge dépen
759dant de la qualité du collatéral et de la taille du dossier. Les intérêts sont payés périodiquement, le capital remboursé in fine.","The rate is indexed to a market benchmark (€STR, SOFR, SARON) plus a margin reflecting collateral quality and deal size. Interest is paid periodically, principal repaid at maturity.")},{q:e("Que se passe-t-il en cas d'appel de marge ?","What happens in the event of a margin call?"),a:e("Si la valeur du collatéral baisse sous le seuil contractuel, la banque demande un apport de liquidités, un nantissement complémentaire ou un remboursement partiel. À défaut, elle peut faire liquider les actifs nantis, au pire moment de marché.","If collateral value falls below the contractual threshold, the bank requests additional cash, further pledge or partial repayment. Failing that, it may liquidate the pledged assets, at the worst point in the market.")},{q:e("Le crédit Lombard est-il fiscalement avantageux ?","Is a Lombard loan tax-efficient?"),a:e("Emprunter contre son portefeuille évite le rachat du contrat et donc l'imposition immédiate des plus-values latentes. Il n'y a pas d'avantage fiscal en soi : l'imposition est différée, pas supprimée.","Borrowing against the portfolio avoids a withdrawal and therefore immediate taxation of latent gains. There is no tax advantage as such: taxation is deferred, not removed.")}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:`${s} | Colbr`}),t.jsx("meta",{name:"description",content:a}),t.jsx("link",{rel:"canonical",href:i}),t.jsx("meta",{property:"og:title",content:`${s} | Colbr`}),t.jsx("meta",{property:"og:description",content:a}),t.jsx("meta",{property:"og:type",content:"article"}),t.jsx("meta",{property:"og:url",content:i}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),t.jsx("meta",{name:"twitter:title",content:`${s} | Colbr`}),t.jsx("meta",{name:"twitter:description",content:a}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Article",headline:s,description:a,inLanguage:n==="en"?"en":"fr",mainEntityOfPage:i,author:{"@type":"Organization",name:"Colbr"},publisher:{"@type":"Organization",name:"Colbr"}})}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:o.map(l=>({"@type":"Question",name:l.q,acceptedAnswer:{"@type":"Answer",text:l.a}}))})})]}),t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Décembre 2025","December 2025")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Crédit Lombard adossé à un contrat luxembourgeois : levier ou piège ?","Lombard loan backed by a Luxembourg contract: leverage or trap?")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Nantissement, effet de levier, appel de marge : ce que l'investisseur doit comprendre avant d'emprunter sur son patrimoine.","Pledging, leverage, margin call: what the investor must understand before borrowing against their wealth.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:l_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"crédit Lombard"})," est l'un de ces outils que les banquiers privés mentionnent avec une certaine désinvolture, comme s'il s'agissait d'une évidence pour quiconque gère un patrimoine significatif. Emprunter sur son portefeuille pour investir davantage, financer une acquisition sans liquider ses actifs, optimiser sa trésorerie sans rompre la dynamique de capitalisation d'un contrat bien construit, l'argumentaire est séduisant, et il n'est pas faux. Mais le crédit Lombard est aussi l'un des rares outils patrimoniaux dont le potentiel de création de valeur et le potentiel de destruction de valeur sont aussi symétriques. Bien utilisé, il est un ",t.jsx("strong",{children:"levier remarquablement efficace"}),". Mal utilisé, ou utilisé dans un mauvais contexte de marché, il peut transformer une situation patrimoniale confortable en une spirale de pertes forcées qui laisse des traces durables."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Lombard loan"})," is one of those tools that private bankers mention with a certain casualness, as if it were an obvious choice for anyone managing a significant estate. Borrowing against one's portfolio to invest more, financing an acquisition without liquidating assets, optimising cash flow without breaking the compounding dynamic of a well-built contract, the argument is seductive, and it is not wrong. But the Lombard loan is also one of the rare wealth-planning tools whose potential for value creation and potential for value destruction are so symmetrical. Well used, it is a ",t.jsx("strong",{children:"remarkably effective lever"}),". Badly used, or used in an unfavourable market context, it can turn a comfortable wealth situation into a spiral of forced losses that leave lasting scars."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le mécanisme : nantir pour emprunter","The mechanism: pledge to borrow")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le principe du crédit Lombard est ancien et simple. Un investisseur ",t.jsx("strong",{children:"nantit les actifs"})," de son contrat d'assurance-vie au profit d'une banque, qui lui consent en échange un prêt dont le montant est fonction de la valeur et de la nature des actifs nantis. Le contrat continue à fonctionner normalement, les actifs restent investis, les plus-values s'accumulent en franchise d'impôt, la politique d'investissement n'est pas interrompue. L'investisseur dispose simultanément de liquidités qu'il peut utiliser librement et d'un portefeuille qui continue à travailler."]}),t.jsxs(t.Fragment,{children:["The principle of the Lombard loan is ancient and simple. An investor ",t.jsx("strong",{children:"pledges the assets"})," of their life insurance contract in favour of a bank, which in return grants a loan whose amount depends on the value and nature of the pledged assets. The contract continues to function normally, the assets remain invested, capital gains accumulate tax-free, the investment policy is not interrupted. The investor simultaneously has liquidity they can use freely and a portfolio that continues to work."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dans le cadre d'un ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"contrat luxembourgeois"}),", le nantissement prend une forme spécifique liée à l'architecture juridique du ",t.jsx(C,{to:"/blog/triangle-securite-luxembourgeois",className:"text-primary underline-offset-4 hover:underline",children:"triangle de sécurité"}),". Les actifs ségrégués chez la banque dépositaire font l'objet d'un engagement de nantissement au profit de la banque prêteuse, qui peut être la banque dépositaire elle-même ou un établissement tiers agréé. Le Commissariat aux Assurances surveille la cohérence entre le nantissement accordé et les exigences prudentielles du contrat."]}),t.jsxs(t.Fragment,{children:["Within a ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg contract"}),", the pledge takes a specific form linked to the legal architecture of the ",t.jsx(C,{to:"/blog/triangle-securite-luxembourgeois",className:"text-primary underline-offset-4 hover:underline",children:"security triangle"}),". Assets segregated with the custodian bank are subject to a pledge commitment in favour of the lending bank, which may be the custodian bank itself or an approved third-party institution. The Commissariat aux Assurances monitors the consistency between the pledge granted and the prudential requirements of the contract."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"taux d'avance"}),", la fraction de la valeur des actifs que la banque accepte de prêter, varie selon la nature des actifs nantis. Les obligations souveraines de qualité permettent d'obtenir des avances élevées, souvent entre 80 et 90% de leur valeur. Les fonds actions diversifiés permettent des avances de 60 à 75%. Les actifs illiquides, ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}),", dette privée, actifs alternatifs, permettent des avances plus limitées, parfois nulles selon les banques, c
759ar leur valorisation est moins fréquente et leur liquidation en cas de difficulté est plus complexe."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"advance rate"}),", the fraction of asset value the bank agrees to lend, varies according to the nature of the pledged assets. High-quality sovereign bonds allow for high advances, often between 80% and 90% of their value. Diversified equity funds allow advances of 60% to 75%. Illiquid assets, ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}),", private debt, alternative assets, allow for more limited advances, sometimes zero depending on the bank, because their valuation is less frequent and their liquidation in case of difficulty is more complex."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi le contrat luxembourgeois est particulièrement adapté","Why the Luxembourg contract is particularly suited")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le crédit Lombard peut être adossé à n'importe quel portefeuille financier significatif, compte-titres, contrat d'",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie française"}),", portefeuille en gestion privée. Mais le contrat luxembourgeois présente plusieurs caractéristiques qui en font un support particulièrement adapté à cette technique."]}),t.jsxs(t.Fragment,{children:["A Lombard loan can be backed by any significant financial portfolio, securities account, French ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"life insurance contract"}),", private management portfolio. But the Luxembourg contract has several characteristics that make it a particularly suitable vehicle for this technique."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La première est la ",t.jsx("strong",{children:"taille des encours"}),". Le crédit Lombard présente un intérêt économique à partir d'un certain niveau d'encours, généralement au-delà de 500 000 € de valeur nantie, en dessous duquel les coûts fixes de mise en place et de gestion réduisent l'attractivité de l'opération. Les contrats luxembourgeois s'adressant par nature à des patrimoines significatifs, la taille des encours est rarement un obstacle."]}),t.jsxs(t.Fragment,{children:["The first is the ",t.jsx("strong",{children:"size of the assets"}),". A Lombard loan has economic interest above a certain asset level, generally beyond €500,000 of pledged value, below which the fixed set-up and management costs reduce the attractiveness of the operation. Luxembourg contracts by nature target significant estates, so asset size is rarely an obstacle."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La deuxième est la ",t.jsx("strong",{children:"diversification des actifs"}),". Un contrat luxembourgeois avec FAS ou FID peut intégrer une allocation véritablement diversifiée entre actifs liquides et illiquides, ce qui permet d'optimiser la base nantissable en favorisant les actifs les plus liquides comme support du nantissement, tout en conservant les actifs illiquides dans une poche séparée non grevée. Cette granularité dans la gestion du collatéral n'est pas possible avec un contrat standard dont tous les actifs ont la même nature."]}),t.jsxs(t.Fragment,{children:["The second is the ",t.jsx("strong",{children:"diversification of assets"}),". A Luxembourg contract with a FAS or FID can incorporate a truly diversified allocation between liquid and illiquid assets, which allows optimising the pledgeable base by favouring the most liquid assets as collateral support, while keeping illiquid assets in a separate, unencumbered pocket. This granularity in collateral management is not possible with a standard contract whose assets are all of the same nature."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La troisième est la ",t.jsx("strong",{children:"stabilité juridique du cadre"}),". Le triangle de sécurité luxembourgeois offre à la banque prêteuse une visibilité sur la qualité du collatéral qui facilite l'octroi du crédit à des conditions favorables. La ségrégation des actifs et le ",t.jsx("strong",{children:"super-privilège des souscripteurs"})," sont des garanties que les banques prêteuses intègrent dans leur analyse de risque, ce qui se traduit généralement par des conditions d'emprunt légèrement meilleures que sur des actifs détenus dans une structure moins protégée."]}),t.jsxs(t.Fragment,{children:["The third is the ",t.jsx("strong",{children:"legal stability of the framework"}),". The Luxembourg security triangle gives the lending bank visibility on the quality of collateral that facilitates granting credit on favourable terms. Asset segregation and the ",t.jsx("strong",{children:"super-privilege of subscribers"})," are guarantees that lending banks integrate into their risk analysis, which generally translates into slightly better borrowing conditions than on assets held in a less protected structure."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les usages légitimes : quand le crédit Lombard crée vraiment de la valeur","Legitimate uses: when the Lombard loan really creates value")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le crédit Lombard n'est pas une fin en soi, c'est un outil dont la pertinence dépend entièrement de l'usage auquel il est destiné. Plusieurs applications créent une ",t.jsx("strong",{children:"valeur patr
759imoniale réelle et documentée"}),"."]}),t.jsxs(t.Fragment,{children:["The Lombard loan is not an end in itself, it is a tool whose relevance depends entirely on the use to which it is put. Several applications create ",t.jsx("strong",{children:"real and documented wealth value"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"financement d'une acquisition immobilière"})," sans liquidation du portefeuille est l'usage le plus classique et le plus légitime. Un investisseur qui souhaite acquérir un bien immobilier peut utiliser un crédit Lombard adossé à son contrat luxembourgeois pour financer tout ou partie de l'acquisition, plutôt que de racheter une fraction de son contrat. L'arbitrage est favorable dès lors que le taux du crédit Lombard est inférieur au rendement attendu des actifs maintenus en portefeuille, ce qui est souvent le cas lorsque le portefeuille est investi en actifs de croissance sur un horizon long. L'investisseur conserve l'intégralité de l'exposition de son portefeuille, continue à bénéficier de la capitalisation en franchise d'impôt de son contrat, et finance l'acquisition à un taux généralement inférieur à celui d'un ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"crédit immobilier"})," classique pour les profils éligibles."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"financing of a real estate acquisition"})," without portfolio liquidation is the most classic and most legitimate use. An investor wishing to acquire a property can use a Lombard loan backed by their Luxembourg contract to finance all or part of the acquisition, rather than withdrawing from their contract. The arbitrage is favourable as long as the Lombard loan rate is lower than the expected return of the assets kept in portfolio, which is often the case when the portfolio is invested in growth assets over a long horizon. The investor retains the full exposure of their portfolio, continues to benefit from the tax-free compounding of their contract, and finances the acquisition at a rate generally lower than that of a conventional ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"real estate loan"})," for eligible profiles."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"financement d'une opportunité d'investissement ponctuelle"})," suit la même logique. Un entrepreneur qui identifie une opportunité de co-investissement dans une société non cotée, un investisseur qui souhaite saisir une fenêtre d'entrée sur un fonds de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," sélectif, un acheteur qui veut acquérir un actif tangible sans attendre la liquidation progressive de positions existantes, dans toutes ces situations, le crédit Lombard permet de mobiliser des liquidités rapidement sans rompre la continuité de la gestion patrimoniale en place."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"financing of a one-off investment opportunity"})," follows the same logic. An entrepreneur who identifies a co-investment opportunity in an unlisted company, an investor wishing to seize an entry window into a selective ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," fund, a buyer wishing to acquire a tangible asset without waiting for the gradual liquidation of existing positions, in all these situations, the Lombard loan allows mobilising liquidity quickly without breaking the continuity of the existing wealth management."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"gestion de la trésorerie courante"})," est une troisième application, plus quotidienne. Certains entrepreneurs et dirigeants dont le patrimoine est très concentré dans des actifs peu liquides utilisent le crédit Lombard comme une ",t.jsx("strong",{children:"facilité de caisse sophistiquée"}),", une ligne disponible que l'on tire ponctuellement pour couvrir des besoins de liquidités temporaires sans être c
759ontraint de vendre des actifs à des moments potentiellement défavorables."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"management of current cash flow"})," is a third application, more everyday. Some entrepreneurs and executives whose wealth is highly concentrated in illiquid assets use the Lombard loan as a ",t.jsx("strong",{children:"sophisticated cash facility"}),", a line drawn occasionally to cover temporary liquidity needs without being forced to sell assets at potentially unfavourable times."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'effet de levier : la mécanique qui amplifie tout","Leverage: the mechanism that amplifies everything")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dès lors que le crédit Lombard est utilisé pour réinvestir dans des actifs financiers, plutôt que pour financer une acquisition immobilière ou un besoin de liquidités, il crée un ",t.jsx("strong",{children:"effet de levier"})," dont la compréhension précise est indispensable avant tout engagement."]}),t.jsxs(t.Fragment,{children:["Whenever the Lombard loan is used to reinvest in financial assets, rather than to finance a real estate acquisition or a liquidity need, it creates a ",t.jsx("strong",{children:"leverage effect"})," whose precise understanding is essential before any commitment."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'effet de levier ",t.jsx("strong",{children:"amplifie les rendements"})," dans les marchés favorables. Un investisseur qui dispose de 2 millions d'euros dans son contrat, emprunte 500 000 € et les réinvestit dans son portefeuille se retrouve avec une exposition de 2,5 millions d'euros. Si le portefeuille progresse de 10%, il gagne 250 000 € sur une base de fonds propres de 2 millions, soit un rendement de 12,5% sur ses fonds propres, déduction faite des intérêts du crédit, au lieu de 10% sans levier. L'amplification est mécanique et proportionnelle au niveau de levier."]}),t.jsxs(t.Fragment,{children:["Leverage ",t.jsx("strong",{children:"amplifies returns"})," in favourable markets. An investor with €2 million in their contract, borrowing €500,000 and reinvesting it in their portfolio, ends up with an exposure of €2.5 million. If the portfolio rises by 10%, they gain €250,000 on an equity base of €2 million, a return of 12.5% on their equity, net of credit interest, instead of 10% without leverage. The amplification is mechanical and proportional to the level of leverage."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'effet de levier ",t.jsx("strong",{children:"amplifie les pertes dans les marchés défavorables"})," avec exactement la même intensité. Si le portefeuille perd 10%, la perte est de 250 000 € sur une base de fonds propres de 2 millions, soit un rendement de moins 12,5% sur les fonds propres, auquel s'ajoutent les intérêts du crédit. Et contrairement au scénario de hausse, la perte ne s'arrête pas là, elle déclenche potentiellement un ",t.jsx("strong",{children:"appel de marge"}),"."]}),t.jsxs(t.Fragment,{children:["Leverage ",t.jsx("strong",{children:"amplifies losses in unfavourable markets"})," with exactly the same intensity. If the portfolio loses 10%, the loss is €250,000 on an equity base of €2 million, a return of minus 12.5% on equity, plus credit interest. And unlike the rising scenario, the loss does not stop there, it potentially triggers a ",t.jsx("strong",{children:"margin call"}),"."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Structurer votre levier avec colbr","Structure your leverage with colbr")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Nos conseillers analysent votre situation patrimoniale et vous recommandent une utilisation raisonnée du crédit Lombard, avec modélisation des scénarios et identification des seuils de sécurité.","Our advisers anal
759yse your wealth situation and recommend a sensible use of the Lombard loan, with scenario modelling and identification of safety thresholds.")}),t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer le contrat luxembourgeois colbr","Explore the colbr Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'appel de marge : le risque que l'on sous-estime toujours","The margin call: the risk that is always underestimated")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'",t.jsx("strong",{children:"appel de marge"})," est le mécanisme le plus mal compris, et le plus dangereux, du crédit Lombard. Il mérite une description précise et sans euphémisme."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"margin call"})," is the most misunderstood, and most dangerous, mechanism of the Lombard loan. It deserves a precise description without euphemism."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Lorsque la valeur des actifs nantis baisse, le ratio entre la valeur du prêt et la valeur du collatéral, le ",t.jsx("strong",{children:"loan-to-value"}),", se dégrade. Si ce ratio dépasse le seuil contractuellement fixé par la banque, elle peut émettre un appel de marge : une demande de ",t.jsx("strong",{children:"remboursement partiel du prêt"})," ou d'apport de collatéral supplémentaire, dans un délai très court, souvent 24 à 72 heures."]}),t.jsxs(t.Fragment,{children:["When the value of pledged assets falls, the ratio between the loan value and the collateral value, the ",t.jsx("strong",{children:"loan-to-value"}),", deteriorates. If this ratio exceeds the threshold contractually set by the bank, it can issue a margin call: a demand for ",t.jsx("strong",{children:"partial repayment of the loan"})," or additional collateral, within a very short timeframe, often 24 to 72 hours."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Si l'investisseur ne peut pas répondre à l'appel de marge dans le délai imparti, la banque est en droit de ",t.jsx("strong",{children:"liquider une fraction des actifs nantis"})," pour ramener le ratio loan-to-value dans les limites contractuelles. Cette liquidation forcée se produit dans un contexte de marchés baissiers, c'est-à-dire précisément au moment où les prix sont les plus défavorables et où l'investisseur avisé devrait idéalement acheter plutôt que vendre. La liquidation forcée cristallise des pertes latentes qui auraient pu se résorber si l'investisseur avait pu tenir sa position."]}),t.jsxs(t.Fragment,{children:["If the investor cannot respond to the margin call within the allotted time, the bank is entitled to ",t.jsx("strong",{children:"liquidate a fraction of the pledged assets"})," to bring the loan-to-value ratio back within contractual limits. This forced liquidation occurs in a context of falling markets, that is, precisely when prices are most unfavourable and when a wise investor should ideally buy rather than sell. Forced liquidation crystallises latent losses that could have been absorbed if the investor had been able to hold their position."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le scénario le plus défavorable est celui dans lequel une baisse des marchés déclenche un appel de marge, dont la réponse nécessite de vendre des actifs, ce qui pèse davantage sur la valeur du portefeuille, ce qui dégrade encore le ratio loan-to-value, ce qui déclenche un nouvel appel de marge, une ",t.jsx("strong",{children:"spirale descendante"})," dont il est difficile de sortir sans dommages significatifs. Ce scénario n'est pas théorique : il s'est matérialisé pour de nombreux investisseurs utilisateurs de crédit Lombard lors des épisodes de stress de marché de 2008, de mars 2020 et dans une moindre mesure lors de la correction de 2022."]}),t.jsxs(t.Fragment,{children:["The most unfavourable scenario is one in which a market decline triggers a margin call, whose response requires selling assets, which weighs further on the portfolio value, which degrades the loan-to-value ratio even more, which triggers another margin call, a ",t.jsx("strong",{children:"downward spiral"})," from which it is difficult to escape without significant damage. This scenario is not theoretical: it materialised for many investors using Lombard loans during the market stress episodes of 2008, March 2020 and to a lesser extent during the 2022 correction."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les paramètres qui déterminent le niveau de risque acceptable","The parameters that determine the acceptable risk level")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le risque du crédit Lombard n'est pas binaire, il est ",t.jsx("strong",{children:"modulable"}),", et son niveau dépend de plusieurs paramètres que l'investisseur peut contrôler."]}),t.jsxs(t.Fragment,{children:["The risk of a Lombard loan is not binary, it is ",t.jsx("strong",{children:"adjustable"}),", and its level depends on several parameters that the investor can control."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"niveau de levier"})," est le premier. Un crédit Lombard représentant 20% de la valeur du portefeuille nanti expose l'investisseur à un appel de marge seulement si le portefeuille perd une fraction très importante de sa valeur. Le même crédit représentant 60% de la valeur du portefeuille peut déclencher un appel de marge sur une correction de marché tout à fait ordinaire. La discipline sur le niveau de levier, maintenir un ratio loan-to-value conservateur, généralement inférieur à 30 ou 40% pour un portefeuille actions, est la première ligne de défense."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"level of leverage"})," is the first. A Lombard loan representing 20% of the pledged portfolio value exposes the investor to a margin call only if the portfolio loses a very large fraction of its value. The same credit representing 60% of the portfolio value can trigger a margin call on a quite ordinary market correction. Discipline on the level of leverage, maintaining a conservative loan-to-value ratio, generally below 30% or 40% for an equity portfolio, is the first line of defence."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"liquidité des actifs nantis"})," est le deuxième paramètre. Un portefeuille composé d'actions cotées très liquides peut être vendu rapidement et à des prix proches des dernières cotations en cas de nécessité. Un portefeuille comportant une fraction importante d'actifs illiquides, private equity, dette privée, immobilier, peut être contraint à des ventes à décote sévère sous la pression d'un appel de marge. L'articulation entre la fraction nantie et la liquidité des actifs sous-jacents est un paramètre de gestion du risque qui mérite une attention permanente."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"liquidity of pledged assets"})," is the second parameter. A portfolio composed of highly liquid listed shares can be sold quickly and at prices close to the last quotations if necessary. A portfolio containing a significant fraction of illiquid assets, private equity, private debt, real estate, may be forced into sales at severe discounts under the pressure of a margin call. The articulation between the pledged fraction and the liquidity of the underlying assets is a risk management parameter that deserves permanent attention."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"réserve de liquidités disponibles hors contrat"})," est le troisième paramètre. Un investisseur qui dispose d'une trésorerie significative en dehors de son contrat nanti peut répondre à un appel de marge sans être c
759ontraint de vendre des actifs, ce qui lui permet de traverser un épisode de stress sans cristalliser ses pertes. Un investisseur dont le crédit Lombard représente l'unique source de liquidités disponibles est dans une position structurellement fragile."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"reserve of available liquidity outside the contract"})," is the third parameter. An investor with significant cash outside their pledged contract can respond to a margin call without being forced to sell assets, which allows them to weather a stress episode without crystallising losses. An investor for whom the Lombard loan represents the only source of available liquidity is in a structurally fragile position."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le coût du crédit : une équation à surveiller dans la durée","The cost of credit: an equation to monitor over time")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le crédit Lombard est généralement consenti à des ",t.jsx("strong",{children:"taux variables"}),", indexés sur les taux de référence du marché interbancaire auxquels s'ajoute une marge bancaire. Dans un environnement de taux bas, cette structure de taux était particulièrement attractive, le coût de portage du crédit était minime et l'arbitrage avec le rendement du portefeuille très favorable. Dans un environnement de ",t.jsx("strong",{children:"taux normalisés"}),", l'équation est différente."]}),t.jsxs(t.Fragment,{children:["The Lombard loan is generally granted at ",t.jsx("strong",{children:"variable rates"}),", indexed on interbank market reference rates plus a bank margin. In a low-rate environment, this rate structure was particularly attractive, the carrying cost of the loan was minimal and the arbitrage with the portfolio return very favourable. In a ",t.jsx("strong",{children:"normalised rate environment"}),", the equation is different."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un crédit Lombard à taux variable dans un environnement où les taux courts se situent entre 3 et 4% génère un ",t.jsx("strong",{children:"coût de portage annuel"})," qui n'est pas négligeable sur des encours importants. Pour que le levier crée de la valeur, le rendement supplémentaire généré par les actifs financés doit dépasser le coût du crédit, nettes de toutes charges. Sur un portefeuille actions dont le rendement attendu sur le long terme est de 7 à 8% par an, la marge reste favorable. Sur une allocation plus prudente dont le rendement attendu est de 3 à 4%, le levier ne crée plus de valeur en net, il ne fait qu'amplifier le risque sans compensation de rendement."]}),t.jsxs(t.Fragment,{children:["A variable-rate Lombard loan in an environment where short-term rates are between 3% and 4% generates an ",t.jsx("strong",{children:"annual carrying cost"})," that is not negligible on large amounts. For leverage to create value, the additional return generated by the financed assets must exceed the cost of the loan, net of all charges. On an equity portfolio with an expected long-term return of 7% to 8% per year, the margin remains favourable. On a more cautious allocation with an expected return of 3% to 4%, leverage no longer creates net value, it merely amplifies risk without return compensation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"durée du crédit"})," est également un paramètre important. Un crédit Lombard utilisé pour financer un besoin de liquidités temporaire et remboursé rapidement présente un coût de portage modeste. Un crédit maintenu sur plusieurs années dans une logique de levier permanent génère un ",t.jsx("strong",{children:"coût cumulé"})," qui s'accumule indépendamment de la performance du portefeuille, et qui doit être intégré dans le calcul du rendement net de l'opération sur sa durée effective."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"duration of the loan"})," is also an important parameter. A Lombard loan used to finance a temporary liquidity need and repaid quickly carries a modest carrying cost. A loan maintained over several years in a logic of permanent leverage generates a ",t.jsx("strong",{children:"cumulative cost"})," that accumulates independently of portfolio performance, and must be integrated into the calculation of the net return of the operation over its effective duration."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les questions à se poser avant de signer","The questions to ask before signing")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Avant de mettre en place un crédit Lombard adossé à un contrat luxembourgeois, plusieurs questions méritent des ",t.jsx("strong",{children:"réponses honnêtes"})," plutôt que des réponses optimistes."]}),t.jsxs(t.Fragment,{children:["Before setting up a Lombard loan backed by a Luxembourg contract, several questions deserve ",t.jsx("strong",{children:"honest answers"})," rather than optimistic ones."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Quelle est la ",t.jsx("strong",{children:"finalité précise du crédit"})," ? Un financement d'acquisition immobilière ou d'opportunité d'investissement ponctuellement identifiée est une finalité légitime et documentée. Une utilisation pour financer un style de vie courant ou pour répondre à des besoins de consommation récurrents est un signal d'alerte, le crédit Lombard n'est pas conçu pour être un substitut à des revenus insuffisants, et l'utiliser à cette fin crée une ",t.jsx("strong",{children:"dépen
759dance structurelle au levier"})," qui peut devenir problématique."]}),t.jsxs(t.Fragment,{children:["What is the ",t.jsx("strong",{children:"precise purpose of the loan"}),"? Financing a property acquisition or an identified one-off investment opportunity is a legitimate and documented purpose. Using it to finance a current lifestyle or to meet recurring consumption needs is a warning signal, the Lombard loan is not designed to be a substitute for insufficient income, and using it for this purpose creates a ",t.jsx("strong",{children:"structural dependency on leverage"})," that can become problematic."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Quel est le ",t.jsx("strong",{children:"scénario adverse raisonnable"}),", et peut-on y faire face ? Si le portefeuille perd 30% de sa valeur, ce qui est une correction sévère mais historiquement possible, l'appel de marge peut-il être honoré sans liquidation forcée des actifs ? La réponse à cette question suppose de modéliser précisément les seuils d'appel de marge contractuels et de s'assurer que la réserve de liquidités disponibles hors contrat est suffisante pour y répondre."]}),t.jsxs(t.Fragment,{children:["What is the ",t.jsx("strong",{children:"reasonable adverse scenario"}),", and can it be faced? If the portfolio loses 30% of its value, which is a severe but historically possible correction, can the margin call be honoured without forced liquidation of assets? Answering this question requires precisely modelling the contractual margin call thresholds and ensuring that the reserve of available liquidity outside the contract is sufficient to respond."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"taux du crédit est-il fixe ou variable"}),", et quelles sont les conditions de révision ? Un crédit à taux variable dans un environnement de taux incertain peut voir son coût de portage progresser significativement si les taux remontent, ce qui dégrade simultanément l'arbitrage de rendement et alourdit le service de la dette."]}),t.jsxs(t.Fragment,{children:["Is the ",t.jsx("strong",{children:"loan rate fixed or variable"}),", and what are the revision conditions? A variable-rate loan in an uncertain rate environment may see its carrying cost increase significantly if rates rise, which simultaneously degrades the return arbitrage and increases the debt service."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Questions fréquentes sur le crédit Lombard","Frequently asked questions about the Lombard loan")}),o.map(l=>t.jsxs("div",{className:"space-y-3",children:[t.jsx("h3",{className:"font-display text-xl tracking-tight text-foreground pt-2 text-left",children:l.q}),t.jsx("p",{children:l.a})]},l.q)),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour une étude chiffrée de votre capacité d'avance et un simulateur de ligne, consultez notre page dédiée au ",t.jsx(C,{to:"/credit-lombard",className:"text-primary underline-offset-4 hover:underline",children:"crédit Lombard"}),", ainsi que les alternatives adossées à un actif immobilier avec le ",t.jsx(C,{to:"/credit-hypothecaire",className:"text-primary underline-offset-4 hover:underline",children:"crédit hypothécaire"})," et les ",t.jsx(C,{to:"/financements-complexes",className:"text-primary underline-offset-4 hover:underline",children:"financements complexes"}),"."]}),t.jsxs(t.Fragment,{children:["For a quantified review of your borrowing capacity and a line simulator, see our dedicated ",t.jsx(C,{to:"/credit-lombard",className:"text-primary underline-offset-4 hover:underline",children:"Lombard credit"})," page, along with property-backed alternatives via ",t.jsx(C,{to:"/credit-hypothecaire",className:"text-primary underline-offset-4 hover:underline",children:"mortgage credit"})," and ",t.jsx(C,{to:"/financements-complexes",className:"text-primary underline-offset-4 hover:underline",children:"complex financing"}),"."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["Le crédit Lombard adossé à un contrat luxembourgeois est un ",t.jsx("strong",{children:"levier ou un piège selon une seule variable"})," : la discipline avec laquelle il est utilisé. Utilisé avec sobriété, pour des finalités précises, à des niveaux de levier conservateurs, par des investisseurs dis
759posant de réserves de liquidités suffisantes pour absorber les scénarios adverses, il est un outil d'efficacité patrimoniale remarquable, qui permet de faire travailler simultanément plusieurs capitaux sans rompre la logique de capitalisation long terme d'un portefeuille bien construit. Utilisé avec excès, pour maximiser l'exposition dans les marchés euphoriques, sans marge de sécurité, par des investisseurs dont la situation de liquidité ne laisse aucune place à l'imprévu, il est l'un des moyens les plus efficaces de transformer un patrimoine solide en une situation patrimoniale fragile. La différence entre les deux tient moins à la sophistication de la technique qu'à la ",t.jsx("strong",{children:"lucidité avec laquelle on aborde ses propres limites"}),"."]}),t.jsxs(t.Fragment,{children:["A Lombard loan backed by a Luxembourg contract is a ",t.jsx("strong",{children:"lever or a trap depending on a single variable"}),": the discipline with which it is used. Used with sobriety, for precise purposes, at conservative leverage levels, by investors with sufficient liquidity reserves to absorb adverse scenarios, it is a remarkably efficie
759nt wealth-planning tool, allowing several capitals to work simultaneously without breaking the long-term compounding logic of a well-built portfolio. Used to excess, to maximise exposure in euphoric markets, without a safety margin, by investors whose liquidity situation leaves no room for the unexpected, it is one of the most effective ways to turn a solid estate into a fragile one. The difference between the two depends less on the sophistication of the technique than on the ",t.jsx("strong",{children:"lucidity with which one approaches one's own limits"}),"."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre stratégie avec colbr","Structure your strategy with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers analysent votre situation patrimoniale et vous accompagnent dans l'évaluation du crédit Lombard : modélisation des scénarios, calibrage du levier, sélection des actifs nantissables.","Our advisers analyse your wealth situation and support you in evaluating the Lombard loan: scenario modelling, leverage calibration, selection of pledgeable assets.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le contrat luxembourgeois","Discover the Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Notre offre gestion privée","Our private management offer")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le crédit Lombard implique un risque de perte en capital amplifié par l'effet de levier. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision.","Informational document, not investment, legal or tax advice. The Lombard loan involves a risk of capital loss amplified by leverage. We recommend consulting a qualified wealth adviser before any decision.")})]})})}),t.jsx(re,{})]})},u_e=[.16,1,.3,1],d_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Janvier 2026","January 2026")," · 15 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Transférer son assurance-vie française vers le Luxembourg : mécanique, fiscalité, limites","Transferring French life insurance to Luxembourg: mechanics, taxation, limits")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Transfert direct, rachat et réinvestissement, conservation de l'antériorité fiscale : ce que l'investisseur doit savoir avant de franchir le pas.","Direct transfer, surrender and reinvestment, preservation of tax seniority: what the investor must know before taking the step.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:u_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground
759/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La question se pose de plus en plus souvent dans les conversations patrimoniales. Un investisseur qui a construit, au fil des années, un contrat d'",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie français"})," significatif prend conscience des avantages du cadre luxembourgeois, la ",t.jsx("strong",{children:"protection renforcée du triangle de sécurité"}),", la ",t.jsx("strong",{children:"liberté d'investissement"})," du FAS ou du FID, la ",t.jsx("strong",{children:"portabilité internationale"}),". Il se demande alors s'il est possible de migrer son contrat existant vers le Luxembourg sans perdre l'",t.jsx("strong",{children:"antériorité fiscale"})," patiemment accumulée. La réponse est nuancée, et elle dépend d'un paramètre central que beaucoup ignorent : la ",t.jsx("strong",{children:"nationalité juridique du contrat français"})," en question."]}),t.jsxs(t.Fragment,{children:["The question arises increasingly often in wealth conversations. An investor who has built up a significant ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"French life insurance contract"})," over the years becomes aware of the advantages of the Luxembourg framework, the ",t.jsx("strong",{children:"enhanced protection of the security triangle"}),", the ",t.jsx("strong",{children:"investment freedom"})," of the FAS or FID, the ",t.jsx("strong",{children:"international portability"}),". They then wonder whether it is possible to migrate their existing contract to Luxembourg without losing the ",t.jsx("strong",{children:"tax seniority"})," patiently accumulated. The answer is nuanced, and it depends on a central parameter that many overlook: the ",t.jsx("strong",{children:"legal nationality of the French contract"})," in question."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le point de départ : deux familles de contrats français","The starting point: two families of French contracts")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Pour comprendre les possibilités de transfert, il faut d'abord distinguer deux catégories de contrats d'assurance-vie français qui obéissent à des logiques juridiques différentes."}),t.jsx(t.Fragment,{children:"To understand the transfer possibilities, one must first distinguish two categories of French life insurance contracts that follow different legal logics."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La première catégorie est celle des contrats relevant du ",t.jsx("strong",{children:"droit français strict"}),", souscrits auprès d'assureurs dont le siège social est en France. Ces contrats sont régis par le ",t.jsx("strong",{children:"Code des assurances français"})," dans toutes ses dimensions, droit du contrat, règles de gestion, protection des souscripteurs. Pour ces contrats, il n'existe pas de mécanisme de transfert direct vers un assureur luxembourgeois. La migration suppose un ",t.jsx("strong",{children:"rachat total"})," suivi d'une souscription nouvelle, avec toutes les conséquences fiscales que cela implique."]}),t.jsxs(t.Fragment,{children:["The first category is that of contracts under ",t.jsx("strong",{children:"strict French law"}),", subscribed with insurers whose registered office is in France. These contracts are governed by the ",t.jsx("strong",{children:"French Insurance Code"})," in all its dimensions, contract law, management rules, subscriber protection. For these contracts, there is no direct transfer mechanism to a Luxembourg insurer. Migration requires a ",t.jsx("strong",{children:"total surrender"})," followed by a new subscription, with all the tax consequences that implies."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La seconde catégorie est celle des contrats souscrits auprès de ",t.jsx("strong",{children:"filiales françaises d'assureurs européens"}),", notamment certains contrats distribués par des filiales françaises d'assureurs luxembourgeois ou irlandais. Pour ces contrats, dont la maison mère est établie dans un autre État membre de l'Union européenne, des mécanismes de transfert au sein du groupe peuvent exister, permettant de migrer le contrat vers la maison mère luxembourgeoise en conservant certains attributs du contrat d'origine. Ces situations sont spécifiques, peu fréquentes, et requièrent une analyse juridique au cas par cas qui dépasse le cadre d'une présentation générale."]}),t.jsxs(t.Fragment,{children:["The second category is that of contracts subscribed with ",t.jsx("strong",{children:"French subsidiaries of European insurers"}),", including certain contracts distributed by French subsidiaries of Luxembourg or Irish insurers. For these contracts, whose parent company is established in another EU member state, transfer mechanisms within the group may exist, allowing the contract to be migrated to the Luxembourg parent company while retaining certain attributes of the original contract. These situations are specific, infrequent, and require a case-by-case legal analysis that goes beyond the scope of a general presentation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour la grande majorité des investisseurs, c'est donc la première catégorie qui est pertinente, et la question du transfert se résume à un arbitrage entre deux options : le ",t.jsx("strong",{children:"rachat fiscal"}
759)," ou la ",t.jsx("strong",{children:"stratégie de coexistence"}),"."]}),t.jsxs(t.Fragment,{children:["For the vast majority of investors, it is therefore the first category that is relevant, and the transfer question boils down to an arbitrage between two options: ",t.jsx("strong",{children:"tax surrender"})," or the ",t.jsx("strong",{children:"coexistence strategy"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le rachat total : la voie directe et ses conséquences","Total surrender: the direct route and its consequences")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La voie la plus directe pour migrer d'un contrat français vers un contrat luxembourgeois est le ",t.jsx("strong",{children:"rachat total"})," du contrat français suivi de la souscription d'un nouveau contrat au Luxembourg. C'est une opération simple dans son principe, douloureuse dans ses conséquences fiscales pour les contrats ayant accumulé des ",t.jsx("strong",{children:"plus-values significatives"}),"."]}),t.jsxs(t.Fragment,{children:["The most direct route to migrate from a French contract to a Luxembourg contract is the ",t.jsx("strong",{children:"total surrender"})," of the French contract followed by the subscription of a new contract in Luxembourg. It is a simple operation in principle, painful in its tax consequences for contracts that have accumulated ",t.jsx("strong",{children:"significant capital gains"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le rachat total d'un contrat d'assurance-vie déclenche l'imposition de l'ensemble des gains accumulés depuis l'ouverture. Pour un contrat de ",t.jsx("strong",{children:"plus de huit ans"}),", ces gains bénéficient d'un ",t.jsx("strong",{children:"abattement annuel de 4 600 euros"})," pour un célibataire et ",t.jsx("strong",{children:"9 200 euros"})," pour un couple, puis sont soumis au ",t.jsx("strong",{children:"prélèvement forfaitaire unique de 7,5 %"})," jusqu'à 150 000 euros de versements, et de 12,8 % au-delà, auxquels s'ajoutent les ",t.jsx("strong",{children:"prélèvements sociaux de 17,2 %"})," dans tous les cas. Pour un contrat plus récent, les gains sont soumis au prélèvement forfaitaire unique de 12,8 % plus prélèvements sociaux, sans abattement."]}),t.jsxs(t.Fragment,{children:["The total surrender of a life insurance contract triggers taxation on all gains accumulated since opening. For a contract of ",t.jsx("strong",{children:"more than eight years"}),", these gains benefit from an ",t.jsx("strong",{children:"annual allowance of €4,600"})," for a single person and ",t.jsx("strong",{children:"€9,200"})," for a couple, then are subject to the ",t.jsx("strong",{children:"flat-rate withholding tax of 7.5%"})," up to €150,000 of contributions, and 12.8% beyond, to which ",t.jsx("strong",{children:"social contributions of 17.2%"})," are added in all cases. For a newer contract, gains are subject to the flat-rate withholding tax of 12.8% plus social contributions, with no allowance."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Concrètement, un contrat d'assurance-vie de quinze ans ayant généré ",t.jsx("strong",{children:"300 000 euros de plus-values"})," sur 800 000 euros de versements représente une ",t.jsx("strong",{children:"facture fiscale significative"})," au moment du rachat. Cette facture doit être mise en regard de la valeur des avantages attendus du ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"contrat luxembourgeois"})," sur la durée restante, et l'arbitrage n'est pas toujours favorable, surtout pour les contrats anciens dont l'",t.jsx("strong",{children:"antériorité fiscale"})," est un actif patrimonial précieux."]}),t.jsxs(t.Fragment,{children:["Concretely, a fifteen-year life insurance contract that has generated ",t.jsx("strong",{children:"€300,000 in capital gains"})," on €800,000 of contributions represents a ",t.jsx("strong",{children:"significant tax bill"})," at the time of surrender. This bill must be weighed against the value of the expected benefits of the ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg contract"})," over the remaining term, and the arbitrage is not always favourable, especially for older contracts whose ",t.jsx("strong",{children:"tax seniority"})," is a precious wealth asset."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le calcul est donc fondamentalement le suivant : la ",t.jsx("strong",{children:"valeur actualisée de l'avantage fiscal préservé"})," par le maintien du contrat français sur sa durée de vie prévisible est-elle supérieure ou inf
759érieure au ",t.jsx("strong",{children:"coût fiscal du rachat"})," augmenté de la valeur des avantages spécifiques du contrat luxembourgeois ? Cette équation dépend de l'âge du contrat, du niveau des ",t.jsx("strong",{children:"plus-values latentes"}),", du ",t.jsx("strong",{children:"patrimoine total"})," de l'investisseur, de son ",t.jsx("strong",{children:"horizon de placement"})," et de l'utilisation qu'il envisage de faire du contrat luxembourgeois."]}),t.jsxs(t.Fragment,{children:["The calculation is therefore fundamentally as follows: is the ",t.jsx("strong",{children:"present value of the preserved tax advantage"})," from maintaining the French contract over its foreseeable life greater or lesser than the ",t.jsx("strong",{children:"tax cost of surrender"})," plus the value of the specific advantages of the Luxembourg contract? This equation depends on the contract's age, the level of ",t.jsx("strong",{children:"latent gains"}),", the investor's ",t.jsx("strong",{children:"total wealth"}),", their ",t.jsx("strong",{children:"investment horizon"})," and the use they intend to make of the Luxembourg contract."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La stratégie de coexistence : préserver l'ancien, construire le nouveau","The coexistence strategy: preserve the old, build the new")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour la majorité des investisseurs qui disposent d'un contrat français ancien avec une ",t.jsx("strong",{children:"antériorité fiscale précieuse"})," et des ",t.jsx("strong",{children:"plus-values latentes significatives"}),", la stratégie optimale n'est pas le transfert mais la ",t.jsx("strong",{children:"coexistence"}),". Elle consiste à maintenir le contrat français existant, en le laissant capitaliser ou en réalisant des rachats partiels optimisés, et à ouvrir simultanément un nouveau ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"contrat luxembourgeois"})," pour les flux d'investissement futurs."]}),t.jsxs(t.Fragment,{children:["For the majority of investors who have an old French contract with ",t.jsx("strong",{children:"precious tax seniority"})," and ",t.jsx("strong",{children:"significant latent gains"}),", the optimal strategy is not transfer but ",t.jsx("strong",{children:"coexistence"}),". It consists of maintaining the existing French contract, letting it compound or making optimised partial surrenders, while simultaneously opening a new ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg contract"})," for future investment flows."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette approche présente plusieurs avantages. Elle préserve intégralement l'",t.jsx("strong",{children:"antériorité fiscale"})," du contrat français, qui continue à bénéficier de ses ",t.jsx("strong",{children:"abattements annuels"})," et de son ",t.jsx("strong",{children:"taux préférentiel"})," sur les plus-values. Elle permet de commencer immédiatement à bénéficier des avantages du cadre luxembourgeois pour les nouvelles allocations. Et elle crée une ",t.jsx("strong",{children:"diversification entre deux enveloppes complémentaires"})," dont les atouts respectifs peuvent être exploités selon les besoins, liquidités et fonds euros dans le contrat français, actifs sur mesure et protection renforcée dans le contrat luxembourgeois."]}),t.jsxs(t.Fragment,{children:["This approach has several advantages. It fully preserves the ",t.jsx("strong",{children:"tax seniority"})," of the French contract, which continues to benefit from its ",t.jsx("strong",{children:"annual allowances"})," and ",t.jsx("strong",{children:"preferential rate"})," on gains. It allows immediate access to the advantages of the Luxembourg framework for new allocations. And it creates ",t.jsx("strong",{children:"diversification between two complementary wrappers"})," whose respective strengths can be exploited according to needs, liquidity and euro funds in the French contract, bespoke assets and enhanced protection in the Luxembourg contract."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La seule contrainte de cette approche est le ",t.jsx("strong",{children:"seuil d'entrée"})," du contrat luxembourgeois. Si l'investisseur souhaite accéder au FAS ou au FID, il doit être en mesure d'alimenter le nouveau contrat avec des ",t.jsx("strong",{children:"capitaux frais suffisants"})," pour atteindre les minimums requis, généralement ",t.jsx("strong",{children:"250 000 euros"})," pour un FAS et ",t.jsx("strong",{children:"un million d'euros"})," pour un FID. Pour les investisseurs dont l'essentiel du patr
759imoine financier est immobilisé dans le contrat français, cette contrainte peut nécessiter un ",t.jsx("strong",{children:"rachat partiel"})," du contrat français pour abonder le contrat luxembourgeois."]}),t.jsxs(t.Fragment,{children:["The only constraint of this approach is the ",t.jsx("strong",{children:"entry threshold"})," of the Luxembourg contract. If the investor wishes to access the FAS or FID, they must be able to fund the new contract with ",t.jsx("strong",{children:"sufficient fresh capital"})," to reach the required minimums, generally ",t.jsx("strong",{children:"€250,000"})," for a FAS and ",t.jsx("strong",{children:"€1 million"})," for a FID. For investors whose main financial wealth is locked in the French contract, this constraint may require a ",t.jsx("strong",{children:"partial surrender"})," of the French contract to fund the Luxembourg contract."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le rachat partiel stratégique : une voie médiane","Strategic partial surrender: a middle way")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Entre le rachat total immédiat et la coexistence pure, il existe une ",t.jsx("strong",{children:"voie médiane"})," que les investisseurs sophistiqués utilisent de plus en plus : le ",t.jsx("strong",{children:"rachat partiel stratégique"}),", étalé dans le temps, qui permet de migrer progressivement une fraction du capital vers le Luxembourg tout en préservant l'essentiel de l'antériorité fiscale."]}),t.jsxs(t.Fragment,{children:["Between immediate total surrender and pure coexistence, there is a ",t.jsx("strong",{children:"middle way"})," that sophisticated investors increasingly use: ",t.jsx("strong",{children:"strategic partial surrender"}),", spread over time, which allows progressive migration of a fraction of capital to Luxembourg while preserving the bulk of tax seniority."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le principe est simple. Chaque année, l'investisseur réalise un ",t.jsx("strong",{children:"rachat partiel"})," de son contrat français dans la limite des ",t.jsx("strong",{children:"abattements disponibles"}),", 4 600 euros pour un célibataire, 9 200 euros pour un couple, ce qui lui permet de récupérer une fraction de ses plus-values en franchise d'impôt sur le revenu. Ces sommes sont réinvesties dans le contrat luxembourgeois. Sur dix ans, un couple peut ainsi transférer ",t.jsx("strong",{children:"92 000 euros de plus-values"})," sans impôt sur le revenu, en ne supportant que les ",t.jsx("strong",{children:"prélèvements sociaux de 17,2 %"}),"."]}),t.jsxs(t.Fragment,{children:["The principle is simple. Each year, the investor makes a ",t.jsx("strong",{children:"partial surrender"})," of their French contract within the limits of the ",t.jsx("strong",{children:"available allowances"}),", €4,600 for a single person, €9,200 for a couple, which allows them to recover a fraction of their gains exempt from income tax. These sums are reinvested in the Luxembourg contract. Over ten years, a couple can thus transfer ",t.jsx("strong",{children:"€92,000 in gains"})," without income tax, bearing only ",t.jsx("strong",{children:"social contributions of 17.2%"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette approche est optimale pour les contrats dont les plus-values représentent une ",t.jsx("strong",{children:"fraction modérée du capital"}),", et moins pertinente pour les contrats à forte plus-value relative, pour lesquels les abattements annuels ne permettent pas de migrer des montants significatifs dans un délai raisonnable. Elle suppose également une ",t.jsx("strong",{children:"discipline de long terme"})," qui ne convient pas à tous les investisseurs ni à toutes les situations."]}),t.jsxs(t.Fragment,{children:["This approach is optimal for contracts whose gains represent a ",t.jsx("strong",{children:"moderate fraction of capital"}),", and less relevant for contracts with high relative gains, for which annual allowances do not allow significant amounts to be migrated within a reasonable timeframe. It also requires a ",t.jsx("strong",{children:"long-term discipline"})," that does not suit all investors or all situations."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre approche de gestion privée","Our private management approach")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Un accompagnement patrimonial global, indépendant et sur mesure, pour arbitrer entre conservation et migration avec discernement face aux enjeux fiscaux et réglementaires.","A comprehensive, independent and bespoke wealth advisory service to arbitrate between preservation and migration with discernment regarding tax and regulatory issues.")}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer la gestion privée","Explore private management"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La loi Fourgous : une option pour certains contrats en euros","The Fourgous law: an option for certain euro contracts")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il existe un mécanisme légal méconnu qui permet, dans de
759s conditions très spécifiques, de transformer un contrat d'assurance-vie monosupport en euros en un contrat multisupport en unités de compte sans perdre l'",t.jsx("strong",{children:"antériorité fiscale"})," : le transfert dit ",t.jsx("strong",{children:"Fourgous"}),", du nom de la loi qui l'a institué en 2005."]}),t.jsxs(t.Fragment,{children:["There is a little-known legal mechanism that allows, under very specific conditions, the transformation of a single-support euro life insurance contract into a multi-support unit-linked contract without losing ",t.jsx("strong",{children:"tax seniority"}),": the so-called ",t.jsx("strong",{children:"Fourgous"})," transfer, named after the law that instituted it in 2005."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce transfert permet à un souscripteur de transférer son contrat monosupport vers un contrat multisupport auprès du même assureur, à condition qu'au moins ",t.jsx("strong",{children:"20 % des sommes transférées"})," soient investies en unités de compte. L'",t.jsx("strong",{children:"antériorité fiscale"})," du contrat d'origine est intégralement préservée, le nouveau contrat hérite de la ",t.jsx("strong",{children:"date d'ouverture"})," de l'ancien."]}),t.jsxs(t.Fragment,{children:["This transfer allows a subscriber to transfer their single-support contract to a multi-support contract with the same insurer, provided that at least ",t.jsx("strong",{children:"20% of the transferred sums"})," are invested in unit-linked funds. The ",t.jsx("strong",{children:"tax seniority"})," of the original contract is fully preserved, the new contract inherits the ",t.jsx("strong",{children:"opening date"})," of the old one."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'intérêt de ce mécanisme dans la perspective d'un transfert vers le Luxembourg est indirect mais réel pour certains assureurs. Si l'assureur français concerné dispose d'une filiale ou d'une maison mère luxembourgeoise, un transfert Fourgous vers un contrat multisupport de cet assureur peut parfois être la première étape d'une migration vers le Luxembourg avec conservation de l'antériorité fiscale, sous réserve que les conditions contractuelles et réglementaires le permettent. Ces situations sont rares et très spécifiques à l'",t.jsx("strong",{children:"architecture juridique"})," de chaque groupe d'assurance, mais elles méritent d'être explorées systématiquement avant d'envisager un rachat fiscal."]}),t.jsxs(t.Fragment,{children:["The interest of this mechanism in the perspective of a transfer to Luxembourg is indirect but real for certain insurers. If the French insurer concerned has a subsidiary or a Luxembourg parent company, a Fourgous transfer to a multi-support contract of that insurer can sometimes be the first step of a migration to Luxembourg with preservation of tax seniority, subject to contractual and regulatory conditions allowing it. These situations are rare and very specific to the ",t.jsx("strong",{children:"legal architecture"})," of each insurance group, but they deserve to be systematically explored before considering a tax surrender."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les limites que personne ne mentionne toujours","The limits that no one always mentions")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La discussion sur le transfert vers le Luxembourg serait incomplète sans une mention franche de ses ",t.jsx("strong",{children:"limites réelles"}),"."]}),t.jsxs(t.Fragment,{children:["The discussion on transfer to Luxembourg would be incomplete without a frank mention of its ",t.jsx("strong",{children:"real limits"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La première limite est ",t.jsx("strong",{children:"temporelle"}),". Ouvrir un nouveau contrat luxembourgeois à cinquante ans pour bénéficier de l'",t.jsx("strong",{children:"abattement successoral de 152 500 euros"})," par bénéficiaire suppose de vivre au moins jusqu'à la liquidation du contrat. Les versements effectués après 70 ans bénéficient d'un ",t.jsx("strong",{children:"régime moins favorable"}),", un abattement global de 30 500 euros sur les primes, indépendamment du nombre de bénéficiaires. Pour les investisseurs qui abordent le sujet tardivement, la dimension successorale du contrat luxembourgeois peut être moins attractive qu'il n'y paraît si les versements sont réalisés majoritairement après cet âge."]}),t.jsxs(t.Fragment,{children:["The first limit is ",t.jsx("strong",{children:"temporal"}),". Opening a new Luxembourg contract at fifty to benefit from the ",t.jsx("strong",{children:"inheritance allowance of €152,500"})," per beneficiary implies living at least until the contract is liquidated. Contributions made after age 70 benefit from a ",t.jsx("strong",{children:"less favourable regime"}),", a global allowance of €30,500 on premiums, regardless of the number of beneficiaries. For investors who approach the subject late, the succession dimension of the Luxembourg contract may be less attractive than it appears if contributions are made mostly after that age."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La deuxième limite est ",t.jsx("strong",{children:"opérationnelle"}),". La mise en place d'un contrat luxembourgeois avec FAS ou FID est une opération plus complexe qu'une souscription standard. Elle implique une relation avec plusieurs intervenants, l'assureur luxembourgeois, la banque dépositaire, le gestionnaire mandaté, dont la coordination requiert du temps, de l'attention et un conseiller patr
759imonial capable d'orchestrer l'ensemble. Pour les investisseurs qui valorisent la ",t.jsx("strong",{children:"simplicité"}),", cette complexité opérationnelle peut être un frein réel."]}),t.jsxs(t.Fragment,{children:["The second limit is ",t.jsx("strong",{children:"operational"}),". Setting up a Luxembourg contract with FAS or FID is a more complex operation than a standard subscription. It involves a relationship with several parties, the Luxembourg insurer, the depositary bank, the mandated manager, whose coordination requires time, attention and a wealth adviser capable of orchestrating the whole. For investors who value ",t.jsx("strong",{children:"simplicity"}),", this operational complexity can be a real obstacle."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La troisième limite concerne les ",t.jsx("strong",{children:"fonds euros"}),". Un contrat d'assurance-vie français bien construit peut intégrer un fonds euros de qualité, avec ",t.jsx("strong",{children:"garantie en capital"})," et ",t.jsx("strong",{children:"effet de cliquet"})," sur les intérêts capitalisés. Les contrats luxembourgeois n'intègrent généralement pas de fonds euros comparables aux meilleurs fonds français, cette composante, précieuse pour les investisseurs qui cherchent un ",t.jsx("strong",{children:"socle sans risque"})," dans leur allocation, est généralement moins bien servie dans le cadre luxembourgeois. 
759Cet avantage du contrat français mérite d'être explicitement intégré dans l'arbitrage."]}),t.jsxs(t.Fragment,{children:["The third limit concerns ",t.jsx("strong",{children:"euro funds"}),". A well-built French life insurance contract can include a quality euro fund, with ",t.jsx("strong",{children:"capital guarantee"})," and ",t.jsx("strong",{children:"ratchet effect"})," on accrued interest. Luxembourg contracts generally do not include euro funds comparable to the best French funds, this component, precious for investors seeking a ",t.jsx("strong",{children:"risk-free base"})," in their allocation, is generally less well served in the Luxembourg framework. This advantage of the French contract deserves to be explicitly included in the arbitrage."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La quatrième limite est psychologique mais réelle. Les contrats d'assurance-vie français les plus anciens ont été souscrits dans un ",t.jsx("strong",{children:"contexte réglementaire et fiscal"})," dont la stabilité sur plusieurs décennies est un actif en soi. Liquider un contrat ouvert en 1998 pour en ouvrir un nouveau, c'est échanger une ",t.jsx("strong",{children:"certitude fiscale bien établie"})," contre des avantages futurs dont la pérennité dépend de l'évolution des règles fiscales luxembourgeoises et françaises, deux environnements réglementaires qui peuvent évoluer."]}),t.jsxs(t.Fragment,{children:["The fourth limit is psychological but real. The oldest French life insurance contracts were subscribed in a ",t.jsx("strong",{children:"regulatory and tax context"})," whose stability over several decades is an asset in itself. Liquidating a contract opened in 1998 to open a new one is exchanging a ",t.jsx("strong",{children:"well-established tax certainty"})," for future advantages whose sustainability depends on the evolution of Luxembourg and French tax rules, two regulatory environments that may change."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que recommandent les praticiens","What practitioners recommend")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les conseillers en gestion de patrimoine qui ont traité de nombreux dossiers de ce type convergent vers quelques ",t.jsx("strong",{children:"principes pratiques"})," qui méritent d'être mentionnés."]}),t.jsxs(t.Fragment,{children:["Wealth management advisers who have handled many cases of this type converge towards a few ",t.jsx("strong",{children:"practical principles"})," that deserve to be mentioned."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les ",t.jsx("strong",{children:"contrats de moins de huit ans"})," avec des plus-values limitées, le rachat total et la réouverture au Luxembourg est souvent l'option la plus simple et la moins coûteuse fiscalement. L'antériorité perdue est faible, et repartir sur de bonnes bases dans un cadre mieux adapté au patrimoine de l'investisseur est souvent la meilleure décision."]}),t.jsxs(t.Fragment,{children:["For ",t.jsx("strong",{children:"contracts of less than eight years"})," with limited gains, total surrender and reopening in Luxembourg is often the simplest and least costly tax option. The lost seniority is low, and starting on a good footing in a framework better suited to the investor's wealth is often the best decision."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les ",t.jsx("strong",{children:"contrats de plus de huit ans"})," avec des plus-values modérées, la stratégie de ",t.jsx("strong",{children:"rachat partiel annuel"})," dans la limite des abattements, combinée à l'ouverture simultanée d'un contrat luxembourgeois pour les flux futurs, est généralement l'approche la plus efficace. Elle préserve l'essentiel tout en amorçant la migration vers le Luxembourg."]}),t.jsxs(t.Fragment,{children:["For ",t.jsx("strong",{children:"contracts of more than eight years"})," with moderate gains, the strategy of ",t.jsx("strong",{children:"annual partial surrender"})," within the allowance limits, combined with the simultaneous opening of a Luxembourg contract for future flows, is generally the most effective approach. It preserves the essential while initiating migration to Luxembourg."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les ",t.jsx("strong",{children:"contrats anciens à forte plus-value relative"}),", le maintien du contrat français est souvent la décision la plus rationnelle, sauf si des besoins spécifiques de personnalisation ou de portabilité internationale justifient le coût fiscal de la migration. La valeur de l'",t.jsx("strong",{children:"antériorité fiscale"})," d'un contrat de vingt ans avec des plus-values importantes est un ",t.jsx("strong",{children:"actif patrimonial réel"})," que peu d'avantages luxembourgeois peuvent compenser intégralement."]}),t.jsxs(t.Fragment,{children:["For ",t.jsx("strong",{children:"old contracts with high relative gains"}),", maintaining the French contract is often the most rational decision, unless specific needs for personalisation or international portability justify the tax cost of migration. The value of the ",t.jsx("strong",{children:"tax seniority"})," of a twenty-year contract with significant gains is a ",t.jsx("strong",{children:"real wealth asset"})," that few Luxembourg advantages can fully compensate."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["Transférer son assurance-vie française vers le Luxembourg n'est pas une décision qui se prend sur la base d'un argument unique, aussi convaincant soit-il. C'est un ",t.jsx("strong",{children:"arbitrage précis"})," entre la valeur d'un actif fiscal existant et la valeur d'avantages futurs dont la matérialisation dépend de l'usage effectif que l'investisseur fera du ca
759dre luxembourgeois. Réalisé au bon moment, dans le bon contexte patrimonial et avec la bonne méthode, ce transfert peut être l'une des ",t.jsx("strong",{children:"décisions patrimoniales les plus structurantes"})," d'une vie. Réalisé dans la précipitation ou sans analyse rigoureuse, il peut se révéler coûteux et décevant. La différence tient entièrement à la ",t.jsx("strong",{children:"qualité de l'analyse préalable"}),"."]}),t.jsxs(t.Fragment,{children:["Transferring French life insurance to Luxembourg is not a decision taken on the basis of a single argument, however convincing. It is a ",t.jsx("strong",{children:"precise arbitrage"})," between the value of an existing tax asset and the value of future advantages whose materialisation depends on the actual use the investor will make of the Luxembourg framework. Done at the right time, in the right wealth context and with the right method, this transfer can be one of the ",t.jsx("strong",{children:"most structuring wealth decisions"})," of a lifetime. Done in haste or without rigorous analysis, it can prove costly and disappointing. The difference lies entirely in the ",t.jsx("strong",{children:"quality of the preliminary analysis"}),"."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Migrer vers le Luxembourg avec colbr","Migrate to Luxembourg with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux analysent votre contrat existant, calibrent l'arbitrage fiscal et construisent avec vous la stratégie de transfert ou de coexistence la plus adaptée à votre situation.","Our wealth advisors analyse your existing contract, calibrate the tax arbitrage and build with you the transfer or coexistence strategy best suited to your situation.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/assurance-vie-luxembourgeoise",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le contrat luxembourgeois","Discover the Luxembourg contract"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Notre offre gestion privée","Our private management offer")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les règles fiscales applicables à l'assurance-vie sont susceptibles d'évoluer. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision de rachat ou de transfert de contrat.","Informational document, not investment, legal or tax advice. Tax rules applicable to life insurance are subject to change. We recommend consulting a qualified wealth adviser before any surrender or contract transfer decision.")})]})})}),t.jsx(re,{})]})},p_e=[.16,1,.3,1],m_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Transmission","Succession")," · ",e("Février 2026","February 2026")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Démembrement de propriété : transmettre sans se déposséder","Property dismemberment: transmit without dispossessing")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Usufruit, nue propriété, donation, fiscalité : l'outil de transmission le plus puissant du droit civil français.","Usufruct, bare ownership, donation, taxation: the most powerful transfer tool in French civil law.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
759,animate:{opacity:1,y:0},transition:{duration:.6,ease:p_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"démembrement de propriété"})," est l'un de ces concepts juridiques qui intimident par leur terminologie avant d'être compris, et qui séduisent définitivement une fois que leur logique est saisie. Il repose sur une idée simple et ancienne : la propriété d'un bien n'est pas monolithique. Elle est composée de plusieurs attributs distincts qui peuvent être détenus séparément, transmis séparément, et dont la réunion ultérieure produit une ",t.jsx("strong",{children:"transmission patrimoniale d'une efficacité fiscale remarquable"}),". Comprendre le démembrement, c'est comprendre l'un des leviers les plus puissants du droit civil français pour transmettre un patrimoine sans se déposséder de sa jouissance ni de ses revenus."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Property dismemberment"})," is one of those legal concepts that intimidate by their terminology before being understood, and definitively seduce once their logic is grasped. It rests on a simple and ancient idea: property is not monolithic. It is composed of several distinct attributes that can be held separately, transmitted separately, and whose later reunion produces a ",t.jsx("strong",{children:"wealth transfer of remarkable fiscal efficiency"}),". Understanding dismemberment is understanding one of the most powerful levers of French civil law for transmitting wealth without dispossessing oneself of its enjoyment or its income."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La structure : deux droits sur un même bien","The structure: two rights on one asset")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le droit de propriété tel que le ",t.jsx("strong",{children:"Code 
759civil"})," le définit comprend trois attributs fondamentaux : l'",t.jsx("strong",{children:"usus"}),", le droit d'utiliser le bien ; le ",t.jsx("strong",{children:"fructus"}),", le droit d'en percevoir les fruits, loyers, dividendes, intérêts ; et l'",t.jsx("strong",{children:"abusus"}),", le droit de disposer du bien, de le vendre ou de le donner. Dans la propriété ordinaire, ces trois attributs sont réunis entre les mains d'une seule personne : le propriétaire."]}),t.jsxs(t.Fragment,{children:["Property as defined by the ",t.jsx("strong",{children:"Civil Code"})," comprises three fundamental attributes: the ",t.jsx("strong",{children:"usus"}),", the right to use the asset; the ",t.jsx("strong",{children:"fructus"}),", the right to receive its fruits, rents, dividends, interest; and the ",t.jsx("strong",{children:"abusus"}),", the right to dispose of the asset, to sell or give it. In ordinary ownership, these three attributes are united in the hands of a single person: the owner."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le démembrement consiste à séparer ces attributs entre deux personnes distinctes. L'",t.jsx("strong",{children:"usufruitier"})," reçoit l'usus et le fructus : il peut utiliser le bien et en percevoir les revenus. Le ",t.jsx("strong",{children:"nu propriétaire"})," reçoit l'abusus : il est propriétaire du bien dans sa substance, mais ne peut ni l'utiliser ni en percevoir les fruits tant que l'usufruit existe. À l'extinction de l'usufruit, au décès de l'usufruitier dans la grande majorité des cas, le nu propriétaire récupère automatiquement la ",t.jsx("strong",{children:"pleine propriété"}),", sans aucune formalité supplémentaire et surtout sans aucun droit fiscal à acquitter à ce moment-là."]}),t.jsxs(t.Fragment,{children:["Dismemberment consists of separating these attributes between two distinct persons. The ",t.jsx("strong",{children:"usufructuary"})," receives the usus and the fructus: they can use the asset and receive its income. The ",t.jsx("strong",{children:"bare owner"})," receives the abusus: they own the substance of the asset, but can neither use it nor receive its fruits as long as the usufruct exists. Upon extinction of the usufruct, on the death of the usufructuary in the vast majority of cases, the bare owner automatically recovers ",t.jsx("strong",{children:"full ownership"}),", without any additional formality and above all without any tax to pay at that moment."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est cette dernière caractéristique qui est au cœur de l'intérêt patrimonial du démembrement. La ",t.jsx("strong",{children:"réunion de l'usufruit et de la nue propriété est fiscalement transparente"})," : elle ne constitue pas une nouvelle transmission, elle est simplement la consolidation d'un droit que le nu propriétaire détenait déjà. Les droits ont été payés une fois, lors de la donation initiale de la nue propriété, sur la seule valeur de cette dernière. Plus rien n'est dû au moment de la récupération de la pleine propriété."]}),t.jsxs(t.Fragment,{children:["It is this last characteristic that is at the heart of the wealth interest of dismemberment. The ",t.jsx("strong",{children:"reunion of usufruct and bare ownership is fiscally transparent"}),": it does not constitute a new transfer, it is simply the consolidation of a right that the bare owner already held. The duties were paid once, at the time of the initial donation of bare ownership, on the sole value of the latter. Nothing more is due at the time of recovery of full ownership."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La valorisation : l'âge comme paramètre central","Valuation: age as the central parameter")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'efficacité fiscale du démembrement repose sur les règles de ",t.jsx("strong",{children:"valorisation de l'usufruit et de la nue propriété"}),", fixées par le barème légal de l'article 669 du Code général des impôts. Ce barème, qui détermine la valeur respective des deux droits en fonction de l'âge de l'usufruitier au moment du démembrement, est la clé de voûte de tout calcul d'optimisation."]}),t.jsxs(t.Fragment,{children:["The fiscal efficiency of dismemberment rests on the rules for ",t.jsx("strong",{children:"valuing usufruct and bare ownership"}),", set by the legal scale of Article 669 of the General Tax Code. This scale, which determines the respective value of the two rights according to the age of the usufructuary at the time of dismemberment, is the keystone of every optimisation calculation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le principe est logique : plus l'usufruitier est jeune au moment du démembrement, plus son usufruit est long en espérance, plus sa valeur est élevée, et donc plus la valeur de la nue propriété est faible. Plus la nue propriété est faible, moins les ",t.jsx("strong",{children:"droits de donation"})," à acquitter lors de sa transmission sont importants."]}),t.jsxs(t.Fragment,{children:["The principle is logical: the younger the usufructuary at the time of dismemberment, the longer the usufruct in life expectancy, the higher its value, and therefore the lower the value of bare ownership. The lower the bare ownership, the smaller the ",t.jsx("strong",{children:"donation duties"})," to be paid upon its transfer."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Concrètement, pour un usufruitier âgé de ",t.jsx("strong",{children:"moins de 21 ans"}),", l'usufruit est valorisé à ",t.jsx("strong",{children:"90 %"})," de la pleine propriété, et la nue propriété à ",t.jsx("strong",{children:"10 %"}),". Pour un usufruitier entre 31 et 40 ans, l'usufruit vaut ",t.jsx("strong",{children:"70 %"})," et la nue propriété ",t.jsx("strong",{children:"30 %"}),". Entre 51 et 60 ans, l'usufruit vaut ",t.jsx("strong",{children:"50 %"})," et la nue propriété ",t.jsx("strong",{children:"50 %"}),". Entre 61 et 70 ans, l'usufruit vaut ",t.jsx("strong",{children:"40 %"})," et la nue propriété ",t.jsx("strong",{children:"60 %"}),". Au-delà de 71 ans, l'usufruit vaut ",t.jsx("strong",{children:"30 %"})," et la nue propriété ",t.jsx("strong",{children:"70 %"}),"."]}),t.jsxs(t.Fragment,{children:["Concretely, for a usufructuary aged ",t.jsx("strong",{children:"under 21"}),", the usufruct is valued at ",t.jsx("strong",{children:"90%"})," of full ownership, and bare ownership at ",t.jsx("strong",{children:"10%"}),". For a usufructuary between 31 and 40, the usufruct is worth ",t.jsx("strong",{children:"70%"})," and bare ownership ",t.jsx("strong",{children:"30%"}),". Between 51 and 60, the usufruct is worth ",t.jsx("strong",{children:"50%"})," and bare ownership ",t.jsx("strong",{children:"50%"}),". Between 61 and 70, the usufruct is worth ",t.jsx("strong",{children:"40%"})," and bare ownership ",t.jsx("strong",{children:"60%"}),". Beyond 71, the usufruct is worth ",t.jsx("strong",{children:"30%"})," and bare ownership ",t.jsx("strong",{children:"70%"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La conséquence de ce barème est directe et mécanique : plus le donateur agit tôt, plus la ",t.jsx("strong",{children:"décote sur la nue propriété"})," est importante, plus l'économie fiscale est significative. Un parent qui donne la nue propriété d'un immeuble de ",t.jsx("strong",{children:"1 million d'euros"})," à ses enfants à 55 ans ne paie des droits de donation que sur 500 000 euros, la valeur de la nue propriété à cet âge. Le même parent qui attend 70 ans paiera des droits sur 600 000 euros. Et si la valeur de l'immeuble a progressé entre temps, l'assiette taxable est encore plus élevée. L'argument pour ",t.jsx("strong",{children:"agir tôt"})," est donc doublement puissant : il maximise la décote fiscale et fige l'assiette taxable avant toute appréciation future du bien."]}),t.jsxs(t.Fragment,{children:["The consequence of this scale is direct and mechanical: the earlier the donor acts, the greater the ",t.jsx("strong",{children:"discount on bare ownership"}),", the more significant the tax saving. A parent who gives bare ownership of a ",t.jsx("strong",{children:"€1 million building"}
759)," to their children at age 55 pays donation duties only on €500,000, the value of bare ownership at that age. The same parent who waits until 70 will pay duties on €600,000. And if the value of the building has risen in the meantime, the taxable base is even higher. The argument for ",t.jsx("strong",{children:"acting early"})," is therefore doubly powerful: it maximises the tax discount and freezes the taxable base before any future appreciation of the asset."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'immeuble locatif : le terrain d'élection du démembrement","Rental property: the ideal ground for dismemberment")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'application la plus classique et la plus efficace du démembrement porte sur ",t.jsx("strong",{children:"l'immobilier locatif"}),". Elle illustre parfaitement la logique de l'outil : le parent conserve l'usufruit, perçoit les loyers, continue à gérer le bien comme s'il en était le plein propriétaire, et transmet simultanément la nue propriété à ses enfants, qui héritent d'une valeur croissante sans que cette transmission ne génère de flux fiscaux supplémentaires au moment du décès."]}),t.jsxs(t.Fragment,{children:["The most classic and effective application of dismemberment concerns ",t.jsx("strong",{children:"rental property"}),". It perfectly illustrates the logic of the tool: the parent retains the usufruct, receives the rents, continues to manage the asset as if they were the full owner, and simultaneously transmits bare ownership to their children, who inherit an increasing value without this transfer generating additional tax flows at the time of death."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La mécanique est d'une élégance remarquable. Supposons un immeuble locatif valorisé à ",t.jsx("strong",{children:"800 000 euros"}),", dont le propriétaire est âgé de 60 ans. Il donne la nue propriété à ses deux enfants. La valeur de la nue propriété, calculée selon le barème légal, est de ",t.jsx("strong",{children:"400 000 euros"}),", soit 200 000 euros par enfant. Chaque enfant bénéficie de l'",t.jsx("strong",{children:"abattement de 100 000 euros"})," applicable aux donations en ligne directe, renouvelable tous les quinze ans. Les droits de donation sont calculés sur ",t.jsx("strong",{children:"100 000 euros par enfant"})," seulement."]}),t.jsxs(t.Fragment,{children:["The mechanics are of remarkable elegance. Suppose a rental building valued at ",t.jsx("strong",{children:"€800,000"}),", whose owner is 60 years old. They give bare ownership to their two children. The value of bare ownership, calculated according to the legal scale, is ",t.jsx("strong",{children:"€400,000"}),", €200,000 per child. Each child benefits from the ",t.jsx("strong",{children:"€100,000 allowance"})," applicable to direct-line donations, renewable every fifteen years. Donation duties are calculated on only ",t.jsx("strong",{children:"€100,000 per child"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Vingt ans plus tard, l'immeuble vaut ",t.jsx("strong",{children:"1,2 million d'euros"}),". Le parent décède. Les enfants récupèrent la pleine propriété d'un bien d'1,2 million d'euros sans acquitter le moindre droit supplémentaire. L'économie fiscale par rapport à une ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"succession sans anticipation"}),", où les droits auraient été calculés sur 1,2 million d'euros, est considérable."]}),t.jsxs(t.Fragment,{children:["Twenty years later, the building is worth ",t.jsx("strong",{children:"€1.2 million"}),". The parent dies. The children recover full ownership of a €1.2 million asset without paying a single additional duty. The tax saving compared to an ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"unplanned succession"}
759),", where duties would have been calculated on €1.2 million, is considerable."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Pendant toute cette période, le parent a perçu l'intégralité des loyers, a continué à déclarer les revenus fonciers en son nom, a pu décider des travaux et de la gestion courante. La transmission n'a pas affecté son train de vie ni son contrôle sur le bien."}),t.jsx(t.Fragment,{children:"Throughout this period, the parent received all the rents, continued to declare rental income in their own name, and was able to decide on works and day-to-day management. The transfer did not affect their standard of living or their control over the asset."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le portefeuille financier : une application moins connue mais tout aussi puissante","The financial portfolio: a less known but equally powerful application")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le démembrement ne s'applique pas qu'à l'immobilier. Il peut porter sur des ",t.jsx("strong",{children:"portefeuilles de valeurs mobilières"}),", des parts de sociétés, des ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"contrats d'assurance-vie"}),", des parts de SCI, sur n'importe quel actif dont la propriété peut être juridiquement démembrée."]}),t.jsxs(t.Fragment,{children:["Dismemberment does not only apply to real estate. It can apply to ",t.jsx("strong",{children:"securities portfolios"}),", company shares, ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"life insurance contracts"}),", SCI shares, any asset whose ownership can be legally dismembered."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Sur un portefeuille de valeurs mobilières, le démembrement soulève une question spécifique sur le traitement des fruits. Les ",t.jsx("strong",{children:"dividendes"})," sont des fruits civils qui reviennent naturellement à l'usufruitier. En revanche, les ",t.jsx("strong",{children:"plus-values réalisées"})," sur les cessions de titres dans le portefeuille sont considérées comme du capital, elles reviennent au nu propriétaire ou font l'objet d'un ",t.jsx("strong",{children:"quasi usufruit"})," selon les conventions établies entre les parties. La rédaction de la convention de démembrement sur un portefeuille financier est donc un exercice délicat qui requiert une attention particulière aux droits respectifs de l'usufruitier et du nu propriétaire sur les différents flux générés par le portefeuille."]}),t.jsxs(t.Fragment,{children:["On a securities portfolio, dismemberment raises a specific question about the treatment of fruits. ",t.jsx("strong",{children:"Dividends"})," are civil fruits that naturally belong to the usufructuary. Conversely, ",t.jsx("strong",{children:"capital gains"})," realised on the sale of securities in the portfolio are considered capital, they belong to the bare owner or are subject to a ",t.jsx("strong",{children:"quasi-usufruct"})," according to the conventions established between the parties. Drafting the dismemberment agreement for a financial portfolio is therefore a delicate exercise requiring particular attention to the respective rights of the usufructuary and the bare owner over the different flows generated by the portfolio."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le quasi usufruit est un mécanisme fréquemment utilisé sur les actifs financiers démembrés. Il confère à l'usufruitier le droit de disposer des sommes, de vendre les titres, de réinvestir les produits de cession, à charge de restituer une valeur équivalente à l'extinction de l'usufruit. Ce mécanisme offre une ",t.jsx("strong",{children:"souplesse de gestion précieuse"})," mais génère une créance de restitution au profit des nus propriétaires, déductible de l'actif successoral au décès de l'usufruitier, ce qui crée une ",t.jsx("strong",{children:"économie fiscale supplémentaire"})," appréciable."]}),t.jsxs(t.Fragment,{children:["Quasi-usufruct is a mechanism frequently used on dismembered financial assets. It confers on the usufructuary the right to dispose of sums, to sell securities, to reinvest the proceeds of sale, subject to restoring an equivalent value upon extinction of the usufruct. This mechanism offers ",t.jsx("strong",{children:"precious management flexibility"})," but generates a restitution claim in favour of the bare owners, deductible from the estate assets on the death of the usufructuary, which creates an additional, appreciable ",t.jsx("strong",{children:"tax saving"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La donation partage avec réserve d'usufruit : combiner les outils","Donation-partage with reserved usufruct: comb
759ining the tools")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le démembrement atteint sa pleine puissance lorsqu'il est combiné avec la ",t.jsx("strong",{children:"donation partage"}),", un acte notarié qui permet de distribuer les actifs patrimoniaux entre les enfants de façon définitive et irrévocable, en figeant leur valeur à la date de l'acte pour le calcul de la ",t.jsx("strong",{children:"réserve héréditaire"})," et de la ",t.jsx("strong",{children:"quotité disponible"}),"."]}),t.jsxs(t.Fragment,{children:["Dismemberment reaches its full power when combined with ",t.jsx("strong",{children:"donation-partage"}),", a notarial deed that allows the distribution of wealth assets among children in a definitive and irrevocable manner, freezing their value at the date of the deed for the calculation of the ",t.jsx("strong",{children:"forced heirship reserve"})," and the ",t.jsx("strong",{children:"available portion"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La donation partage avec réserve d'usufruit combine les avantages des deux mécanismes. Elle ",t.jsx("strong",{children:"fige les valeurs taxables à la date de l'acte"}),", protégeant les enfants contre toute réévaluation ultérieure en cas de progression de la valeur des biens transmis. Elle organise la répartition entre les enfants de façon définitive, évitant les conflits successoraux liés à des évaluations différentes au moment du décès. Et elle préserve les droits de l'usufruitier sur la jouissance et les revenus des biens transmis jusqu'à son décès."]}),t.jsxs(t.Fragment,{children:["Donation-partage with reserved usufruct combines the advantages of both mechanisms. It ",t.jsx("strong",{children:"freezes taxable values at the date of the deed"}),", protecting children against any subsequent revaluation in case of appreciation of the transmitted assets. It organises the distribution among children definitively, avoiding succession conflicts linked to different valuations at the time of death. And it preserves the usufructuary's rights to the enjoyment and income of the transmitted assets until their death."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les familles dont le patrimoine est diversifié entre plusieurs types d'actifs, immobilier, portefeuille financier, parts de société, la donation partage avec réserve d'usufruit permet d'attribuer à chaque enfant les actifs les plus adaptés à sa situation, tout en préservant l'équilibre global de la transmission et en ",t.jsx("strong",{children:"optimisant la fiscalité de chaque attribution individuellement"}),"."]}),t.jsxs(t.Fragment,{children:["For families whose wealth is diversified among several types of assets, real estate, financial portfolio, company shares, donation-partage with reserved usufruct allows each child to be assigned the assets most suited to their situation, while preserving the overall balance of the transfer and ",t.jsx("strong",{children:"optimising the tax treatment of each individual allocation"}),"."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre de transmission patrimoniale","Our wealth transfer offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Analyse de votre situation familiale et patrimoniale, structuration des donations et démembrements, coordination avec les notaires et fiscalistes de notre réseau.","Analysis of your family and wealth situation, structuring of donations and dismemberments, coordination with the notaries and tax specialists in our network.")}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer la gestion privée","Explore private management"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le démembrement de parts sociales : l'outil des entrepreneurs","Dismemberment of company shares: the entrepreneur's tool")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Pour les chefs d'entreprise qui détiennent leurs actifs professionnels via une holding ou une société civile, le démembrement de parts sociales offre des possibilités d'optimisation patrimoniale spécifiques qui méritent une mention particulière."}),t.jsx(t.Fragment,{children:"For business owners who hold their professional assets through a holding or civil company, the dismemberment of company shares offers specific wealth optimisation possibilities that deserve a particular mention."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La donation de nue propriété de parts sociales permet de transmettre la ",t.jsx("strong",{children:"substance économique de l'entreprise familiale"})," aux enfants tout en conservant le contrôle opérationnel via l'usufruit des droits de vote. Dans la plupart des statuts de sociétés civiles et de certaines formes de holdings, l'usufruitier peut se voir attribuer les droits de vote en assemblée générale ordinaire, ce qui lui permet de maintenir son influence sur les décisions de gestion courante tout en ayant transmis la valeur patr
759imoniale aux générations suivantes."]}),t.jsxs(t.Fragment,{children:["Donation of bare ownership of company shares allows the ",t.jsx("strong",{children:"economic substance of the family business"})," to be transmitted to the children while retaining operational control via usufruct of voting rights. In most civil company statutes and certain forms of holdings, the usufructuary can be assigned voting rights at ordinary general meetings, allowing them to maintain influence over current management decisions while having transmitted the wealth value to the next generations."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette approche est particulièrement pertinente pour les entrepreneurs qui souhaitent préparer la transmission de leur outil de travail sans en perdre le contrôle effectif pendant une période de transition, et sans déclencher une imposition immédiate sur la valeur totale de l'entreprise. Combinée avec le ",t.jsx("strong",{children:"dispositif Dutreil"})," qui offre un abattement de 75 % sur la valeur transmise sous conditions d'engagement de conservation, la donation de nue propriété de parts sociales peut réduire de façon spectaculaire la ",t.jsx("strong",{children:"fiscalité successorale d'un patrimoine professionnel"}),"."]}),t.jsxs(t.Fragment,{children:["This approach is particularly relevant for entrepreneurs who wish to prepare the transfer of their business without losing effective control during a transition period, and without triggering immediate taxation on the total value of the company. Combined with the ",t.jsx("strong",{children:"Dutreil scheme"})," which offers a 75% discount on the transmitted value subject to a holding commitment, the donation of bare ownership of company shares can dramatically reduce the ",t.jsx("strong",{children:"succession taxation of a professional estate"}),"."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les pièges à éviter","Pitfalls to avoid")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le démembrement est un outil puissant, mais sa mise en oeuvre recèle plusieurs pièges que la pratique notariale et fiscale a bien identifiés et que l'investisseur doit connaître avant de s'engager."}),t.jsx(t.Fragment,{children:"Dismemberment is a powerful tool, but its implementation conceals several pitfalls that notarial and tax practice has well identified and that the investor must know before committing."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La donation de nue propriété avec réserve d'usufruit est un acte ",t.jsx("strong",{children:"irrévocable dans ses effets essentiels"}),". Le donateur ne peut pas récupérer la pleine propriété du bien sans le consentement des nus propriétaires, sauf dans les cas très limitatifs d'ingratitude ou d'inexécution des charges prévus par la loi. Avant de procéder au démembrement d'un bien, il faut donc s'assurer que l'on accepte véritablement et définitivement de ne plus pouvoir le vendre seul ni le donner à une tierce personne sans l'accord de ses enfants."]}),t.jsxs(t.Fragment,{children:["Donation of bare ownership with reserved usufruct is an act ",t.jsx("strong",{children:"irrevocable in its essential effects"}),". The donor cannot recover full ownership of the asset without the consent of the bare owners, except in the very limited cases of ingratitude or failure to fulfil the charges provided by law. Before proceeding with the dismemberment of an asset, one must therefore ensure that one truly and definitively accepts no longer being able to sell it alone or give it to a third party without the agreement of one's children."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La gestion des travaux sur un bien immobilier démembré peut générer des frictions entre usufruitier et nus propriétaires. La loi répartit la charge des travaux selon leur nature : les travaux d'entretien courant incombent à l'usufruitier, les ",t.jsx("strong",{children:"grosses réparations"}
759)," au sens de l'article 606 du Code civil incombent en principe au nu propriétaire. Cette répartition, théoriquement claire, peut être source de désaccords pratiques sur la qualification de certains travaux. Une convention entre les parties, établie au moment du démembrement, permet d'anticiper ces situations et d'y apporter des solutions contractuelles adaptées."]}),t.jsxs(t.Fragment,{children:["The management of works on a dismembered real estate asset can generate friction between usufructuary and bare owners. The law distributes the cost of works according to their nature: routine maintenance works are the responsibility of the usufructuary, ",t.jsx("strong",{children:"major repairs"})," within the meaning of Article 606 of the Civil Code are in principle the responsibility of the bare owner. This distribution, theoretically clear, can be a source of practical disagreements over the classification of certain works. An agreement between the parties, established at the time of dismemberment, allows these situations to be anticipated and appropriate contractual solutions to be provided."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La transmission de biens démembrés à des ",t.jsx("strong",{children:"non résidents"})," fiscaux français peut créer des complications liées aux règles fiscales du pays de résidence des nus propriétaires, qui peuvent ne pas reconnaître le mécanisme du démembrement ou lui appliquer un traitement fiscal défavorable. Cette dimension internationale du démembrement requiert une analyse spécifique qui dépasse le cadre du droit français."]}),t.jsxs(t.Fragment,{children:["The transfer of dismembered assets to ",t.jsx("strong",{children:"non-residents"})," of French tax residence can create complications linked to the tax rules of the country of residence of the bare owners, which may not recognise the dismemberment mechanism or may apply an unfavourable tax treatment to it. This international dimension of dismemberment requires a specific analysis that goes beyond the scope of French law."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'usufruit successif : une variante pour les familles recomposées","Successive usufruct: a variant for blended families")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les familles recomposées posent des défis spécifiques en matière de transmission qui ont conduit les praticiens à développer des montages de démembrement adaptés. L'",t.jsx("strong",{children:"usufruit successif"})," en est l'exemple le plus éloquent."]}),t.jsxs(t.Fragment,{children:["Blended families pose specific challenges in terms of transfer that have led practitioners to develop adapted dismemberment structures. ",t.jsx("strong",{children:"Successive usufruct"})," is the most eloquent example."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Dans ce montage, le donateur attribue la nue propriété à ses enfants d'un premier lit, tout en réservant un ",t.jsx("strong",{children:"usufruit viager"})," à son conjoint actuel pour la durée de sa vie, avec report de l'usufruit sur les enfants à son décès. Les enfants récupèrent ainsi la pleine propriété au décès du second usufruitier, après avoir bénéficié de la ",t.jsx("strong",{children:"décote maximale"})," au moment de la donation initiale. Ce montage permet de protéger le conjoint survivant sans pénaliser les enfants d'un premier mariage, une équation que le droit successoral ordinaire résout difficilement."]}),t.jsxs(t.Fragment,{children:["In this structure, the donor assigns bare ownership to their children from a first marriage, while reserving a ",t.jsx("strong",{children:"life usufruct"})," to their current spouse for the duration of their life, with the usufruct reverting to the children upon their death. The children thus recover full ownership on the death of the second usufructuary, after having benefited from the ",t.jsx("strong",{children:"maximum discount"})," at the time of the initial donation. This structure allows the surviving spouse to be protected without penalising the children from a first marriage, an equation that ordinary succession law solves with difficulty."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["Le démembrement de propriété n'est pas une technique réservée aux très grands patrimoines ni aux situations fiscales exceptionnelles. C'est un outil du ",t.jsx("strong",{children:"droit civil ordinaire"}),", accessible à tout propriétaire qui souhaite organiser sa transmission avec intelligence et anticipation. Sa puissance tient à une logique implacable : en séparant la jouissance de la substance, en fixant la valeur taxable au moment où elle est la plus faible, et en permettant la récupération de la pleine propriété sans nouvelle imposition, il transforme l'inévitabilité de la transmission en une ",t.jsx("strong",{children:"opportunité patrimoniale"}),". La condition est simple, elle l'est toujours en matière de transmission : ",t.jsx("strong",{children:"agir avant que l'urgence ne dicte les décisions"}),"."]}),t.jsxs(t.Fragment,{children:["Property dismemberment is not a technique reserved for the very largest estates or exceptional tax situations. It is a tool of ",t.jsx("strong",{children:"ordinary civil law"}
759),", accessible to any owner who wishes to organise their transfer with intelligence and foresight. Its power lies in an implacable logic: by separating enjoyment from substance, by fixing the taxable value when it is lowest, and by allowing the recovery of full ownership without new taxation, it transforms the inevitability of transfer into a ",t.jsx("strong",{children:"wealth opportunity"}),". The condition is simple, it always is in matters of transfer: ",t.jsx("strong",{children:"act before urgency dictates decisions"}),"."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre transmission avec colbr","Structure your transfer with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux analysent votre situation familiale et fiscale, calibrent les montages de démembrement les plus adaptés et coordonnent leur mise en oeuvre avec les notaires de notre réseau.","Our wealth advisors analyse your family and tax situation, calibrate the most suitable dismemberment structures and coordinate their implementation with the notaries in our network.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Accéder à la gestion privée","Access private management"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/blog/transmission-anticiper",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Lire notre guide transmission","Read our transfer guide")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le démembrement de propriété requiert l'intervention d'un notaire et une analyse précise de la situation patrimoniale et familiale de chaque investisseur. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision.","Informational document, not investment, legal or tax advice. Property dismemberment requires the intervention of a notary and a precise analysis of each investor's wealth and family situation. We recommend consulting a qualified wealth adviser before any decision.")})]})})}),t.jsx(re,{})]})},h_e=[.16,1,.3,1],f_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Transmission","Succession")," · ",e("Mars 2026","March 2026")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Donation partage : sécuriser une transmission familiale équitable","Donation partition: securing an equitable family transfer")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Gel des valeurs, répartition irrévocable, paix familiale : pourquoi la donation partage est l'acte de transmission le plus structurant du droit civil français.","Freezing of values, irrevocable allocation, family peace: why donation partition is the most structuring transfer act of French civil law.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
759,animate:{opacity:1,y:0},transition:{duration:.6,ease:h_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il existe dans le droit civil français un acte notarié dont la puissance patrimoniale est inversement proportionnelle à sa notoriété auprès du grand public. La ",t.jsx("strong",{children:"donation partage"})," est connue des praticiens, appréciée des notaires, et pourtant encore trop rarement utilisée par les familles qui en bénéficieraient le plus. Elle n'a pas le rayonnement médiatique de l'assurance vie ni la visibilité fiscale du PER. Elle n'a pas non plus leurs défauts, parce que son objet n'est pas simplement de réduire un impôt, mais d'organiser une transmission dans sa globalité, d'anticiper les conflits avant qu'ils n'émergent, et de construire une équité entre héritiers que le droit successoral ordinaire est souvent incapable de garantir seul."]}),t.jsxs(t.Fragment,{children:["There exists in French civil law a notarised act whose patrimonial power is inversely proportional to its notoriety among the general public. ",t.jsx("strong",{children:"Donation partition"})," is known to practitioners, appreciated by notaries, and yet still too rarely used by the families who would benefit most. It does not have the media reach of life insurance nor the fiscal visibility of the PER. It also does not have their flaws, because its purpose is not simply to reduce tax, but to organise a transfer in its entirety, to anticipate conflicts before they emerge, and to build equity among heirs that ordinary succession law is often unable to guarantee alone."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre accompagnement","Our support")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Organiser votre transmission avec colbr","Plan your transfer with colbr")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Donation-partage, démembrement, assurance-vie : un audit successoral global et l'orchestration de tous les outils avec votre notaire.","Donation-partition, dismemberment, life insurance: a comprehensive succession audit and the orchestration of all tools with your notary.")}),t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Découvrir notre Family Office","Discover our Family Office"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que la donation partage fait que la donation simple ne fait pas","What donation partition does that simple donation does not")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Pour comprendre l'intérêt de la donation partage, il faut d'abord comprendre le problème qu'elle résout, un problème que beaucoup de familles découvrent trop tard, au moment d'une succession."}),t.jsx(t.Fragment,{children:"To understand the interest of donation partition, one must first understand the problem it solves, a problem that many families discover too late, at the time of a succession."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"En droit français, les donations réalisées du vivant d'un donateur sont en principe rapportables à sa succession. Cela signifie que lorsqu'un parent décède après avoir donné un appartement à l'un de ses enfants dix ans plus tôt, la valeur de cet appartement doit être réintégrée fictivement dans la masse successorale pour calculer les droits de chaque héritier. Et la valeur retenue pour ce rapport n'est pas celle au moment de la donation, c'est celle au jour du décès, ou au jour où l'enfant a aliéné le bien si la cession a eu lieu avant le décès."}),t.jsx(t.Fragment,{children:"In French law, donations made during a donor's lifetime are in principle reportable to their succession. This means that when a parent dies after giving an apartment to one of their children ten years earlier, the value of that apartment must be fictitiously reintegrated into the estate to calculate each heir's rights. And the value retained for this report is not the one at the time of donation, it is the one on the day of death, or the day the child alienated the asset if the transfer took place before death."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Conséquence"})," : si l'appartement donné valait 300 000 euros au moment de la donation et en vaut 600 000 euros au décès du donateur, la plus value de 300 000 euros est intégralement réintégrée dans la succession. L'enfant qui a reçu la donation se retrouve à devoir indemniser ses frères et sœurs pour une appréciation sur laquelle il n'avait aucun contrôle. Cette règle du rapport est une source de conflits familiaux considérable, particulièrement lorsque les actifs donnés sont des biens immobiliers dans des marchés dynamiques ou des parts d'entreprises en forte croissance."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Consequence"}),": if the given apartment was worth €300,000 at the time of donation and is worth €600,000 at the donor's death, the €300,000 gain is fully reintegrated into the estate. The child who received the donation finds themselves having to compensate their siblings for an appreciation over which they had no control. This reporting rule is a considerable source of family conflict, particularly when the given assets are real estate in dynamic markets or shares in fast-growing companies."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La donation partage coupe court à cette problématique en un seul acte. Les biens attribués par donation partage sont définitivement retirés de la masse successorale à leur valeur au jour de l'acte. Ils ne sont pas rapportables. Ils ne sont pas réévalués au décès. Chaque enfant sait exactement ce qu'il a reçu, à quelle valeur, et cette certitude ne peut plus être remise en cause par une évolution ultérieure des marchés ou par l'humeur de ses cohéritiers. C'est le ",t.jsx("strong",{children:"gel des valeurs"}),", et c'est l'avantage le plus fondamental de la donation partage sur toute autre forme de transmission anticipée."]}),t.jsxs(t.Fragment,{children:["Donation partition puts an end to this problem in a single act. Assets allocated by donation partition are definitively removed from the estate at their value on the day of the act. They are not reportable. They are not revalued at death. Each child knows exactly what they received, at what value, and this certainty can no longer be called into question by subsequent market developments or the mood of their co-heirs. It is the ",t.jsx("strong",{children:"freezing of values"}),", and it is the most fundamental advantage of donation partition over any other form of anticipated transfer."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La mécanique : un acte, une répartition, une certitude","The mechanics: one act, one allocation, one certainty")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La donation partage est un acte notarié par lequel un donateur répartit tout ou partie de ses biens entre ses héritiers présomptifs, généralement ses enfants, en fixant irrévocablement la valeur de chaque lot au jour de l'acte. Tous les bénéficiaires doivent être présents à l'acte ou dûment représentés, et ils doivent accepter la répartition proposée. C'est un acte consensuel qui suppose une adhésion de tous les participants, ce qui implique en pratique une concertation fam
759iliale préalable que les praticiens recommandent de ne jamais négliger."}),t.jsx(t.Fragment,{children:"Donation partition is a notarised act by which a donor allocates all or part of their assets among their presumptive heirs, generally their children, by irrevocably fixing the value of each lot on the day of the act. All beneficiaries must be present at the act or duly represented, and they must accept the proposed allocation. It is a consensual act that requires the adherence of all participants, which in practice implies a preliminary family consultation that practitioners recommend never neglecting."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le donateur peut attribuer des biens différents à chaque enfant selon leurs besoins, leurs situations respectives et les caractéristiques des actifs disponibles. Un enfant reçoit l'appartement parisien, un autre les parts de la société familiale, un troisième un portefeuille de valeurs mobilières. Si les lots ne sont pas d'égale valeur, des ",t.jsx("strong",{children:"soultes"}),", des compensations financières versées par les bénéficiaires des lots les plus importants à ceux des lots les plus modestes, peuvent être prévues pour rétablir l'équilibre."]}),t.jsxs(t.Fragment,{children:["The donor can assign different assets to each child according to their needs, their respective situations and the characteristics of the available assets. One child receives the Paris apartment, another the shares in the family company, a third a portfolio of securities. If the lots are not of equal value, ",t.jsx("strong",{children:"adjustment payments"}),", financial compensations paid by the beneficiaries of the larger lots to those of the smaller lots, can be provided to restore balance."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La répartition n'a pas à être strictement égalitaire en valeur, mais elle doit respecter les droits à la ",t.jsx("strong",{children:"réserve héréditaire"})," de chaque héritier réservataire. La réserve héréditaire est la fraction du patrimoine dont la loi garantit la transmission aux enfants indépendamment de la volonté du donateur, en présence de deux enfants, chacun a droit à un quart de la succession ; en présence de trois enfants ou plus, chacun a droit à un quart également. La donation partage ne peut pas priver un enfant de sa réserve, mais peut librement organiser la répartition de la ",t.jsx("strong",{children:"quotité disponible"})," selon les souhaits du donateur."]}),t.jsxs(t.Fragment,{children:["The allocation does not have to be strictly equal in value, but it must respect the rights to the ",t.jsx("strong",{children:"hereditary reserve"})," of each reserved heir. The hereditary reserve is the fraction of the estate that the law guarantees to transmit to children independently of the donor's will, with two children, each is entitled to a quarter of the succession; with three or more children, each is also entitled to a quarter. Donation partition cannot deprive a child of their reserve, but can freely organise the allocation of the ",t.jsx("strong",{children:"available portion"})," according to the donor's wishes."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le gel des valeurs : l'avantage le plus précieux","The freezing of values: the most precious advantage")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le gel des valeurs mérite que l'on s'y attarde davantage, car ses conséquences pratiques sont profondes et souvent sous estimées jusqu'au moment où elles se révèlent déterminantes."}),t.jsx(t.Fragment,{children:"The freezing of values deserves further attention, because its practical consequences are profound and often underestimated until the moment they prove decisive."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Imaginons une famille avec trois enfants. Le patrimoine du père comprend un immeuble locatif valorisé à 800 000 euros, des parts dans une PME valorisées à 600 000 euros et un portefeuille financier de 400 000 euros. Il réalise une donation partage en attribuant l'immeuble au premier enfant, les parts de la PME au second et le portefeuille au troisième. Les valeurs sont constatées et figées dans l'acte notarié."}
759),t.jsx(t.Fragment,{children:"Imagine a family with three children. The father's estate includes a rental building valued at €800,000, shares in an SME valued at €600,000 and a financial portfolio of €400,000. He carries out a donation partition by assigning the building to the first child, the SME shares to the second and the portfolio to the third. The values are recorded and frozen in the notarised act."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Vingt ans plus tard, à son décès, l'immeuble vaut 1,4 million d'euros, la PME a été cédée pour 2 millions d'euros et le portefeuille vaut 800 000 euros. Sans donation partage, ces réévaluations auraient créé des déséquilibres considérables entre les enfants, le second ayant bénéficié d'une progression trois fois supérieure à celle du premier. Avec la donation partage, chaque enfant a reçu sa part définitive, figée à la valeur de l'acte, et les évolutions ultérieures lui appartiennent en propre. Il n'y a rien à recalculer, rien à rééquilibrer, rien à contester."}),t.jsx(t.Fragment,{children:"Twenty years later, at his death, the building is worth €1.4 million, the SME was sold for €2 million and the portfolio is worth €800,000. Without donation partition, these revaluations would have created considerable imbalances among the children, the second having benefited from growth three times greater than the first. With donation partition, each child received their definitive share, frozen at the value of the act, and subsequent developments belong to them outright. There is nothing to recalculate, nothing to rebalance, nothing to contest."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est cette ",t.jsx("strong",{children:"sécurisation définitive de la répartition"})," qui fait de la donation partage l'outil le plus efficace pour prévenir les conflits successoraux. Les statistiques sur les contentieux familiaux liés aux successions sont éloquentes : la grande majorité des litiges portent sur la réévaluation de donations antérieures, sur des désaccords sur les valeurs ou sur des biens donnés à certains enfants sans contrepartie équivalente pour les autres. La donation partage élimine structurellement ces sources de conflit."]}),t.jsxs(t.Fragment,{children:["It is this ",t.jsx("strong",{children:"definitive securing of the allocation"})," that makes donation partition the most effective tool for preventing succession conflicts. Statistics on family disputes related to successions are eloquent: the vast majority of disputes concern the revaluation of previous donations, disagreements on values, or assets given to certain children without equivalent counterpart for others. Donation partition structurally eliminates these sources of conflict."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La donation partage transgénérationnelle : sauter une génération","Transgenerational donation partition: skipping a generation")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Depuis la loi du 23 juin 2006, la donation partage peut intégrer des bénéficiaires appartenant à des générations différentes, ce que les praticiens appellent la ",t.jsx("strong",{children:"donation partage transgénérationnelle"})," ou multigénérationnelle. Cette évolution législative a considérablement élargi les possibilités de la donation partage pour les familles dont la situation patrimoniale et familiale est complexe."]}),t.jsxs(t.Fragment,{children:["Since the law of 23 June 2006, donation partition can include beneficiaries belonging to different generations, what practitioners call ",t.jsx("strong",{children:"transgenerational donation partition"})," or multigenerational. This legislative development has considerably broadened the possibilities of donation partition for families whose wealth and family situation is complex."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le principe est le suivant. Avec l'accord de ses enfants, un grand parent peut attribuer directement une fraction de son patrimoine à ses petits enfants, en sautant une génération. Les enfants qui « renoncent » à une partie de leur part au profit de leurs propres enfants ne sont pas fiscalement pénalisés pour cela, la loi organise une ",t.jsx("strong",{children:"neutralisation fiscale"})," de ce saut de génération qui préserve l'efficacité de l'opération globale."]}),t.jsxs(t.Fragment,{children:['The principle is as follows. With the agreement of their children, a grandparent can directly allocate a fraction of their estate to their grandchildren, skipping a generation. The children who "renounce" part of their share for the benefit of their own children are not penalised fiscally for this, the law organises a ',t.jsx("strong",{children:"fiscal neutralisation"})," of this generation skip that preserves the efficiency of the overall operation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'intérêt de ce mécanisme est triple. Il permet de transmettre directement à des petits enfants qui en ont besoin, pour financer des études, l'acquisition d'un premier logement, le démarrage d'une activité professionnelle, sans passer par l'intermédiaire de leurs parents qui n'en ont pas l'utilité immédiate. Il mobilise ",t.jsx("strong",{children:"deux niveaux d'abattements"})," simultanément, les 100 000 euros applicables aux transmissions en ligne directe parent enfant et les abattements applicables aux transmissions grands parents petits enfants. Et il accélère la transmission ver
759s la génération qui en a le plus besoin au moment de l'acte, sans attendre deux successions successives."]}),t.jsxs(t.Fragment,{children:["The interest of this mechanism is threefold. It allows direct transfer to grandchildren who need it, to finance studies, the acquisition of a first home, the start of a professional activity, without going through their parents who do not have immediate use for it. It mobilises ",t.jsx("strong",{children:"two levels of allowances"})," simultaneously, the €100,000 applicable to direct line parent child transfers and the allowances applicable to grandparent grandchild transfers. And it accelerates the transfer to the generation that needs it most at the time of the act, without waiting for two successive successions."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La réserve de rapport : quand les donations antérieures compliquent le tableau","The reserve of report: when previous donations complicate the picture")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La plupart des parents qui envisagent une donation partage ont déjà réalisé des donations antérieures à leurs enfants, un coup de pouce pour l'acquisition d'un premier logement, une avance sur héritage lors d'une période difficile, une donation de liquidités pour financer un projet professionnel. Ces donations antérieures peuvent compliquer la donation partage si elles ne sont pas traitées avec soin."}),t.jsx(t.Fragment,{children:"Most parents considering donation partition have already made previous donations to their children, a helping hand for the acquisition of a first home, an advance on inheritance during a difficult period, a donation of liquidity to finance a professional project. These previous donations can complicate donation partition if they are not handled with care."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La loi offre une solution élégante à ce problème. Les donations antérieures peuvent être ",t.jsx("strong",{children:"incorporées dans la donation partage"}),", à condition que tous les bénéficiaires y consentent. Cette incorporation a un effet capital : elle soumet les donations antérieures au régime de la donation partage, gel des valeurs à la date de l'acte de donation partage, et les soustrait ainsi au rapport successoral de droit commun."]}),t.jsxs(t.Fragment,{children:["The law offers an elegant solution to this problem. Previous donations can be ",t.jsx("strong",{children:"incorporated into the donation partition"}
759),", provided all beneficiaries consent. This incorporation has a capital effect: it subjects previous donations to the regime of donation partition, freezing of values at the date of the donation partition act, and thus removes them from the ordinary succession report."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En pratique, cela signifie que l'enfant qui avait reçu un appartement il y a dix ans peut voir cette donation incorporée dans une donation partage aujourd'hui, avec une valeur figée à la valeur actuelle de l'appartement. Les autres enfants reçoivent des lots équivalents. La répartition est ainsi sécurisée dans sa globalité, y compris pour les transmissions déjà réalisées. Cette capacité à ",t.jsx("strong",{children:"régulariser le passé tout en organisant l'avenir"})," est l'une des caractéristiques les plus précieuses de la donation partage pour les familles dont la transmission a commencé de façon désordonnée."]}),t.jsxs(t.Fragment,{children:["In practice, this means that the child who received an apartment ten years ago can see that donation incorporated into a donation partition today, with a value frozen at the current value of the apartment. The other children receive equivalent lots. The allocation is thus secured in its entirety, including for transfers already carried out. This ability to ",t.jsx("strong",{children:"regularise the past while organising the future"})," is one of the most precious characteristics of donation partition for families whose transfer began in a disorderly manner."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Fiscalité : les règles qui s'appliquent","Taxation: the rules that apply")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La donation partage est soumise aux droits de donation de droit commun, calculés sur la valeur des biens transmis après application des abattements disponibles. Les abattements applicables en ligne directe sont de ",t.jsx("strong",{children:"100 000 euros par parent et par enfant"}),", renouvelables tous les quinze ans. Pour une famille avec deux parents et trois enfants, le cumul des abattements disponibles représente 600 000 euros sur quinze ans, une capacité de transmission non fiscalisée significative pour les patrimoines qui s'inscrivent dans cet ordre de grandeur."]}),t.jsxs(t.Fragment,{children:["Donation partition is subject to ordinary donation duties, calculated on the value of the transferred assets after application of the available allowances. The allowances applicable in direct line are ",t.jsx("strong",{children:"€100,000 per parent and per child"}),", renewable every fifteen years. For a family with two parents and three children, the cumulative available allowances represent €600,000 over fifteen years, a significant non-taxed transfer capacity for estates that fall within this order of magnitude."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Au-delà des abattements, les droits de donation sont calculés selon le barème progressif applicable aux transmissions en ligne directe, avec des taux qui varient entre 5% pour les tranches les plus basses et 45% pour les tranches les plus élevées. Ces taux sont identiques à ceux applicables aux successions, la donation partage ne crée pas de fiscalité spécifique différente de la succession ordinaire. Son avantage fiscal est indirect : il vient du ",t.jsx("strong",{children:"gel des valeurs"}),", qui fige l'assiette taxable à un moment choisi par le donateur, et des abattements qui peuvent être mobilisés de façon coordonnée sur l'ensemble des bénéficiaires."]}),t.jsxs(t.Fragment,{children:["Beyond the allowances, donation duties are calculated according to the progressive scale applicable to direct line transfers, with rates varying between 5% for the lowest brackets and 45% for the highest. These rates are identical to those applicable to successions, donation partition does not create a specific tax different from ordinary succession. Its fiscal advantage is indirect: it comes from the ",t.jsx("strong",{children:"freezing of values"}),", which freezes the taxable base at a time chosen by the donor, and from allowances that can be mobilised in a coordinated manner across all benef
759iciaries."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"donation partage avec réserve d'usufruit"})," combine les avantages du démembrement et de la donation partage. Les droits de donation sont calculés sur la seule valeur de la ",t.jsx(C,{to:"/blog/demembrement-propriete",className:"text-primary underline-offset-4 hover:underline",children:"nue propriété"})," transmise, selon le barème légal qui dépend de l'âge de l'usufruitier, ce qui peut réduire significativement l'assiette taxable pour les donateurs qui agissent relativement tôt."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Donation partition with reservation of usufruct"})," combines the advantages of dismemberment and donation partition. Donation duties are calculated solely on the value of the ",t.jsx(C,{to:"/blog/demembrement-propriete",className:"text-primary underline-offset-4 hover:underline",children:"bare ownership"})," transferred, according to the legal scale that depends on the age of the usufructuary, which can significantly reduce the taxable base for donors who act relatively early."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le rôle du notaire : bien plus qu'un rédacteur d'actes","The notary's role: far more than a drafter of acts")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La donation partage est un acte notarié obligatoire, elle ne peut pas être réalisée par acte sous seing privé. Mais le rôle du notaire dépasse largement la rédaction juridique de l'acte. Dans une opération aussi structurante pour une famille, le notaire est le garant de l'équilibre entre les parties, le conseiller fiscal qui optimise la structure de l'opération, et parfois le médiateur qui facilite la concertation familiale préalable."}),t.jsx(t.Fragment,{children:"Donation partition is a mandatory notarised act, it cannot be carried out by private deed. But the notary's role goes far beyond the legal drafting of the act. In an operation as structuring for a family, the notary is the guarantor of balance between the parties, the tax adviser who optimises the structure of the operation, and sometimes the mediator who facilitates the preliminary family consultation."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La préparation d'une donation partage sérieuse implique plusieurs rendez vous, une collecte exhaustive d'informations sur le patrimoine global du donateur, une discussion approfondie sur les objectifs de transmission et une évaluation précise des biens à transmettre. Les biens immobiliers doivent être estimés par des experts indépendants. Les parts de sociétés doivent faire l'objet d'une évaluation par un expert comptable ou un évaluateur spécialisé. Le portefeuille financier est évalué à sa valeur de marché au jour de l'acte."}),t.jsx(t.Fragment,{children:"The preparation of a serious donation partition involves several appointments, an exhaustive collection of information on the donor's overall estate, an in-depth discussion on transfer objectives and a precise valuation of the assets to be transferred. Real estate assets must be estimated by independent experts. Company shares must be valued by an accountant or a specialised valuer. The financial portfolio is valued at its market value on the day of the act."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Cette rigueur dans la préparation est la condition d'une donation partage qui résiste dans le temps, une donation partage mal préparée, avec des valorisations contestables ou une répartition perçue comme inéquitable par certains enfants, peut générer exactement les conflits qu'elle était censée prévenir."}),t.jsx(t.Fragment,{children:"This rigour in preparation is the condition for a donation partition that stands the test of time, a poorly prepared donation partition, with contestable valuations or an allocation perceived as unfair by some children, can generate exactly the conflicts it was supposed to prevent."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Quand la donation partage s'impose comme une évidence","When donation partition becomes self-evident")}
759),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Certaines configurations patrimoniales et familiales rendent la donation partage non pas souhaitable mais ",t.jsx("strong",{children:"nécessaire"}),"."]}),t.jsxs(t.Fragment,{children:["Certain wealth and family configurations make donation partition not just desirable but ",t.jsx("strong",{children:"necessary"}),"."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La présence d'actifs à forte volatilité de valeur, une PME en croissance, un bien immobilier dans un marché dynamique, un portefeuille de private equity, rend le gel des valeurs particulièrement précieux. Plus un actif est susceptible de progresser fortement entre la donation et le décès du donateur, plus l'avantage de la donation partage sur la donation simple est important."}),t.jsx(t.Fragment,{children:"The presence of assets with high value volatility, a growing SME, real estate in a dynamic market, a private equity portfolio, makes the freezing of values particularly precious. The more an asset is likely to rise strongly between the donation and the donor's death, the greater the advantage of donation partition over simple donation."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La présence de plusieurs enfants aux situations patrimoniales et personnelles très différentes rend la concertation préalable et la répartition organisée plus nécessaires qu'une simple donation désordonnée. Lorsqu'un enfant est entrepreneur et a besoin de fonds propres, qu'un autre est salarié avec une situation confortable et qu'un troisième traverse une période difficile, la donation partage permet d'organiser une répartition qui tient compte de ces réalités sans créer de ressentiments durables."}),t.jsx(t.Fragment,{children:"The presence of several children in very different wealth and personal situations makes preliminary consultation and organised allocation more necessary than a simple disordered donation. When one child is an entrepreneur and needs equity, another is an employee in a comfortable situation and a third is going through a difficult period, donation partition allows an allocation to be organised that takes these realities into account without creating lasting resentments."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La présence de ",t.jsx("strong",{children:"familles recomposées"}),", enfin, est un contexte dans lequel la donation partage est souvent la seule façon d'organiser une transmission équitable qui respecte les droits de tous, enfants d'un premier mariage, enfants d'un second mariage, conjoint actuel, sans laisser de zones d'ombre que le droit successoral ordinaire ne peut pas combler seul."]}),t.jsxs(t.Fragment,{children:["The presence of ",t.jsx("strong",{children:"blended families"}),", finally, is a context in which donation partition is often the only way to organise an equitable transfer that respects everyone's rights, children from a first marriage, children from a second marriage, current spouse, without leaving grey areas that ordinary succession law cannot fill alone."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["La donation partage est un acte de lucidité autant qu'un acte juridique. Elle suppose d'accepter de regarder en face ce que l'on a, de décider comment on veut le répartir, et d'en parler à sa famille avant que la mort ou l'urgence n'impose ses propres règles. C'est précisément ce que la plupart des gens remettent indéfiniment à plus tard, et c'est précisément pour cette raison que les ",t.jsx("strong",{children:"successions conflictuelles"})," sont si fréquentes et si coûteuses, humainement autant que financièrement. Organiser une transmission de son vivant n'est pas se dépouiller de son patrimoine. C'est exercer sur lui, une dernière fois, un contrôle que la loi ne laissera plus à ses héritiers une fois que l'on ne sera plus là pour le faire."]}),t.jsxs(t.Fragment,{children:["Donation partition is an act of lucidity as much as a legal act. It requires accepting to look squarely at what one has, to decide how one wants to allocate it, and to talk to one's family about it before death or urgency imposes its own rules. This is precisely what most people postpone indefinitely, and it is precisely for this reason that ",t.jsx("strong",{children:"conflictual successions"})," are so frequent and so costly, humanly as much as financially. Organising a transfer during one's lifetime is not divesting oneself of one's estate. It is exercising over it, one last time, a control that the law will no longer leave to one's heirs once one is no longer there to do so."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre transmission avec colbr","Structure your transfer with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux analysent votre situation fam
759iliale et fiscale, calibrent les montages de donation partage les plus adaptés et coordonnent leur mise en œuvre avec les notaires de notre réseau.","Our wealth advisors analyse your family and tax situation, calibrate the most suitable donation partition structures and coordinate their implementation with the notaries in our network.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Accéder à la gestion privée","Access private management"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/blog/transmission-anticiper",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Lire notre guide transmission","Read our transfer guide")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La donation partage requiert l'intervention obligatoire d'un notaire et une analyse précise de la situation patrimoniale et familiale de chaque donateur. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision.","Informational document, not investment, legal or tax advice. Donation partition requires the mandatory intervention of a notary and a precise analysis of each donor's wealth and family situation. We recommend consulting a qualified wealth adviser before any decision.")})]})})}),t.jsx(re,{})]})},g_e=[.16,1,.3,1],x_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Immobilier","Real Estate")," · ",e("Juillet 2026","July 2026")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("SCPI européennes : diversifier l'immobilier hors de France","European SCPIs: diversifying real estate outside France")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Fiscalité allégée, marchés porteurs, décorrélation : pourquoi l'immobilier européen change la donne pour l'investisseur français.","Reduced taxation, strong markets, decorrelation: why European real estate changes the game for the French investor.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:g_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pendant longtemps, la ",t.jsx("strong",{children:"pierre papier française"})," a regardé ses frontières comme une limite naturelle. Les ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPI"})," investissaient en France, dans des bureaux parisiens ou des commerces en régions, selon une logique de proximité géographique que les investisseurs trouvaient rassurante. Puis est venu le ",t.jsx("strong",{children:"cycle de taux"}),", avec ses corrections de valorisation et ses révélations sur la fragilité de certains patrimoines trop concentrés sur des actifs devenus structurellement fragiles. Et dans cet environnement troublé, quelque chose d'inattendu s'est produit : les ",t.jsx("strong",{children:"SCPI qui avaient choisi de sortir de France"})," ont résisté mieux que les autres. Non par chance, mais par construction."]}),t.jsxs(t.Fragment,{children:["For a long time, ",t.jsx("strong",{children:"French paper real estate"})," looked at its borders as a natural limit. ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPIs"})," invested in France, in Parisian offices or regional retail properties, according to a geographical proximity logic that investors found reassuring. Then came the ",t.jsx("strong",{children:"rate cycle"}),", with its valuation corrections and revelations about the fragility of certain estates too concentrated on assets that had become structurally fragile. And in this troubled environment, something unexpected happened: ",t.jsx("strong",{children:"SCPIs that had chosen to leave France"})," resisted better than the others. Not by chance, but by design."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre sélection","Our selection")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("SCPI européennes diversifiées","Diversified European SCPIs")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Fiscalité étrangère avantageuse, exposition multi-pays, secteurs porteurs : notre sélection des meilleures SCPI européennes.","Favourable foreign taxation, multi-country exp
759osure, growth sectors: our selection of the best European SCPIs.")}),t.jsxs(C,{to:"/scpi",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer notre offre SCPI","Explore our SCPI offer"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi l'Europe et pas seulement la France","Why Europe and not just France")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La diversification géographique des SCPI vers l'Europe n'est pas une mode passagère née de la crise immobilière de 2022. C'est une tendance de fond amorcée dès les années 2010 par quelques sociétés de gestion visionnaires qui avaient compris que le marché immobilier français présentait des caractéristiques structurelles peu favorables à la performance long terme d'une SCPI."}),t.jsx(t.Fragment,{children:"The geographical diversification of SCPIs towards Europe is not a passing fad born from the 2022 real estate crisis. It is a secular trend initiated as early as the 2010s by a few visionary management companies that had understood that the French real estate market presented structural characteristics poorly suited to the long-term performance of an SCPI."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le premier problème est la fiscalité des revenus fonciers en France. Les loyers perçus sur des actifs français sont soumis à l'impôt sur le revenu au barème progressif, auxquels s'ajoutent les prélèvements sociaux de 17,2%. Pour un investisseur en tranche marginale à 41% ou 45%, le rendement net d'impôt d'une SCPI investie en France peut être significativement amputé par cette fiscalité. L'investissement en Europe modifie profondément cette équation."}),t.jsx(t.Fragment,{children:"The first problem is the taxation of rental income in France. Rents received on French assets are subject to income tax at the progressive scale, to which social charges of 17.2% are added. For an investor in the 41% or 45% marginal bracket, the net after-tax return of an SCPI invested in France can be significantly reduced by this taxation. Investing in Europe profoundly changes this equation."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les revenus de source étrangère perçus par une SCPI européenne sont imposés dans le pays de l'actif, selon les conventions fiscales bilatérales que la France a conclues avec ses partenaires européens. Ces conventions prévoient généralement que les revenus immobiliers sont imposés dans le pays de situation de l'immeuble, et la plupart des pays européens imposent ces revenus à des taux inférieurs à ceux applicables en France. Mais surtout, grâce aux mécanismes de neutralisation de la double imposition prévus par ces conventions, les revenus de source européenne sont en principe exonérés de prélèvements sociaux français, ce qui représente une économie de 17,2 points de prélèvement, automatique et structurelle."}),t.jsx(t.Fragment,{children:"Foreign-source income received by a European SCPI is taxed in the country of the asset, under the bilateral tax conventions that France has concluded with its European partners. These conventions generally provide that real estate income is taxed in the country where the building is located, and most European countries tax this income at lower rates than those applicable in France. But above all, thanks to the double-taxation neutralisation mechanisms provided by these conventions, European-source income is in principle exempt from French social charges, which represents a saving of 17.2 percentage points, automatic and structural."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Concrètement, un investisseur en tranche à 41% qui détient des parts de SCPI investissant en Allemagne, aux Pays-Bas ou en Espagne paie généralement entre 15% et 25% d'impôt sur les revenus distribués, contre 58,2% en théorie sur des revenus fonciers français dans la même tranche. L'avantage net est considérable et durable, il ne repose pas sur un dispositif fiscal temporaire ni sur une niche susceptible d'être remise en cause, mais sur des conventions bilatérales solides et stables."}),t.jsx(t.Fragment,{children:"Concretely, an investor in the 41% bracket who holds shares in an SCPI investing in Germany, the Netherlands or Spain generally pays between 15% and 25% tax on distributed income, compared with 58.2% in theory on French rental income in the same bracket. The net advantage is considerable and durable, it does not rest on a temporary tax scheme or a niche liable to be challenged, but on solid and stable bilateral conventions."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les marchés européens : une hétérogénéité qui est une force","
759European markets: heterogeneity that is a strength")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"L'Europe immobilière n'est pas un marché uniforme. C'est un ensemble de marchés nationaux et régionaux dont les cycles, les fondamentaux et les dynamiques de prix obéissent à des logiques locales significativement différentes. Cette hétérogénéité, souvent perçue comme une complexité supplémentaire, est en réalité l'un des atouts les plus précieux de la diversification européenne."}),t.jsx(t.Fragment,{children:"European real estate is not a uniform market. It is a set of national and regional markets whose cycles, fundamentals and price dynamics obey significantly different local logics. This heterogeneity, often perceived as an additional complexity, is in reality one of the most precious assets of European diversification."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"L'Allemagne est le marché de référence pour la stabilité. Un pays dont la culture économique valorise la propriété d'entreprise plutôt que la propriété immobilière personnelle, ce qui maintient structurellement une demande locative forte et des taux d'occupation élevés sur les actifs commerciaux de qualité. Les grandes métropoles allemandes, Berlin, Munich, Hambourg, Francfort, offrent des marchés profonds avec une liquidité institutionnelle réelle et des baux longs sur les actifs tertiaires."}),t.jsx(t.Fragment,{children:"Germany is the reference market for stability. A country whose economic culture values business ownership rather than personal real estate ownership, which structurally maintains strong rental demand and high occupancy rates on quality commercial assets. The major German metropolises, Berlin, Munich, Hamburg, Frankfurt, offer deep markets with real institutional liquidity and long leases on tertiary assets."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les Pays-Bas présentent un profil différent mais tout aussi attractif. Amsterdam est l'un des marchés de bureaux les plus demandés d'Europe continentale, portée par la concentration d'entreprises technologiques et financières qui ont choisi les Pays-Bas comme base européenne après le Brexit. La logistique néerlandaise est parmi les plus dynamiques du continent, adossée au port de Rotterdam et à une infrastructure de distribution qui alimente l'ensemble de l'Europe du Nord-Ouest."}),t.jsx(t.Fragment,{children:"The Netherlands presents a different but equally attractive profile. Amsterdam is one of the most in-demand office markets in continental Europe, driven by the concentration of technology and financial companies that have chosen the Netherlands as their European base after Brexit. Dutch logistics is among the most dynamic on the continent, backed by the port of Rotterdam and a distribution infrastructure that feeds the whole of North-West Europe."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"L'Espagne offre un potentiel de revalorisation plus élevé en contrepartie d'une volatilité plus marquée. Les marchés de Madrid et Barcelone sont portés par une croissance économique qui dépasse structurellement la moyenne européenne, une démographie dynamique et un tourisme massif qui soutient les actifs hôteliers et commerciaux. Le marché résidentiel géré, résidences étudiantes, coliving, y connaît un développement rapide qui offre des opportunités de rendement attractives."}),t.jsx(t.Fragment,{children:"Spain offers higher revaluation potential in exchange for more marked volatility. The Madrid and Barcelona markets are driven by economic growth that structurally exceeds the European average, dynamic demographics and mass tourism that supports hotel and retail assets. The managed residential market, student residences, coliving, is experiencing rapid development there that offers attractive return opportunities."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La Pologne et les pays d'Europe centrale représentent le segment le plus dynamique et le plus risqué du spectre européen. Varsovie, Prague et Budapest offrent des rendements locatifs initiaux significativement supérieurs à ceux des marchés d'Europe occidentale, portés par une main-d'oeuvre qualifiée, une croissance économique soutenue et une intégration progressive dans les chaînes de valeur européennes. Ces marchés présentent aussi une moins grande profondeur et une liquidité plus limitée, paramètres à prendre en compte dans la construction du portefeuille."}),t.jsx(t.Fragment,{children:"Poland and the countries of Central Europe represent the most dynamic and riskiest segment of the European spectrum. Warsaw, Prague and Budapest offer initial rental yields significantly higher than those of Western European markets, driven by a skilled workforce, sustained economic growth and progressive integration into European value chains. These markets also have less depth and more limited liquidity, parameters to take into account in portfolio construction."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les secteurs qui portent la performance européenne","The sectors driving European performance")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La diversification géographique des SCPI européennes s'accompagne souvent d'une diversification sectorielle qui amplifie la décorrélation avec les SCPI traditionnelles françaises. Les meilleures SCPI européennes ne se contentent pas de reproduire hors de France le modèle de la SCPI de bureaux parisiens, elles construisent des expositions sectorielles délibérément différentes."}),t.jsx(t.Fragment,{children:"The geographical diversification of European SCPIs is often accompanied by a sectoral diversification that amplifies the decorrelation with traditional French SCPIs. The best European SCPIs do not simply reproduce the Parisian office SCPI model outside France, they deliberately build different sectoral exposures."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La santé et l'éducation constituent le secteur le plus défensif de l'immobilier européen. Cliniques privées, maisons de retraite, établissements de soins spécialisés, écoles internationales, universités privées, ces actifs bénéficient de baux très longs avec des locataires institutionnels dont la solvabilité est structurellement solide. La demande est portée par des mégatendances démographiques, vieillissement de la population européenne, croissance de la classe moyenne dans les pays d'Europe de l'Est, mont
759ée en puissance de l'enseignement privé, qui n'ont aucune corrélation avec les cycles économiques ordinaires."}),t.jsx(t.Fragment,{children:"Health and education constitute the most defensive sector of European real estate. Private clinics, nursing homes, specialised care facilities, international schools, private universities, these assets benefit from very long leases with institutional tenants whose solvency is structurally solid. Demand is driven by demographic megatrends, ageing of the European population, growth of the middle class in Eastern European countries, rise of private education, that have no correlation with ordinary economic cycles."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La logistique urbaine et les entrepôts du dernier kilomètre sont le secteur le plus porteur des dix dernières années. La croissance structurelle du commerce en ligne a créé une demande massive pour des actifs logistiques bien situés, proches des grandes agglomérations, capables de répondre aux exigences de livraison rapide que les consommateurs européens ont intégrées dans leurs comportements d'achat. Les taux de vacance sur ces actifs sont historiquement bas et les loyers progressent régulièrement dans la plupart des marchés européens."}),t.jsx(t.Fragment,{children:"Urban logistics and last-mile warehouses are the most buoyant sector of the last ten years. The structural growth of online commerce has created massive demand for well-located logistics assets, close to large urban areas, capable of meeting the fast-delivery requirements that European consumers have integrated into their purchasing behaviour. Vacancy rates on these assets are historically low and rents are rising steadily in most European markets."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le résidentiel géré est un secteur en plein développement dont les SCPI européennes sont parmi les premières à avoir saisi le potentiel. Résidences étudiantes, résidences seniors actives, coliving pour jeunes actifs, ces formats répondent à des besoins de logement que le parc résidentiel classique ne satisfait pas, avec des modèles économiques qui combinent revenus locatifs et services annexes. Leur développement est particulièrement dynamique en Allemagne, aux Pays-Bas et en Espagne, où le manque structurel de logements abordables dans les grandes villes crée une demande captive durable."}),t.jsx(t.Fragment,{children:"Managed residential is a sector in full development whose potential European SCPIs were among the first to grasp. Student residences, active senior residences, coliving for young professionals, these formats respond to housing needs that the traditional residential stock does not satisfy, with economic models that combine rental income and ancillary services. Their development is particularly dynamic in Germany, the Netherlands and Spain, where the structural shortage of affordable housing in large cities creates a lasting captive demand."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que la crise de 2022 a réellement révélé","What the 2022 crisis really revealed")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La remontée des taux amorcée en 2022 a été le test grandeur nature qui a séparé les SCPI résistantes de celles qui ne l'étaient pas, et les résultats ont largement validé la thèse de la diversification européenne."}),t.jsx(t.Fragment,{children:"The rate hike that began in 2022 was the real-world test that separated resilient SCPIs from those that were not, and the results largely validated the thesis of European diversification."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les SCPI très exposées aux bureaux franciliens ont subi de plein fouet la double peine d'une revalorisation des actifs à la baisse et d'une demande locative structurellement fragilisée par la généralisation du télétravail. Les corrections de valeur de part ont atteint 15 à 25% pour les plus exposées, avec des délais de retrait allongés qui ont mis en lumière des problèmes de liquidité sous-jacents."}),t.jsx(t.Fragment,{children:"SCPIs very exposed to Parisian offices suffered the full brunt of the double whammy of downward asset revaluation and structurally weakened rental demand due to the generalisation of remote working. Share value corrections reached 15% to 25% for the most exposed, with extended withdrawal delays that highlighted underlying liquidity problems."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les SCPI européennes diversifiées, celles dont le portefeuille était réparti entre plusieurs pays, plusieurs secteurs et plusieurs types d'actifs, ont traversé cette période avec une résilience remarquable. Leurs valeurs de part sont restées stables ou ont progressé modérément. Leurs taux de distribution ont maintenu des niveaux attractifs. Et leurs taux d'occupation sont restés élevés, adossé
759s à des baux longs sur des locataires institutionnels solides dans des secteurs peu sensibles aux aléas du cycle économique."}),t.jsx(t.Fragment,{children:"Diversified European SCPIs, those whose portfolio was spread across several countries, several sectors and several asset types, weathered this period with remarkable resilience. Their share values remained stable or progressed moderately. Their distribution rates maintained attractive levels. And their occupancy rates remained high, backed by long leases on solid institutional tenants in sectors little sensitive to the vagaries of the economic cycle."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Cette résilience n'est pas le fruit du hasard. Elle reflète des choix délibérés de construction de portefeuille, des actifs sélectionnés pour leur solidité fondamentale plutôt que pour leur accessibilité géographique, des locataires choisis pour leur solvabilité à long terme plutôt que pour leur notoriété, des marchés retenus pour leur profondeur et leur liquidité plutôt que pour leur proximité."}),t.jsx(t.Fragment,{children:"This resilience is not the result of chance. It reflects deliberate portfolio construction choices, assets selected for their fundamental solidity rather than their geographical accessibility, tenants chosen for their long-term solvency rather than their notoriety, markets retained for their depth and liquidity rather than their proximity."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Lire une SCPI européenne : les indicateurs qui comptent","Reading a European SCPI: the indicators that matter")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Évaluer une SCPI européenne requiert une grille d'analyse légèrement différente de celle applicable aux SCPI traditionnelles françaises. Plusieurs indicateurs méritent une attention particulière."}),t.jsx(t.Fragment,{children:"Evaluating a European SCPI requires a slightly different analytical grid from that applicable to traditional French SCPIs. Several indicators deserve particular attention."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La diversification géographique effective est le premier. Une SCPI qui se dit européenne mais concentre 80% de son patrimoine sur un seul pays n'offre pas la décorrélation que la diversification promet. La répartition entre pays doit être suffisamment équilibrée pour que les spécificités de chaque marché se compensent mutuellement, une concentration excessive sur un marché unique reconstitue le risque de concentration que la diversification était censée éliminer."}),t.jsx(t.Fragment,{children:"Effective geographical diversification is the first. An SCPI that calls itself European but concentrates 80% of its assets in a single country does not offer the decorrelation that diversification promises. The distribution between countries must be sufficiently balanced so that the specificities of each market compensate for each other, excessive concentration on a single market reconstitutes the concentration risk that diversification was supposed to eliminate."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La durée résiduelle moyenne des baux, le WALB, est le deuxième indicateur critique. Un WALB de sept ou huit ans signifie que les revenus locatifs du portefeuille sont sécurisés pour cette durée, indépendamment des évolutions du marché locatif. Un WALB de deux ou trois ans expose le portefeuille à un risque de vacance ou de renégociation à la baisse dans un délai court, un risque qui peut peser significativement sur le taux de distribution si les conditions de marché se dégradent au moment des renouvellements."}),t.jsx(t.Fragment,{children:"The weighted average lease break, WALB, is the second critical indicator. A WALB of seven or eight years means that the portfolio's rental income is secured for that duration, regardless of developments in the rental market. A WALB of two or three years exposes the portfolio to a vacancy or downward renegotiation risk within a short timeframe, a risk that can significantly weigh on the distribution rate if market conditions deteriorate at the time of renewals."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La qualité des locataires est le troisième paramètre. Un portefeuille de locataires composé majoritairement d'entreprises du CAC 40, de groupes pharmaceutiques ou d'établissements de santé réputés offre une visibilité sur les flux locatifs radicalement différente d'un portefeuille dont les locataires sont des PME locales plus exposées aux cycles économiques."}),t.jsx(t.Fragment,{children:"Tenant quality is the third parameter. A tenant portfolio composed mainly of CAC 40 companies, pharmaceutical groups or reputable health establishments offers radically different visibility on rental flows from a portfolio whose tenants are local SMEs more exposed to economic cycles."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les frais de souscription et de gestion méritent enfin une attention particulière dans le contexte des SCPI européennes. Les meilleures SCPI de nouvelle génération ont considérablement réduit leurs frais de souscription, certaines les ont supprimés entièrement ou réduits à 2 ou 3%, ce qui améliore significativement le rendement effectif pour l'investisseur et raccourcit le délai de récupération de la mise de fonds initiale."}),t.jsx(t.Fragment,{children:"Subscription and management fees finally deserve particular attention in the context of European SCPIs. The best new-generation SCPIs have considerably reduced their subscription fees, some have eliminated them entirely or reduced them to 2% or 3%, which significantly improves the effective return for the investor and shortens the payback period of the initial outlay."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La liquidité : un paramètre à intégrer dès l'entrée","Liquidity: a parameter to integrate from the outset")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La question de la liquidité des SCPI européennes est souvent abordée trop tard, au moment où l'investisseur souhaite récupérer ses fonds plutôt qu'au moment où il décide d'investir. Elle m
759érite une réflexion en amont."}),t.jsx(t.Fragment,{children:"The question of the liquidity of European SCPIs is often addressed too late, at the moment when the investor wishes to recover their funds rather than at the moment when they decide to invest. It deserves upfront reflection."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les SCPI à capital variable permettent en principe des souscriptions et des rachats continus, la société de gestion assurant la contrepartie des ordres de rachat grâce aux nouvelles souscriptions collectées. Ce mécanisme fonctionne bien en période de collecte nette positive, lorsque les nouvelles souscriptions excèdent les rachats, la liquidité est assurée sans difficulté. Il peut se gripper en période de décollecte, lorsque les rachats excèdent les nouvelles souscriptions, comme certaines SCPI l'ont connu lors des tensions de 2023."}),t.jsx(t.Fragment,{children:"Variable-capital SCPIs in principle allow continuous subscriptions and redemptions, the management company providing the counterparty for redemption orders thanks to new subscriptions collected. This mechanism works well in periods of positive net inflows, when new subscriptions exceed redemptions, liquidity is assured without difficulty. It can seize up in periods of net outflows, when redemptions exceed new subscriptions, as some SCPIs experienced during the 2023 tensions."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les SCPI à capital fixe, dont les parts s'échangent sur un marché de gré à gré organisé, offrent une liquidité différente, plus incertaine en termes de délai mais plus prévisible dans ses mécanismes. La liquidité dépend de l'existence d'acheteurs potentiels au prix proposé, et le carnet d'ordres peut révéler des décotes significatives en péri
759ode de stress."}),t.jsx(t.Fragment,{children:"Fixed-capital SCPIs, whose shares trade on an organised over-the-counter market, offer different liquidity, more uncertain in terms of timing but more predictable in its mechanisms. Liquidity depends on the existence of potential buyers at the offered price, and the order book can reveal significant discounts in periods of stress."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Pour un investisseur dont l'horizon est de huit à dix ans, cette question de liquidité intermédiaire est moins critique que pour un investisseur qui pourrait avoir besoin de ses fonds dans un délai plus court. L'adéquation entre l'horizon d'investissement personnel et la liquidité effective de la SCPI choisie est un paramètre de sélection aussi important que le rendement ou la diversification géographique."}),t.jsx(t.Fragment,{children:"For an investor whose horizon is eight to ten years, this question of intermediate liquidity is less critical than for an investor who might need their funds within a shorter timeframe. The match between the personal investment horizon and the effective liquidity of the chosen SCPI is a selection parameter as important as the return or geographical diversification."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'intégration dans une allocation patrimoniale globale","Integration into an overall wealth allocation")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les SCPI européennes ne sont pas un investissement autonome, elles s'inscrivent dans une allocation patrimoniale globale dont elles constituent la composante immobilière internationale. Leur positionnement optimal dépend de ce que le reste du portefeuille contient déjà."}),t.jsx(t.Fragment,{children:"European SCPIs are not a standalone investment, they fit into an overall wealth allocation of which they constitute the international real estate component. Their optimal positioning depends on what the rest of the portfolio already contains."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Pour un investisseur dont le patrimoine immobilier est concentré sur une résidence principale et un appartement locatif en région parisienne, les SCPI européennes apportent une décorrélation géographique et sectorielle réelle, elles exposent le portefeuille à des marchés dont les cycles ne sont pas synchronisés avec le marché résidentiel français. Pour un investisseur sans patrimoine immobilier direct, elles constituent une porte d'entrée accessible et diversifiée vers une classe d'actifs qui contribue à la décorrélation globale du portefeuille."}),t.jsx(t.Fragment,{children:"For an investor whose real estate wealth is concentrated on a primary residence and a rental apartment in the Paris region, European SCPIs bring real geographical and sectoral decorrelation, they exp
759ose the portfolio to markets whose cycles are not synchronised with the French residential market. For an investor without direct real estate wealth, they constitute an accessible and diversified entry point into an asset class that contributes to the overall decorrelation of the portfolio."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Une allocation de 10 à 20% du patrimoine financier global en SCPI européennes est généralement cohérente pour les profils qui cherchent un rendement régulier avec une volatilité limitée sur un horizon de long terme. Elle peut être constituée progressivement, par versements réguliers sur douze à vingt-quatre mois, pour lisser le risque de point d'entrée sur des marchés dont les valorisations peuvent fluctuer."}),t.jsx(t.Fragment,{children:"An allocation of 10% to 20% of overall financial wealth in European SCPIs is generally coherent for profiles seeking regular return with limited volatility over a long-term horizon. It can be built up progressively, through regular contributions over twelve to twenty-four months, to smooth the entry-point risk on markets whose valuations may fluctuate."}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsx(t.Fragment,{children:"Les SCPI européennes ne sont pas une solution miracle à tous les problèmes de l'immobilier papier français. Elles sont quelque chose de plus précis et de plus utile : un outil de diversification qui corrige structurellement les deux défauts principaux de la SCPI traditionnelle française, la concentration géographique et la fiscalité des revenus fonciers. Dans un environnement où les marchés immobiliers européens offrent des dynamiques de croissance, des profils locatifs et des niveaux de rendement significativement différents de ceux du marché français, cette diversification n'est plus un avantage marginal. Elle est devenue une condition de la résilience."}),t.jsx(t.Fragment,{children:"European SCPIs are not a miracle solution to all the problems of French paper real estate. They are something more precise and more useful: a diversification tool that structurally corrects the two main flaws of the traditional French SCPI, geographical concentration and the taxation of rental income. In an environment where European real estate markets offer growth dynamics, rental profiles and return levels significantly different from those of the French market, this diversification is no longer a marginal advantage. It has become a condition of resilience."}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Construire votre allocation SCPI avec colbr","Build your SCPI allocation with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos équipes analysent les SCPI européennes selon une grille stricte de sélection, évaluent leur diversification géographique réelle et leur solidité locataire, et les intègrent dans une allocation patrimoniale globale adaptée à votre profil.","Our teams analyse European SCPIs according to a strict selection grid, evaluate their actual geographical diversification and tenant solidity, and integrate them into an overall wealth allocation adapted to your profile.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/scpi",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir les SCPI","Discover SCPIs"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/blog/scpi-2025",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Lire notre article SCPI 2025","Read our 2025 SCPI article")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Investir dans une SCPI présente un risque de perte en capital et de liquidité. Les performances passées ne préjugent pas des performances futures. Nous vous recommandons de consulter un conseiller patr
759imonial qualifié avant toute décision de souscription.","Informational document not constituting investment advice. Investing in an SCPI involves a risk of capital loss and liquidity. Past performance is not indicative of future results. We recommend consulting a qualified wealth advisor before any subscription decision.")})]})})}),t.jsx(re,{})]})},v_e=[.16,1,.3,1],b_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Mars 2025","March 2025")," · 11 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("PEA : le meilleur outil pour investir en actions sur le long terme","PEA: the best tool to invest in equities for the long term")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Fiscalité allégée, univers élargi, transmission optimisée : ce que le Plan d'Épargne en Actions permet vraiment.","Lighter taxation, broader universe, optimised transfer: what the Equity Savings Plan really enables.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:v_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx(C,{to:"/plan-epargne-actions",className:"text-primary underline-offset-4 hover:underline",children:"Plan d'Épargne en Actions"})," existe depuis ",t.jsx("strong",{children:"1992"}),". Trente ans de recul, des millions de titulaires, une fiscalité qui n'a pas fondamentalement changé : le PEA est l'un des rares dispositifs d'épargne à avoir traversé les cycles politiques et les réformes fiscales sans perdre son attrait. Et pourtant, il reste ",t.jsx("strong",{children:"sous-utilisé"}),". Beaucoup l'ouvrent sans le comprendre, peu l'utilisent à plein régime, et la majorité ignore les subtilités qui en font un outil véritablement puissant sur le long terme."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx(C,{to:"/plan-epargne-actions",className:"text-primary underline-offset-4 hover:underline",children:"Equity Savings Plan"})," has existed since ",t.jsx("strong",{children:"1992"}),". Thirty years of perspective, millions of holders, taxation that has not fundamentally changed: the PEA is one of the rare savings vehicles to have crossed political cycles and tax reforms without losing its appeal. And yet, it remains ",t.jsx("strong",{children:"underused"}),". Many open it without understanding it, few use it to full c
759apacity, and most overlook the subtleties that make it a truly powerful long-term tool."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le principe : une enveloppe fiscale sur les marchés actions","The principle: a tax envelope on equity markets")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le PEA est une enveloppe fiscale permettant d'investir en actions européennes en ",t.jsx("strong",{children:"franchise d'impôt sur les plus-values et les dividendes"}),", à condition de respecter une durée de détention minimale de ",t.jsx("strong",{children:"cinq ans"}),". Passé ce délai, les gains accumulés sont ",t.jsx("strong",{children:"exonérés d'impôt sur le revenu"}),", seuls les prélèvements sociaux de ",t.jsx("strong",{children:"17,2%"})," restent dus. C'est l'avantage central du dispositif, et il est considérable : sur un portefeuille actions qui progresse de ",t.jsx("strong",{children:"7 à 8% par an"})," en moyenne sur dix ou quinze ans, l'économie fiscale par rapport à un compte titres ordinaire se chiffre en ",t.jsx("strong",{children:"dizaines de milliers d'euros"}),"."]}),t.jsxs(t.Fragment,{children:["The PEA is a tax envelope allowing investment in European equities ",t.jsx("strong",{children:"free from income tax on capital gains and divi
759dends"}),", provided a minimum holding period of ",t.jsx("strong",{children:"five years"})," is met. After this period, accumulated gains are ",t.jsx("strong",{children:"exempt from income tax"}),", only the ",t.jsx("strong",{children:"17.2% social levies"})," remain due. This is the central advantage of the scheme, and it is considerable: on an equity portfolio rising ",t.jsx("strong",{children:"7 to 8% per year"})," on average over ten or fifteen years, the tax saving compared to an ordinary securities account amounts to ",t.jsx("strong",{children:"tens of thousands of euros"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"plafond de versements"})," est fixé à ",t.jsx("strong",{children:"150 000 €"})," pour le PEA classique. Il ne s'agit pas d'un plafond d'encours mais d'un ",t.jsx("strong",{children:"plafond de versements"})," : les plus-values et dividendes réinvestis ne comptent pas dans ce calcul, et le plan peut théoriquement atteindre des encours bien supérieurs à 150 000 € sans jamais dépasser le plafond réglementaire."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"contribution ceiling"})," is set at ",t.jsx("strong",{children:"€150,000"})," for the classic PEA. It is not a ceiling on assets but on ",t.jsx("strong",{children:"contributions"}
759),": reinvested gains and dividends do not count in this calculation, and the plan can theoretically reach assets well above €150,000 without ever exceeding the regulatory ceiling."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("PEA classique, PEA PME et PEA jeune : trois enveloppes complémentaires","Classic PEA, PEA PME and PEA jeune: three complementary envelopes")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"PEA classique"})," est le véhicule de référence, accessible à toute personne physique majeure fiscalement domiciliée en France, à raison d'",t.jsx("strong",{children:"un plan par personne"}),". Un couple peut donc détenir deux PEA classiques, soit ",t.jsx("strong",{children:"300 000 €"})," de versements cumulés."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"classic PEA"})," is the reference vehicle, accessible to any adult natural person fiscally domiciled in France, at the rate of ",t.jsx("strong",{children:"one plan per person"}),". A couple can therefore hold two classic PEAs, i.e. ",t.jsx("strong",{children:"€300,000"})," of cumulative contributions."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"PEA PME"})," est un plan distinct, plafonné à ",t.jsx("strong",{children:"225 000 €"})," de versements, dédié aux titres de petites et moyennes entreprises européennes. Son plafond s'additionne à celui du PEA classique dans une limite globale de ",t.jsx("strong",{children:"225 000 € par personne"}),". Il bénéficie de la même fiscalité que le PEA classique et permet d'accéder à un univers d'investissement différent, avec un ",t.jsx("strong",{children:"potentiel de rendement supérieur"})," sur le long terme au prix d'une volatilité accrue."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"PEA PME"})," is a distinct plan, capped at ",t.jsx("strong",{children:"€225,000"})," of contributions, dedicated to the securities of European small and medium-sized companies. Its ceiling adds to that of the classic PEA within an overall limit of ",t.jsx("strong",{children:"€225,000 per person"}),". It benefits from the same taxation as the classic PEA and provides access to a different investment universe, with ",t.jsx("strong",{children:"higher long-term return potential"})," at the price of increased volatility."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"PEA jeune"}),", créé par la loi Pacte en 2019, est réservé aux enfants majeurs rattachés au foyer fiscal de leurs parents, avec un plafond de ",t.jsx("strong",{children:"20 000 €"}),". Il leur permet de commencer à constituer une enveloppe fiscale avant leur départ du foyer. L'intérêt est double : initier une épargne de long terme dès le plus jeune âge, et faire courir le ",t.jsx("strong",{children:"délai de cinq ans"})," le plus tôt possible."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"PEA jeune"}),", created by the Pacte law in 2019, is reserved for adult children attached to their parents' tax household, with a ",t.jsx("strong",{children:"€20,000"})," ceiling. It allows them to begin building a tax envelope before leaving the household. The interest is twofold: initiate long-term savings at the earliest age, and start the ",t.jsx("strong",{children:"five-year clock"})," as soon as possible."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre Plan d'Épargne en Actions","Our Equity Savings Plan offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Sélection d'ETF et de fonds éligibles, gestion conseillée ou pilotée, accompagnement patrimonial sur le long terme.","Selection of eligible ETFs and funds, advised or managed allocation, long-term wealth advisory.")}),t.jsxs(C,{to:"/plan-epargne-actions",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer le PEA colbr","Explore the colbr PEA"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La fiscalité : comprendre les seuils","Taxation: understanding the thresholds")}),t.jsx("p",{children:e("La fiscalité du PEA est l'une des plus lisibles du droit fiscal français. Elle repose sur un seul critère : la durée de détention au moment du retrait.","The taxation of the PEA is one of the most legible in French tax law. It rests on a single criterion: the duration of holding at the time of withdrawal.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Avant cinq ans, tout retrait entraîne la ",t.jsx("strong",{children:"clôture du plan"})," et l'imposition des gains au ",t.jsx("strong",{children:"prélèvement forfaitaire unique de 30%"}),", soit 12,8% d'impôt sur le revenu et 17,2% de prélèvements sociaux. C'est le régime de droit commun des valeurs mobilières, sans avantage particulier."]}),t.jsxs(t.Fragment,{children:["Before five years, any withdrawal triggers the ",t.jsx("strong",{children:"closure of the plan"})," and taxation of gains at the ",t.jsx("strong",{children:"30% single flat-rate levy"}),", i.e. 12.8% income tax and 17.2% social levies. This is the standard regime for securities, with no particular advantage."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Après cinq ans, les retraits partiels sont possibles ",t.jsx("strong",{children:"sans clôture du plan"})," depuis la loi Pacte. Les gains sont ",t.jsx("strong",{children:"exonérés d'impôt sur le revenu"})," et soumis aux seuls prélèvements sociaux de ",t.jsx("strong",{children:"17,2%"}),". C'est ici que réside tout l'avantage du dispositif : une exonération partielle mais significative, automatique, sans condition de réinvestissement ni de plafond de plus-value."]}),t.jsxs(t.Fragment,{children:["After five years, partial withdrawals are possible ",t.jsx("strong",{children:"without closing the plan"})," since the Pacte law. Gains are ",t.jsx("strong",{children:"exempt from income tax"})," and subject only to ",t.jsx("strong",{children:"17.2% social levies"}),". This is where the entire advantage of the scheme lies: a partial but significant, automatic exemption, with no reinvestment condition or capital gains ceiling."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"date d'ouverture du plan"})," est donc déterminante, bien plus que la date des premiers versements significatifs. Ouvrir un PEA le plus tôt possible, même avec un ",t.jsx("strong",{children:"versement symbolique"}),", permet de faire courir le délai de cinq ans sans immobiliser de capital. C'est l'un des conseils les plus simples et les plus rentables que l'on puisse donner à un jeune épargnant."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"opening date of the plan"})," is therefore decisive, far more than the date of the first significant contributions. Opening a P
759EA as early as possible, even with a ",t.jsx("strong",{children:"symbolic contribution"}),", lets the five-year clock run without locking up capital. It is one of the simplest and most profitable pieces of advice that can be given to a young saver."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'univers d'investissement : plus large qu'il n'y paraît","The investment universe: broader than it appears")}),t.jsx("p",{children:e("Le PEA est souvent perçu comme un plan limité aux actions françaises et européennes. C'est partiellement vrai dans sa définition stricte : les titres éligibles doivent être émis par des sociétés dont le siège est dans l'Union Européenne ou dans l'Espace Économique Européen. Mais en pratique, l'univers accessible est bien plus large.","The PEA is often perceived as a plan limited to French and European equities. This is partially true in its strict definition: eligible securities must be issued by companies headquartered in the European Union or the European Economic Area. But in practice, the accessible universe is much broader.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"ETF synthétiques"}),", fonds indiciels cotés, ont considérablement élargi les possibilités du PEA. Un ETF domicilié en Europe peut répliquer la performance d'indices ",t.jsx("strong",{children:"américains, asiatiques ou mondiaux"})," tout en restant éligible au PEA, à condition d'utiliser une réplication synthétique. Concrètement, un investisseur peut aujourd'hui exposer son PEA au ",t.jsx("strong",{children:"S&P 500, au Nasdaq, aux marchés émergents"})," ou à un indice monde via des ETF synthétiques éligibles, tout en bénéficiant de la fiscalité avantageuse du plan. Cette possibilité transforme le PEA en ",t.jsx("strong",{children:"enveloppe fiscale potentiellement mondiale"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"synthetic ETFs"}),", listed index funds, have considerably broadened the possibilities of the PEA. An ETF domiciled in Europe can replicate the performance of ",t.jsx("strong",{children:"American, Asian or global indices"})," while remaining PEA-eligible, provided it uses synthetic replication. Concretely, an investor can today expose their PEA to the ",t.jsx("strong",{children:"S&P 500, the Nasdaq, emerging markets"})," or a world index via eligible synthetic ETFs, while benefiting from the plan's advantageous taxation. This possibility transforms the PEA into a ",t.jsx("strong",{children:"potentially global tax envelope"}),"."]}))}),t.jsx("p",{children:e("Les fonds actions éligibles, les actions en direct de toutes les grandes entreprises européennes cotées, et certains fonds de capital investissement éligibles complètent un univers d'investissement qui suffit amplement à construire un portefeuille diversifié et performant.","Eligible equity funds, direct shares of all major listed European companies, and certain eligible private equity funds complete an investment universe that is more than enough to build a diversified and performing portfolio.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Gestion active ou passive : le débat tranché par les chiffres","Active or passive management: the debate settled by the numbers")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les données académiques et empiriques convergent depuis deux décennies : sur un horizon de ",t.jsx("strong",{children:"dix ans et plus"}),", la gestion active ",t.jsx("strong",{children:"sous-performe la gestion indicielle"})," dans l'immense majorité des cas, une fois les frais déduits. Les frais de gestion des fonds actifs, souvent entre ",t.jsx("strong",{children:"1,5 et 2,5% par an"}),", représentent un écart de performance cumulé considérable sur vingt ans."]}),t.jsxs(t.Fragment,{children:["Academic and empirical data have converged for two decades: on a horizon of ",t.jsx("strong",{children:"ten years or more"}),", active management ",t.jsx("strong",{children:"underperforms index management"})," in the vast majority of cases, once fees are deducted. The management fees of active funds, often between ",t.jsx("strong",{children:"1.5 and 2.5% per year"}),", represent a considerable cumulative performance gap over twenty years."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour la plupart des investisseurs, une ",t.jsx("strong",{children:"stratég
759ie indicielle"})," construite autour de deux ou trois ",t.jsx("strong",{children:"ETF à frais réduits"})," constitue l'approche la plus efficace sur le long terme. Un ETF monde à ",t.jsx("strong",{children:"0,20% de frais annuels"}),", un ETF marchés émergents et éventuellement une poche plus spécifique selon les convictions : cette architecture simple surpasse statistiquement la majorité des fonds gérés activement disponibles dans l'univers PEA."]}),t.jsxs(t.Fragment,{children:["For most investors, an ",t.jsx("strong",{children:"index strategy"})," built around two or three ",t.jsx("strong",{children:"low-fee ETFs"})," constitutes the most effective long-term approach. A world ETF at ",t.jsx("strong",{children:"0.20% annual fees"}),", an emerging markets ETF and possibly a more specific pocket according to convictions: this simple architecture statistically outperforms the majority of actively managed funds available in the PEA universe."]}))}),t.jsx("p",{children:e("Cela ne signifie pas que la gestion active est sans intérêt : certains gérants délivrent une alpha réelle et durable. Mais elle exige une sélection rigoureuse et une conviction documentée, et non un choix par défaut.","This does not mean active management is without interest: some managers deliver real and durable alpha. But it requires rigorous selection and documented conviction, not a default choice.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("PEA et transmission : l'avantage méconnu","PEA and transfer: the little-known advantage")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En cas de décès du titulaire, le plan est clôturé et les titres sont intégrés à la succession. Mais les ",t.jsx("strong",{children:"plus-values latentes sont définitivement exonérées d'impôt sur le revenu"})," au moment du décès : seuls les prélèvements sociaux restent dus sur les gains constatés. Pour un plan fortement valorisé, cette exonération représente une ",t.jsx("strong",{children:"économie significative"})," par rapport à une liquidation du vivant du titulaire."]}),t.jsxs(t.Fragment,{children:["Upon the holder's death, the plan is closed and the securities are integrated into the estate. But ",t.jsx("strong",{children:"latent gains are definitively exempt from income tax"})," at the time of death: only social levies remain due on realised gains. For a highly valued plan, this exemption represents a ",t.jsx("strong",{children:"significant saving"})," compared to a liquidation during the holder's lifetime."]}))}),t.jsx("p",{children:e("Les héritiers récupèrent les titres à leur valeur de marché au jour du décès, avec une base de coût actualisée, ce qui efface fiscalement toutes les plus values antérieures pour les gains futurs éventuels. Cette mécanique, peu mise en avant, fait du PEA un véhicule de capitalisation long terme particulièrement efficace d'un point de vue successoral.","Heirs recover the securities at their market value on the day of death, with an updated cost basis, which fiscally erases all prior gains for any future gains. This mechanism, little highlighted, makes the PEA a particularly effective long-term capitalisation vehicle from a succession standpoint.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les erreurs classiques à éviter","Common mistakes to avoid")}),t.jsx("p",{children:e("Plusieurs comportements récurrents nuisent à l'efficacité du PEA.","Several recurring behaviours undermine the effectiveness of the PEA.")}),t.jsx("p",{children:e("Retirer avant cinq ans est la première erreur, et la plus coûteuse. Elle prive l'investisseur de l'avantage fiscal central du dispositif et entraîne la clôture du plan, ce qui remet à zéro le délai de cinq ans si un nouveau plan est ouvert.","Withdrawing before five years is the first mistake, and the most costly. It deprives the investor of the central tax advantage of the scheme and triggers closure of the plan, which resets the five-year clock if a new plan is opened.")}),t.jsx("p",{children:e("Laisser le plan en déshérence est la seconde. Beaucoup de PEA sont ouverts puis oubliés, investis dans des fonds monétaires ou des produits peu performants. Un PEA investi en fonds euros ou en fonds obligataires n'a pas de sens : l'avantage fiscal est réel mais insuffisant pour compenser l'absence de rendement. Le PEA est fait pour les actions, et les actions sont faites pour le long terme.","Letting the plan languish is the second. Many PEAs are opened then forgotten, invested in money market funds or underperforming products. A PEA invested in euro funds or bond funds makes no sense: the tax advantage is real but insufficient to compensate for the absence of return. The PEA is made for equities, and equities are made for the long term.")}),t.jsx("p",{children:e("Confondre plafond de versements et plafond d'encours est la troisième erreur fréquente. Des investisseurs hésitent à réinvestir les divi
759dendes ou à effectuer des arbitrages internes par crainte de dépasser le plafond, alors que ces opérations, effectuées sans sortie de cash du plan, n'affectent pas le plafond de versements.","Confusing the contribution ceiling with an asset ceiling is the third frequent mistake. Investors hesitate to reinvest dividends or perform internal arbitrages for fear of exceeding the ceiling, whereas these operations, carried out without cash leaving the plan, do not affect the contribution ceiling.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("PEA et assurance vie : deux enveloppes, deux logiques","PEA and life insurance: two envelopes, two logics")}),t.jsx("p",{children:e("La comparaison entre PEA et assurance vie revient régulièrement, et elle mérite une réponse nuancée. Les deux enveloppes sont complémentaires plutôt que concurrentes, chacune ayant ses domaines de supériorité.","The comparison between PEA and life insurance recurs regularly, and it deserves a nuanced answer. The two envelopes are complementary rather than competing, each having its areas of superiority.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx(C,{to:"/plan-epargne-actions",className:"text-primary underline-offset-4 hover:underline",children:"Le PEA"})," excelle sur l'investissement en ",t.jsx("strong",{children:"actions pures"}),", avec une fiscalité sur les plus-values ",t.jsx("strong",{children:"imbattable après cinq ans"})," et des frais globalement inférieurs à ceux des unités de compte en assurance-vie. Il est le véhicule naturel pour une stratégie de ",t.jsx("strong",{children:"capitalisation actions sur dix à vingt ans"}),"."]}),t.jsxs(t.Fragment,{children:[t.jsx(C,{to:"/plan-epargne-actions",className:"text-primary underline-offset-4 hover:underline",children:"The PEA"})," excels at ",t.jsx("strong",{children:"pure equity investment"}),", with ",t.jsx("strong",{children:"unbeatable taxation on gains after five years"})," and overall fees lower than those of unit-linked life insurance contracts. It is the natural vehicle for an ",t.jsx("strong",{children:"equity capitalisation strategy over ten to twenty years"}),"."]}))}),t.jsx("p",{children:e("L'assurance vie excelle sur la diversification multi actifs, l'accès aux fonds euros, la transmission optimisée et la liquidité sans contrainte de durée. Elle est le véhicule naturel pour une allocation patrimoniale globale intégrant des actifs moins volatils.","Life insurance excels at multi-asset diversification, access to euro funds, optimised transfer and liquidity without duration constraint. It is the natural vehicle for a global wealth allocation integrating less volatile assets.")}),t.jsx("p",{children:e("Pour un investisseur dont la capacité d'épargne le permet, détenir les deux en parallèle, le PEA pour la poche actions pure, l'assurance vie pour le reste, est généralement la stratégie la plus efficace.","For an investor whose savings capacity allows it, holding both in parallel, the PEA for the pure equity pocket, life insurance for the rest, is generally the most effective strategy.")}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("Le PEA est peut être le dispositif d'épargne le mieux conçu du droit français pour l'investisseur de long terme. Pas le plus sophistiqué, pas le plus fiscal dans sa première année, mais celui dont la simplicité, la puissance et la durabilité en font un compagnon irremplaçable pour qui accepte de jouer le jeu de l'horizon long. L'ouvrir tôt, le laisser travailler, et ne pas y toucher avant cinq ans : c'est presque tout ce qu'il faut savoir.","The PEA is perhaps the best-designed savings scheme in French law for the long-term investor. Not the most sophisticated, not the most fiscally generous in its first year, but the one whose simplicity, power and durability make it an irreplaceable companion for those who accept to play the long-horizon game. Open it early, let it work, and do not touch it before five years: that is almost everything you need to know.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Construire votre stratég
759ie PEA","Build your PEA strategy")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers sélectionnent les ETF et fonds adaptés à votre profil, optimisent l'allocation et orchestrent la complémentarité avec votre assurance-vie.","Our advisors select the ETFs and funds suited to your profile, optimise the allocation and orchestrate complementarity with your life insurance.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/plan-epargne-actions",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le PEA colbr","Discover the colbr PEA"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx("a",{href:"#rdv",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Prendre rendez-vous","Book an appointment")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Les règles fiscales applicables au PEA sont susceptibles d'évoluer. Les performances passées ne préjugent pas des performances futures.","Informational document, not investment advice. Tax rules applicable to the PEA are subject to change. Past performance does not prejudge future performance.")})]})})}),t.jsx(re,{})]})},y_e=[.16,1,.3,1],j_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Private Equity","Private Equity")," · ",e("Avril 2025","April 2025")," · 10 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Club deal : investir autrement, investir ensemble","Club deal: invest differently, invest together")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Ticket d'entrée réduit, actifs de qualité institutionnelle, alignement des intérêts : ce que les club deals apportent aux investisseurs privés.","Lower entry ticket, institutional quality assets, alignment of interests: what club deals bring to private investors.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:y_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"club deal"})," est l'une de ces expressions que l'on entend de plus en plus dans les conversations patrimoniales sans toujours en saisir précisément les contours. Ce flou n'est pas anodin : il reflète la nature même du dispositif, qui se situe à la ",t.jsx("strong",{children:"frontière entre l'investissement institutionnel et la gestion privée"}),", et qui s'est longtemps développé dans des cercles restreints avant de s'ouvrir progressivement à une clientèle plus large. Comprendre ce qu'est réellement un club deal, ses avantages, ses limites et les conditions de son succès, c'est accéder à une ",t.jsx("strong",{children:"classe d'actifs"})," qui mérite une place sérieuse dans les réflexions patrimoniales d'aujourd'hui."]}
759),t.jsxs(t.Fragment,{children:["The ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"club deal"})," is one of those expressions increasingly heard in wealth conversations without always being precisely understood. This vagueness is not accidental: it reflects the very nature of the arrangement, which sits at the ",t.jsx("strong",{children:"frontier between institutional investment and private wealth management"}),", and which long developed in restricted circles before gradually opening up to a broader clientele. Understanding what a club deal really is, its advantages, limits and conditions of success, is to access an ",t.jsx("strong",{children:"asset class"})," that deserves a serious place in today's wealth thinking."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce qu'est un club deal","What a club deal is")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un club deal est une opération d'investissement dans laquelle un ",t.jsx("strong",{children:"groupe limité d'investisseurs"})," se réunit pour acquérir conjointement un actif : immobilier, entreprise non cotée, infrastructure, portefeuille de créances, qu'aucun d'entre eux ne pourrait ou ne souhaiterait acquérir seul. L'opération est structurée autour d'un ",t.jsx("strong",{children:"véhicule ad hoc"}),", généralement une société civile ou une holding, dont les investisseurs détiennent des parts proportionnelles à leur apport."]}),t.jsxs(t.Fragment,{children:["A club deal is an investment operation in which a ",t.jsx("strong",{children:"limited group of investors"})," come together to jointly acquire an asset: real estate, an unlisted company, infrastru
759cture, a receivables portfolio, that none of them could or would wish to acquire alone. The operation is structured around a ",t.jsx("strong",{children:"dedicated vehicle"}),", generally a civil company or a holding, in which investors hold shares proportional to their contribution."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce qui distingue le club deal d'un fonds d'investissement classique est fondamental : l'investisseur ",t.jsx("strong",{children:"connaît l'actif avant de s'engager"}),". Il n'y a pas de période d'investissement aveugle, pas de portefeuille à constituer progressivement dont la composition restera inconnue pendant plusieurs années. Le club deal porte sur un actif ",t.jsx("strong",{children:"identifié, analysé, valorisé"}),", et c'est précisément cette transparence qui constitue son premier attrait."]}),t.jsxs(t.Fragment,{children:["What distinguishes a club deal from a classic investment fund is fundamental: the investor ",t.jsx("strong",{children:"knows the asset before committing"}),". There is no blind investment period, no portfolio to be gradually built whose composition will remain unknown for several years. The club deal concerns an ",t.jsx("strong",{children:"identified, analysed, valued"})," asset, and it is precisely this transparency that constitutes its first appeal."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le nombre d'investisseurs est par définition restreint, souvent ",t.jsx("strong",{children:"entre cinq et vingt"}),", ce qui crée une réelle communauté d'intérêts entre des co-investisseurs qui partagent une ",t.jsx("strong",{children:"vision commune"})," sur l'actif, l'horizon de détention et les modalités de sortie."]}),t.jsxs(t.Fragment,{children:["The number of investors is by definition restricted, often ",t.jsx("strong",{children:"between five and twenty"}),", which creates a real community of interests between co-investors who share a ",t.jsx("strong",{children:"common view"})," on the asset, the holding horizon and the exit terms."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi le club deal a le vent en poupe","Why club deals are gaining momentum")}),t.jsx("p",{children:e("La montée en puissance des club deals auprès des investisseurs privés tient à plusieurs facteurs convergents.","The rise of club deals among private investors stems from several converging factors.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le premier est la ",t.jsx("strong",{children:"recherche de rendement"}),". Dans un environnement où les actifs cotés offrent des primes de r
759isque comprimées et où l'immobilier résidentiel classique a perdu de son attrait relatif après des années de valorisation, les actifs non cotés accessibles via club deal offrent des ",t.jsx("strong",{children:"rendements cibles sensiblement supérieurs"}),", généralement entre ",t.jsx("strong",{children:"8 et 15% par an"})," selon la nature de l'opération et le niveau de levier employé."]}),t.jsxs(t.Fragment,{children:["The first is the ",t.jsx("strong",{children:"search for yield"}),". In an environment where listed assets offer compressed risk premia and where classic residential real estate has lost some of its relative appeal after years of price appreciation, unlisted assets accessible via club deal offer ",t.jsx("strong",{children:"significantly higher target returns"}),", generally between ",t.jsx("strong",{children:"8 and 15% per year"})," depending on the nature of the operation and the level of leverage used."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le deuxième est la ",t.jsx("strong",{children:"démocratisation de l'accès"}),". Les grandes opérations d'investissement en immobilier d'entreprise, en ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," ou en dette privée étaient historiquement réservées aux institutionnels capables de déployer plusieurs dizaines de millions d'euros. Le club deal permet à des investisseurs privés de participer à ces opérations avec des ",t.jsx("strong",{children:"tickets compris entre 100 000 et 500 000 €"})," selon les structures, en mutualisant les capitaux nécessaires pour atteindre le seuil d'accès à des actifs de ",t.jsx("strong",{children:"qualité institutionnelle"}),"."]}),t.jsxs(t.Fragment,{children:["The second is the ",t.jsx("strong",{children:"democratisation of access"}),". Large investment operations in commercial real estate, ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," or private debt were historically reserved for institutionals able to deploy several tens of millions of euros. The club deal allows private investors to participate in these operations with ",t.jsx("strong",{children:"tickets between €100,000 and €500,000"})," depending on the structure, by pooling the capital required to reach the access threshold to ",t.jsx("strong",{children:"institutional quality"})," assets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le troisième facteur est l'",t.jsx("strong",{children:"alignement des intérêts"}),". L'opérateur qui structure et pilote le club deal ",t.jsx("strong",{children:"co-investit généralement"})," dans l'opération aux côtés des investisseurs. Cette co-exposition financière est un signal fort : elle aligne les intérêts de l'animateur et des investisseurs bien au-delà de ce qu'offre une relation classique entre un gérant de fonds et ses souscripteurs."]}),t.jsxs(t.Fragment,{children:["The third factor is the ",t.jsx("strong",{children:"alignment of interests"}),". The operator who structures and pilots the club deal ",t.jsx("strong",{children:"generally co-invests"})," in the operation alongside the investors. This financial co-exposure is a strong signal: it aligns the interests of the sponsor and the investors well beyond what a classic relationship between a fund manager and its subscribers offers."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les principales familles de club deals","The main families of club deals")}),t.jsx("p",{children:e("Les club deals se déclinent selon la nature de l'actif sous-jacent, et chaque famille possède ses propres caractéristiques en termes de rendement, de risque et de liquidité.","Club deals come in different forms depending on the nature of the underlying asset, and each family has its own characteristics in terms of return, risk and liquidity.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'immobilier est le terrain d'élection historique du club deal. Immeuble de bureaux, hôtel, local commercial, résidence gérée, portefeuille d'actifs logistiques : la logique est toujours la même. Un opérateur identifie une opportunité d'acquisition, la structure en club deal, réunit les capitaux propres nécessaires auprès d'un groupe d'investisseurs, et pilote l'actif jusqu'à sa revente dans un horizon de ",t.jsx("strong",{children:"cinq à sept ans"}),". Le rendement provient à la fois des ",t.jsx("strong",{children:"revenus locatifs distribués"})," en cours de vie et de la ",t.jsx("strong",{children:"plus-value réalisée à la sortie"}),"."]}),t.jsxs(t.Fragment,{children:["Real estate is the historical home of the club deal. Office building, hotel, commercial premises, managed residence, logistics portfolio: the logic is always the same. An operator identifies an acquisition opportunity, structures it as a club deal, gathers the required equity from a group of investors, and pilots the asset until resale within a horizon of ",t.jsx("strong",{children:"five to seven years"}),". Return comes both from ",t.jsx("strong",{children:"rental income distributed"})," during the life of the investment and from the ",t.jsx("strong",{children:"capital gain realised at exit"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," en club deal suit une logique similaire appliquée aux ",t.jsx("strong",{children:"entreprises non cotées"}),". L'opérateur, souvent une société de gestion ou un family office actif, identifie une PME ou ETI à fort potentiel, réunit les capitaux nécessaires à son acquisition ou à sa recapitalisation, et pilote la ",t.jsx("strong",{children:"création de valeur opérationnelle"})," avant une revente à un industriel ou à un fonds. Les horizons sont généralement de ",t.jsx("strong",{children:"quatre à sept ans"}),", et les rendements cibles sont plus élevés que dans l'immobilier, en contrepartie d'un risque opérationnel supérieur."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}
759)," club deal follows a similar logic applied to ",t.jsx("strong",{children:"unlisted companies"}),". The operator, often an asset manager or an active family office, identifies a high potential SME or mid cap, gathers the capital required for its acquisition or recapitalisation, and pilots ",t.jsx("strong",{children:"operational value creation"})," before a resale to a strategic buyer or a fund. Horizons are generally ",t.jsx("strong",{children:"four to seven years"}),", and target returns are higher than in real estate, in exchange for higher operational risk."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La dette privée en club deal est une troisième famille en plein développement. Des investisseurs se regroupent pour financer une entreprise ou un projet immobilier sous forme de prêt ou d'obligation, en captant un ",t.jsx("strong",{children:"taux d'intérêt négocié directement entre parties"}),". La séniorité dans la structure de capital, les garanties obtenues et la qualité du débiteur sont les paramètres centraux de l'analyse. Les rendements se situent typiquement entre ",t.jsx("strong",{children:"7 et 12% par an"}),", avec une ",t.jsx("strong",{children:"visibilité sur les flux de trésorerie"})," supérieure à celle d'un investissement en capital."]}),t.jsxs(t.Fragment,{children:["Private debt in club deal form is a third rapidly growing family. Investors group together to finance a company or a real estate project in the form of a loan or bond, capturing an ",t.jsx("strong",{children:"interest rate negotiated directly between parties"}),". Seniority in the capital structure, security taken and the quality of the debtor are the central parameters of the analysis. Returns typically range between ",t.jsx("strong",{children:"7 and 12% per year"}),", with greater ",t.jsx("strong",{children:"cash flow visibility"})," than an equity investment."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre Club Deal","Our Club Deal offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Opérations sélectionnées sur des actifs immobiliers et non cotés, co-investissement de l'opérateur, accompagnement patrimonial de bout en bout.","Operations selected on real estate and unlisted assets, operator co-investment, end-to-end wealth advisory.")}),t.jsxs(C,{to:"/club-deal",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer les club deals colbr","Explore colbr club deals"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'analyse d'un club deal : ce qu'il faut regarder","Analysing a club deal: what to look at")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La transparence du club deal, qui constitue son principal attrait, est aussi ce qui exige le plus de ",t.jsx("strong",{children:"rigueur de la part de l'investisseur"}),". Contrairement à un fonds diversifié où le risque de sélection est mutualisé, un club deal ",t.jsx("strong",{children:"concentre l'exposition sur un seul actif"}),". La qualité de l'analyse préalable est donc déterminante."]}),t.jsxs(t.Fragment,{children:["The transparency of the club deal, its main appeal, is also what demands the most ",t.jsx("strong",{children:"rigour from the investor"}),". Unlike a diversified fund where selection risk is pooled, a club deal ",t.jsx("strong",{children:"concentrates exposure on a single asset"}),". The quality of upstream analysis is therefore decisive."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Plusieurs dimensions méritent une attention particulière. La ",t.jsx("strong",{children:"qualité de l'opérateur"})," est la première. Son ",t.jsx("strong",{children:"track record sur des opérations similaires"}),", sa capacité à identifier des opportunités off-market, son réseau de partenaires opérationnels et sa solidité financière propre constituent le socle de toute évaluation. Un opérateur sans historique documenté sur la classe d'actifs concernée est un ",t.jsx("strong",{children:"signal d'alerte"}),", quelle que soit l'attractivité apparente de l'opération présentée."]}),t.jsxs(t.Fragment,{children:["Several dimensions deserve particular attention. The ",t.jsx("strong",{children:"quality of the operator"})," is the first. Its ",t.jsx("strong",{children:"track record on similar operations"}),", its ability to identify off-market opportunities, its network of operational partners and its own financial solidity form the foundation of any evaluation. An operator without a documented track record on the asset class in question is a ",t.jsx("strong",{children:"warning signal"}),", whatever the apparent attractiveness of the operation presented."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"structure juridique et financière"})," est la deuxième dimension critique. La nature du véhicule d'investissement, les ",t.jsx("strong",{children:"droits des investisseurs minoritaires"}),", les modalités de gouvernance, les conditions de sortie anticipée et le traitement des situations de blocage entre co-investisseurs doivent être documentés avec précision. Un club deal mal structuré peut générer des conflits coûteux entre associés, m
759ême sur des actifs fondamentalement sains."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"legal and financial structure"})," is the second critical dimension. The nature of the investment vehicle, ",t.jsx("strong",{children:"minority investor rights"}),", governance arrangements, early exit conditions and the handling of deadlock situations between co-investors must be documented with precision. A poorly structured club deal can generate costly conflicts between partners, even on fundamentally sound assets."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"business plan sous-jacent"})," est la troisième dimension. Les hypothèses de rendement locatif, les projections de valorisation à la sortie, le plan de financement et le ",t.jsx("strong",{children:"niveau de levier employé"})," doivent être soumis à une analyse critique. Les rendements présentés dans les documents commerciaux sont presque toujours des cas centraux ou optimistes : l'investisseur avisé modélise également les ",t.jsx("strong",{children:"scénarios adverses"}
759)," et vérifie que sa perte maximale reste dans des limites acceptables."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"underlying business plan"})," is the third dimension. Rental yield assumptions, exit valuation projections, the financing plan and the ",t.jsx("strong",{children:"level of leverage employed"})," must be subjected to critical analysis. Returns presented in commercial documents are almost always central or optimistic cases: the wise investor also models ",t.jsx("strong",{children:"adverse scenarios"})," and checks that the maximum loss remains within acceptable limits."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Liquidité et horizon : ce que l'on accepte en entrant","Liquidity and horizon: what is accepted at entry")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le club deal est par nature un ",t.jsx("strong",{children:"investissement illiquide"}),". Il n'existe pas de marché secondaire organisé pour revendre ses parts avant le terme de l'opération, et lorsqu'une cession de gré à gré est possible, elle s'effectue généralement avec une ",t.jsx("strong",{children:"décote significative"})," sur la valeur théorique. C'est le corollaire direct des rendements supérieurs offerts : la ",t.jsx("strong",{children:"prime d'illiquidité est réelle"}),", et elle se mérite."]}),t.jsxs(t.Fragment,{children:["The club deal is by nature an ",t.jsx("strong",{children:"illiquid investment"}),". There is no organised secondary market to resell shares before the end of the operation, and when an over-the-counter sale is possible, it is generally carried out with a ",t.jsx("strong",{children:"significant discount"})," to theoretical value. This is the direct corollary of the higher returns offered: the ",t.jsx("strong",{children:"illiquidity premium is real"}),", and it is earned."]}))}),t.jsx("p",{children:e("L'horizon d'investissement doit donc être sincèrement accepté dès l'entrée. Un investisseur qui pourrait avoir besoin de récupérer ses fonds dans les trois premières années de l'opération ne devrait pas s'engager dans un club deal à cinq ou sept ans, quelle qu'en soit l'attractivité apparente. Cette discipline d'horizon est l'une des conditions sine qua non d'une expérience réussie.","The investment horizon must therefore be sincerely accepted from entry. An investor who might need to recover funds in the first three years of the operation should not engage in a five or seven year club deal, whatever its apparent attractiveness. This horizon discipline is one of the sine qua non conditions of a successful experience.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Club deal et fiscalité : des structures adaptables","Club deal and taxation: adaptable structures")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La structuration juridique d'un club deal offre une ",t.jsx("strong",{children:"certaine souplesse fiscale"}),". Selon la nature de l'actif et le véhicule retenu, les revenus distribués peuvent relever du régime des ",t.jsx("strong",{children:"revenus fonciers, des dividendes ou des plus-values mobilières"}),", chacun avec ses propres règles d'imposition et ses possibilités d'optimisation."]}),t.jsxs(t.Fragment,{children:["The legal structuring of a club deal offers a ",t.jsx("strong",{children:"degree of tax flexibility"}),". Depending on the nature of the asset and the vehicle chosen, distributed income can fall under the regime of ",t.jsx("strong",{children:"property income, dividends or securities capital gains"}),", each with its own taxation rules and optimisation possibilities."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les actifs immobiliers, la détention via une ",t.jsx("strong",{children:"société civile à l'impôt sur les sociétés"})," permet de capitaliser les bénéfices en reportant l'imposition à la sortie, tout en bénéficiant de l'",t.jsx("strong",{children:"amortissement fiscal"})," de l'actif. Pour les opérations de private equity, la détention via une ",t.jsx("strong",{children:"holding soumise à l'IS"}
759)," permet de réinvestir les dividendes reçus avec une fiscalité très allégée grâce au régime mère-fille. Ces optimisations ne sont pas automatiques : elles requièrent une ",t.jsx("strong",{children:"structuration réfléchie dès l'origine"})," et un accompagnement fiscal adapté."]}),t.jsxs(t.Fragment,{children:["For real estate assets, holding through a ",t.jsx("strong",{children:"civil company subject to corporate tax"})," allows profits to be capitalised by deferring taxation until exit, while benefiting from ",t.jsx("strong",{children:"tax depreciation"})," of the asset. For private equity operations, holding through a ",t.jsx("strong",{children:"corporate tax holding"})," allows dividends received to be reinvested with very light taxation thanks to the parent-subsidiary regime. These optimisations are not automatic: they require ",t.jsx("strong",{children:"thoughtful structuring from the outset"})," and appropriate tax support."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("À qui s'adresse le club deal","Who club deals are for")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le club deal n'est pas un produit universel. Il s'adresse à des investisseurs disposant d'un ",t.jsx("strong",{children:"patrimoine global suffisant"})," pour qu'une immobilisation de ",t.jsx("strong",{children:"100 000 à 500 000 €"})," sur cinq à sept ans ne représente qu'une fraction raisonnable de leur allocation totale, généralement entre ",t.jsx("strong",{children:"5 et 15% du patrimoine financier"}),". Il requiert une tolérance à l'illiquidité, une capacité à analyser des documents d'investissement substantiels et une disposition à assumer un ",t.jsx("strong",{children:"risque de concentration"})," sur un actif unique."]}),t.jsxs(t.Fragment,{children:["The club deal is not a universal product. It is aimed at investors with ",t.jsx("strong",{children:"sufficient overall wealth"})," such that committing ",t.jsx("strong",{children:"€100,000 to €500,000"})," over five to seven years represents only a reasonable fraction of their total allocation, generally between ",t.jsx("strong",{children:"5 and 15% of financial wealth"}),". It requires a tolerance for illiquidity, an ability to analyse substantial investment documents and a willingness to assume ",t.jsx("strong",{children:"concentration risk"})," on a single asset."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En contrepartie, il offre un accès à des actifs et à des rendements qui étaient jusqu'à récemment ",t.jsx("strong",{children:"réservés aux institutionnels"}),", une ",t.jsx("strong",{children:"transparence totale"})," sur ce dans quoi l'on investit, et un alignement des intérêts avec l'opérateur que les ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"fonds classiques"})," peinent à égaler."]}),t.jsxs(t.Fragment,{children:["In return, it offers access to assets and returns that were until recently ",t.jsx("strong",{children:"reserved for institutionals"}),", ",t.jsx("strong",{children:"total transparency"})," on what one invests in, and an alignment of interests with the operator that ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"classic funds"})," struggle to match."]}))}),t.jsx("p",{children:e("Le club deal représente une forme d'investissement qui renoue avec une logique ancienne et intuitive : réunir des gens qui se font confiance autour d'un actif qu'ils comprennent, pour créer ensemble de la valeur qu'aucun n'aurait pu générer seul. Dans un monde financier qui a parfois perdu le sens du concret, il y a quelque chose de profondément sain dans cette approche.","The club deal represents a form of investment that reconnects with an old and intuitive logic: bringing together people who trust each other around an asset they understand, to create together value that none could have generated alone. In a financial world that has sometimes lost its sense of the concrete, there is something profoundly healthy in this approach.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Accéder aux meilleures opérations en club deal","Access the best club deal operations")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos équipes sélectionnent des opérations immobilières et private equity pour des investisseurs privés exigeants, avec un co-investissement systématique de l'opérateur.","Our teams select real estate and private equity operations for discerning private investors, with systematic operator co-investment.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/club
759-deal",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir les club deals colbr","Discover colbr club deals"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/private-equity",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Voir le private equity","See private equity")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground pt-8 border-t border-border mt-12",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. Les club deals sont des investissements réservés à des investisseurs avertis, présentant un risque de perte en capital et une liquidité limitée. Nous vous recommandons de consulter un conseiller patrimonial avant toute décision d'investissement.","Informational document not constituting investment advice. Club deals are investments reserved for informed investors, with a risk of capital loss and limited liquidity. We recommend consulting a wealth advisor before any investment decision.")})]})})}),t.jsx(re,{})]})},w_e=[.16,1,.3,1],N_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Mai 2025","May 2025")," · 11 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Girardin industriel : réduire son impôt en finançant l'économie réelle","Industrial Girardin: cut your tax bill by financing the real economy")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Mécanisme, agrément, risques et sélection des opérateurs : tout ce qu'il faut savoir sur la défiscalisation ultramarine.","Mechanism, approval, risks and operator selection: everything to know about overseas tax relief.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:w_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"Girardin industriel"})," est l'un des rares dispositifs fiscaux français à offrir un ",t.jsx("strong",{children:"rendement immédiat et garanti sur l'impôt"}),", non sur le capital investi, mais sur l'impôt lui-même. Cette particularité le rend unique dans le paysage de la ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"défiscalisation"}),", et elle explique à la fois son attrait et les précautions qu'il exige. Mal compris, il est souvent relégué au rang de niche fiscale confidentielle. Bien compris, il constitue un ",t.jsx("strong",{children:"outil de gestion de l'impôt particulièrement efficace"})," pour les contribuables fortement imposés."]}),t.jsxs(t.Fragment,{children:["Industrial ",t.jsx("strong",{children:"Girardin"})," is one of the rare French tax schemes to offer an ",t.jsx("strong",{children:"immediate and guaranteed return on tax"}),", not on invested capital, but on tax itself. This particularity makes it unique in the landscape of ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"tax relief"}),", and explains both its appeal and the precautions it requires. Poorly understood, it is often relegated to the rank of confidential tax niche. Well understood, it constitutes a ",t.jsx("strong",{children:"particularly effective tax management tool"})," for heavily taxed taxpayers."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le principe : un investissement à fonds perdus qui rapporte plus qu'il ne coûte","The principle: a sunk investment that returns more than it costs")}
759),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le Girardin industriel repose sur un mécanisme de défiscalisation lié au financement d'",t.jsx("strong",{children:"équipements industriels dans les départements et régions d'outre-mer"}),", Guadeloupe, Martinique, Guyane, La Réunion, Mayotte, ainsi que dans les collectivités d'outre-mer telles que la Polynésie française, Saint-Martin ou la Nouvelle-Calédonie."]}),t.jsxs(t.Fragment,{children:["Industrial Girardin rests on a tax relief mechanism linked to financing ",t.jsx("strong",{children:"industrial equipment in French overseas departments and regions"}),", Guadeloupe, Martinique, Guyana, Réunion, Mayotte, as well as in overseas collectivities such as French Polynesia, Saint Martin or New Caledonia."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le principe est le suivant. Une ",t.jsx("strong",{children:"société de portage"})," acquiert des équipements professionnels, matériel agricole, équipements de pêche, outils de production industrielle, véhicules professionnels, destinés à être loués à des entreprises ultramarines qui ne peuvent pas financer directement ces acquisitions. L'investisseur souscrit des parts de cette société de portage, finance une fraction du coût des équipements, et obtient en contrepartie une ",t.jsx("strong",{children:"réduction d'impôt supérieure à son investissement"}),". Au terme de la période de location, généralement ",t.jsx("strong",{children:"cinq ans"}),", les parts sont cédées pour une valeur symbolique."]}),t.jsxs(t.Fragment,{children:["The principle is as follows. A ",t.jsx("strong",{children:"holding company"})," acquires professional equipment, agricultural machinery, fishing equipment, industrial production tools, professional vehicles, intended to be leased to overseas businesses that cannot directly finance these acquisitions. The private investor subscribes to shares in this holding company, finances a fraction of the equipment cost, and in return obtains a ",t.jsx("strong",{children:"tax reduction greater than their investment"}),". At the end of the leasing period, generally ",t.jsx("strong",{children:"five years"}),", the shares are sold for a symbolic value."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est ce dernier point qui distingue le Girardin de tous les autres dispositifs : ",t.jsx("strong",{children:"l'investisseur perd son capital de façon programmée et acceptée"}),". Ce n'est pas un placement, c'est un achat d'avantage fiscal. Pour un impôt de ",t.jsx("strong",{children:"20 000 €"}),", l'investisseur débourse typiquement entre ",t.jsx("strong",{children:"17 000 et 19 000 €"}),", et obtient une réduction d'impôt de 20 000 €. Le gain net est la différence entre la réduction obtenue et la somme investie, soit un ",t.jsx("strong",{children:"rendement fiscal de l'ordre de 10 à 25%"})," selon les opérations."]}),t.jsxs(t.Fragment,{children:["It is this last point that distinguishes Girardin from all other schemes: ",t.jsx("strong",{children:"the investor loses their capital in a planned and accepted way"}),". It is not an investment, it is a purchase of tax benefit. For a ",t.jsx("strong",{children:"€20,000 tax bill"}),", the investor typically pays out between ",t.jsx("strong",{children:"€17,000 and €19,000"}),", and obtains a tax reduction of €20,000. The net gain is the difference between the reduction obtained and the sum invested, i.e. a ",t.jsx("strong",{children:"fiscal return of around 10 to 25%"})," depending on the operation."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le cadre légal : un dispositif encadré mais exigeant","The legal framework: a regulated but demanding scheme")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le Girardin industriel est régi par l'",t.jsx("strong",{children:"article 199 undecies B du Code général des impôts"}),", dont les dispositions ont été plusieurs fois modifiées et renforcées depuis la création du dispositif. Le législateur a progressivement durci les conditions d'éligibilité pour concentrer l'avantage fiscal sur les opérations présentant un ",t.jsx("strong",{children:"réel intérêt économique pour les territoires ultramarins"}),"."]}),t.jsxs(t.Fragment,{children:["Industrial Girardin is governed by ",t.jsx("strong",{children:"article 199 undecies B of the General Tax Code"}),", whose provisions have been amended and strengthened several times since the scheme's creation. The legislator has gradually tightened eligibility conditions to concentrate the tax benefit on operations presenting ",t.jsx("strong",{children:"genuine economic interest for overseas territories"}),"."]}))}),t.jsx("p",{children:e("Les équipements financés doivent être productifs, neufs, et exploités pendant au moins cinq ans par une entreprise exerçant une activité éligible dans un territoire ultramarin. Certains secteurs sont exclus du dispositif, notamment la grande distribution, certaines activités de services et les équipements de luxe. L'entreprise locataire doit remplir des conditions de taille et de solidité financière.","Financed equipment must be productive, new, and operated for at least five years by a company carrying out an eligible activity in an overseas territory. Some sectors are excluded from the scheme, notably mass retail, certain service activities and luxury equipment. The leasing company must meet conditions of size and financial solidity.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les opérations dépassant certains seuils, un ",t.jsx("strong",{children:"agrément préalable de l'administration fiscale"})," est obligatoire. Cet agrément est à la fois une contrainte et une garantie : il signifie que le fisc a examiné et validé la structure de l'opération avant que les investisseurs ne s'y engagent. Les ",t.jsx("strong",{children:"opérations agréées présentent un profil de risque fiscal significativement plus faible"})," que les opérations de plein droit, pour lesquelles l'administration conserve un droit de contrôle a posteriori."]}),t.jsxs(t.Fragment,{children:["For operations exceeding certain thresholds, ",t.jsx("strong",{children:"prior approval from the tax authority"})," is mandatory. This approval is both a constraint and a guarantee: it means the tax authority has examined and validated the operation's structure before investors commit. ",t.jsx("strong",{children:"Approved operations present a significantly lower tax risk profile"})," than as of right operations, for which the authority retains a right of subsequent control."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre Girardin industriel","Our Industrial Girardin offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Opérateurs sélectionnés, garanties de bonne fin vérifiées, accompagnement patrimonial dédié.","Selected operators, verified completion guarantees, dedicated wealth advisory.")}),t.jsxs(C,{to:"/girardin",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer le Girardin colbr","Explore the colbr Girardin"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le rendement fiscal : comment le lire","The fiscal return: how to read it")}
759),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le rendement d'une opération Girardin se mesure par ce que les praticiens appellent le ",t.jsx("strong",{children:"taux de rétrocession"})," ou le taux d'efficacité fiscale, le rapport entre la réduction d'impôt obtenue et la somme effectivement investie."]}),t.jsxs(t.Fragment,{children:["The return of a Girardin operation is measured by what practitioners call the ",t.jsx("strong",{children:"rebate rate"})," or fiscal efficiency rate, the ratio between the tax reduction obtained and the sum actually invested."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Une opération à ",t.jsx("strong",{children:"1,15"})," signifie que pour 100 € investis, l'investisseur obtient ",t.jsx("strong",{children:"115 € de réduction d'impôt"}),", soit un gain net de 15 €. Les opérations du marché se situent généralement entre ",t.jsx("strong",{children:"1,10 et 1,25"}),", avec des variations selon le type d'équipement, le territoire concerné, la qualité du montage et la réputation de l'opérateur. Les taux les plus élevés ne sont pas nécessairement les plus attractifs : ils peuvent signaler des opérations plus risquées ou des opérateurs qui compriment leurs ",t.jsx("strong",{children:"marges de sécurité"})," pour afficher des chiffres commercialement séduisants."]}),t.jsxs(t.Fragment,{children:["An operation at ",t.jsx("strong",{children:"1.15"})," means that for €100 invested, the investor obtains ",t.jsx("strong",{children:"€115 of tax reduction"}),", i.e. a net gain of €15. Market operations generally lie between ",t.jsx("strong",{children:"1.10 and 1.25"}),", with variations depending on equipment type, territory, structuring quality and operator reputation. The highest rates are not necessarily the most attractive: they may signal riskier operations or operators compressing their ",t.jsx("strong",{children:"safety margins"})," to display commercially seductive figures."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le calendrier de la réduction d'impôt est également un paramètre important. Un investissement effectué en ",t.jsx("strong",{children:"novembre 2024"})," génère une réduction sur l'impôt 2024, payable en septembre 2025. Le délai entre le décaissement et le bénéfice effectif est donc d'environ ",t.jsx("strong",{children:"dix à douze mois"}),", ce qui est court par rapport à d'autres dispositifs de défiscalisation."]}),t.jsxs(t.Fragment,{children:["The tax reduction calendar is also an important parameter. An investment made in ",t.jsx("strong",{children:"November 2024"})," generates a reduction on 2024 tax, payable in September 2025. The delay between cash outflow and effective benefit is therefore around ",t.jsx("strong",{children:"ten to twelve months"}),", which is short compared to other tax relief schemes."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les risques : ne pas les minimiser","Risks: do not minimise them")}),t.jsx("p",{children:e("Le Girardin industriel n'est pas sans risques, et les présenter honnêtement est une condition du conseil patrimonial sérieux.","Industrial Girardin is not without risks, and presenting them honestly is a condition of serious wealth advice.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"risque principal est le risque de reprise fiscale"}),". Si l'opération ne respecte pas les conditions légales, équipement non livré, entreprise locataire défaillante avant le terme des cinq ans, non-conformité des équipements, l'administration fiscale peut remettre en cause la réduction d'impôt accordée. L'investisseur se retrouve alors à devoir rembourser la réduction obtenue, majorée d'",t.jsx("strong",{children:"intérêts de retard"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"main risk is the risk of tax clawback"}),". If the operation does not respect legal conditions, equipment not delivered, leasing company defaulting before the end of the five years, non-compliance of equipment, the tax authority can challenge the granted tax reduction. The investor then has to repay the reduction obtained, plus ",t.jsx("strong",{children:"late interest"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ce risque est réel mais gérable, à condition de bien choisir son opérateur. Les sociétés spécialisées sérieuses proposent des ",t.jsx("strong",{children:"garanties de bonne fin"})," qui couvrent l'investisseur en cas de reprise fiscale liée à un défaut de l'opération. La qualité de cette garantie, la ",t.jsx("strong",{children:"solidité financière du garant"})," et les conditions précises de sa mise en jeu sont des éléments à examiner avec attention avant toute souscription."]}),t.jsxs(t.Fragment,{children:["This risk is real but manageable, provided one chooses the right operator. Serious specialised companies offer ",t.jsx("strong",{children:"completion guarantees"}
759)," that cover the investor in case of tax clawback linked to an operation defect. The quality of this guarantee, the ",t.jsx("strong",{children:"financial solidity of the guarantor"})," and the precise conditions of its activation are elements to examine carefully before any subscription."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"risque opérationnel"})," est le second à considérer. La défaillance de l'entreprise locataire avant le terme de cinq ans est le scénario adverse le plus fréquent. Pour le limiter, les opérateurs sérieux sélectionnent leurs locataires avec rigueur, ",t.jsx("strong",{children:"diversifient les équipements sur plusieurs entreprises locataires"})," au sein d'une même opération, et souscrivent des assurances spécifiques sur les loyers."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"operational risk"})," is the second to consider. Default of the leasing company before the end of five years is the most frequent adverse scenario. To limit it, serious operators select their tenants rigorously, ",t.jsx("strong",{children:"diversify equipment across several leasing companies"})," within a single operation, and take out specific insurance on rents."]}))}),t.jsx("p",{children:e("Le risque de non conformité documentaire, enfin, ne doit pas être négligé. Le dossier Girardin est complexe, les pièces justificatives nombreuses, et une erreur de forme peut suffire à déclencher un contrôle. Un opérateur expérimenté dispose de processus documentaires éprouvés, c'est l'une des raisons pour lesquelles le choix de l'opérateur est la décision la plus importante de toute l'opération.","The risk of documentary non compliance, finally, must not be neglected. The Girardin file is complex, supporting documents numerous, and a formal error can be enough to trigger an audit. An experienced operator has tested documentary processes, this is one of the reasons why the choice of operator is the most important decision of the entire operation.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Sélectionner un opérateur : les critères qui comptent","Selecting an operator: the criteria that matter")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le marché du Girardin industriel est composé d'acteurs d'une ",t.jsx("strong",{children:"qualité très inégale"}),". La réputation commerciale d'un opérateur se construit rapidement, mais son ",t.jsx("strong",{children:"track record réel"}),", le nombre d'opérations soldées sans reprise fiscale, le taux de sinistralité sur ses portefeuilles passés, la qualité de son suivi post-souscription, ne se vérifie que sur la durée."]}),t.jsxs(t.Fragment,{children:["The industrial Girardin market is made up of players of ",t.jsx("strong",{children:"very unequal quality"}),". An operator's commercial reputation builds quickly, but its ",t.jsx("strong",{children:"real track record"}),", the number of operations closed without tax clawback, the loss rate on past portfolios, the quality of its post-subscription monitoring, can only be verified over time."]}))}),t.jsx("p",{children:e("Plusieurs critères permettent d'orienter la sélection. L'ancienneté et le volume d'opérations réalisées constituent un premier filtre : un opérateur qui structure des Girardin depuis dix ans et a accompagné plusieurs milliers d'investisseurs dispose d'une expérience opérationnelle et juridique que les entrants récents sur le marché ne peuvent pas égaler. La qualité de la garantie de bonne fin proposée, et la solidité de l'établissement qui la délivre, est le deuxième critère. La transparence sur la nature des équipements financés, l'identité des entreprises locataires et les conditions de l'opération est le troisième : un opérateur qui refuse de documenter précisément ses opérations est un signal d'alerte sans ambiguïté. La politique de suivi post investissement, enfin, révèle la culture d'un opérateur : certains disparaissent après la souscription, d'autres accompagnent leurs investisseurs pendant toute la durée de portage.","Several criteria help guide selection. Seniority and the volume of operations carried out constitute a first filter: an operator structuring Girardin for ten years and having supported several thousand investors has operational and legal experience that recent market entrants cannot match. The quality of the completion guarantee offered, and the solidity of the institution delivering it, is the second criterion. Transparency on the nature of financed equipment, the identity of leasing companies and the operation's conditions is the third: an operator refusing to document its operations precisely is an unambiguou
759s warning signal. The post investment monitoring policy, finally, reveals an operator's culture: some disappear after subscription, others accompany their investors throughout the entire holding period.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pour qui le Girardin est-il pertinent","Who Girardin is relevant for")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx(C,{to:"/girardin",className:"text-primary underline-offset-4 hover:underline",children:"Girardin industriel"})," s'adresse aux contribuables dont l'impôt sur le revenu est suffisamment élevé pour justifier la démarche, en pratique, à partir de ",t.jsx("strong",{children:"8 000 à 10 000 € d'impôt annuel"}),", le dispositif commence à présenter un intérêt économique significatif. En dessous de ce seuil, les frais fixes inhérents à toute opération réduisent l'attractivité du rendement fiscal."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx(C,{to:"/girardin",className:"text-primary underline-offset-4 hover:underline",children:"industrial Girardin"})," is aimed at taxpayers whose income tax is high enough to justify the approach, in practice, from ",t.jsx("strong",{children:"€8,000 to €10,000 of annual tax"}),", the scheme begins to present significant economic interest. Below this threshold, fixed costs inherent to any Girardin operation reduce the attractiveness of the fiscal return."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il est particulièrement adapté aux ",t.jsx("strong",{children:"années de revenus exceptionnels"}),", cession d'un bien immobilier, perception d'une prime importante, levée de stock-options, où la facture fiscale est temporairement élevée et où l'investisseur souhaite l'amortir sans immobiliser de capital sur le long terme. Sa complémentarité avec d'autres ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"dispositifs de défiscalisation"}),", PER, déficit foncier, GFI, permet de construire une ",t.jsx("strong",{children:"stratégie fiscale cohérente et diversifiée"}),", chaque dispositif intervenant sur un compartiment différent de la feuille d'impôt."]}),t.jsxs(t.Fragment,{children:["It is particularly suited to ",t.jsx("strong",{children:"years of exceptional income"}),", sale of real estate, receipt of a large bonus, stock option exercise, when the tax bill is temporarily high and the investor wishes to cushion it without locking up capital long term. Its complementarity with other ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"tax relief schemes"}),", PER, property deficit, GFI, allows the construction of a ",t.jsx("strong",{children:"coherent and diversified tax strategy"}),", each scheme intervening on a different compartment of the tax return."]}))}),t.jsx("p",{children:e("Le Girardin industriel est un outil fiscal, pas un placement. Cette distinction n'est pas sémantique, elle définit la façon dont on doit l'aborder, l'analyser et l'intégrer dans une stratégie patrimoniale. Utilisé avec discernement, dans le cadre d'opérations sérieuses et avec des opérateurs dont le track record est documenté, il permet de réduire significativement une charge fiscale tout en contribuant au financement d'une économie réelle qui en a besoin. C'est une équation rare dans le paysage fiscal français.","Industrial Girardin is a tax tool, not an investment. This distinction is not semantic, it defines how one should approach, analyse and integrate it into a wealth strategy. Used with discernment, within serious operations and with operators whose track record is documented, it allows significant reduction of a tax burden while contributing to financing a real economy that needs it. This is a rare equation in the French tax landscape.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Intégrer le Girardin dans votre stratég
759ie fiscale","Integrate Girardin into your tax strategy")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers sélectionnent les opérations agréées, vérifient les garanties et orchestrent la complémentarité avec vos autres dispositifs de défiscalisation.","Our advisors select approved operations, verify guarantees and orchestrate complementarity with your other tax relief schemes.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/girardin",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le Girardin colbr","Discover the colbr Girardin"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/dispositifs-fiscaux",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Voir nos dispositifs fiscaux","See our tax schemes")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground pt-8 border-t border-border mt-12",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil fiscal. Le Girardin industriel présente des risques de reprise fiscale. Nous vous recommandons de consulter un conseiller patrimonial qualifié et de vérifier l'agrément et le track record de tout opérateur avant toute souscription.","Informational document not constituting investment or tax advice. Industrial Girardin presents risks of tax clawback. We recommend consulting a qualified wealth advisor and verifying the approval and track record of any operator before any subscription.")})]})})}),t.jsx(re,{})]})},k_e=[.16,1,.3,1],q_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Immobilier","Real Estate")," · ",e("Juin 2025","June 2025")," · 12 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Groupements Forestiers d'Investissement : quand la forêt devient un actif patrimonial","Forest Investment Groups: when the forest becomes a wealth asset")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Fiscalité avantageuse, décorrélation des marchés, transmission optimisée : ce que les GFI apportent à une allocation patrimoniale.","Favourable taxation, market decorrelation, optimised transfer: what GFIs bring to a wealth allocation.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:k_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La forêt n'est pas le premier actif auquel on pense lorsqu'on parle de gestion de patrimoine. Structurés comme des ",t.jsx("strong",{children:"fonds d'investissement alternatifs"}),", gérés par des sociétés de gestion agréées par l'AMF, les ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"GFI"})," ont profondément modernisé l'accès à la forêt comme classe d'actifs. Ils méritent une place sérieuse dans la réflexion patrimoniale, non pas comme un placement de rendement, mais comme un outil de ",t.jsx("strong",{children:"diversification, de défiscalisation et de transmission"})," dont les qualités spécifiques sont difficiles à reproduire ailleurs."]}),t.jsxs(t.Fragment,{children:["The forest is not the first asset that c
759omes to mind when discussing wealth management. Structured as ",t.jsx("strong",{children:"alternative investment funds"}),", managed by asset management companies approved by the AMF, ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"GFIs"})," have profoundly modernised access to the forest as an asset class. They deserve a serious place in wealth thinking, not as a yield investment, but as a ",t.jsx("strong",{children:"diversification, tax relief and transfer tool"})," whose specific qualities are difficult to reproduce elsewhere."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce qu'est un GFI","What a GFI is")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un ",t.jsx("strong",{children:"Groupement Forestier d'Investissement"})," est un fonds d'investissement alternatif qui acquiert et gère des massifs forestiers pour le compte de ses porteurs de parts. Agréé par l'",t.jsx("strong",{children:"Autorité des Marchés Financiers"}),", il est soumis aux obligations de transparence, de reporting et de gestion des conflits d'intérêts applicables aux fonds professionnels, ce qui le distingue des groupements forestiers classiques, structures plus anciennes et moins encadrées."]}),t.jsxs(t.Fragment,{children:["A ",t.jsx("strong",{children:"Forest Investment Group"})," is an alternative investment fund that acquires and manages forest estates on behalf of its unit holders. Approved by the ",t.jsx("strong",{children:"French Financial Markets Authority"}),", it is subject to the obligations of transparency, reporting and conflict of interest management applicable to professional funds, which distinguishes it from classic forest groupings, older and less regulated structures."]}))}),t.jsx("p",{children:e("L'investisseur souscrit des parts du GFI et devient ainsi propriétaire indirect d'une fraction d'un patrimoine forestier diversifié, réparti sur plusieurs massifs, plusieurs essences et plusieurs régions. La gestion opérationnelle, exploitation sylvicole, entretien des peuplements, commercialisation des bois, arbitrages entre massifs, est entièrement déléguée à la société de gestion. L'investisseur n'a pas à se soucier de la logistique forestière : il détient un actif réel géré professionnellement, avec une documentation régulière sur la valeur et l'évolution de son patrimoine.","The investor subscribes to GFI units and thus becomes an indirect owner of a fraction of a diversified forest estate, spread across several massifs, several species and several regions. Operational management, silvicultural operations, stand maintenance, timber marketing, arbitrage between estates, is entirely delegated to the management company. The investor does not have to worry about forest logistics: they hold a real asset professionally managed, with regular documentation on the value and evolution of their holding.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La fiscalité : un triptyque rare","Taxation: a rare triptych")}),t.jsx("p",{children:e("L'attrait fiscal des GFI repose sur trois avantages distincts qui s'articulent à des moments différents de la vie de l'investissement.","The tax appeal of GFIs rests on three distinct advantages that come into play at different moments of the investment's life.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["À l'entrée, la souscription de parts de GFI ouvre droit à une ",t.jsx("strong",{children:"réduction d'impôt sur le revenu égale à 25%"})," des sommes investies, dans la limite de ",t.jsx("strong",{children:"5 700 € de réduction pour un célibataire"})," et ",t.jsx("strong",{children:"11 400 € pour un couple"}),". Pour atteindre le plafond de réduction, il faut donc investir respectivement 22 800 € ou 45 600 €. Cette réduction est soumise au ",t.jsx("strong",{children:"plafonnement global des niches fiscales de 10 000 €"})," par an."]}),t.jsxs(t.Fragment,{children:["On entry, GFI unit subscription opens the right to an ",t.jsx("strong",{children:"income tax reduction equal to 25%"})," of sums invested, capped at ",t.jsx("strong",{children:"€5,700 reduction for a single person"})," and ",t.jsx("strong",{children:"€11,400 for a couple"}),". To reach the reduction ceiling, one must therefore invest €22,800 or €45,600 respectively. This reduction is subject to the ",t.jsx("strong",{children:"global tax niche ceiling of €10,000"})," per year."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pendant la détention, les revenus forestiers bénéficient d'un régime d'imposition forfaitaire particulièrement favorable. Le revenu cadastral forestier est imposé comme revenu foncier, mais avec un ",t.jsx("strong",{children:"abattement de 75%"})," applicable aux propriétés bénéficiant d'un plan simple de gestion agréé. En pratique, la ",t.jsx("strong",{children:"pression fiscale sur les revenus courants"})," d'un GFI bien géré est extrêmement faible."]}),t.jsxs(t.Fragment,{children:["During holding, forestry income benef
759its from a particularly favourable lump sum taxation regime. The forest cadastral income is taxed as property income, but with a ",t.jsx("strong",{children:"75% allowance"})," applicable to properties benefiting from an approved simple management plan. In practice, the ",t.jsx("strong",{children:"tax pressure on current income"})," from a well managed GFI is extremely low."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["À la transmission, les parts de GFI bénéficient de l'",t.jsx("strong",{children:"exonération Monichon"}),", permettant une ",t.jsx("strong",{children:"exonération de 75% de la valeur des parts"})," pour le calcul des droits de donation ou de succession, sous conditions de détention et d'engagement de gestion durable. Cette exonération, identique dans son principe à celle du ",t.jsx("strong",{children:"dispositif Dutreil"})," pour les entreprises, fait de la forêt l'un des actifs les plus efficaces du droit civil français pour la ",t.jsx("strong",{children:"transmission intergénérationnelle de patrimoine"}),"."]}),t.jsxs(t.Fragment,{children:["On transfer, GFI units benefit from the ",t.jsx("strong",{children:"Monichon exemption"}),", allowing a ",t.jsx("strong",{children:"75% exemption of unit value"})," for the calculation of gift or inheritance duties, subject to holding conditions and a sustainable management commitment. This exemption, identical in principle to that of the ",t.jsx("strong",{children:"Dutreil scheme"})," for businesses, makes the forest one of the most effective assets in French civil law for ",t.jsx("strong",{children:"intergenerational wealth transfer"}),"."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre Groupements Forestiers d'Investissement","Our Forest Investment Group offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("GFI sélectionnés auprès des gérants reconnus, accompagnement patrimonial et fiscal dédié.","GFIs selected from recognised managers, dedicated wealth and tax advisory.")}),t.jsxs(C,{to:"/groupement-forestier",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer les GFI colbr","Explore colbr GFIs"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La forêt comme actif de diversification","The forest as a diversification asset")}),t.jsx("p",{children:e("Au delà de la fiscalité, la forêt présente des caractéristiques financières qui en font un actif de diversification pertinent dans une allocation patrimoniale globale.","Beyond taxation, the forest presents financial characteristics that make it a relevant diversification asset in an overall wealth allocation.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"décorrélation avec les marchés financiers"})," est la première. La valeur d'un massif forestier évolue selon des logiques biologiques et économiques propres, prix du bois, demande en matériaux de construction, dynamique du carbone, qui n'ont quasiment aucune relation avec les cycles boursiers. Dans un portefeuille exposé aux marchés actions et obligataires, la forêt apporte une ",t.jsx("strong",{children:"source de valeur indépendante"})," qui se comporte différemment en période de stress financier."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"decorrelation with financial markets"})," is the first. The value of a forest estate evolves according to its own biological and economic logics, timber prices, construction material demand, carbon dynamics, which have almost no relation to stock market cycles. In a portfolio exposed to equity and bond markets, the forest brings an ",t.jsx("strong",{children:"independent source of value"})," that behaves differently in periods of financial stress."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"protection contre l'inflation"}
759)," est la seconde qualité distinctive. La valeur des actifs forestiers, sol, peuplements, foncier, tend à progresser en ligne avec l'inflation sur le long terme. Le prix du bois suit une ",t.jsx("strong",{children:"tendance haussière structurelle"})," portée par la transition énergétique, le développement de la construction bois et la raréfaction progressive du bois d'œuvre de qualité en Europe."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"inflation protection"})," is the second distinctive quality. The value of forest assets, soil, stands, land, tends to progress in line with inflation over the long term. The price of timber follows a ",t.jsx("strong",{children:"structural upward trend"})," driven by the energy transition, the development of timber construction and the progressive scarcity of quality structural timber in Europe."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"croissance biologique"})," constitue une troisième source de valeur propre à la forêt. Indépendamment de toute évolution des prix, les arbres croissent et voient leur volume, et leur valeur marchande, augmenter avec le temps. Cette appréciation biologique, de l'ordre de ",t.jsx("strong",{children:"1 à 3% par an"})," selon les essences et les peuplements, s'ajoute à la revalorisation foncière et aux revenus d'exploitation pour former le rendement global de l'actif."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"biological growth"})," constitutes a third source of value specific to the forest. Independently of any price evolution, trees grow and see their volume, and market value, increase over time. This biological appreciation, of the order of ",t.jsx("strong",{children:"1 to 3% per year"})," depending on species and stands, adds to land revaluation and operating income to form the overall return of the asset."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le rendement : une lecture sur le long terme","Return: a long term reading")}),t.jsx("p",{children:e("Le rendement d'un GFI ne se lit pas comme celui d'un fonds obligataire ou d'une SCPI. Il se compose de plusieurs strates dont les horizons temporels sont différents.","The return of a GFI is not read like that of a bond fund or an SCPI. It is composed of several layers with different time horizons.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les revenus courants, issus de l'exploitation sylvicole, des droits de chasse et des redevances liées à des usages tiers, sont faibles et irréguliers. On parle généralement de rendements courants de l'ordre de ",t.jsx("strong",{children:"0,5 à 2% par an"}),", selon la maturité des peuplements et les conditions du marché du bois."]}),t.jsxs(t.Fragment,{children:["Current income, from silvicultural operations, hunting rights and royalties linked to third party uses, is low and irregular. We generally speak of current returns of the order of ",t.jsx("strong",{children:"0.5 to 2% per year"}),", depending on stand maturity and timber market conditions."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La revalorisation du patrimoine forestier contribue à une ",t.jsx("strong",{children:"performance globale plus significative sur le long terme"}),". Les GFI les plus anciens affichent des performances annualisées de l'ordre de ",t.jsx("strong",{children:"3 à 5% par an sur dix à quinze ans"}),", intégrant la croissance biologique, la revalorisation foncière et les arbitrages réalisés par les gérants. Ces chiffres sont modestes comparés aux actifs plus risqués, mais ils s'apprécient à l'aune de la ",t.jsx("strong",{children:"volatilité quasi nulle"})," de l'actif et des avantages fiscaux qui améliorent considérablement le rendement net."]}),t.jsxs(t.Fragment,{children:["Revaluation of the forest estate contributes to ",t.jsx("strong",{children:"more significant overall performance over the long term"}),". The oldest GFIs display annualised performances of the order of ",t.jsx("strong",{children:"3 to 5% per year over ten to fifteen years"}),", integrating biological growth, land revaluation and arbitrage carried out by the managers. These figures are modest compared to riskier assets, but they are appreciated in light of the asset's ",t.jsx("strong",{children:"near zero volatility"})," and the tax advantages that considerably improve net return."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'avantage fiscal d'entrée de ",t.jsx("strong",{children:"25%"})," doit être intégré dans le calcul du rendement effectif. Pour un investisseur en tranche à ",t.jsx("strong",{children:"41%"}),", qui bénéficie d'une réduction d'impôt dès la première année tout en conservant un actif réel potentiellement valorisant, le rendement global de l'opération sur ",t.jsx("strong",{children:"dix ans"})," peut se révéler très compétitif par rapport à des placements apparemment plus rémunérateurs mais fiscalement plus lourds."]}),t.jsxs(t.Fragment,{children:["The entry tax advantage of ",t.jsx("strong",{children:"25%"})," must be integrated into the calculation of effective return. For an investor in the ",t.jsx("strong",{children:"41% bracket"}),", who benefits from a tax reduction in the first year while retaining a potentially appreciating real asset, the overall return of the operation over ",t.jsx("strong",{children:"ten years"})," can prove very competitive compared to apparently more remunerative but fiscally heavier investments."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Liquidité et horizon : ce qu'il faut accepter","Liquidity and horizon: what must be accepted")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La forêt est un ",t.jsx("strong",{children:"actif illiquide par nature"}),". Les parts de GFI ne s'échangent pas sur un marché organisé, et leur cession avant terme dépen
759d de la capacité de la société de gestion à trouver un acquéreur ou à racheter les parts sur sa propre trésorerie, une facilité que certains GFI proposent mais qui n'est jamais garantie."]}),t.jsxs(t.Fragment,{children:["The forest is an ",t.jsx("strong",{children:"illiquid asset by nature"}),". GFI units are not traded on an organised market, and their sale before term depends on the management company's ability to find a buyer or to redeem units from its own cash, a facility some GFIs offer but which is never guaranteed."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'horizon recommandé est de ",t.jsx("strong",{children:"huit ans minimum"}),", non seulement pour des raisons économiques mais aussi pour des raisons fiscales : l'exonération Monichon à la transmission est conditionnée à un engagement de conservation des parts pendant au moins ",t.jsx("strong",{children:"deux ans après la souscription"}),", et l'optimisation fiscale pleine suppose une durée de détention sensiblement plus longue."]}),t.jsxs(t.Fragment,{children:["The recommended horizon is ",t.jsx("strong",{children:"eight years minimum"}),", not only for economic reasons but also for tax reasons: the Monichon exemption on transfer is conditional on a commitment to hold units for at least ",t.jsx("strong",{children:"two years after subscription"}),", and full tax optimisation supposes a significantly longer holding period."]}))}),t.jsx("p",{children:e("Cette illiquidité n'est pas un défaut, c'est la contrepartie normale d'une prime de détention et d'une fiscalité avantageuse. Elle impose en revanche que la fraction du patrimoine allouée aux GFI soit dimensionnée en fonction des besoins de liquidité de l'investisseur sur l'horizon retenu. Une allocation de 5 à 15% du patrimoine global est généralement raisonnable pour les profils pour lesquels la forêt est pertinente.","This illiquidity is not a defect, it is the normal counterpart of a holding premium and advantageous taxation. It does however impose that the fraction of wealth allocated to GFIs be sized according to the investor's liquidity needs over the chosen horizon. An allocation of 5 to 15% of overall wealth is generally reasonable for profiles for which the forest is relevant.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les risques propres à la forêt","Risks specific to the forest")}),t.jsx("p",{children:e("Investir en forêt n'est pas sans risques, et ils méritent d'être nommés clairement.","Investing in forest is not without risks, and they deserve to be clearly named.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"risque climatique"})," est le plus prégnant aujourd'hui. Les épisodes de sécheresse, les tempêtes, les incendies et les crises sanitaires liées aux insectes ravageurs, scolytes, processionnaires, ont causé des ",t.jsx("strong",{children:"dommages considérables sur les massifs forestiers européens"})," ces dernières années. Une gestion forestière sérieuse intègre ces risques par la ",t.jsx("strong",{children:"diversification des essences, des âges de peuplement et des zones géographiques"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"climate risk"})," is the most pressing today. Drought episodes, storms, fires and sanitary crises linked to insect pests, bark beetles, processionary moths, have caused ",t.jsx("strong",{children:"considerable damage to European forest estates"})," in recent years. Serious forest management integrates these risks through ",t.jsx("strong",{children:"diversification of species, stand ages and geographical areas"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"risque de prix du bois"})," est le second. Le marché du bois est cyclique et peut connaître des corrections significatives en péri
759ode de ralentissement de la construction. Les essences les plus demandées, chêne, douglas, épicéa, ont des cycles de prix différents, et la ",t.jsx("strong",{children:"diversification entre essences"})," atténue mais ne supprime pas cette volatilité."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"timber price risk"})," is the second. The timber market is cyclical and can experience significant corrections in periods of construction slowdown. The most demanded species, oak, Douglas fir, spruce, have different price cycles, and ",t.jsx("strong",{children:"diversification between species"})," mitigates but does not eliminate this volatility."]}))}),t.jsx("p",{children:e("La qualité de la gestion sylvicole, enfin, est un paramètre déterminant que l'investisseur délègue entièrement à la société de gestion. La qualification des équipes terrain, la rigueur des plans de gestion et la politique d'arbitrage entre massifs distinguent les GFI qui créent de la valeur de ceux qui se contentent de gérer passivement leur patrimoine.","The quality of silvicultural management, finally, is a determining parameter that the investor entirely delegates to the management company. The qualification of field teams, the rigour of management plans and the arbitrage policy between estates distinguish GFIs that create value from those that merely passively manage their estate.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Sélectionner un GFI","Selecting a GFI")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Tous les GFI ne se valent pas. La ",t.jsx("strong",{children:"réputation et l'ancienneté de la société de gestion"}),", la qualité et la diversification géographique du patrimoine forestier détenu, la politique de reporting aux porteurs de parts et la ",t.jsx("strong",{children:"transparence sur les frais de gestion"})," sont les premiers critères de sélection."]}),t.jsxs(t.Fragment,{children:["Not all GFIs are equal. The ",t.jsx("strong",{children:"reputation and seniority of the management company"}),", the quality and geographical diversification of the forest estate held, the reporting policy to unit holders and ",t.jsx("strong",{children:"transparency on management fees"})," are the first selection criteria."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les frais méritent une attention particulière. Les GFI prélèvent des ",t.jsx("strong",{children:"frais de souscription, généralement entre 5 et 10%"}),", et des frais de gestion annuels. Ces derniers, appliqués à un actif dont le rendement courant est faible, peuvent significativement peser sur la ",t.jsx("strong",{children:"performance nette"})," si leur niveau n'est pas raisonnable."]}),t.jsxs(t.Fragment,{children:["Fees deserve particular attention. GFIs charge ",t.jsx("strong",{children:"subscription fees, generally between 5 and 10%"}),", and annual management fees. The latter, applied to an asset with low current return, can significantly weigh on ",t.jsx("strong",{children:"net performance"})," if their level is not reasonable."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La politique environnementale et sociale de la société de gestion est enfin un critère croissant. Les certifications forestières reconnues, ",t.jsx("strong",{children:"PEFC, FSC"}),", valorisent les bois produits sur les marchés exigeants et témoignent d'une ",t.jsx("strong",{children:"gestion durable"})," qui préserve la valeur à long terme du patrimoine."]}),t.jsxs(t.Fragment,{children:["The environmental and social policy of the management company is finally a growing criterion. Recognised forest certifications, ",t.jsx("strong",{children:"PEFC, FSC"}),", enhance the value of timber produced on demanding markets and testify to ",t.jsx("strong",{children:"sustainable management"})," that preserves the long term value of the estate."]}))}),t.jsx("p",{children:e("La forêt est un actif patient, pour des investisseurs patients. Elle ne promet pas de rendements spectaculaires, ne s'emballe pas dans les phases d'euphorie et ne s'effondre pas dans les crises. Elle grandit, lentement et régulièrement, en offrant à ceux qui la détiennent une fiscalité rare, une protection contre l'inflation et un actif réel dont la valeur tient davantage à la biologie et à la géographie qu'aux humeurs des marchés financiers. Dans une allocation patrimoniale bien construite, c'est précisément ce type d'ancrage dont on a besoin.","The forest is a patient asset, for patient investors. It does not promise spectacular returns, does not get carried away in euphoria phases and does not collapse in crises. It grows, slowly and regularly, offering those who hold it a rare taxation, protection against inflation and a real asset whose value depends more on biology and geography than on the moods of financial markets. In a well constructed wealth allocation, this is precisely the type of anchor one needs.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Intégrer la forêt dans votre allocation patrimoniale","Integrate the forest into your wealth allocation")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers sélectionnent les GFI adaptés à votre profil, calibrent l'allocation et orchestrent la complémentarité avec vos autres dispositifs de défiscalisation.","Our advisors select GFIs suited to your profile, calibrate the allocation and orchestrate complementarity with your other tax relief schemes.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/groupement-forestier",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir les GFI colbr","Discover colbr GFIs"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/dispositifs-fiscaux",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Voir nos dispositifs fiscaux","See our tax sc
759hemes")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground pt-8 border-t border-border mt-12",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil fiscal. L'investissement en parts de GFI présente un risque de perte en capital et une liquidité limitée. Les avantages fiscaux mentionnés sont susceptibles d'évoluer. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision de souscription.","Informational document not constituting investment or tax advice. Investment in GFI units presents a risk of capital loss and limited liquidity. The tax advantages mentioned are subject to change. We recommend consulting a qualified wealth advisor before any subscription decision.")})]})})}),t.jsx(re,{})]})},S_e=[.16,1,.3,1],C_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Immobilier","Real Estate")," · ",e("Juillet 2025","July 2025")," · 11 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Denormandie : investir dans l'ancien, rénover utile, défiscaliser intelligemment","Denormandie: invest in old buildings, renovate usefully, cut tax intelligently")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Réduction d'impôt, logement ancien réhabilité, impact territorial : ce que la loi Denormandie apporte à une stratégie patrimoniale.","Tax reduction, rehabilitated old housing, territorial impact: what the Denormandie law brings to a wealth strategy.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:S_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'immobilier locatif défiscalisant a longtemps rimé avec le neuf. Le ",t.jsx("strong",{children:"Pinel"}),", dispositif phare d'une décennie, a orienté des milliards d'euros vers la construction de logements neufs dans des zones tendues, avec des résultats mitigés sur la qualité des actifs produits et sur la pertinence des emplacements choisis. La ",t.jsx("strong",{children:"loi Denormandie"})," représente un changement de philosophie : elle détourne le regard du neuf pour le porter sur l'ancien, sur les ",t.jsx("strong",{children:"centres villes dégradés"}),", sur les logements à réhabiliter plutôt qu'à construire. Ce glissement n'est pas anodin, il ouvre des opportunités patrimoniales différentes, sur des actifs souvent mieux situés, dans des marchés locatifs plus profonds."]}),t.jsxs(t.Fragment,{children:["Tax efficient rental real estate has long rhymed with new build. The ",t.jsx("strong",{children:"Pinel scheme"}),", flagship of a decade, channelled billions of euros into new housing construction in tight areas, with mixed results on asset quality and location relevance. The ",t.jsx("strong",{children:"Denormandie law"})," represents a philosophical shift: it turns the gaze away from new build to focus on old, on ",t.jsx("strong",{children:"degraded town centres"}),", on housing to be rehabilitated rather than built. This shift is not trivial, it opens different wealth opportunities, on better located assets, in deeper rental markets."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le mécanisme : rénover pour défiscaliser","The mechanism: renovate to reduce tax")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La loi Denormandie, entrée en vigueur en ",t.jsx("strong",{children:"janvier 2019"})," et prorogée à plusieurs reprises depuis, permet à un investisseur qui acquiert un logement ancien nécessitant des ",t.jsx("strong",{children:"travaux de rénovation importants"})," de bénéficier d'une réduction d'impôt calculée sur le montant total de l'opération, prix d'acquisition et coût des travaux confondus. Consultez notre page sur les ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"dispositifs fiscaux"})," pour une vue d'ensemble des mécanismes comparables."]}),t.jsxs(t.Fragment,{children:["The Denormandie law, in force since ",t.jsx("strong",{children:"January 2019"})," and extended several times since, allows an investor who acquires an old dwelling requiring ",t.jsx("strong",{children:"significant renovation works"})," to benefit from a tax reduction calculated on the total amount of the operation, acquisition price and works cost combined. See our page on ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"tax schemes"})," for a comprehensive comparison."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le taux de réduction dépend de la ",t.jsx("strong",{children:"durée d'engagement locatif"})," choisie. Pour un engagement de ",t.jsx("strong",{children:"six ans"}),", la réduction est de ",t.jsx("strong",{children:"12%"})," du montant total. Pour ",t.jsx("strong",{children:"neuf ans"}),", elle s'élève à ",t.jsx("strong",{children:"18%"}),". Pour ",t.jsx("strong",{children:"douze ans"}),", elle atteint ",t.jsx("strong",{children:"21%"}),". Ces taux s'appliquent dans la limite d'un plafond d'investissement de ",t.jsx("strong",{children:"300 000 €"})," par an et de ",t.jsx("strong",{children:"5 500 € par mètre carré"}),", et sont soumis au plafonnement global des niches fiscales de ",t.jsx("strong",{children:"10 000 €"})," annuels."]}),t.jsxs(t.Fragment,{children:["The reduction rate depends on the ",t.jsx("strong",{children:"rental commitment duration"})," chosen. For a ",t.jsx("strong",{children:"six-year"})," commitment the reduction is ",t.jsx("strong",{children:"12%"})," of the total. For ",t.jsx("strong",{children:"nine years"}),", ",t.jsx("strong",{children:"18%"}),". For ",t.jsx("strong",{children:"twelve years"}),", ",t.jsx("strong",{children:"21%"}),". These rates apply within an investment ceiling of ",t.jsx("strong",{children:"€300,000"})," per year and ",t.jsx("strong",{children:"€5,500 per square metre"}),", subject to the global tax niche cap of ",t.jsx("strong",{children:"€10,000"})," per year."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Concrètement, pour un investissement total de ",t.jsx("strong",{children:"200 000 €"})," (acquisition et travaux), avec un engagement de neuf ans, la ",t.jsx("strong",{children:"réduction d'impôt cumulée s'élève à 36 000 €"}),", soit ",t.jsx("strong",{children:"4 000 € par an"})," pendant neuf ans. Pour un contribuable dont l'impôt annuel est de l'ordre de 8 000 à 15 000 €, cet avantage représente une réduction ",t.jsx("strong",{children:"significative de sa charge fiscale"})," sur la durée de l'engagement."]}),t.jsxs(t.Fragment,{children:["Concretely, for a total investment of ",t.jsx("strong",{children:"€200,000"})," (acquisition and works), with a nine-year commitment, the ",t.jsx("strong",{children:"cumulative tax reduction reaches €36,000"}),", i.e. ",t.jsx("strong",{children:"€4,000 per year"})," for nine years. For a taxpayer with annual tax of around €8,000 to €15,000, this benefit represents a ",t.jsx("strong",{children:"meaningful reduction in their tax burden"})," over the commitment period."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Kyaneos Denormandie 5","Kyaneos Denormandie 5")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Un fonds professionnel dédié à la rénovation de logements anciens en cœur de ville, conjuguant avantage fiscal Denormandie et exigence de performance énergétique.","A professional fund dedicated to renovating old dwellings in town centres, combining the Denormandie tax benefit with rigorous energy performance standards.")}),t.jsxs(C,{to:"/denormandie",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Découvrir le fonds","Explore the fund")," ",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les conditions d'éligibilité : ce que la loi exige","Eligibility conditions: what the law requires")}),t.jsx("p",{children:e("Plusieurs conditions encadrent le bénéfice du dispositif. Leur respect est non négociable, et leur vérification doit intervenir en amont de tout engagement.","Several conditions frame the benefit of the scheme. Compliance is non-negotiable, and verification must take place upstream of any commitment.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"travaux doivent représenter au moins 25%"}
759)," du coût total de l'opération. Cette condition est structurante : elle exclut les opérations dans lesquelles la rénovation serait marginale et garantit que l'avantage fiscal finance une ",t.jsx("strong",{children:"réhabilitation réelle"})," du logement. Les travaux éligibles couvrent l'amélioration de la ",t.jsx("strong",{children:"performance énergétique"}),", la modernisation, l'assainissement et la création de surfaces habitables nouvelles."]}),t.jsxs(t.Fragment,{children:["Works must represent ",t.jsx("strong",{children:"at least 25%"})," of the total operation cost. This condition is structuring: it excludes marginal renovation operations and ensures the tax benefit finances ",t.jsx("strong",{children:"genuine rehabilitation"}),". Eligible works cover improvement of ",t.jsx("strong",{children:"energy performance"}),", modernisation, sanitation and the creation of new living spaces."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le logement doit être loué ",t.jsx("strong",{children:"nu à titre de résidence principale"})," du locataire, dans les ",t.jsx("strong",{children:"douze mois suivant l'achèvement des travaux"}),". Les plafonds de loyers et de ressources des locataires applicables sont ceux du ",t.jsx("strong",{children:"dispositif Pinel"}),", ce qui oriente mécaniquement le dispositif vers une clientèle de locataires aux revenus intermédiaires, dont les besoins sont réels dans les villes moyennes concernées."]}),t.jsxs(t.Fragment,{children:["The dwelling must be rented ",t.jsx("strong",{children:"unfurnished as the tenant's main residence"}),", within ",t.jsx("strong",{children:"twelve months of works completion"}),". The applicable rent and income ceilings are those of the ",t.jsx("strong",{children:"Pinel scheme"}),", mechanically orienting the scheme towards intermediate-income tenants whose needs are real in the medium-sized towns concerned."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"localisation géographique"})," est enfin une condition déterminante. Le Denormandie est réservé aux communes signataires du programme ",t.jsx("strong",{children:"Action Cœur de Ville"}),", environ ",t.jsx("strong",{children:"245 villes moyennes"})," à travers la France, ainsi qu'aux communes ayant signé une convention d'opération de revitalisation de territoire. Cette contrainte géographique est aussi un atout : elle concentre les investissements sur des marchés où la ",t.jsx("strong",{children:"demande locative est réelle"})," et où l'offre de logements rénovés est structurellement insuffisante."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"geographical location"})," is finally a determining condition. Denormandie is reserved for communes signatory to the ",t.jsx("strong",{children:"Action Cœur de Ville"})," programme, around ",t.jsx("strong",{children:"245 medium-sized towns"})," across France, as well as communes having signed a territorial revitalisation agreement. This geographical constraint is also an asset: it concentrates investments on markets where ",t.jsx("strong",{children:"rental demand is real"})," and the supply of renovated housing structurally insufficient."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi l'ancien a des atouts que le neuf n'a pas","Why old buildings have advantages new ones do not")}),t.jsx("p",{children:e("L'investissement dans l'immobilier ancien présente plusieurs avantages structurels par rapport au neuf qui méritent d'être mis en lumière.","Investment in old real estate presents several structural advantages over new build that deserve to be highlighted.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"localisation"})," est le premier. Les logements anciens éligibles au Denormandie se situent dans les ",t.jsx("strong",{children:"centres villes historiques"})," de villes moyennes, des emplacements que le neuf ne peut pas reproduire. Un appartement rénové dans le cœur d'une ville de ",t.jsx("strong",{children:"50 000 habitants"}),", à proximité des commerces, des transports et des services, offre une attractivité locative que des programmes neufs construits en périphérie ne peuvent pas concurrencer."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"location"})," is the first advantage. Old dwellings eligible for Denormandie are situated in the ",t.jsx("strong",{children:"historic centres"})," of medium-sized towns, positions that new build cannot replicate. A renovated apartment in the heart of a town of ",t.jsx("strong",{children:"50,000 inhabitants"}),", close to shops, transport and services, offers rental attractiveness that peripheral new programmes simply cannot match."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"décote à l'acquisition"})," est le second avantage. L'immobilier ancien à rénover s'acquiert avec une ",t.jsx("strong",{children:"décote significative"})," par rapport au marché du logement rénové équivalent. Cette décote compense en partie le coût et les aléas des travaux, et améliore mécaniquement le ",t.jsx("strong",{children:"rendement locatif net"})," de l'opération."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"acquisition discount"})," is the second advantage. Old real estate to be renovated is acquired at a ",t.jsx("strong",{children:"meaningful discount"})," versus the equivalent renovated market. This discount partly offsets the cost and uncertainties of works, and mechanically improves the ",t.jsx("strong",{children:"net rental yield"})," of the operation."]}))}),t.jsx("p",{children:e("La résilience de la valeur, enfin, est un paramètre souvent sous-estimé. Un bien ancien bien situé dans un centre ville dynamique tend à conserver sa valeur mieux qu'un logement neuf en périphérie, dont la décote à la revente par rapport au prix d'acquisition peut être substantielle. La qualité de l'emplacement est le premier facteur de préservation du capital immobilier sur le long terme.","Value resilience, finally, is an often underestimated parameter. A well-located old property in a dynamic town centre tends to retain its value better than new housing on the outskirts, where the resale discount versus acquisition price can be substantial. Location quality is the foremost factor in preserving real estate capital over the long term.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Kyaneos Denormandie 5 : une réponse collective et professionnelle","Kyaneos Denormandie 5: a collective and professional response")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les investisseurs qui s
759ouhaitent bénéficier des avantages du dispositif ",t.jsx(C,{to:"/denormandie",className:"text-primary underline-offset-4 hover:underline",children:"Denormandie"})," sans assumer seuls la complexité opérationnelle d'une rénovation, les solutions collectives gérées par des professionnels représentent une alternative sérieuse. ",t.jsx("strong",{children:"Kyaneos Asset Management"}),", société de gestion ",t.jsx("strong",{children:"agréée par l'AMF"})," et spécialiste reconnu de l'immobilier résidentiel géré, a structuré une gamme de fonds dédiés dont le cinquième millésime, ",t.jsx("strong",{children:"Kyaneos Denormandie 5"}),", est aujourd'hui en cours de commercialisation."]}),t.jsxs(t.Fragment,{children:["For investors wishing to benefit from the advantages of the ",t.jsx(C,{to:"/denormandie",className:"text-primary underline-offset-4 hover:underline",children:"Denormandie scheme"})," without assuming alone the operational complexity of a renovation, collective solutions managed by professionals represent a serious alternative. ",t.jsx("strong",{children:"Kyaneos Asset Management"}),", an ",t.jsx("strong",{children:"AMF-approved"})," management company and recognised specialist in managed residential real estate, has structured a dedicated fund range whose fifth vintage, ",t.jsx("strong",{children:"Kyaneos Denormandie 5"}),", is currently being marketed."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le principe est celui d'un fonds d'investissement immobilier qui acquiert, rénove et loue des logements anciens éligibles pour le compte de ses souscripteurs. L'investisseur ",t.jsx("strong",{children:"délègue l'intégralité des aspects opérationnels"}),", identification des biens, conduite des travaux, sélection des locataires, gestion locative, à une équipe de professionnels, tout en conservant le ",t.jsx("strong",{children:"bénéfice fiscal"})," attaché à sa quote-part d'investissement."]}),t.jsxs(t.Fragment,{children:["The principle is that of a real estate investment fund that acquires, renovates and rents eligible old dwellings on behalf of its subscribers. The investor ",t.jsx("strong",{children:"delegates all operational aspects"}),", property identification, works management, tenant selection, rental management, to a professional team, while retaining the ",t.jsx("strong",{children:"tax benefit"})," attached to their investment share."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Kyaneos se distingue par une approche centrée sur la ",t.jsx("strong",{children:"performance énergétique"})," des logements rénovés. Chaque bien acquis fait l'objet d'une rénovation visant l'obtention d'une ",t.jsx("strong",{children:"étiquette énergétique A ou B"}),", ce qui positionne les logements du portefeuille parmi les plus qualitatifs du marché locatif, améliore leur attractivité auprès des locataires et sécurise leur valeur à long terme dans un contexte où les ",t.jsx("strong",{children:"passoires thermiques"})," sont progressivement exclues du marché."]}),t.jsxs(t.Fragment,{children:["Kyaneos stands out for an approach centred on the ",t.jsx("strong",{children:"energy performance"})," of renovated housing. Each property acquired undergoes renovation targeting an ",t.jsx("strong",{children:"A or B energy label"}),", positioning the portfolio's dwellings among the most qualitative in the rental market, improving their appeal to tenants and securing their long-term value in a context where ",t.jsx("strong",{children:"energy sieves"})," are progressively excluded from the rental market."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"diversification géographique du fonds"}),", acquisitions réparties sur plusieurs villes éligibles sélectionnées selon des critères rigoureux de dynamisme économique, de tension locative et de potentiel de revalorisation, réduit la ",t.jsx("strong",{children:"concentration du risque"})," sur un seul marché local, un avantage structurel déterminant par rapport à l'investissement direct dans un seul bien."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"fund's geographical diversification"}),", acquisitions spread across several eligible towns selected according to rigorous criteria of economic dynamism, rental tension and revaluation potential, reduces ",t.jsx("strong",{children:"risk concentration"})," on a single local market, a decisive structural advantage versus direct investment in a single property."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le profil d'investisseur concerné","The investor profile concerned")}),t.jsx("p",{children:e("Le Denormandie, qu'il soit souscrit en direct ou via un véhicule collectif comme Kyaneos Denormandie 5, s'adresse à des investisseurs présentant plusieurs caractéristiques cumulées.","Denormandie, whether subscribed directly or via a collective vehicle like Kyaneos Denormandie 5, is aimed at investors presenting several combined characteristics.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un ",t.jsx("strong",{children:"niveau d'imposition suffisant"})," est la première condition. La réduction d'impôt n'a de valeur que si l'investisseur génère un impôt sur le revenu significatif, en pratique, à partir de ",t.jsx("strong",{children:"4 000 à 5 000 €"})," d'impôt annuel, le dispositif commence à présenter un intérêt concret. Les contribuables en ",t.jsx("strong",{children:"tranche à 30% ou plus"})," sont les profils pour lesquels l'avantage fiscal est le plus significatif."]}),t.jsxs(t.Fragment,{children:["A ",t.jsx("strong",{children:"sufficient tax level"})," is the first condition. The tax reduction only has value if the investor generates meaningful income tax, in practice, from ",t.jsx("strong",{children:"€4,000 to €5,000"})," of annual tax the scheme begins to present concrete interest. Taxpayers in the ",t.jsx("strong",{children:"30% bracket or above"})," are the profiles for whom the tax advantage is most significant."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un ",t.jsx("strong",{children:"horizon d'investissement de long terme"})," est la seconde condition. L'engagement locatif minimum de ",t.jsx("strong",{children:"six ans"}
759)," implique une immobilisation partielle du capital sur cette durée. Pour un fonds comme Kyaneos Denormandie 5, la durée de vie prévisionnelle du véhicule est cohérente avec cet horizon, et la ",t.jsx("strong",{children:"liquidité avant terme reste limitée"}),"."]}),t.jsxs(t.Fragment,{children:["A ",t.jsx("strong",{children:"long-term investment horizon"})," is the second condition. The minimum ",t.jsx("strong",{children:"six-year"})," rental commitment implies partial capital lock-up over this period. For a fund like Kyaneos Denormandie 5, the projected vehicle life is consistent with this horizon, and ",t.jsx("strong",{children:"pre-term liquidity remains limited"}),"."]}))}),t.jsx("p",{children:e("Un objectif de diversification immobilière est enfin le contexte naturel dans lequel le Denormandie trouve sa place. Il ne se substitue pas à une résidence principale, à une assurance vie ou à une allocation en actions, il complète une stratégie patrimoniale existante en y ajoutant une composante immobilière défiscalisante, ancrée dans l'économie réelle des territoires.","A real estate diversification objective is finally the natural context in which Denormandie finds its place. It does not replace a main residence, a life insurance contract or an equity allocation, it complements an existing wealth strategy by adding a tax-efficient real estate component, anchored in the real economy of territories.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les points de vigilance","Points of vigilance")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Comme tout dispositif fiscal, le Denormandie exige une ",t.jsx("strong",{children:"analyse rigoureuse avant engagement"}),". La qualité du ",t.jsx("strong",{children:"marché locatif local"})," est le paramètre le plus déterminant : une réduction d'impôt attractive ne compense pas une vacance locative chronique dans une ville en déclin démographique. La sélection géographique, que réalise un opérateur professionnel comme Kyaneos selon des ",t.jsx("strong",{children:"critères documentés"}),", est donc l'étape la plus critique de toute l'opération."]}),t.jsxs(t.Fragment,{children:["Like any tax scheme, Denormandie requires ",t.jsx("strong",{children:"rigorous analysis before commitment"}),". The quality of the ",t.jsx("strong",{children:"local rental market"})," is the most determining parameter: an attractive tax reduction does not compensate for chronic rental vacancy in a town in demographic decline. Geographical selection, carried out by a professional operator like Kyaneos according to ",t.jsx("strong",{children:"documented criteria"}),", is therefore the most critical step of the entire operation."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"qualité de la rénovation"})," conditionne à la fois l'attractivité locative du bien, sa valeur de revente et le respect des conditions d'éligibilité fiscale. Des travaux mal exécutés ou insuffisants peuvent entraîner une ",t.jsx("strong",{children:"remise en cause partielle de l'avantage fiscal"}),", un risque que la gestion professionnelle d'un fonds agréé atténue considérablement par rapport à l'investissement en direct."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"quality of renovation"})," conditions both the rental attractiveness of the property, its resale value and compliance with tax eligibility conditions. Poorly executed or insufficient works can lead to ",t.jsx("strong",{children:"partial challenge of the tax advantage"}),", a risk that professional management of an approved fund considerably mitigates versus direct investment."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'",t.jsx("strong",{children:"évolution du cadre fiscal"})," est enfin un risque inhérent à tout dispositif de défiscalisation. La loi Denormandie a été prorogée plusieurs fois, mais rien ne garantit sa pérennité au-delà des échéances actuelles. Les ",t.jsx("strong",{children:"opérations déjà engagées bénéficient d'une sécurisation"})," des avantages acquis, mais les investisseurs qui envisagent une souscription tardive doivent vérifier la validité du dispositif à la date de leur investissement. Pour une vision d'ensemble des ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"dispositifs fiscaux"})," disponibles, nos équipes sont à votre disposition."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"evolution of the tax framework"})," is finally a risk inherent to any tax relief scheme. The Denormandie law has been extended several times, but nothing guarantees its sustainability beyond current deadlines. ",t.jsx("strong",{children:"Operations already engaged benefit from securing"})," of acquired advantages, but investors considering late subscription must verify the scheme's validity at the date of their investment. For a comprehensive view of available ",t.jsx(C,{to:"/dispositifs-fiscaux",className:"text-primary underline-offset-4 hover:underline",children:"tax schemes"}),", our teams are at your disposal."]}))}),t.jsx("p",{children:e("Le Denormandie est un dispositif qui réconcilie deux logiques souvent présentées comme opposées : l'intérêt patrimonial individuel et l'utilité collective. Investir dans la rénovation d'un logement ancien dégradé au cœur d'une ville moyenne, c'est à la fois rédu
759ire son impôt, constituer un actif immobilier de qualité et contribuer à la revitalisation de territoires qui en ont besoin. Avec des opérateurs comme Kyaneos, qui ont fait de cette équation leur raison d'être, la promesse du dispositif peut se traduire en réalité patrimoniale concrète.","Denormandie is a scheme that reconciles two logics often presented as opposed: individual wealth interest and collective utility. Investing in the renovation of a degraded old dwelling in the heart of a medium-sized town means simultaneously reducing one's tax, building a quality real estate asset and contributing to the revitalisation of territories that need it. With operators like Kyaneos, who have made this equation their raison d'être, the scheme's promise can translate into concrete wealth reality.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Investir dans la pierre rénovée","Invest in renovated real estate")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Réduisez votre impôt tout en constituant un patrimoine immobilier qualitatif. Nos équipes vous accompagnent dans l'analyse et la sélection des solutions Denormandie adaptées à votre situation.","Reduce your tax liability while building a high-quality real estate portfolio. Our teams guide you through the analysis and selection of Denormandie solutions suited to your situation.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/denormandie",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir Kyaneos Denormandie 5","Discover Kyaneos Denormandie 5")," ",t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/scpi",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Explorer les SCPI","Explore SCPIs")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground pt-8 border-t border-border mt-12",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil fiscal. Les avantages fiscaux mentionnés sont soumis à conditions et susceptibles d'évoluer. L'investissement immobilier présente un risque de perte en capital et de liquidité. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision de souscription.","Informational document not constituting investment or tax advice. The tax advantages mentioned are subject to conditions and likely to change. Real estate investment presents a risk of capital loss and liquidity. We recommend consulting a qualified wealth advisor before any subscription decision.")})]})})}),t.jsx(re,{})]})},P_e=[.16,1,.3,1],E_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Private Equity","Private Equity")," · ",e("Juin 2026","June 2026")," · 14 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e(`Comprendre la courbe 
760en J : pourquoi le PE déçoit les 3 premières années`,"Understanding the J-curve: why PE disappoints in the first 3 years")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Appels de fonds, frais de structure, valorisations prudentes : anatomie d'un phénomène mal compris qui décourage les investisseurs au mauvais moment.","Capital calls, management fees, conservative valuations: anatomy of a misunderstood phenomenon that discourages investors at the wrong time.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:P_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il existe dans le private equity un phénomène qui décourage régulièrement les investisseurs qui n'y sont pas préparés. Ils souscrivent un fonds avec enthousiasme, en anticipant les rendements que la classe d'actifs a historiquement délivrés. Et puis viennent les premiers relevés de compte. Après un an, la valeur de leur investissement est inférieure à ce qu'ils ont versé. Après deux ans, elle l'est encore. Parfois après trois ans également. La tentation est forte de conclure que le fonds est mauvais, que la promesse était trompeuse, que le private equity ne tient pas ses engagements. Cette conclusion est presque toujours fausse, et elle repose sur une incompréhension du mécanisme le plus fondamental de la classe d'actifs : la ",t.jsx("strong",{children:"courbe en J"}),"."]}),t.jsxs(t.Fragment,{children:["There exists in ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," a phenomenon that regularly discourages investors who are not prepared for it. They subscribe to a fund with enthusiasm, anticipating the returns that the asset class has historically delivered. And then come the first account statements. After one year, the value of their investment is below what they paid in. After two years, it still is. Sometimes after three years as well. The temptation is strong to conclude that the fund is bad, that the promise was deceptive, that private equity does not keep its commitments. This conclusion is almost always false, and it rests on a misunderstanding of the most fundamental mechanism of the asset class: the ",t.jsx("strong",{children:"J-curve"}),"."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre offre","Our offer")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Accéder au private equity à partir de 50 000 €","Access private equity from €50,000")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Sélection de fonds top quartile, gérants partenaires institutionnels, accompagnement sur la durée du cycle.","Selection of top-quartile funds, institutional partner managers, support over the cycle.")}),t.jsxs(C,{to:"/private-equity",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Découvrir notre offre Private Equity","Discover our Private Equity offer"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que la courbe en J représente","What the J-curve represents")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La courbe en J est la représentation graphique de l'évolution de la valeur nette d'un fonds de private equity au fil du temps, exprimée en multiple du capital investi. Elle doit son nom à sa forme caractéristique : une descente initiale sous la ligne du capital investi, suivie d'une remontée progressive qui, dans les meilleurs fonds, dépasse largement le niveau de départ avant l'échéance du fonds."}),t.jsx(t.Fragment,{children:"The J-curve is the graphical representation of the evolution of a private equity fund's net value over time, expressed as a multiple of invested capital. It owes its name to its characteristic shape: an initial descent below the line of invested capital, followed by a gradual recovery that, in the best funds, far exceeds the starting level before the fund's maturity."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Cette forme en J n'est pas un accident ni une anomalie. Elle est la conséquence mécanique et inévitable de la façon dont les fonds de private equity fonctionnent, de leur structure de frais, de leur calendrier d'investissement, de leurs conventions de valorisation. Comprendre la courbe en J, c'est comprendre pourquoi les trois premières années d'un fonds de private equity ne disent presque rien sur sa performance finale, et pourquoi les investisseurs qui abandonnent sur la foi de ces premières années prennent systématiquement la mauvaise décision."}),t.jsx(t.Fragment,{children:"This J shape is not an accident or an anomaly. It is the mechanical and inevitable consequence of how private equity funds operate, their fee structure, their investment schedule, the
760ir valuation conventions. Understanding the J-curve is understanding why the first three years of a private equity fund say almost nothing about its final performance, and why investors who give up on the basis of these early years systematically make the wrong decision."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le premier facteur : les frais de gestion prélevés avant la création de valeur","The first factor: management fees charged before value creation")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La descente initiale de la courbe en J commence dès le premier appel de fonds, pour une raison simple : les frais de gestion sont prélevés immédiatement, bien avant que les investissements réalisés n'aient eu le temps de créer de la valeur."}),t.jsx(t.Fragment,{children:"The initial descent of the J-curve begins from the first capital call, for a simple reason: management fees are charged immediately, long before the investments made have had time to create value."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les fonds de private equity prélèvent des frais de gestion annuels, généralement entre 1,5% et 2% des engagements totaux pendant la période d'investissement, puis entre 1% et 1,5% du capital investi pendant la période de gestion. Ces frais rémunèrent l'équipe de gestion, couvrent les coûts opérationnels du fonds et financent le travail d'identification et d'analyse des opportunités d'investissement. Ils sont dus indépendamment de la performance, qu'une bonne affaire soit trouvée ou non, que les investissements réalisés progressent ou non."}),t.jsx(t.Fragment,{children:"Private equity funds charge annual management fees, generally between 1.5% and 2% of total commitments during the investment period, then between 1.5% and 1.5% of invested capital during the management period. These fees remunerate the management team, cover the fund's operational costs and finance the work of identifying and analysing investment opportunities. They are due regardless of performance, whether a good deal is found or not, whether the investments made progress or not."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Concrètement, un fonds qui appelle 10 millions d'euros au premier closing commence à prélever ses frais de gestion dès ce moment. Sur les premières années, avant que les investissements ne soient réalisés et ne commencent à créer de la valeur, ces frais s'accumulent mécaniquement et creusent un écart entre le capital versé et la valeur nette d'inventaire du fonds. C'est le premier moteur de la descente initiale de la courbe."}),t.jsx(t.Fragment,{children:"Concretely, a fund that calls €10 million at the first closing begins charging its management fees from that moment. In the early years, before investments are made and begin to create value, these fees mechanically accumulate and dig a gap between the capital paid in and the fund's net asset value. This is the first driver of the curve's initial descent."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le deuxième facteur : le calendrier d'investissement décalé","The second factor: the staggered investment schedule")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le deuxième m
760écanisme qui alimente la courbe en J est le décalage entre les appels de fonds et le déploiement effectif du capital dans des investissements générateurs de valeur."}),t.jsx(t.Fragment,{children:"The second mechanism that feeds the J-curve is the lag between capital calls and the actual deployment of capital into value-generating investments."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Lorsqu'un investisseur souscrit un fonds de private equity, il ne verse pas l'intégralité de son engagement d'un seul coup. Il prend un engagement, disons un million d'euros, que le fonds appellera progressivement au fil des investissements réalisés, généralement sur une période de trois à cinq ans. Chaque appel de fonds correspond à un investissement spécifique que le gérant souhaite financer, et l'investisseur dispose généralement de quelques jours à quelques semaines pour répondre à l'appel."}),t.jsx(t.Fragment,{children:"When an investor subscribes to a private equity fund, they do not pay the entirety of their commitment in one go. They make a commitment, say one million euros, which the fund will call progressively as investments are made, generally over a period of three to five years. Each capital call corresponds to a specific investment that the manager wishes to finance, and the investor generally has a few days to a few weeks to respond to the call."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Ce mécanisme a une implication importante pour la courbe en J. Pendant la période d'investissement, le fonds déploie progressivement le capital appelé dans des sociétés dont la valeur ne se révèle pas immédiatement. Les premières années, le portefeuille est constitué d'investissements récents dont les plans de transformation opérationnelle n'ont pas encore produit leurs effets. La valeur nette d'inventaire reflète les prix d'entrée, nets des frais de transaction et de structuration, sans encore intégrer la création de valeur que le gérant anticipe sur la durée de détention."}),t.jsx(t.Fragment,{children:"This mechanism has an important implication for the J-curve. During the investment period, the fund gradually deploys called capital into companies whose value does not immediately reveal itself. In the early years, the portfolio consists of recent investments whose operational transformation plans have not yet produced their effects. The net asset value reflects entry prices, net of transaction and structuring costs, without yet integrating the value creation that the manager anticipates over the holding period."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le troisième facteur : les conventions de valorisation prudentes","The third factor: conservative valuation conventions")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les fonds de private equity valorisent leurs participations selon des conventions comptables prudentes, encadrées par les normes IPEV : International Private Equity and Venture Capital Valuation Guidelines. Ces normes prescrivent une approche conservatrice pour les investissements récents : en l'absence d'événement significatif qui justifie une réévaluation, un tour de financement, une transaction comparable récente, un jalon opérationnel majeur, les participations récentes sont valorisées au coût d'acquisition, parfois avec une décote."}),t.jsx(t.Fragment,{children:"Private equity funds value their stakes according to prudent accounting conventions, governed by IPEV standards, International Private Equity and Venture Capital Valuation Guidelines. These standards prescribe a conservative approach for recent investments: in the absence of a significant event justifying a revaluation, a financing round, a recent comparable transaction, a major operational milestone, recent stakes are valued at acquisition cost, sometimes with a discount."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Cette prudence comptable est saine et légitime, elle évite les réévaluations spéculatives qui flatteraient les valorisations intermédiaires sans correspondre à une réalité économique vérifiable. Mais elle crée une asymétrie temporelle : les frais sont pris en compte immédiatement dans la valeur nette d'inventaire, tandis que la création de valeur opérationnelle n'est reconnue comptablement que lorsqu'elle est objectivée par un événement de marché. Dans les premières années d'un fonds, les frais sont réels et visibles, la valeur créée est réelle mais invisible, ce qui creuse mécaniquement la courbe en J."}),t.jsx(t.Fragment,{children:"This accounting prudence is healthy and legitimate, it avoids speculative revaluations that would flatter intermediate valuations without corresponding to a verifiable economic reality. But it creates a temporal asymmetry: fees are immediately taken into account in the net asset value, while operational value creation is only recognised in the accounts when it is objectified by a market event. In a fund's early years, fees are real and visible, the value created is real but invisible, which mechanically deepens the J-curve."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le quatrième facteur : les coûts de transaction et de structuration","The fourth factor: transaction and structuring costs")}
760),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les investissements en private equity génèrent des coûts de transaction significatifs qui s'imputent directement sur la valeur nette du fonds au moment de leur réalisation. Frais juridiques, audits de due diligence, frais de structuration, honoraires de conseil en transaction, l'ensemble de ces coûts représente typiquement entre 1% et 3% de la valeur de chaque investissement réalisé."}),t.jsx(t.Fragment,{children:"Private equity investments generate significant transaction costs that are directly charged to the fund's net value at the time they are incurred. Legal fees, due diligence audits, structuring costs, transaction advisory fees, all of these costs typically amount to between 1% and 3% of the value of each investment made."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Ces coûts sont engagés au moment de l'acquisition, avant que l'entreprise acquise n'ait eu le temps de créer la valeur qui les justifie économiquement. Ils créent une décote immédiate sur la valeur de chaque participation au moment de son entrée dans le portefeuille, une décote qui ne disparaît que lorsque la progression de la valeur opérationnelle de l'entreprise les absorbe et les dépasse. Pendant les premières années, ces coûts s'accumulent au rythme des investissements réalisés et contribuent à approfondir la descente de la courbe."}),t.jsx(t.Fragment,{children:"These costs are incurred at the time of acquisition, before the acquired company has had time to create the value that economically justifies them. They create an immediate discount on the value of each stake at the time it enters the portfolio, a discount that only disappears when the progression of the company's operational value absorbs and exceeds them. In the early years, these costs accumulate at the pace of investments made and contribute to deepening the curve's descent."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La remontée : quand la valeur commence à se révéler","The recovery: when value begins to reveal itself")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Après la descente initiale, dont la profondeur et la durée varient selon le type de fonds, la stratégie du gérant et le contexte de marché, vient la remontée. C'est la phase pendant laquelle la création de valeur opérationnelle réalisée par les équipes de gestion des participations commence à se refléter dans les valorisations, et pendant laquelle les premières cessions génèrent des distributions effectives aux investisseurs."}),t.jsx(t.Fragment,{children:"After the initial descent, whose depth and duration vary according to the type of fund, the manager's strategy and the market context, comes the recovery. This is the phase during which the operational value creation achieved by the portfolio management teams begins to be reflected in valuations, and during which the first exits generate actual distributions to investors."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La remontée de la courbe est alimentée par plusieurs mécanismes simultanés. La croissance des revenus et des bénéfices des entreprises en portefeuille, obtenue grâce aux plans de transformation opérationnelle pilotés par le gérant, augmente mécaniquement leur valorisation selon les multiples de comparables. Les événements de valorisation : tours de financement ultérieurs, transactions sur des actifs comparables, introductions en bourse partielles, objectivent et cristallisent la création de valeur dans les comptes du fonds. Et les premières cessions de participations transforment des plus-values latentes en distributions effectives, qui remboursent d'abord le capital investi puis génèrent le carried interest du gérant."}),t.jsx(t.Fragment,{children:"The curve's recovery is fuelled by several simultaneous mechanisms. The growth of revenues and profits of portfolio companies, achieved through operational transformation plans driven by the manager, mechanically increases their valuation according to comparable multiples. Valuation events, subsequent financing rounds, transactions on comparable assets, partial IPOs, objectify and crystallise value creation in the fund's accounts. And the first exits of stakes transform latent gains into actual distributions, which first reimburse the invested capital and then generate the manager's carried interest."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La phase de remontée est également celle pendant laquelle la qualité du gérant se révèle le plus clairement. Un gérant médiocre peut avoir la chance de réaliser de bonnes acquisitions, la valeur de sa compétence se mesure à sa capacité à créer de la valeur opérationnelle dans les entreprises qu'il accompagne et à les céder dans de
760s conditions favorables. C'est dans la durée de la remontée et dans la hauteur à laquelle elle aboutit que la différence entre les gérants top quartile et les gérants moyens se matérialise dans les chiffres."}),t.jsx(t.Fragment,{children:"The recovery phase is also the one during which the quality of the manager reveals itself most clearly. A mediocre manager may be lucky enough to make good acquisitions, the value of their competence is measured by their ability to create operational value in the companies they support and to exit them under favourable conditions. It is in the duration of the recovery and in the height it reaches that the difference between top-quartile managers and average managers materialises in the numbers."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'importance de la période de détention dans la profondeur de la J","The importance of holding period in the depth of the J")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Tous les fonds de private equity ne dessinent pas la même courbe en J. La profondeur et la durée de la phase descendante varient significativement selon la stratégie du fonds, et cette variation est l'un des paramètres les plus importants pour les investisseurs qui arbitrent entre différentes stratégies de private equity."}),t.jsx(t.Fragment,{children:"Not all private equity funds draw the same J-curve. The depth and duration of the descending phase vary significantly according to the fund's strategy, and this variation is one of the most important parameters for investors who arbitrate between different private equity strategies."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les fonds de buyout classiques, qui acquièrent des entreprises matures à fort levier financier, présentent une courbe en J relativement standard, avec une descente initiale modérée et une remontée progressive liée à la transformation opérationnelle et au désendettement progressif des entreprises. L'horizon typique est de cinq à sept ans, et la courbe atteint généralement son point bas après douze à dix-huit mois avant d'amorcer sa remontée."}),t.jsx(t.Fragment,{children:"Classic buyout funds, which acquire mature, highly leveraged companies, display a relatively standard J-curve, with a moderate initial descent and a gradual recovery linked to operational transformation and the progressive deleveraging of companies. The typical horizon is five to seven years, and the curve generally reaches its low point after twelve to eighteen months before beginning its recovery."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les fonds de venture capital : qui financent des entreprises en phase de démarrage ou de croissance accélérée, présentent une courbe en J plus prononcée et plus longue. Les entreprises financées brûlent du cash pendant plusieurs années avant d'atteindre la rentabilité, et les événements de valorisation sont rares dans les premières années. La descente initiale est plus profonde, la remontée plus tardive, mais lorsqu'elle arrive, elle peut être spectaculaire sur les participations qui réussissent."}),t.jsx(t.Fragment,{children:"Venture capital funds, which finance companies in start-up or accelerated growth phases, display a more pronounced and longer J-curve. The financed companies burn cash for several years before reaching profitability, and valuation events are rare in the early years. The initial descent is deeper, the recovery later, but when it comes, it can be spectacular on the stakes that succeed."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les fonds secondaires, qui acquièrent des participations dans des fonds existants déjà avancés dans leur cycle de vie, sont structurellement conçus pour atténuer la courbe en J. En investissant dans des portefeuilles déjà constitués, dont les entreprises sont en phase de création de valeur active ou de préparation à la sortie, ils raccourcissent considérablement la phase descendante et accélèrent les premières distributions. C'est l'une des caractéristiques les plus distinctives de la stratég
760ie secondaire et l'une des raisons pour lesquelles elle est particulièrement attractive pour les investisseurs qui abordent le private equity with une aversion au phénomène de courbe en J."}),t.jsx(t.Fragment,{children:"Secondary funds, which acquire stakes in existing funds already advanced in their life cycle, are structurally designed to attenuate the J-curve. By investing in already constituted portfolios whose companies are in active value creation or exit preparation phases, they considerably shorten the descending phase and accelerate the first distributions. This is one of the most distinctive characteristics of the secondary strategy and one of the reasons why it is particularly attractive to investors approaching private equity with an aversion to the J-curve phenomenon."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce que la courbe en J dit sur la qualité du gérant","What the J-curve says about manager quality")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La courbe en J est souvent lue comme un phénomène univoque, tous les fonds dessinent une courbe en J, donc la courbe en J ne dit rien sur la qualité du gérant. Cette lecture est incorrecte."}),t.jsx(t.Fragment,{children:"The J-curve is often read as a unambiguous phenomenon, all funds draw a J-curve, so the J-curve says nothing about the quality of the manager. This reading is incorrect."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La profondeur de la descente initiale est en partie révélatrice de la discipline du gérant sur les frais et sur les prix d'acquisition. Un gérant qui prélève des frais de gestion élevés, qui réalise des investissements à des multiples d'entrée généreux et qui engage des coûts de transaction importants creusera une courbe en J plus profonde qu'un gérant discipliné sur toutes ces dimensions. La profondeur de la courbe n'est pas entièrement déterminée par la mécanique du dispositif, elle reflète aussi de
760s choix de gestion."}),t.jsx(t.Fragment,{children:"The depth of the initial descent is partly revealing of the manager's discipline on fees and entry prices. A manager who charges high management fees, makes investments at generous entry multiples and incurs significant transaction costs will dig a deeper J-curve than a manager disciplined on all these dimensions. The depth of the curve is not entirely determined by the mechanics of the device, it also reflects management choices."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La durée de la phase descendante est également révélatrice. Un gérant rapide à identifier des opportunités de qualité, à réaliser ses investissements et à commencer à créer de la valeur opérationnelle active raccourcira la phase basse de la courbe. Un gérant hésitant, lent à déployer le capital ou dont les investissements peinent à progresser étendra cette phase au-delà de ce que la mécanique seule justifie."}),t.jsx(t.Fragment,{children:"The duration of the descending phase is also revealing. A manager quick to i
760dentify quality opportunities, make investments and begin active operational value creation will shorten the low phase of the curve. A hesitant manager, slow to deploy capital or whose investments struggle to progress, will extend this phase beyond what the mechanics alone justify."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La hauteur atteinte lors de la remontée, enfin, est le vrai test. Deux fonds peuvent avoir des courbes en J presque identiques pendant les trois premières années et diverger spectaculairement ensuite, l'un atteignant un multiple de deux ou trois fois le capital investi, l'autre peinant à rembourser le capital. C'est cette divergence, invisible dans les premières années, qui sépare les gérants top quartile du reste du marché."}),t.jsx(t.Fragment,{children:"The height reached during the recovery, finally, is the real test. Two funds may have almost identical J-curves during the first three years and diverge spectacularly afterwards, one reaching a multiple of two or three times the invested capital, the other struggling to return the capital. It is this divergence, invisible in the early years, that separates top-quartile managers from the rest of the market."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Pourquoi les investisseurs se trompent dans leur lecture des premières années","Why investors get it wrong in reading the early years")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La courbe en J est une source de mauvaises décisions pour les investisseurs qui ne la comprennent pas, et les erreurs qu'elle génère ont toutes la même structure : elles consistent à interpréter une information temporaire et prévisible comme un signal permanent sur la qualité du fonds."}),t.jsx(t.Fragment,{children:"The J-curve is a source of bad decisions for investors who do not understand it, and the errors it generates all have the same structure: they consist in interpreting temporary and predictable information as a permanent signal on the quality of the fund."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Chercher à vendre sa participation sur le marché secondaire après deux ans de valeur nette inférieure au capital investi est l'erreur la plus coûteuse. C'est précisément dans les premières années que les parts de fonds de private equity se cèdent avec les décotes les plus importantes sur le marché secondaire, parce que les acheteurs intègrent le fait que la valeur créée n'est pas encore visible dans les comptes. Vendre à ce moment-là, c'est cristalliser une perte comptable qui aurait très probablement été suivie d'une remontée significative."}),t.jsx(t.Fragment,{children:"Trying to sell one's stake on the secondary market after two years of net value below invested capital is the most costly mistake. It is precisely in the early years that private equity fund shares are sold with the largest discounts on the secondary market, because buyers factor in the fact that the value created is not yet visible in the accounts. Selling at that moment is crystallising an accounting loss that would very likely have been followed by a significant recovery."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Comparer la performance intermédiaire d'un fonds de private equity à celle d'un portefeuille actions sur la même période est une autre erreur fréquente. Pendant les trois premières années, un bon fonds de buyout sous-performe mécaniquement un indice actions en croissance, non pas parce qu'il est mauvais, but parce qu'il n'est pas encore dans sa phase de création de valeur. La comparaison pertinente porte sur la performance finale, mesurée au moment de la liquidation du fonds, sur l'ensemble du cycle d'investissement."}),t.jsx(t.Fragment,{children:"Comparing the intermediate performance of a private equity fund to that of an equity portfolio over the same period is another common mistake. During the first three years, a good buyout fund mechanically underperforms a growing equity index, not because it is bad, but because it is not yet in its value creation phase. The relevant comparison is on final performance, measured at the time of the fund's liquidation, over the entire investment cycle."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Extrapoler la performance des premières années comme prédicteur de la performance finale est la troisième erreur. Les études empiriques sur la persistance de la performance dans le private equity montrent que les fonds qui affichent les courbes en J les plus profondes dans les premières années ne sont pas syst
760ématiquement les moins bons à maturité, et que les fonds dont la valeur nette progresse rapidement dans les premières années ne sont pas nécessairement les meilleurs au terme."}),t.jsx(t.Fragment,{children:"Extrapolating the performance of the early years as a predictor of final performance is the third error. Empirical studies on performance persistence in private equity show that funds that display the deepest J-curves in the early years are not systematically the worst at maturity, and that funds whose net value progresses rapidly in the early years are not necessarily the best at term."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La courbe en J et le portefeuille : gérer l'impact sur l'allocation globale","The J-curve and the portfolio: managing the impact on overall allocation")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Pour les investisseurs qui construisent une allocation en private equity sur plusieurs millésimes, la courbe en J a une implication pratique importante sur la gestion du portefeuille global."}),t.jsx(t.Fragment,{children:"For investors building a private equity allocation across several vintages, the J-curve has an important practical implication for the management of the overall portfolio."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Un investisseur qui engage ses premiers capitaux en private equity voit son allocation effective progresser lentement dans les premières années, parce que les appels de fonds sont progressifs et que la valeur nette des premiers fonds est déprimée par la courbe en J. Il peut être tenté d'augmenter ses engagements pour accélérer la montée en puissance de son allocation, et se retrouver, quelques années plus tard, avec une multiplication des appels de fonds simultanés qui pèse sur sa trésorerie au moment où les fonds les plus anciens commencent à distribuer."}),t.jsx(t.Fragment,{children:"An investor committing their first capital to private equity sees their effective allocation progress slowly in the early years, because capital calls are gradual and the net value of the first funds is depressed by the J-curve. They may be tempted to increase their commitments to accelerate the ramp-up of their allocation, and find themselves, a few years later, with a multiplication of simultaneous capital calls that weighs on their cash flow at the moment when the oldest funds begin to distribute."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La gestion du calendrier des engagements est donc un paramètre de portefeuille essentiel. Un investisseur régulier qui engage des capitaux dans de nouveaux fonds chaque année atteint progressivement un état d'équilibre dans lequel les distributions des fonds matures compensent approximativement les appels des fonds plus récents, réduisant l'impact net de la courbe en J sur la trésorerie globale. Cet état d'équilibre, que les praticiens appellent le régime permanent, est l'objectif d'une gestion mature d'un portefeuille de private equity."}),t.jsx(t.Fragment,{children:"Managing the commitment schedule is therefore an essential portfolio parameter. A regular investor who commits capital to new funds each year gradually reaches a state of equilibrium in which distributions from mature funds roughly offset calls from newer funds, reducing the net impact of the J-curve on overall cash flow. This equilibrium state, which practitioners call the steady state, is the objective of mature management of a private equity portfolio."}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsx(t.Fragment,{children:"La courbe en J n'est pas un défaut du private equity, c'est sa signature temporelle. Elle dit que la création de valeur prend du temps, que les frais précèdent les rendements, et que la patience n'est pas simplement une vertu recommandable mais une condition structurelle de la performance. Les investisseurs qui comprennent ce mécanisme avant d'y entrer ne sont pas surpris par les premières années, ils les anticipent, les acceptent et les traversent sans dévier de leur stratég
760ie. Ceux qui les découvrent en cours de route prennent presque toujours la mauvaise décision au mauvais moment. La courbe en J est en ce sens un filtre naturel qui sépare les investisseurs de long terme de ceux qui ne l'étaient qu'en théorie."}),t.jsx(t.Fragment,{children:"The J-curve is not a flaw of private equity, it is its temporal signature. It says that value creation takes time, that fees precede returns, and that patience is not simply a recommendable virtue but a structural condition of performance. Investors who understand this mechanism before entering are not surprised by the early years, they anticipate them, accept them and get through them without deviating from their strategy. Those who discover them along the way almost always make the wrong decision at the wrong time. The J-curve is in this sense a natural filter that separates long-term investors from those who were only so in theory."}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Investir en private equity avec colbr","Invest in private equity with colbr")}),t.jsx("p",{className:"text-white/90 text-sm md:text-base mb-6 max-w-xl",children:e("Nos conseillers patrimoniaux vous accompagnent dans la sélection des meilleurs fonds et la structuration de votre allocation.","Our wealth advisors assist you in selecting the best funds and structuring your allocation.")}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[t.jsx("a",{href:"#rdv",className:"inline-flex items-center justify-center px-6 py-3 bg-white text-secondary font-medium rounded-full hover:bg-white/90 transition-colors",children:e("Contacter un conseiller","Speak with an advisor")}),t.jsx(C,{to:"/essentiel",className:"inline-flex items-center justify-center px-6 py-3 bg-transparent border border-white/30 text-white font-medium rounded-full hover:bg-white/10 transition-colors",children:e("Découvrir l'offre Essentiel","Discover the Essential offer")})]})]}),t.jsx("p",{className:"text-[10px] text-muted-foreground pt-12 border-t border-border leading-relaxed",children:e("Document à caractère informatif ne constituant pas un conseil en investissement. L'investissement en private equity présente un risque de perte en capital et une liquidité limitée. Les performances passées ne préjugent pas des performances futures.","Informational document not constituting investment advice. Investment in private equity involves a risk of capital loss and limited liquidity. Past performance is not indicative of future results.")})]})})}),t.jsx(re,{})]})},T_e=[.16,1,.3,1],I_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Mai 2026","May 2026")," · 11 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Holding patrimoniale : quand et pourquoi la créer","Wealth holding: when and why to create one")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Capitalisation à l'IS, régime mère fille, transmission optimisée : ce que la holding change pour les entrepreneurs et les investisseurs.","IS capitalisation, parent-subsidiary regime, optimised transfer: what a holding changes for entrepreneurs and investors.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:T_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground
760/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"holding patrimoniale"})," est l'un de ces outils dont on entend parler dès que le patrimoine atteint une certaine dimension, sans toujours comprendre précisément ce qu'elle apporte ni dans quelles circonstances elle le justifie. Elle jouit d'une réputation un peu mystérieuse, associée dans l'imaginaire collectif aux grandes fortunes, aux montages fiscaux sophistiqués, aux structures opaques que l'on crée pour des raisons que l'on préfère ne pas énoncer trop clairement. La réalité est plus prosaïque et plus utile : une holding patrimoniale est avant tout un ",t.jsx("strong",{children:"véhicule de capitalisation, de transmission et de gestion d'actifs"})," dont la pertinence dépend de paramètres objectifs et mesurables. Comprendre quand elle se justifie et pourquoi elle crée de la valeur, c'est comprendre l'une des ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"décisions structurantes"})," de toute stratégie patrimoniale ambitieuse."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"wealth holding"})," is one of those tools one hears about as soon as wealth reaches a certain size, without always understanding precisely what it brings or in what circumstances it is justified. It enjoys a somewhat mysterious reputation, associated in the collective imagination with great fortunes, sophisticated tax schemes, opaque structures created for reasons one prefers not to state too clearly. The reality is more prosaic and more useful: a wealth holding is above all a ",t.jsx("strong",{children:"vehicle for capitalisation, transfer and asset management"})," whose relevance depends on objective and measurable parameters. Understanding when it is justified and why it creates value is to understand one of the ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"structuring decisions"})," of any ambitious wealth strategy."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre accompagnement","Our support")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Family Office : structurer le patrimoine au-delà de l'investissement","Family Office: structuring wealth beyond investment")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Architecture juridique et fiscale, holding patrimoniale, gouvernance familiale : un accompagnement global réservé aux grands patrimoines.","Legal and tax architecture, wealth holding, family governance: a comprehensive service reserved for substantial wealth.")}),t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Découvrir notre Family Office","Discover our Family Office"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Ce qu'est une holding patrimoniale","What is a wealth holding")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Une holding est une société dont l'objet principal est de ",t.jsx("strong",{children:"détenir des participations"})," dans d'autres sociétés. Une ",t.jsx("strong",{children:"holding patrimoniale"})," est une holding dont la vocation est avant tout la ",t.jsx("strong",{children:"gestion et la valorisation d'un patrimoine privé"}),", par opposition à la ",t.jsx("strong",{children:"holding opérationnelle"})," dont le rôle est d'animer et de piloter un groupe industriel ou commercial."]}),t.jsxs(t.Fragment,{children:["A holding is a company whose main purpose is to ",t.jsx("strong",{children:"hold stakes"})," in other companies. A ",t.jsx("strong",{children:"wealth holding"})," is a holding whose vocation is above all the ",t.jsx("strong",{children:"management and enhancement of private wealth"}),", as opposed to the ",t.jsx("strong",{children:"operational holding"})," whose role is to animate and steer an industrial or commercial group."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En pratique, la frontière entre les deux n'est pas toujours nette. Une holding patrimoniale peut très bien détenir une ",t.jsx("strong",{children:"participation majoritaire"})," dans une société opérationnelle tout en gérant un portefeuille de participations minoritaires, des ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"actifs immobiliers"})," et des investissements financiers. Ce qui la définit, c'est moins la nature stricte de ses actifs que la ",t.jsx("strong",{children:"logique patrimoniale"})," qui préside à sa création et à sa gestion."]}),t.jsxs(t.Fragment,{children:["In practice, the boundary between the two is not always clear. A wealth holding may very well hold a ",t.jsx("strong",{children:"majority stake"})," in an operating company while managing a portfolio of minority stakes, ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"real estate assets"})," and financial investments. What defines it is less the strict nature of its assets than the ",t.jsx("strong",{children:"wealth logic"})," that presides over its creation and management."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La holding est généralement constituée sous forme de ",t.jsx("strong",{children:"société par actions simplifiée"})," ou de ",t.jsx("strong",{children:"société civile"})," selon les besoins, et soumise à l'",t.jsx("strong",{children:"impôt sur les sociétés"}),". C'est ce choix fiscal qui est au cœur de son intérêt patrimonial, et c'est par lui qu'il faut commencer pour comprendre ce que la holding apporte que rien d'autre ne peut donner aussi efficacement."]}),t.jsxs(t.Fragment,{children:["The holding is generally set up as a ",t.jsx("strong",{children:"simplified joint-stock company"})," or a ",t.jsx("strong",{children:"civil company"})," depending on needs, and subject to ",t.jsx("strong",{children:"corporation tax"}),". It is this tax choice that is at the heart of its wealth interest, and it is through it that one must begin to understand what the holding brings that nothing else can give as effectively."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La capitalisation à l'IS : l'avantage fondamental","IS capitalisation: the fundamental advantage")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le premier avantage de la holding patrimoniale est le plus fondamental, et il est souvent le moins bien compris. Il tient à la ",t.jsx("strong",{children:"différence de taux"})," entre l'",t.jsx("strong",{children:"impôt sur les sociétés"})," et la ",t.jsx("strong",{children:"fiscalité personnelle"})," des personnes physiques fortunées."]}),t.jsxs(t.Fragment,{children:["The first advantage of the wealth holding is the most fundamental, and it is often the least well understood. It lies in the ",t.jsx("strong",{children:"difference in rates"})," between ",t.jsx("strong",{children:"corporation tax"})," and the ",t.jsx("strong",{children:"personal taxation"})," of wealthy individuals."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un entrepreneur ou un investisseur qui perçoit des dividendes ou réalise des plus values en nom propre est imposé au ",t.jsx("strong",{children:"prélèvement forfaitaire unique de 30%"})," : 12,8% d'impôt sur le revenu et 17,2% de prélèvements sociaux. S'il opte pour l'imposition au barème, son taux marginal peut atteindre ",t.jsx("strong",{children:"45%"})," plus prélèvements sociaux, soit une imposition totale proche de ",t.jsx("strong",{children:"62%"})," sur les revenus du capital en tranche maximale."]}),t.jsxs(t.Fragment,{children:["An entrepreneur or investor who receives dividends or realises gains in their own name is taxed at the ",t.jsx("strong",{children:"flat tax rate of 30%"}),", 12.8% income tax and 17.2% social charges. If they opt for taxation according to the progressive scale, their marginal rate c
760an reach ",t.jsx("strong",{children:"45%"})," plus social charges, i.e. total taxation close to ",t.jsx("strong",{children:"62%"})," on capital income in the top bracket."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Une holding soumise à l'IS capitalise ses revenus au taux de l'IS : ",t.jsx("strong",{children:"25% au-delà de 42 500 euros"})," de bénéfices, et ",t.jsx("strong",{children:"15%"})," en deçà pour les PME éligibles. Sur un euro de bénéfice brut, la holding conserve ",t.jsx("strong",{children:"75 centimes à réinvestir"}),", contre 70 centimes dans une enveloppe au PFU et moins encore dans une structure imposée au barème. La différence semble modeste sur un an, elle devient considérable sur dix ou vingt ans grâce à l'",t.jsx("strong",{children:"effet de capitalisation"}),"."]}),t.jsxs(t.Fragment,{children:["A holding subject to corporation tax capitalises its income at the corporate tax rate, ",t.jsx("strong",{children:"25% above €42,500"})," in profits, and ",t.jsx("strong",{children:"15%"})," below for eligible SMEs. On every euro of gross profit, the holding retains ",t.jsx("strong",{children:"75 cents to reinvest"}),", compared with 70 cents in a flat-tax wrapper and even less in a structure taxed according to the progressive scale. The difference seems modest over one year, it becomes considerable over ten or twenty years thanks to the ",t.jsx("strong",{children:"compounding effect"}),"."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Prenons un exemple concret. Un portefeuille de 2 millions d'euros qui génère un rendement annuel de 7% produit 140 000 euros de revenus bruts par an. Capitalisé en nom propre au PFU de 30%, il conserve 98 000 euros nets à réinvestir. Capitalisé dans une holding à l'IS de 25%, il conserve 105 000 euros. Sur vingt ans, la différence cumulée de capitalisation entre les deux structures représente plusieurs centaines de milliers d'euros, sans aucun changement dans la stratégie d'investissement, simplement grâce à l'avantage de taux."}),t.jsx(t.Fragment,{children:"Take a concrete example. A portfolio of €2 million generating an annual return of 7% produces €140,000 of gross income per year. Capitalised in one's own name at the 30% flat tax, it retains €98,000 net to reinvest. Capitalised in a holding at 25% corporation tax, it retains €105,000. Over twenty years, the cumulative capitalisation difference between the two structures represents several hundred thousand euros, without any change in investment strategy, simply thanks to the rate advantage."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Cet avantage a une contrepartie importante que l'on oublie parfois de mentionner. Lorsque l'entrepreneur souhaite sortir les fonds de la holding pour ses besoins personnels : se verser un dividende, se rembourser en compte courant, il subit une imposition supplémentaire au niveau personnel. La capitalisation à l'IS n'est avantageuse que si les fonds sont effectivement maintenus dans la holding et réinvestis. Pour un entrepreneur qui a besoin de ses revenus pour vivre, la holding n'apporte pas grand-chose sur ce plan. Pour un entrepreneur dont les revenus opérationnels couvrent largement son train de vie et qui cherche à capitaliser son patrimoine financier sur le long terme, elle est un véhicule remarquablement efficace."}),t.jsx(t.Fragment,{children:"This advantage has an important counterpart that is sometimes forgotten. When the entrepreneur wishes to withdraw funds from the holding for personal needs, paying themselves a dividend, being reimbursed from a current account, they incur additional personal taxation. IS capitalisation is only advantageous if the funds are actually retained in the holding and reinvested. For an entrepreneur who needs their income to live, the holding does not bring much in this respect. For an entrepreneur whose operating income comfortably covers their lifestyle and who seeks to capitalise their financial wealth over the long term, it is a remarkably effective vehicle."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le régime mère fille : remonter les divi
760dendes presque sans fiscalité","The parent-subsidiary regime: remitting dividends with almost no tax")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"régime mère fille"})," est le deuxième pilier de l'attrait fiscal de la holding. Il permet à une société mère, la holding, qui détient ",t.jsx("strong",{children:"au moins 5% du capital"})," d'une filiale de recevoir les dividendes de cette filiale avec une ",t.jsx("strong",{children:"quasi exonération fiscale"}),"."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"parent-subsidiary regime"})," is the second pillar of the holding's fiscal appeal. It allows a parent company, the holding, which holds ",t.jsx("strong",{children:"at least 5% of a subsidiary's capital"})," to receive dividends from that subsidiary with ",t.jsx("strong",{children:"quasi tax exemption"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Concrètement, les dividendes reçus par la holding de ses filiales sont ",t.jsx("strong",{children:"exonérés d'IS à hauteur de 95%"}),", seule une quote part de frais et charges de 5% étant réintégrée dans le résultat imposable de la holding. En pratique, un dividende de ",t.jsx("strong",{children:"1 million d'euros"})," versé par une filiale à sa holding est imposé à hauteur de 50 000 euros seulement, soit une imposition effective d'",t.jsx("strong",{children:"environ 1,25%"})," du dividende reçu."]}),t.jsxs(t.Fragment,{children:["Concretely, dividends received by the holding from its subsidiaries are ",t.jsx("strong",{children:"exempt from corporation tax up to 95%"}),", with only a 5% expense and charge portion being reintegrated into the holding's taxable profit. In practice, a ",t.jsx("strong",{children:"€1 million"})," dividend paid by a subsidiary to its holding is taxed on only €50,000, an ",t.jsx("strong",{children:"effective tax of approximately 1.25%"})," of the dividend received."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Cette quasi exonération est particulièrement précieuse pour les entrepreneurs qui ont structuré leur activité en groupe, une holding détenant plusieurs filiales opérationnelles dont les bénéfices remontent vers la tête de groupe. Plutôt que de faire payer l'IS dans chaque filiale puis de remonter les divi
760dendes résiduels avec une nouvelle imposition, le régime mère fille permet de centraliser les flux de trésorerie dans la holding avec une friction fiscale minimale et de les réallouer librement vers les usages patrimoniaux ou professionnels qui le justifient."}),t.jsx(t.Fragment,{children:"This quasi exemption is particularly valuable for entrepreneurs who have structured their activity as a group, a holding owning several operating subsidiaries whose profits flow up to the group head. Rather than paying corporation tax in each subsidiary and then remitting residual dividends with a new taxation, the parent-subsidiary regime allows cash flows to be centralised in the holding with minimal tax friction and freely reallocated towards the wealth or professional uses that justify them."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le régime des plus values long terme sur titres de participation","The long-term gains regime on equity holdings")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le troisième avantage fiscal de la holding patrimoniale concerne le traitement des ",t.jsx("strong",{children:"plus values"})," réalisées sur les cessions de participations significatives. Lorsqu'une holding cède des titres de participation qu'elle détient depuis ",t.jsx("strong",{children:"plus de deux ans"})," et qui représentent au moins 5% du capital de la société cédée, les plus values bénéficient du ",t.jsx("strong",{children:"régime long terme sur titres de participation"}),", avec une ",t.jsx("strong",{children:"exonération à hauteur de 88%"})," du montant de la plus value, seule une quote part de 12% étant imposée au taux normal de l'IS."]}),t.jsxs(t.Fragment,{children:["The third tax advantage concerns the treatment of ",t.jsx("strong",{children:"capital gains"})," realised on the sale of significant stakes. When a holding sells equity holdings that it has held for ",t.jsx("strong",{children:"more than two years"})," and that represent at least 5% of the sold company's capital, the gains benefit from the ",t.jsx("strong",{children:"long-term gains regime on equity holdings"}),", with an ",t.jsx("strong",{children:"exemption up to 88%"})," of the gain amount, with only a 12% portion being taxed at the normal corporation tax rate."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["En pratique, une plus value de ",t.jsx("strong",{children:"1 million d'euros"})," réalisée par une holding sur la cession d'une participation est imposée sur 120 000 euros seulement, soit une ",t.jsx("strong",{children:"imposition effective de 3%"}),". Ce traitement extrêmement favorable transforme la holding en véhicule quasi exonéré pour la gestion active d'un portefeuille de participations, une caractéristique dont les ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"family offices"})," et les holdings patrimoniales des grandes familles d'entrepreneurs tirent parti de façon systématique."]}),t.jsxs(t.Fragment,{children:["In practice, a ",t.jsx("strong",{children:"€1 million"})," gain realised by a holding is taxed on only €120,000, an ",t.jsx("strong",{children:"effective tax of 3%"}),". This extremely favourable treatment transforms the holding into a quasi-exempt vehicle for the active management of a portfolio of stakes, a characteristic that ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"family offices"})," and the wealth holdings of great entrepreneurial families systematically take advantage of."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Quand créer une holding : les situations qui la justifient","When to create a holding: the situations that justify it")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La holding patrimoniale ne se justifie pas dans toutes les situations. Plusieurs configurations patrimoniales et professionnelles la rendent pertinente, voire indispensable."}),t.jsx(t.Fragment,{children:"A wealth holding is not justified in all situations. Several wealth and professional configurations make it relevant, even indispensable."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"cession d'entreprise"})," est le déclencheur le plus fréquent. Un entrepreneur qui cède son entreprise dispose soudainement d'un ",t.jsx("strong",{children:"capital important à réinvestir"}),". S'il a anticipé la cession en amont et réalisé un apport cession dans les conditions de ",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"l'article 150-0 B ter"}),", sa holding reçoit le produit de cession en ",t.jsx("strong",{children:"report d'imposition"})," et devient le véhicule de réinvestissement naturel. Mais même sans apport cession préalable, la création d'une holding post cession pour capitaliser le produit net peut être pertinente dès lors que le capital est suffisamment significatif pour justifier les frais de structure."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"sale of a business"})," is the most frequent trigger. An entrepreneur who sells their business suddenly has ",t.jsx("strong",{children:"significant capital to reinvest"}),". If they anticipated the sale and carried out a contribution-sale under the conditions of ",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"article 150-0 B ter"}),", their holding receives the sale proceeds in ",t.jsx("strong",{children:"tax deferral"})," and becomes the natural reinvestment vehicle. But even without a prior contribution-sale, creating a holding post-sale to capitalise the net proceeds can be relevant as long as the capital is sufficiently significant to justify the structure costs."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"détention de plusieurs participations opérationnelles"})," est la deuxième configuration qui appelle la création d'une holding. Un entrepreneur qui détient plusieurs sociétés, qui investit régulièrement dans de
760s PME non cotées via du ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}),", ou qui envisage de développer un groupe a tout intérêt à structurer ses participations sous une holding commune. Elle ",t.jsx("strong",{children:"centralise la gouvernance"}),", optimise les flux de trésorerie entre entités, et crée un cadre fiscal cohérent."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"holding of several operational stakes"})," is the second configuration that calls for a holding. An entrepreneur who owns several companies, who regularly invests in unlisted SMEs through ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}),", or who plans to develop a group has every interest in structuring their stakes under a common holding. It ",t.jsx("strong",{children:"centralises governance"}),", optimises cash flows between entities, and creates a coherent tax framework."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"L'accumulation d'un patrimoine financier significatif que l'entrepreneur souhaite gérer de façon active et capitaliser sur le long terme justifie également la création d'une holding, même en l'absence d'activités opérationnelles significatives. Dès lors que les revenus du patrimoine dépassent les besoins personnels de l'entrepreneur et que la fraction excédentaire a vocation à être réinvestie plutôt que consommée, la capitalisation à l'IS offre un avantage structurel documenté par rapport à la détention en nom propre."}),t.jsx(t.Fragment,{children:"The accumulation of significant financial wealth that the entrepreneur wishes to manage actively and capitalise over the long term also justifies creating a holding, even in the absence of significant operating activities. As soon as the income from the estate exceeds the entrepreneur's personal needs and the excess portion is destined to be reinvested rather than consumed, IS capitalisation offers a documented structural advantage over holding in one's own name."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"préparation d'une transmission familiale"})," est enfin une raison fréquente et légitime de créer une holding. En centralisant les actifs patrimoniaux dans une structure unique, la holding facilite la ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"transmission par donation de parts sociales"}),", permet le recours au ",t.jsx("strong",{children:"pacte Dutreil"})," lorsque les conditions sont remplies, et offre une souplesse de gouvernance, notamment sur les droits de vote et les droits financiers, que la détention directe d'actifs dispersés ne permet pas."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"preparation of a family transfer"})," is finally a frequent and legitimate reason to create a holding. By centralising wealth assets in a single structure, the holding facilitates ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"transfer by donation of shares"}),", allows recourse to the ",t.jsx("strong",{children:"Dutreil agreement"})," when conditions are met, and offers governance flexibility, notably on voting rights and financial rights, that direct holding of dispersed assets does not allow."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La holding animatrice : un statut précieux mais exigeant","The operating holding: a precious but demanding status")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La distinction entre holding pure et holding animatrice est fiscalement déterminante pour plusieurs dispositifs d'optimisation, notamment le pacte Dutreil et l'exonération d'IFI."}),t.jsx(t.Fragment,{children:"The distinction between pure holding and operating holding is fiscally decisive for several optimisation schemes, notably the Dutreil agreement and the IFI exemption."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Une ",t.jsx("strong",{children:"holding pure"})," est une société qui se contente de détenir des participations sans s'impl
760iquer dans la gestion de ses filiales. Une ",t.jsx("strong",{children:"holding animatrice"})," est une société qui, outre la détention de participations, ",t.jsx("strong",{children:"participe activement à la conduite"})," de la politique de son groupe et fournit à ses filiales des services spécifiques : administratifs, financiers, juridiques, commerciaux. Cette implication active confère à la holding animatrice son ",t.jsx("strong",{children:"statut fiscal privilégié"}),"."]}),t.jsxs(t.Fragment,{children:["A ",t.jsx("strong",{children:"pure holding"})," is a company that merely holds stakes without getting involved in the management of its subsidiaries. An ",t.jsx("strong",{children:"operating holding"})," is a company that, in addition to holding stakes, ",t.jsx("strong",{children:"actively participates"})," in conducting its group's policy and provides its subsidiaries with specific services: administrative, financial, legal, commercial. This active involvement gives the operating holding its ",t.jsx("strong",{children:"privileged tax status"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les titres d'une holding animatrice sont ",t.jsx("strong",{children:"exonérés d'IFI"}),", à la différence des titres d'une holding pure dont la valeur est intégralement retenue dans l'assiette de l'",t.jsx("strong",{children:"impôt sur la fortune immobilière"})," à proportion de la valeur immobilière des actifs sous jacents. Pour les holdings dont le patrimoine est significatif et comprend une fraction importante d'actifs immobiliers, cette distinction peut représenter une ",t.jsx("strong",{children:"économie d'IFI annuelle substantielle"}),"."]}),t.jsxs(t.Fragment,{children:["The shares of an operating holding are ",t.jsx("strong",{children:"exempt from IFI"}),", unlike the shares of a pure holding whose value is fully retained in the ",t.jsx("strong",{children:"real estate wealth tax"})," base in proportion to the real estate value of the underlying assets. For holdings whose wealth is significant and includes a substantial fraction of real estate assets, this distinction can represent a ",t.jsx("strong",{children:"substantial annual IFI saving"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"pacte Dutreil"}),", qui permet de transmettre des titres d'entreprise avec un ",t.jsx("strong",{children:"abattement de 75%"})," sur leur valeur sous conditions d'engagement de conservation, est également accessible aux holdings animatrices mais pas aux holdings pures. Pour les entrepreneurs qui envisagent de ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"transmettre leur holding à leurs enfants"})," dans un cadre fiscal optimisé, le statut animateur est une ",t.jsx("strong",{children:"condition sine qua non"})," de l'accès au Dutreil."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Dutreil agreement"}),", which allows business shares to be transferred with a ",t.jsx("strong",{children:"75% discount"})," on their value subject to holding commitment conditions, is also accessible to operating holdings but not to pure holdings. For entrepreneurs considering ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"transferring their holding to their children"})," in an optimised tax framework, the operating status is a ",t.jsx("strong",{children:"sine qua non condition"})," for accessing the Dutreil agreement."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Ce statut n'est pas acquis automatiquement. Il requiert une animation effective et documentée, des conventions de services entre la holding et ses filiales, des réunions de direction impliquant les dirigeants de la holding dans les décisions stratégiques des filiales, une facturation de services réelle et justifiée. L'administration fiscale contrôle avec attention la réalité du statut animateur, et une holding qui se prétend animatrice sans en avoir la substance risque une remise en cause des avantages fiscaux qui y sont attachés."}),t.jsx(t.Fragment,{children:"This status is not acquired automatically. It requires effective and documented operation, service agreements between the holding and its subsidiaries, management meetings involving the holding's directors in the strategic decisions of subsidiaries, real and justified service invoicing. The tax authorities carefully monitor the reality of the operating status, and a holding that claims to be operating without having the substance risks a challenge to the tax benefits attached to it."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La gouvernance : structurer pour durer","Governance: structuring to last")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Au-delà des avantages fiscaux, la holding patrimoniale est un outil de gouvernance dont la valeur dépasse souvent la seule dimension fiscale. Elle permet d'organiser le pouvoir de décision, de définir les règles de fonctionnement entre associés, et de construire une structure capable de traverser les générations sans se désintégrer à chaque événement familial ou professionnel significatif."}),t.jsx(t.Fragment,{children:"Beyond the tax advantages, the wealth holding is a governance tool whose value often exceeds the purely fiscal dimension. It allows the organisation of decision-making power, the definition of operating rules between partners, and the construction of a structure capable of surviving across generations without disintegrating at every significant family or professional event."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Les statuts de la holding sont le premier levier de gouvernance. Ils peuvent prévoir des droits de vote différenciés, des actions à droit de vote double pour le fondateur, des actions sans droit de vote pour les héritiers entrant progressivement dans le capital, qui permettent de transmettre le patrimoine économique sans transmettre simultanément le contrôle décisionnel. Pour un entrepreneur qui souhaite impliquer ses enfants dans la gestion de son patrimoine tout en conservant la maîtrise des décisions importantes, cette architecture statutaire est souvent la solution la plus élégante."}),t.jsx(t.Fragment,{children:"The holding's articles of association are the first governance lever. They can provide for differentiated voting rights, shares with double voting rights for the founder, shares without voting rights for heirs gradually entering the capital, which allow economic wealth to be transferred without simultaneously transferring decision-making control. For an entrepreneur who wishes to involve their children in the management of their wealth while retaining control over important decisions, this statutory architecture is often the most elegant solution."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le pacte d'associés est le deuxième levier. Il organise les relations entre les associés de la holding, règles de préemption en cas de cession, clauses d'agrément, procédures de résolution des conflits, conditions de sortie, de façon contractuelle et confidentielle. Un pacte d'associés bien rédigé anticipe les situations de désaccord et prévoit des mécanismes de résolution qui évitent que des tensions entre associés ne paralysent la gestion du patrimoine."}),t.jsx(t.Fragment,{children:"The shareholders' agreement is the second lever. It organises the relations between the holding's partners, pre-emption rules in case of sale, approval clauses, conflict resolution procedures, exit conditions, in a contractual and confidential manner. A well-drafted shareholders' agreement anticipates disagreement situations and provides resolution mechanisms that prevent tensions between partners from paralysing the management of the estate."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les coûts et les contraintes : ce que l'on accepte en créant une holding","Costs and constraints: what one accepts by creating a holding")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La holding patrimoniale n'est pas gratuite, et ses contraintes méritent d'être mentionnées clairement pour éviter les désillusions."}),t.jsx(t.Fragment,{children:"A wealth holding is not free, and its constraints deserve to be mentioned clearly to avoid disillusionment."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"coûts de structure"})," sont réels et permanents. La tenue d'une comptabilité, l'établissement des comptes annuels, le dépôt des déclarations fiscales, les honoraires du commissaire aux comptes lorsqu'il est obligatoire, les frais juridiques de gestion courante, l'ensemble représente généralement ",t.jsx("strong",{children:"entre 3 000 et 10 000 euros par an"})," selon la complexité de la structure. Ces coûts fixes doivent être mis en regard des avantages générés pour s'assurer que l'équation économique reste favorable."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"structure costs"})," are real and permanent. Maintaining accounts, preparing annual financial statements, filing tax returns, statutory auditor fees when mandatory, routine legal management fees, all amount generally to ",t.jsx("strong",{children:"between €3,000 and €10,000 per year"})," depending on the complexity of the structure. These fixed costs must be weighed against the benefits generated to ensure that the economic equation remains favourable."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La liquidité des actifs dans la holding est réduite par rapport à la détention en nom propre. Les fonds capitalisés dans la holding ne sont pas directement accessibles à l'entrepreneur sans décision de distribution soumise aux règles sociales et fiscales applicables. Cette c
760ontrainte de liquidité est la contrepartie de l'avantage de capitalisation, elle implique une gestion prévisionnelle rigoureuse de ses besoins personnels de trésorerie pour éviter de se retrouver contraint à des distributions fiscalement sous optimales."}),t.jsx(t.Fragment,{children:"The liquidity of assets in the holding is reduced compared with holding in one's own name. Funds capitalised in the holding are not directly accessible to the entrepreneur without a distribution decision subject to applicable corporate and tax rules. This liquidity constraint is the counterpart of the capitalisation advantage, it implies rigorous forecast management of one's personal cash needs to avoid being forced into fiscally suboptimal distributions."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La transparence accrue vis-à-vis de l'administration fiscale est enfin une réalité à intégrer. Les comptes d'une société sont publics et consultables au greffe du tribunal de commerce. Les déclarations fiscales de la holding sont déposées annuellement et peuvent faire l'objet de contrôles. Pour les entrepreneurs qui valorisent la confidentialité patrimoniale, cette transparence obligatoire est une contrainte à prendre en compte."}),t.jsx(t.Fragment,{children:"Finally, increased transparency vis-à-vis the tax authorities is a reality to integrate. A company's accounts are public and consultable at the commercial court registry. The holding's tax returns are filed annually and may be subject to audits. For entrepreneurs who value wealth confidentiality, this mandatory transparency is a constraint to take into account."}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsx(t.Fragment,{children:"La holding patrimoniale n'est pas une fin en soi, c'est un véhicule au service d'une stratégie. Elle crée de la valeur lorsqu'elle est mise en place au bon moment, pour les bonnes raisons, avec une architecture juridique et fiscale adaptée aux objectifs spécifiques de celui qui la crée. Mal calibrée, créée trop tôt ou pour de mauvaises raisons, elle génère des coûts et des contraintes qui excèdent ses avantages. La question n'est donc pas de savoir si la holding est un bon outil en général, elle l'est, dans les bonnes circonstances. La question est de savoir si elle est le bon outil pour sa situation précise, à ce moment précis de son parcours patrimonial. C'est cette question là qui mérite une réponse rigoureuse avant toute décision de structure."}),t.jsx(t.Fragment,{children:"A wealth holding is not an end in itself, it is a vehicle serving a strategy. It creates value when it is set up at the right time, for the right reasons, with a legal and tax architecture adapted to the specific objectives of the person who creates it. Poorly calibrated, created too early or for the wrong reasons, it generates costs and constraints that exceed its benefits. The question is therefore not whether the holding is a good tool in general, it is, in the right circumstances. The question is whether it is the right tool for one's specific situation, at this precise moment in one's wealth journey. It is this question that deserves a rigorous answer before any structural decision."}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre holding avec colbr","Structure your holding with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux analysent votre situation professionnelle et fiscale, calibrent la pertinence d'une holding patrimoniale et coordonnent sa mise en œuvre avec les experts comptables et avocats fiscalistes de notre réseau.","Our wealth advisors analyse your professional and tax situation, calibrate the relevance of a wealth holding and coordinate its implementation with the accountants and tax lawyers in our network.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Accéder à la gestion privée","Access private management"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Lire notre article apport cession","Read our contribution-sale article")})]})]}
760),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La création d'une holding patrimoniale requiert l'accompagnement d'un avocat fiscaliste et d'un expert-comptable. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision de structuration.","Informational document not constituting investment advice or legal or tax advice. Creating a wealth holding requires the assistance of a tax lawyer and an accountant. We recommend consulting a qualified wealth advisor before any structural decision.")})]})})}),t.jsx(re,{})]})},A_e=[.16,1,.3,1],L_e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Avril 2026","April 2026")," · 13 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Apport cession (article 150-0 B ter) : réinvestir sans payer l'impôt immédiatement","Contribution-sale (article 150-0 B ter): reinvest without paying tax immediately")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Report d'imposition, réinvestissement qualifié, holding patrimoniale : le dispositif central de la gestion fiscale des cessions d'entreprise.","Tax deferral, qualified reinvestment, wealth holding: the central device for managing the taxation of business disposals.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:A_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Il y a dans la vie d'un entrepreneur un moment particulier dont la dimension fiscale est souvent sous estimée jusqu'à ce qu'il soit presque trop tard. Le moment où l'on cède son entreprise. Après des années de construction, de risques assumés et de valeur créée, la question qui se pose n'est plus celle de la performance opérationnelle mais celle de l'",t.jsx(C,{to:"/gestion-privee",className:"text-primary underline-offset-4 hover:underline",children:"allocation du capital libéré"}),", et de la fiscalité qui s'y attache. Sans anticipation, la cession d'une entreprise génère une ",t.jsx("strong",{children:"plus value imposable immédiate"})," au prélèvement forfaitaire unique de ",t.jsx("strong",{children:"30%"}),", qui peut représenter plusieurs centaines de milliers voire plusieurs millions d'euros prélevés avant même que l'entrepreneur n'ait commencé à réfléchir à ce qu'il souhaite faire de son capital. Le dispositif de l'",t.jsx(C,{to:"/gestion-privee/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"article 150-0 B ter"})," du Code général des impôts, dit apport cession, a précisément été conçu pour permettre à cet entrepreneur de différer cette imposition, de réinvestir l'intégralité du produit de cession dans de nouveaux projets, et de construire une ",t.jsx("strong",{children:"stratégie patrimoniale de long terme"})," sans que le fisc ne ponctue à l'entrée une fraction significative du capital disponible."]}),t.jsxs(t.Fragment,{children:["There is a particular moment in an entrepreneur's life whose fiscal dimension is often underestimated until it is almost too late. The moment one sells their business. After years of building, r
760isks taken and value created, the question is no longer about operational performance but about the ",t.jsx(C,{to:"/gestion-privee",className:"text-primary underline-offset-4 hover:underline",children:"allocation of freed capital"}),", and the taxation attached to it. Without planning, the sale of a business generates an ",t.jsx("strong",{children:"immediately taxable capital gain"})," at the flat tax rate of ",t.jsx("strong",{children:"30%"}),", which can represent several hundred thousand or even several million euros levied before the entrepreneur has even begun to think about what they want to do with their capital. The device of ",t.jsx(C,{to:"/gestion-privee/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"article 150-0 B ter"})," of the General Tax Code, known as contribution-sale, was precisely designed to allow this entrepreneur to defer this taxation, to reinvest the entirety of the sale proceeds into new projects, and to build a ",t.jsx("strong",{children:"long-term wealth strategy"})," without the tax authority taking a significant fraction of the available capital at entry."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre expertise","Our expertise")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Apport cession 150-0 B ter","Contribution-sale 150-0 B ter")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Structuration de holding, sélection des actifs de remploi éligibles, coordination avec vos avocats fiscalistes.","Holding structuring, selection of eligible reinvestment assets, coordination with your tax lawyers.")}),t.jsxs(C,{to:"/gestion-privee/apport-cession-150-0-b-ter",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Découvrir le dispositif","Discover the scheme"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La logique fondamentale : reporter pour réinvestir","The fundamental logic: defer to reinvest")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'apport cession repose sur une idée simple dont la mise en œuvre est plus technique. Plutôt que de céder directement les titres de son entreprise à l'acquéreur et de réaliser une plus value taxable immédiatement, l'entrepreneur apporte préalablement ses titres à une holding qu'il contrôle. Cet apport constitue lui même une cession, qui génère une plus value, mais cette plus value est placée en ",t.jsx("strong",{children:"report d'imposition automatique"}),". La holding reçoit les titres à leur valeur vénale et les cède ensuite à l'acquéreur final. La plus value constatée lors de l'apport est reportée indéfiniment, tant que certaines conditions sont respectées."]}),t.jsxs(t.Fragment,{children:["Contribution-sale rests on a simple idea whose implementation is more technical. Rather than directly selling the shares of their business to the buyer and realising an immediately taxable capital gain, the entrepreneur first contributes their shares to a holding they control. This contribution is itself a sale, which generates a capital gain, but this capital gain is placed in ",t.jsx("strong",{children:"automatic tax deferral"}),". The holding receives the shares at their market value and then sells them to the final buyer. The capital gain realised at the time of the contribution is deferred indefinitely, as long as certain conditions are met."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le report n'est pas une exonération, c'est un différé. L'impôt existe, il est calculé, il est documenté, mais il n'est pas acquitté immédiatement. Il sera dû le jour où l'une des conditions de maintien du report sera rompue, notamment si les titres de la holding sont cédés, si la holding est dissoute, ou si le remploi du produit de cession ne satisfait pas aux conditions légales dans les délais impartis."}),t.jsx(t.Fragment,{children:"The deferral is not an exemption, it is a postponement. The tax exists, it is calculated, it is documented, but it is not paid immediately. It will be due the day one of the maintenance conditions of the deferral is broken, notably if the holding's shares are sold, if the holding is dissolved, or if the reinvestment of the sale proceeds does not satisfy the legal conditions within the prescribed time limits."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La différence entre payer l'impôt aujourd'hui et le payer dans dix ou vingt ans est considérable. Un entrepreneur qui cède son entreprise pour 5 millions d'euros avec une plus value de 4 millions d'euros aurait dû acquitter, sans mécanisme d'apport cession, environ 1,2 million d'euros d'impôt immédiatement, ne laissant que 3,8 millions à réinvestir. Avec l'apport cession, il dispose de l'intégralité des 5 millions pour construire sa stratég
760ie patrimoniale, la totalité du capital travaillant dès le premier jour. L'effet de capitalisation sur la fraction différée est un gain financier réel et quantifiable."}),t.jsx(t.Fragment,{children:"The difference between paying the tax today and paying it in ten or twenty years is considerable. An entrepreneur who sells their business for €5 million with a capital gain of €4 million would have had to pay, without a contribution-sale mechanism, approximately €1.2 million in tax immediately, leaving only €3.8 million to reinvest. With contribution-sale, they have the full €5 million to build their wealth strategy, the entire capital working from day one. The compounding effect on the deferred portion is a real and quantifiable financial gain."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les conditions du report : ce que la loi exige","The conditions of deferral: what the law requires")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le report d'imposition de l'article 150-0 B ter n'est pas acquis automatiquement ni inconditionnellement. Il suppose le respect de conditions précises dont certaines sont permanentes et d'autres temporaires."}),t.jsx(t.Fragment,{children:"The tax deferral of article 150-0 B ter is not acquired automatically or unconditionally. It requires compliance with precise conditions, some of which are permanent and others temporary."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"condition de contrôle"})," est la première et la plus fondamentale. L'apporteur doit contrôler la holding bénéficiaire de l'apport, ce qui signifie détenir, directement ou indirectement, plus de 50% des droits de vote ou des droits dans les bénéfices de la société. Cette condition vise à s'assurer que le mécanisme n'est pas utilisé pour transférer la plus value à une entité tierce dans laquelle l'entrepreneur n'aurait qu'un intérêt minoritaire. Le contrôle doit être effectif au moment de l'apport et maintenu pendant toute la durée du report."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"control condition"})," is the first and most fundamental. The contributor must control the holding receiving the contribution, which means holding, directly or indirectly, more than 50% of the voting rights or rights in the profits of the company. This condition aims to ensure that the mechanism is not used to transfer the capital gain to a third-party entity in which the entrepreneur would only have a minority interest. Control must be effective at the time of the contribution and maintained throughout the duration of the deferral."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"condition de remploi"})," est la deuxième, et elle est déterminante pour la stratégie post-cession. Lorsque la holding cède les titres apportés dans les trois ans suivant l'apport, elle est tenue de réinvestir au moins 60% du produit de cession dans des actifs éligibles dans un délai de deux ans à compter de la cession. Si la cession des titres par la holding intervient plus de trois ans après l'apport, aucune obligation de remploi n'est imposée et le report est maintenu indéfiniment jusqu'à l'une des causes de dénouement prévues par la loi."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"reinvestment condition"})," is the second, and it is decisive for the post-sale strategy. When the holding sells the contributed shares within three years of the contribution, it is required to reinvest at least 60% of the sale proceeds in eligible assets within two years of the sale. If the holding's sale of the shares takes place more than three years after the contribution, no reinvestment obligation is imposed and the deferral is maintained indefinitely until one of the termination causes provided by law."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Cette distinction temporelle, avant ou après trois ans, est stratégiquement importante. Elle signifie que si l'entrepreneur peut s'organiser pour que la holding conserve les titres pendant au moins trois ans avant de les céder à l'acquéreur final, il s'affranchit de toute obligation de remploi. Dans les opérations où ce délai est incompatible avec le calendrier de l'acquéreur, l'obligation de remploi à 60% s'impose et structure la politique d'investissement de la holding pendant les deux années suivant la cession."}),t.jsx(t.Fragment,{children:"This temporal distinction, before or after three years, is strategically important. It means that if the entrepreneur can organise themselves so that the holding retains the shares for at least three years before selling them to the final buyer, they are freed from any reinvestment obligation. In operations where this timeframe is incompatible with the buyer's schedule, the 60% reinvestment obligation applies and structures the holding's investment policy during the two years following the sale."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les actifs éligibles au remploi : ce dans quoi l'on peut réinvestir","The eligible reinvestment assets: what one can reinvest in")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La liste des actifs éligibles au remploi des 60% est définie par la loi et a été plusieurs fois élargie depuis la création du dispositif pour couvrir un univers d'investissement suffisamment large pour répondre aux besoins patrimoniaux des entrepreneurs."}),t.jsx(t.Fragment,{children:"The list of eligible reinvestment assets for the 60% is defined by law and has been expanded several times since the creation of the device to cover a sufficiently broad investment universe to meet the wealth needs of entrepreneurs."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La souscription au capital de sociétés soumises à l'impôt sur les sociétés exerçant une activité commerciale, industrielle, artisanale, libérale ou agricole est l'actif de remploi par excellence. Il peut s'agir de prises de participation directes dans des PME, de ",t.jsx("strong",{children:"coinvestissements"}
760)," dans des entreprises non cotées, de souscriptions à des augmentations de capital. L'esprit du dispositif est de recycler le capital entrepreneurial libéré par une cession vers de nouveaux projets entrepreneuriaux, et les conditions d'éligibilité reflètent cet objectif."]}),t.jsxs(t.Fragment,{children:["Subscription to the capital of companies subject to corporation tax carrying on a commercial, industrial, craft, liberal or agricultural activity is the reinvestment asset par excellence. It may involve direct stakes in SMEs, ",t.jsx("strong",{children:"co-investments"})," in unlisted companies, subscriptions to capital increases. The spirit of the device is to recycle the entrepreneurial capital freed by a sale towards new entrepreneurial projects, and the eligibility conditions reflect this objective."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les fonds communs de placement à risque, les fonds professionnels de ",t.jsx("strong",{children:"capital investissement"})," et les fonds professionnels spécialisés sont également éligibles, à condition qu'ils respectent des quotas d'investissement dans les sociétés éligibles. Cette possibilité ouvre l'accès aux stratégies de private equity diversifiées pour les entrepreneurs qui ne souhaitent pas investir en direct dans des sociétés spécifiques mais veulent déléguer la sélection à des gestionnaires spécialisés."]}),t.jsxs(t.Fragment,{children:["Venture capital mutual funds, professional ",t.jsx("strong",{children:"private equity"})," funds and specialised professional funds are also eligible, provided they comply with investment quotas in eligible companies. This possibility opens access to diversified private equity strategies for entrepreneurs who do not wish to invest directly in specific companies but want to delegate selection to specialised managers."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Les ",t.jsx("strong",{children:"holdings animatrices"})," de leur groupe, qui exercent une activité opérationnelle réelle en plus de leur rôle de détention, peuvent également recevoir des remplois éligibles, ce qui offre une flexibilité supplémentaire pour les entrepreneurs qui s
760ouhaitent réinvestir dans des structures existantes plutôt que dans de nouveaux projets."]}),t.jsxs(t.Fragment,{children:["Group ",t.jsx("strong",{children:"animating holdings"}),", which carry on a real operational activity in addition to their holding role, can also receive eligible reinvestments, which offers additional flexibility for entrepreneurs who wish to reinvest in existing structures rather than in new projects."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La holding patrimoniale : le véhicule central de l'apport cession","The wealth holding: the central vehicle of contribution-sale")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La holding qui reçoit l'apport des titres et gère le produit de cession est bien plus qu'un simple intermédiaire juridique. Bien structurée, elle devient le véhicule central d'une ",t.jsx("strong",{children:"stratégie patrimoniale de long terme"})," qui dépasse la seule gestion du report d'imposition."]}),t.jsxs(t.Fragment,{children:["The holding that receives the contribution of shares and manages the sale proceeds is far more than a simple legal intermediary. Well structured, it becomes the central vehicle of a ",t.jsx("strong",{children:"long-term wealth strategy"})," that goes beyond the mere management of tax deferral."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La holding à l'impôt sur les sociétés présente des caractéristiques fiscales qui lui confèrent un avantage structurel pour la gestion d'un portefeuille d'investissements. Les dividendes reçus de ses filiales bénéficient du ",t.jsx("strong",{children:"régime mère fille"}),", qui prévoit une exonération quasi-totale sous réserve d'une quote-part de frais et charges de 5%, ce qui permet de remonter les bénéfices des participations avec une fiscalité très limitée. Les plus values réalisées sur des participations détenues depuis plus de deux ans bénéficient du régime des plus values long terme sur titres de participation, avec une exonération à 88% sous réserve d'une quote-part de 12%. Et les revenus capitalisés dans la holding s'accumulent au taux de l'IS, 25% au-delà de 42 500 euros de bénéfices, bien en dessous du taux marginal d'imposition personnel d'un entrepreneur fortement imposé."]}),t.jsxs(t.Fragment,{children:["The corporation tax holding has fiscal characteristics that give it a structural advantage for managing an investment portfolio. Dividends received from its subsidiaries benefit from the ",t.jsx("strong",{children:"mother-daughter regime"}),", which provides quasi-total exemption subject to a 5% expense and charges share, which allows the profits of participations to be passed up with very limited taxation. Capital gains realised on participations held for more than two years benefit from the long-term capital gains regime on participation shares, with an 88% exemption subject to a 12% share. And income capitalised in the holding accumulates at the corporation tax rate, 25% beyond €42,500 in profits, well below the marginal personal tax rate of a heavily taxed entrepreneur."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette ",t.jsx("strong",{children:"capitalisation à l'IS"})," est l'un des avantages les plus puissants de la holding dans une logique de long terme. Un euro de bénéfice capitalisé dans une holding à l'IS a été imposé à 25%, contre 30% dans une enveloppe soumise au PFU et potentiellement plus dans des structures moins optimisées. Sur des horizons de dix ou vingt ans, l'effet de cette différence de taux sur la capitalisation des rendements est considérable."]}),t.jsxs(t.Fragment,{children:["This ",t.jsx("strong",{children:"capitalisation at corporation tax"})," is one of the most powerful advantages of the holding in a long-term logic. One euro of profit capitalised in a corporation tax holding has been taxed at 25%, compared with 30% in a wrapper subject to the flat tax and potentially more in less optimised structures. Over ten or twenty-year horizons, the effect of this rate difference on the compounding of returns is considerable."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les causes de dénouement du report : ce qui déclenche l'imposition","The termination causes of deferral: what triggers taxation")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"Le report d'imposition est maintenu tant que certaines conditions sont respectées, mais plusieurs événements peuvent le faire tomber et déclencher l'imposition différée."}),t.jsx(t.Fragment,{children:"Tax deferral is maintained as long as certain conditions are met, but several events can cause it to fall and trigger the deferred taxation."}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La cession des titres de la holding par l'entrepreneur est la cause de dénouement la plus évidente. Si l'entrepreneur vend sa holding à un tiers, la plus value en report devient immédiatement exigible. De même, l'apport des titres de la holding à une autre société, la dissolution de la holding ou la transmission à titre gratuit peuvent déclencher le report dans certaines conditions."}),t.jsx(t.Fragment,{children:"The sale of the holding's shares by the entrepreneur is the most obvious termination cause. If the entrepreneur sells their holding to a third party, the deferred capital gain becomes immediately due. Similarly, the contribution of the holding's shares to another company, the dissolution of the holding or gratuitous transfer may trigger the deferral under certain conditions."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"décès de l'entrepreneur"})," est un cas particulier qui mérite une attention spécifique. En cas de décès, le report d'imposition est purgé, il s'éteint définitivement sans que la plus value reportée ne soit jamais taxée. Les héritiers qui récupèrent les titres de la holding le font avec un prix de revient actualisé à leur valeur au jour du décès. C'est l'un des avantages les plus puissants du dispositif pour les entrepreneurs qui construisent une holding avec une vision transgénérationnelle : si le report est maintenu jusqu'au décès, l'impôt différé ne sera jamais acquitté. Cette perspective transforme le report en quasi exonération pour les entrepreneurs qui planifient leur succession avec suffisamment d'anticipation."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"death of the entrepreneur"})," is a special case that deserves particular attention. In the event of death, the tax deferral is purged, it is definitively extinguished without the deferred capital gain ever being taxed. The heirs who recover the holding's shares do so with an updated cost basis at their value on the day of death. This is one of the most powerful advantages of the device for entrepreneurs who build a holding with a transgenerational vision: if the deferral is maintained until death, the deferred tax will never be paid. This prospect transforms the deferral into a quasi-exemption for entrepreneurs who plan their succession 
760with sufficient foresight."]}))}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"La donation des titres de la holding aux enfants transmet le report d'imposition aux donataires. Ces derniers héritent de l'obligation fiscale différée, ils devront acquitter l'impôt le jour où ils céderont les titres à leur tour. Cette transmission du report mérite d'être explicitée clairement dans toute stratégie de transmission impliquant une holding en report d'imposition."}),t.jsx(t.Fragment,{children:"The donation of the holding's shares to children transmits the tax deferral to the donees. The latter inherit the deferred tax obligation, they will have to pay the tax the day they sell the shares in turn. This transmission of deferral deserves to be clearly explained in any transfer strategy involving a holding under tax deferral."}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("L'articulation avec les autres dispositifs : construire une stratégie cohérente","Articulation with other devices: building a coherent strategy")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"L'apport cession ne fonctionne pas en isolation, il s'articule avec d'autres dispositifs fiscaux et patrimoniaux pour former une stratégie de transmission et d'investissement cohérente."}),t.jsx(t.Fragment,{children:"Contribution-sale does not work in isolation, it articulates with other fiscal and wealth devices to form a coherent transfer and investment strategy."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'",t.jsx("strong",{children:"abattement dirigeant"}),", prévu à l'article 150-0 D ter du Code général des impôts, permet aux dirigeants de PME qui cèdent leurs titres à l'occasion de leur départ à la retraite de bénéficier d'un abattement fixe de 500 000 euros sur la plus value de cession. Cet abattement n'est pas cumulable avec l'apport cession sur la même plus value, mais les deux dispositifs peuvent être articulés sur des opérations différentes ou sur des fractions différentes de la même opération. Un entrepreneur qui cède une partie de ses titres en bénéficiant de l'abattement dirigeant et apporte le reste dans une holding en report d'imposition peut optimiser sa situation fiscale globale en mobilisant les deux avantages de façon complémentaire."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"manager's allowance"}),", provided for in article 150-0 D ter of the General Tax Code, allows SME managers who sell their shares on the occasion of their retirement to benefit from a fixed allowance of €500,000 on the capital gain of sale. This allowance is not cumulative with contribution-sale on the same capital gain, but the two devices can be articulated on different operations or on different fractions of the same operation. An entrepreneur who sells part of their shares benefiting from the manager's allowance and contributes the rest into a holding under tax deferral can optimise their overall fiscal situation by mobilising the two advantages in a complementary manner."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"pacte Dutreil"}),", qui permet de transmettre une entreprise avec un abattement de 75% sur sa valeur sous conditions d'engagement de conservation, peut être combiné avec une holding patrimoniale structurée à l'occasion d'un apport cession. La transmission des titres de la holding aux enfants dans le cadre d'un pacte Dutreil, lorsque la holding anime effectivement son groupe, peut réduire considérablement la fiscalité successorale sur le patrimoine accumulé dans la structure."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Dutreil agreement"}),", which allows a business to be transferred with a 75% allowance on its value subject to commitment-to-hold conditions, can be combined with a structured wealth holding on the occasion of a contribution-sale. The transfer of the holding's shares to children within the framework of a Dutreil agreement, when the holding effectively animates its group, can considerably reduce the succession taxation on the wealth accumulated in the structure."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les précautions incontournables","The essential precautions")}),t.jsx("p",{children:r(t.jsx(t.Fragment,{children:"L'apport cession est un dispositif puissant mais techniquement exigeant, dont la mise en œuvre défaillante peut avoir des conséquences fiscales sévères."}),t.jsx(t.Fragment,{children:"Contribution-sale is a powerful but technically demanding device, whose faulty implementation can have severe fiscal consequences."}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"calendrier"})," est la première contrainte critique. L'apport des titres à la holding doit intervenir avant la cession à l'acquéreur final, pas simultanément, pas après. Si l'apport et la cession sont réalisés dans un ordre ou une configuration qui laisse suspecter que l'entrepreneur n'a jamais été exposé au risque de détention des titres via la holding, l'administration fiscale peut requalifier l'opération en abus de droit et remettre en cause le report. La jurisprudence en la matière est abondante et les conditions de fond doivent être scrupuleusement respectées."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"timeline"})," is the first critical constraint. The contribution of shares to the holding must take place before the sale to the final buyer, not simultaneously, not after. If the contribution and the sale are carried out in an order or configuration that suggests the entrepreneur was never exposed to the risk of holding the shares through the holding, the tax authority may recharacterise the operation as an abuse of law and challenge the deferral. The case law on this matter is abundant and the substantive conditions must be scrupulously respected."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La ",t.jsx("strong",{children:"substance économique"})," de la holding est la deuxième précaution. Une holding purement passive, sans activité réelle, sans organes sociaux actifs et sans politique d'investissement documentée, est plus exposée à une remise en cause par l'administration fiscale. La holding doit exercer une activité économique réelle, au minimum une activité d'animation de ses filiales ou de gestion active de son portefeuille de participations, pour que sa substance juridique soit incontestable."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"economic substance"})," of the holding is the second precaution. A purely passive holding, without real activity, without active corporate bodies and without a documented investment policy, is more exposed to being challenged by the tax authority. The holding must carry on a real economic activity, at least an activity of animating its subsidiaries or actively managing its participation portfolio, for its legal substance to be incontestable."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"suivi du remploi"}),", lorsqu'il est obligatoire, requiert une documentation rigoureuse. Les investissements réalisés dans les deux ans suivant la cession doivent être documentés comme actifs éligibles, les montants engagés doivent atteindre le seuil de 60% du produit de cession, et cette documentation doit être conservée et présentable en cas de contrôle fiscal. Un suivi laxiste du remploi peut transformer un avantage fiscal en redressement."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"monitoring of reinvestment"}),", when it is mandatory, requires rigorous documentation. The investments made within two years of the sale must be documented as eligible assets, the amounts committed must reach the 60% threshold of the sale proceeds, and this documentation must be kept and presentable in the event of a tax audit. Lax monitoring of reinvestment can turn a tax advantage into a reassessment."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:r(t.jsxs(t.Fragment,{children:["L'article 150-0 B ter est l'un des rares dispositifs fiscaux français qui récompense véritablement l'ambition entrepreneuriale. Il reconnaît que le capital créé par un entrepreneur mérite d'être recyclé vers de nouveaux projets plutôt que ponctionné immédiatement par le fisc, et il crée les conditions pour que cette c
760ontinuité patrimoniale soit possible sans que la fiscalité ne soit un obstacle à la prise de risque. Bien structuré, bien documenté et bien articulé avec les autres outils disponibles, l'apport cession transforme la cession d'entreprise d'un événement fiscal douloureux en un point de départ pour une ",t.jsx("strong",{children:"stratégie patrimoniale de long terme"}),". C'est précisément ce dont un entrepreneur a besoin au moment où il tourne une page."]}),t.jsxs(t.Fragment,{children:["Article 150-0 B ter is one of the few French tax devices that truly rewards entrepreneurial ambition. It recognises that the capital created by an entrepreneur deserves to be recycled towards new projects rather than immediately skimmed by the tax authority, and it creates the conditions for this wealth continuity to be possible without taxation being an obstacle to risk-taking. Well structured, well documented and well articulated with the other available tools, contribution-sale transforms the sale of a business from a painful fiscal event into a starting point for a ",t.jsx("strong",{children:"long-term wealth strategy"}),". This is precisely what an entrepreneur needs at the moment they turn a page."]}))}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Structurer votre cession avec colbr","Structure your sale with colbr")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux analysent votre situation, calibrent les montages d'apport cession les plus adaptés à votre opération et coordonnent leur mise en œuvre avec les avocats fiscalistes et notaires de notre réseau.","Our wealth advisors analyse your situation, calibrate the most suitable contribution-sale structures for your operation and coordinate their implementation with the tax lawyers and notaries in our network.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Accéder à la gestion privée","Access private management"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/blog/transmission-anticiper",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Lire notre guide transmission","Read our transfer guide")})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le dispositif de l'article 150-0 B ter requiert une mise en œuvre rigoureuse et un accompagnement par des conseils spécialisés. Nous vous recommandons de consulter un avocat fiscaliste et un conseiller patrimonial qualifié avant toute opération de cession ou d'apport de titres.","Informational document, not investment, legal or tax advice. The device of article 150-0 B ter requires rigorous implementation and support from specialised advisers. We recommend consulting a tax lawyer and a qualified wealth adviser before any share sale or contribution operation.")})]})})}),t.jsx(re,{})]})},F_e=[.16,1,.3,1],__e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Février 2025","February 2025")," · 12 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("PER : l'outil de retraite qui est aussi un outil fiscal","PER: a retirement tool that is also a tax tool")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:e("Versements déductibles, sortie en capital, transmission : pourquoi le Plan d'Épargne Retraite mérite une place centrale dans toute stratég
760ie patrimoniale.","Deductible contributions, capital withdrawal, transfer: why the Retirement Savings Plan deserves a central place in any wealth strategy.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:F_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le ",t.jsx("strong",{children:"Plan d'Épargne Retraite"})," a fêté ses cinq ans en 2024. Cinq ans après sa création par la loi Pacte, le bilan est sans appel : avec ",t.jsx("strong",{children:"plus de 10 millions de titulaires"})," et près de ",t.jsx("strong",{children:"100 milliards d'euros d'encours"}),", le PER s'est imposé comme l'un des placements préférés des épargnants français, et surtout comme l'un des rares dispositifs fiscaux dont l'",t.jsx("strong",{children:"avantage est immédiat, lisible et substantiel"}),". Pourtant, il reste mal compris dans ses subtilités, mal utilisé dans ses possibilités, et souvent réduit à sa seule dimension de préparation à la retraite. C'est précisément là que réside l'erreur."]}),t.jsxs(t.Fragment,{children:["The ",t.jsx("strong",{children:"Retirement Savings Plan"})," celebrated its fifth anniversary in 2024. Five years after its creation by the Pacte law, the verdict is clear: with ",t.jsx("strong",{children:"more than 10 million holders"})," and nearly ",t.jsx("strong",{children:"100 billion euros in assets"}),", the PER has established itself as one of French savers' favourite vehicles, and above all as one of the rare tax schemes whose benefit is ",t.jsx("strong",{children:"immediate, legible and substantial"}),". Yet it remains poorly understood in its subtleties, underused in its possibilities, and often reduced to its sole retirement-preparation dimension. That is precisely where the mistake lies."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Un avantage fiscal immédiat, pas hypothétique","An immediate tax benefit, not a hypothetical one")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'attrait premier du PER est simple : les ",t.jsx("strong",{children:"versements volontaires sont déductibles du revenu imposable"}),", dans la limite d'un plafond annuel calculé sur les revenus professionnels, généralement ",t.jsx("strong",{children:"10% des revenus nets"})," de l'année précédente, plafonné à ",t.jsx("strong",{children:"35 194 €"})," pour les revenus 2024. Pour un contribuable imposé à ",t.jsx("strong",{children:"41 ou 45%"}),", chaque euro versé génère une économie fiscale immédiate de 41 ou 45 centimes. C'est un ",t.jsx("strong",{children:"rendement garanti, instantané"}),", que nul actif financier ne peut promettre."]}),t.jsxs(t.Fragment,{children:["The PER's primary appeal is simple: ",t.jsx("strong",{children:"voluntary contributions are deductible from taxable income"}),", within an annual ceiling calculated on professional income, generally ",t.jsx("strong",{children:"10% of the previous year's net income"}),", capped at ",t.jsx("strong",{children:"€35,194"})," for 2024 income. For a taxpayer in the ",t.jsx("strong",{children:"41% or 45% bracket"}),", each euro paid generates an immediate tax saving of 41 or 45 cents. It is a ",t.jsx("strong",{children:"guaranteed, instant return"})," that no financial asset can promise."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La mécanique est d'autant plus puissante que les ",t.jsx("strong",{children:"plafonds non utilisés sont reportables sur trois ans"}),". Un contribuable qui n'a pas versé sur un PER depuis plusieurs années peut mobiliser jusqu'à ",t.jsx("strong",{children:"quatre années de plafonds cumulés"})," en une seule opération, ce qui permet, dans les années de revenus exceptionnels, de réaliser une ",t.jsx("strong",{children:"économie fiscale considérable"})," en une seule décision."]}),t.jsxs(t.Fragment,{children:["The mechanism is all the more powerful as ",t.jsx("strong",{children:"unused ceilings can be carried over for three years"}),". A taxpayer who has not contributed to a PER for several years can mobilise up to ",t.jsx("strong",{children:"four years of cumulative ceilings"})," in a single operation, which makes it possible, in years of exceptional income, to achieve ",t.jsx("strong",{children:"considerable tax savings"})," in a single decision."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Découvrir","Discover")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Notre offre Plan d'Épargne Retraite","Our Retirement Savings Plan offer")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Contrats sélectionnés auprès de Cardif et Suravenir, gestion libre ou pilotée, accompagnement patrimonial dédié.","Selected contracts with Cardif and Suravenir, free or managed allocation, dedicated wealth support.")}),t.jsxs(C,{to:"/plan-epargne-retraite",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Explorer le PER colbr","Explore the colbr PER"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Comprendre les trois compartiments","Understanding the three compartments")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le PER se décline en ",t.jsx("strong",{children:"trois compartiments"})," aux règles distinctes, qu'il est essentiel de ne pas confondre."]}),t.jsxs(t.Fragment,{children:["The PER is divided into ",t.jsx("strong",{children:"three compartments"})," with distinct rules, which must not be confused."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Le PER individuel (PERin)"})," est souscrit à titre personnel auprès d'un assureur ou d'un gestionnaire d'actifs. C'est le véhicule le plus souple, ",t.jsx("strong",{children:"accessible à tous, sans condition professionnelle"}),". Les versements volontaires y sont déductibles du revenu global. C'est à ce compartiment que s'applique l'essentiel de ce qui suit."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"The individual PER (PERin)"})," is subscribed personally with an insurer or asset manager. It is the most flexible vehicle, ",t.jsx("strong",{children:"open to all, without professional condition"}),". Voluntary contributions are deductible from overall income. Most of what follows applies to this compartment."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Le PER collectif (Percol)"})," est mis en place par l'entreprise. Il reçoit l'épargne salariale : ",t.jsx("strong",{children:"intéressement, participation, abondement employeur"}),". Ces sommes ne bénéficient pas de la déductibilité à l'entrée, elles ont déjà bénéficié d'exonérations sociales et fiscales à la source, mais elles s'accumulent en franchise d'impôt jusqu'à la sortie. Pour les salariés d'entreprises proposant un abondement généreux, c'est une source de capital à ne jamais négliger."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"The collective PER (Percol)"})," is set up by the employer. It receives employee savings: ",t.jsx("strong",{children:"profit-sharing, incentive bonuses, employer matching"}
760),". These amounts do not benefit from deductibility on entry, they have already benefited from social and tax exemptions at source, but they accumulate tax-free until withdrawal. For employees of companies offering generous matching, this is a source of capital never to be neglected."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"Le PER obligatoire (Pero)"})," est réservé à certaines catégories de salariés, avec des versements obligatoires de l'employeur. Son régime est plus contraint, notamment sur les conditions de sortie."]}),t.jsxs(t.Fragment,{children:[t.jsx("strong",{children:"The mandatory PER (Pero)"})," is reserved for certain categories of employees, with mandatory employer contributions. Its regime is more constrained, particularly on withdrawal conditions."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("La question de la déductibilité : à qui profite vraiment le PER","The deductibility question: who really benefits from the PER")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["L'avantage fiscal du PER est réel, mais ",t.jsx("strong",{children:"il n'est pas universel"}),". Sa pertinence dépend directement de la ",t.jsx("strong",{children:"tranche marginale d'imposition"})," du contribuable aujourd'hui et de celle qu'il anticipera à la retraite."]}),t.jsxs(t.Fragment,{children:["The PER's tax benefit is real, but ",t.jsx("strong",{children:"it is not universal"}),". Its relevance depends directly on the taxpayer's current ",t.jsx("strong",{children:"marginal tax bracket"})," and the one anticipated at retirement."]}))}),t.jsx("p",{children:e("Le raisonnement est le suivant : en versant sur un PER, on reporte l'imposition. On déduit aujourd'hui à sa tranche marginale actuelle, et l'on paiera l'impôt à la sortie sur les sommes récupérées, à la tranche marginale applicable à ce moment-là. Si la tranche baisse entre aujourd'hui et la retraite, ce qui est le cas de la grande majorité des salariés dont les revenus diminuent à la cessation d'activité, l'opération est fiscalement gagnante, parfois très significativement.","The reasoning is as follows: by contributing to a PER, one defers taxation. One deducts today at the current marginal bracket, and pays tax on exit on the sums recovered, at the marginal bracket applicable at that moment. If the bracket falls between today and retirement, as is the case for the vast majority of employees whose income decreases on cessation of activity, the operation is fiscally a winner, sometimes very significantly.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour un dirigeant imposé à ",t.jsx("strong",{children:"45% pendant sa vie active"})," qui anticipera des revenus de retraite modestes, l'écart de taux peut représenter ",t.jsx("strong",{children:"20 à 30 points"}),", une différence considérable sur des encours importants. À l'inverse, un contribuable en tranche à ",t.jsx("strong",{children:"11%"})," qui anticipe des revenus de retraite similaires à ses revenus actuels trouvera dans le PER un intérêt limité, voire nul sur le plan purement fiscal."]}),t.jsxs(t.Fragment,{children:["For an executive taxed at ",t.jsx("strong",{children:"45% during their active life"})," and anticipating modest retirement income, the rate differential can represent ",t.jsx("strong",{children:"20 to 30 points"}),", a considerable difference on significant assets. Conversely, a taxpayer in the ",t.jsx("strong",{children:"11% bracket"})," anticipating retirement income similar to current income will find limited or even no interest in the PER on a purely fiscal basis."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Sortie en capital ou en rente : un choix structurant","Capital or annuity withdrawal: a structuring choice")}),t.jsx("p",{children:e("L'une des innovations majeures de la loi Pacte a été d'ouvrir la sortie en capital pour les versements volontaires, là où les anciens contrats Madelin ou PERP imposaient une sortie majoritairement en rente. Cette flexibilité change fondamentalement la nature du produit.","One of the major innovations of the Pacte law was to open capital withdrawal for voluntary contributions, where the former Madelin or PERP contracts mainly imposed an annuity exit. This flexibility fundamentally changes the nature of the product.")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["À l'échéance, le titulaire peut choisir de récupérer son épargne ",t.jsx("strong",{children:"en une fois, de façon fractionnée, ou en rente viagère"}),", ou de panacher librement les deux. La sortie en capital est fiscalisée comme un revenu ordinaire pour la part correspondant aux versements déduits, et comme une plus-value pour les gains générés. La rente est imposée selon le régime des pensions de retraite, après ",t.jsx("strong",{children:"abattement de 10%"}),"."]}),t.jsxs(t.Fragment,{children:["At maturity, the holder can choose to recover savings ",t.jsx("strong",{children:"in one go, in instalments, or as a life annuity"}),", or freely mix the two. Capital withdrawal is taxed as ordinary income for the portion corresponding to deducted contributions, and as a capital gain for the gains generated. The annuity is taxed under the retirement pension regime, after a ",t.jsx("strong",{children:"10% allowance"}),"."]}))}
760),t.jsx("p",{children:e("Le choix entre capital et rente dépend de nombreux facteurs : état de santé, espérance de vie estimée, besoins de liquidités, présence d'autres revenus à la retraite et volonté de transmission. Il n'y a pas de réponse universelle, mais il y a une erreur fréquente : choisir la rente par défaut, sans avoir mesuré ce que représente la capitalisation d'un encours important sur vingt ou trente ans de retraite.","The choice between capital and annuity depends on many factors: health, estimated life expectancy, liquidity needs, presence of other retirement income and transfer intentions. There is no universal answer, but there is a frequent mistake: choosing the annuity by default, without having measured what the capitalisation of a significant amount represents over twenty or thirty years of retirement.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Les cas de déblocage anticipé","Early withdrawal cases")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le PER est un ",t.jsx("strong",{children:"produit tunnel"})," : les fonds sont bloqués jusqu'à la retraite, sauf dans ",t.jsx("strong",{children:"six cas de déblocage anticipé"})," prévus par la loi. Cinq sont liés à des accidents de la vie : ",t.jsx("strong",{children:"invalidité, décès du conjoint, surendettement, expiration des droits au chômage, liquidation judiciaire"}),", et leur existence constitue un filet de sécurité appréciable."]}),t.jsxs(t.Fragment,{children:["The PER is a ",t.jsx("strong",{children:"tunnel product"}),": funds are locked until retirement, except in ",t.jsx("strong",{children:"six early withdrawal cases"})," provided for by law. Five are linked to life accidents, ",t.jsx("strong",{children:"disability, death of the spouse, over-indebtedness, expiry of unemployment rights, judicial liquidation"}),", and their existence constitutes a valuable safety net."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le sixième cas est d'une nature différente : ",t.jsx("strong",{children:"l'acquisition de la résidence principale"}),". Cette possibilité, unique parmi les produits d'épargne retraite, transforme le PER en véhicule d'épargne immobilière : on constitue un capital en bénéficiant d'une déductibilité fiscale, puis on le mobilise pour financer tout ou partie d'un achat immobilier. Pour les contribuables fortement imposés qui anticipent un achat dans les ",t.jsx("strong",{children:"cinq à dix ans"}),", cette combinaison peut être particulièrement efficace."]}),t.jsxs(t.Fragment,{children:["The sixth case is of a different nature: ",t.jsx("strong",{children:"the acquisition of the principal residence"}),". This possibility, unique among retirement savings products, transforms the PER into a real estate savings vehicle: one builds up capital while benefiting from tax deductibility, then mobilises it to finance all or part of a property purchase. For heavily taxed taxpayers anticipating a purchase within ",t.jsx("strong",{children:"five to ten years"}),", this combination can be particularly effective."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("PER et transmission : un avantage successoral sous-estimé","PER and transfer: an underestimated succession advantage")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le PER individuel ouvert sous ",t.jsx("strong",{children:"forme assurantielle"}),", ce qui est le cas de la grande majorité des contrats du marché, bénéficie d'un ",t.jsx("strong",{children:"régime successoral favorable"}),", proche de celui de l'assurance-vie. En cas de décès avant la liquidation, les capitaux sont transmis aux bénéficiaires désignés selon des ",t.jsx("strong",{children:"règles dérogatoires au droit commun des successions"}),"."]}),t.jsxs(t.Fragment,{children:["The individual PER opened in ",t.jsx("strong",{children:"insurance form"}),", which is the case for the vast majority of contracts on the market, benefits from a ",t.jsx("strong",{children:"favourable succession regime"}),", close to that of life insurance. In the event of death before liquidation, capital is transferred to the designated beneficiaries according to ",t.jsx("strong",{children:"rules derogating from common succession law"}),"."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les décès survenus ",t.jsx("strong",{children:"avant 70 ans"}),", chaque bénéficiaire désigné bénéficie d'un ",t.jsx("strong",{children:"abattement de 152 500 €"}),", identique à celui de l'assurance-vie pour les versements avant 70 ans. Au-delà, un prélèvement forfaitaire de ",t.jsx("strong",{children:"20% puis 31,25%"})," s'applique. Pour les décès ",t.jsx("strong",{children:"après 70 ans"}),", un abattement global de ",t.jsx("strong",{children:"30 500 €"})," s'applique sur les primes versées, les gains étant exonérés."]}),t.jsxs(t.Fragment,{children:["For deaths ",t.jsx("strong",{children:"before age 70"}),", each designated beneficiary benefits from a ",t.jsx("strong",{children:"€152,500 allowance"}),", identical to that of life insurance for contributions before age 70. Beyond, a flat-rate levy of ",t.jsx("strong",{children:"20% then 31.25%"})," applies. For deaths ",t.jsx("strong",{children:"after age 70"}),", an overall allowance of ",t.jsx("strong",{children:"€30,500"})," applies to the contributions paid, gains being exempt."]}))}),t.jsx("p",{children:e("Cette dimension successorale est souvent ignorée lors de la souscription, et pourtant elle peut représenter un avantage considérable pour les patrimoines importants, en complément ou en substitution d'une stratég
760ie assurance-vie.","This succession dimension is often ignored at the time of subscription, and yet it can represent a considerable advantage for large estates, in addition to or as a substitute for a life insurance strategy.")}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("PER versus assurance-vie : une fausse opposition","PER versus life insurance: a false opposition")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La question revient systématiquement : faut-il privilégier le PER ou ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"l'assurance-vie"})," ? La réponse honnête est qu'il s'agit de ",t.jsx("strong",{children:"deux enveloppes complémentaires, pas concurrentes"}),", qui répondent à des besoins différents au sein d'une même stratégie patrimoniale."]}),t.jsxs(t.Fragment,{children:["The question comes up systematically: should one favour the PER or ",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"life insurance"}),"? The honest answer is that these are ",t.jsx("strong",{children:"two complementary envelopes, not competitors"}),", which meet different needs within the same wealth strategy."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:[t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"L'assurance-vie"})," offre une ",t.jsx("strong",{children:"liquidité totale"})," à tout moment, une fiscalité avantageuse ",t.jsx("strong",{children:"dès huit ans"})," et une souplesse de gestion inégalée. ",t.jsx(C,{to:"/plan-epargne-retraite",className:"text-primary underline-offset-4 hover:underline",children:"Le PER"})," offre une ",t.jsx("strong",{children:"déductibilité fiscale immédiate"})," que l'assurance-vie ne procure pas, au prix d'une immobilisation des fonds jusqu'à la retraite. Pour un contribuable imposé à ",t.jsx("strong",{children:"30% ou plus"}),", avoir les deux, en calibrant soigneusement les flux entre les deux enveloppes, est généralement la stratégie optimale."]}),t.jsxs(t.Fragment,{children:[t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"Life insurance"})," offers ",t.jsx("strong",{children:"total liquidity"})," at any time, advantageous taxation ",t.jsx("strong",{children:"from eight years"}),", and unparalleled management flexibility. ",t.jsx(C,{to:"/plan-epargne-retraite",className:"text-primary underline-offset-4 hover:underline",children:"The PER"})," offers ",t.jsx("strong",{children:"immediate tax deductibility"})," that life insurance does not provide, at the cost of locking up funds until retirement. For a taxpayer taxed at ",t.jsx("strong",{children:"30% or more"}),", having both, by carefully calibrating flows between the two envelopes, is generally the optimal strategy."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("Le PER n'est pas qu'un produit de retraite. C'est un outil de gestion fiscale, un levier d'épargne forcée pour les contribuables fortement imposés, et un véhicule de transmission patrimoniale discret mais efficace. Sa valeur réelle ne se mesure pas à l'échéance, elle commence dès la première déclaration de revenus qui suit le versement.","The PER is not just a retirement product. It is a tax management tool, a forced savings lever for heavily taxed taxpayers, and a discreet but effective wealth transfer vehicle. Its real value is not measured at maturity, it begins with the first income tax return following the contribution.")}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e("Construire votre stratégie PER","Build your PER strategy")}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:e("Nos conseillers patrimoniaux calibrent votre versement, sélectionnent le contrat adapté et orchestrent la complémentarité avec votre assurance-vie.","Our wealth advisors calibrate your contribution, select the right contract and orchestrate complementarity with your life insurance.")}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/plan-epargne-retraite",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:[e("Découvrir le PER colbr","Discover the colbr PER"),t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/assurance-vie",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:e("Voir l'assurance-vie","See life insurance")})]})]}
760),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:e("Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil fiscal. Les règles fiscales applicables au PER sont susceptibles d'évoluer. Nous vous recommandons de consulter un conseiller patrimonial avant toute décision de versement.","Informational document, not investment or tax advice. Tax rules applicable to the PER are subject to change. We recommend consulting a wealth advisor before any contribution decision.")})]})})}),t.jsx(re,{})]})},O_e=[.16,1,.3,1],R_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Conseil patrimonial · Juin 2026 · 14 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Pourquoi les grandes fortunes font moins confiance à leurs banquiers qu'à leur avocat"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Conflits d'intérêts, conseil fragmenté, rémunération opaque : ce que les patrimoines sophistiqués ont compris sur la nature du conseil financier."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:O_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Il y a une observation que font régulièrement les professionnels du patrimoine qui travaillent avec des familles fortunées depuis suffisamment longtemps : passé un certain niveau de patrimoine, le ",t.jsx("strong",{children:"banquier privé"})," n'est plus le premier appel téléphonique. C'est l'avocat. Ou le notaire. Ou le conseiller en gestion de patrimoine indépendant rémunéré aux honoraires. Rarement le banquier, celui dont l'institution gère pourtant la fraction la plus visible du patrimoine, celui qui déjeune avec le client plusieurs fois par an, celui qui produit les reportings les plus élaborés et les présentations les plus soignées."]}),t.jsxs("p",{children:["Cette ",t.jsx("strong",{children:"hiérarchie de confiance"})," n'est pas le fruit d'un malaise irrationnel ni d'une animosité particulière envers le secteur bancaire. Elle reflète une compréhension précise, acquise souvent à ses dépens, de la structure d'intérêts qui sous-tend le conseil bancaire, et de ce qu'elle implique pour la qualité du conseil reçu."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le problème structurel : être conseillé par quelqu'un qui vend"}),t.jsxs("p",{children:["La question centrale n'est pas de savoir si les banquiers privés sont compétents. Beaucoup le sont remarquablement. La question est de savoir ",t.jsx("strong",{children:"dans quel intérêt"})," ils exercent leur compétence, et la réponse à cette question est structurellement ambiguë d'une façon que les clients sous-estiment systématiquement."]}),t.jsx("p",{children:"Un banquier privé est un salarié d'une institution financière dont les revenus dépendent des produits et services que cette institution distribue. Sa rémunération personnelle, fixe, variable, bonus, est directement ou indirectement liée aux volumes de produits placés, aux encours gérés et aux frais générés par les solutions recommandées. Cette structure de rémunération n'est pas secrète : elle est inhérente au modèle économique de la banque de réseau et de la banque privée traditionnelle. Mais ses implications pour la qualité du conseil sont rarement explicitées."}),t.jsxs("p",{children:["Lorsqu'un banquier privé recommande d'investir dans un fonds de sa maison mère plutôt que dans un fonds concurrent potentiellement meilleur, il n'est pas nécessairement malhonnête. Il est peut-être sincèrement convaincu de la qualité de la solution proposée. Mais il opère dans un cadre institutionnel qui récompense cette recommandation indépendamment de sa pertinence pour le client. La frontière entre ",t.jsx("strong",{children:"conviction sincère"})," et ",t.jsx("strong",{children:"biais institutionnel"})," est floue, difficile à détecter de l'extérieur, et souvent invisible au conseiller lui-même."]}),t.jsxs("p",{children:["L'avocat, lui, est rémunéré par son client selon des ",t.jsx("strong",{children:"honoraires transparents"})," et indépendants des solutions qu'il recommande. Il n'a aucun intérêt financier à recommander une structure juridique plutôt qu'une autre, un montage plutôt qu'un autre, un prestataire plutôt qu'un autre. Sa loyauté est légalement due à son client : c'est le fondement même de la déontologie de sa profession. Cette structure d'intérêts est le premier facteur qui explique la confiance différentielle que les grandes fortunes accordent à leurs avocats."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les rétrocessions : l'iceberg sous la surface"}),t.jsxs("p",{children:["La réglementation ",t.jsx("strong",{children:"MiFID II"}),", entrée en application en 2018, a imposé une transparence accrue sur les rémunérations dans le conseil financier. Elle a obligé les distributeurs de produits financiers à informer leurs clients des rétrocessions qu'ils perçoivent des sociétés de gestion en contrepartie de la distribution de leurs produits. Cette transparence réglementaire était une avancée réelle, mais elle n'a pas résolu le problème de fond."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"rétrocessions"})," sont des flux financiers versés par les producteurs de solutions (sociétés de gestion, assureurs, émetteurs de produits structurés) aux distributeurs qui placent leurs produits auprès de leurs clients. Elles sont exprimées en fraction du montant investi ou en fraction des frais de gestion annuels, et leur montant cumulé sur la durée de détention peut représenter une fraction significative des frais totaux supp
760ortés par l'investisseur."]}),t.jsxs("p",{children:["Pour un client dont l'encours confié à une banque privée est de ",t.jsx("strong",{children:"deux millions d'euros"}),", des rétrocessions moyennes de 0,5 % par an représentent ",t.jsx("strong",{children:"10 000 euros annuels"})," versés à l'institution distributrice : invisibles dans le relevé de compte, non déduites explicitement du patrimoine, mais bel et bien prélevées sur la performance brute des actifs. Sur dix ans, c'est ",t.jsx("strong",{children:"100 000 euros"})," qui ont changé de mains sans que le client en ait eu une conscience claire. Ce n'est pas une fraude : c'est un modèle économique légal et documenté. Mais c'est un modèle dont les implications pour le conseil reçu sont profondes."]}),t.jsx("p",{children:"La question que peu de clients posent et que tous devraient poser est simple : parmi les solutions que vous me recommandez, lesquelles génèrent des rétrocessions pour votre institution, à quel taux, et auriez-vous recommandé la même chose si vous étiez rémunéré uniquement par moi ?"}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre approche"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Une architecture de conseil sans conflit d'intérêts"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Sélection ouverte de gestionnaires, transparence totale sur les frais et les rétrocessions, vision consolidée du patrimoine : nous orchestrons le conseil autour de votre intérêt, pas autour d'une gamme captive."}),t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre Family Office",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le conseil fragmenté : quand personne ne voit le tableau complet"}),t.jsxs("p",{children:["Le deuxième problème que les grandes fortunes ont identifié est plus subtil mais tout aussi structurant. Il tient à la ",t.jsx("strong",{children:"fragmentation inhérente"})," du conseil financier traditionnel, une fragmentation que la banque privée, malgré ses ambitions de conseil global, reproduit souvent plutôt qu'elle ne résout."]}),t.jsxs("p",{children:["Un client fortuné interagit typiquement avec plusieurs interlocuteurs distincts : le banquier privé pour les actifs financiers, le gestionnaire de la ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding"})," pour les participations, l'expert-comptable pour la fiscalité, le notaire pour la transmission, l'avocat pour les aspects juridiques et les structures patrimoniales. Chacun est compétent dans son domaine. Aucun ne voit le tableau complet. Et aucun n'est mandaté pour assurer la cohérence entre les décisions prises dans chaque silo."]}),t.jsxs("p",{children:["Les conséquences de cette fragmentation sont concrètes et coûteuses. Un conseiller financier peut recommander une stratégie d'investissement sans savoir que son client a pris des engagements hors bilan significatifs auprès de sa banque sous forme de garanties sur des prêts. Un notaire peut structurer une ",t.jsx(C,{to:"/blog/donation-partage",className:"text-primary underline-offset-4 hover:underline",children:"donation-partage"})," sans savoir que le portefeuille financier sur lequel elle porte est nanti au profit d'une banque dans le cadre d'un ",t.jsx(C,{to:"/blog/credit-lombard-luxembourgeois",className:"text-primary underline-offset-4 hover:underline",children:"crédit Lombard"}),". Un expert-comptable peut optimiser la fiscalité de la holding sans savoir que le contrat d'assurance-vie qui en représente la principale contre-valeur est sur le point d'être racheté pour financer une acquisition immobilière."]}),t.jsxs("p",{children:["Ces incohérences ne sont pas des erreurs professionnelles : ce sont des conséquences prévisibles d'une architecture de conseil qui n'a pas été conçue pour fonctionner de façon intégrée. L'avocat, parce qu'il intervient souvent sur les décisions les plus structurantes et les moins standardisées du patrimoine, développe naturellement une ",t.jsx("strong",{children:"vision plus transversale"})," que les autres interlocuteurs. Il devient souvent, par défaut et par nécessité, le coordinateur informel de l'ensemble, un rôle pour lequel il n'est pas toujours formé mais qu'il remplit mieux que quiconque parce que sa relation avec le client est la plus libre de conflits d'intérêts."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La banque comme commodité, pas comme conseil"}),t.jsxs("p",{children:["Ce que les grandes fortunes ont progressivement compris, et que les fortunes plus modestes comprennent généralement trop tard, est que la banque privée est un ",t.jsx("strong",{children:"prestataire de services d'exécution"})," remarquablement efficace et un ",t.jsx("strong",{children:"conseiller en allocation stratég
760ique"})," structurellement limité. Cette distinction n'invalide pas la relation bancaire : elle la recadre dans ses véritables dimensions."]}),t.jsx("p",{children:"La banque est irremplaçable pour ce qu'elle fait bien : tenir les comptes, exécuter les transactions, assurer la liquidité, fournir des financements, offrir la garde des actifs et produire des reportings consolidés. Sur ces fonctions, les grandes banques privées sont professionnelles, fiables et souvent excellentes. Le problème n'est pas leur compétence opérationnelle : c'est leur positionnement comme conseiller stratégique indépendant, un rôle que leur modèle économique les empêche structurellement d'exercer avec une loyauté totale envers le client."}),t.jsxs("p",{children:["Les investisseurs les plus sophistiqués ont résolu cette tension en ",t.jsx("strong",{children:"séparant explicitement les fonctions"}),". Ils utilisent la banque pour ce qu'elle fait bien (services bancaires, garde, exécution, parfois financement) et cherchent leur conseil stratégique ailleurs, auprès d'interlocuteurs dont la rémunération est déconnectée des solutions recommandées. Cette séparation fonctionnelle est l'une des caractéristiques les plus distinctives de la gestion patrimoniale des grandes fortunes, et elle explique en grande partie les résultats différenciés que ces fortunes obtiennent par rapport aux patrimoines de taille similaire gérés de façon moins structurée."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'avocat fiscaliste comme pivot : pourquoi cette évolution est logique"}),t.jsx("p",{children:"Le basculement de confiance vers l'avocat n'est pas un phénomène contingent : il reflète une évolution logique de la façon dont la complexité patrimoniale est traitée."}),t.jsxs("p",{children:["L'",t.jsx("strong",{children:"avocat fiscaliste et patrimonial"})," occupe une position particulière dans l'écosystème du conseil aux fortunes. Il intervient sur les décisions les plus structurantes (cession d'entreprise, ",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"apport-cession"}),", restructuration de holding, transmission internationale, montages contractuels complexes) qui ont des conséquences fiscales, juridiques et patrimoniales que personne d'autre ne maîtrise dans leur totalité. Il est rémunéré aux honoraires, sans lien avec les solutions recommandées. Et il est soumis à une déontologie professionnelle stricte qui lui interdit d'avoir des intérêts conflictuels avec son client sans en informer ce dernier."]}),t.jsxs("p",{children:["Cette combinaison (expertise sur les décisions structurantes, indépendance de rémunération, déontologie contraignante) en fait naturellement le ",t.jsx("strong",{children:"pivot de confiance"})," autour duquel les grandes fortunes organisent leur écosystème de conseil. L'avocat devient le référent stratégique qui orchestre les autres intervenants, valide la cohérence des recommandations reçues par ailleurs et détecte les conflits d'intérêts que les autres conseillers n'ont ni l'intérêt ni la position pour signaler."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que cela dit sur le conseil patrimonial de qualité"}),t.jsx("p",{children:"La hiérarchie de confiance que les grandes fortunes ont développée à l'égard de leurs conseillers dit quelque chose d'important sur ce que le conseil patrimonial de qualité devrait être, et n'est pas toujours."}),t.jsxs("p",{children:["Un conseil patrimonial de qualité est un conseil dont la ",t.jsx("strong",{children:"loyauté est structurellement due au client"})," et à personne d'autre. Cette loyauté n'est pas une question de valeurs personnelles ni de bonne volonté : c'est une question de structure d'intérêts. Un conseiller dont la rémunération dépend des produits qu'il place ne peut pas être structurellement loyal à son client, quelle que soit sa sincérité personnelle. Un conseiller rémunéré par son client sur la base d'honoraires transparents peut l'être, et devrait l'être."]}),t.jsxs("p",{children:["La seconde caractéristique d'un conseil de qualité est la ",t.jsx("strong",{children:"vision consolidée"}
760),". Un conseil qui ignore une fraction significative du patrimoine sur lequel il porte est un conseil partiel dont les recommandations sont nécessairement sous-optimales. La qualité du conseil est proportionnelle à la complétude de l'information sur laquelle il repose."]}),t.jsxs("p",{children:["La troisième caractéristique est la ",t.jsx("strong",{children:"durée de la relation"}),". Les décisions patrimoniales structurantes (transmission, cession d'entreprise, structuration internationale) ne se prennent pas sur la base d'une interaction ponctuelle. Elles requièrent une connaissance profonde et longitudinale de la situation familiale, des objectifs et des contraintes du client : une connaissance qui ne s'acquiert que dans une relation durable, de confiance réciproque, indépendante des cycles de vente de produits."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Un changement de posture, pas seulement de prestataire"}),t.jsxs("p",{children:["Il serait réducteur de conclure que la solution consiste simplement à remplacer le banquier par l'avocat ou à multiplier les interlocuteurs indépendants. La réalité est plus exigeante : elle suppose un ",t.jsx("strong",{children:"changement de posture"})," du client lui-même."]}),t.jsxs("p",{children:["Les grandes fortunes qui gèrent leur patrimoine avec le plus d'efficacité ne sont pas simplement celles qui ont choisi les meilleurs conseillers : ce sont celles qui ont compris qu'elles sont elles-mêmes responsables de l'",t.jsx("strong",{children:"architecture de leur conseil"}),". Qui mandate quoi. Comment les décisions sont coordonnées. Comment les conflits d'intérêts sont détectés et gérés. Comment l'information circule entre les intervenants. Ces questions ne se posent pas spontanément dans une relation bancaire ordinaire : elles doivent être posées délibérément par le client, avec la même rigueur qu'il appliquerait à n'importe quelle autre décision de gestion significative."]}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:"La confiance que les grandes fortunes accordent à leurs avocats plutôt qu'à leur
760s banquiers n'est pas une anecdote sociologique. C'est le symptôme d'une compréhension précise de ce que le conseil patrimonial de qualité exige, et de ce que le modèle économique bancaire traditionnel ne peut pas fournir. La première question à poser est simple : dans l'intérêt de qui travaille celui qui me conseille ?"}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:"Un conseil dont la loyauté vous est due"}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:"Architecture ouverte, sélection indépendante des gestionnaires, vision consolidée du patrimoine et coordination avec vos avocats et notaires : nous construisons avec vous un cadre de conseil aligné sur votre seul intérêt."}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Accéder au Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:"Découvrir la Gestion Privée"})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un conseiller patrimonial indépendant qualifié pour évaluer la structure de conseil la plus adaptée à votre situation."})]})})}),t.jsx(re,{})]})},D_e=[.16,1,.3,1],M_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité & conformité · Juin 2026 · 15 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Ce que votre banque privée ne coordonne pas (et qui vous coûte cher)"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Dispersion des conseils, angles morts fiscaux, décisions incohérentes : le coût réel de l'absence de pilotage patrimonial global."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:D_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Il existe une catégorie de ",t.jsx("strong",{children:"pertes patrimoniales"})," particulièrement difficile à mesurer et donc particulièrement difficile à corriger. Ce ne sont pas les pertes liées à de mauvaises décisions d'investissement, celles-là apparaissent dans les relevés de compte et sont visibles. Ce sont les pertes liées à des décisions qui n'ont jamais été prises, à des optimisations qui n'ont jamais été réalisées, à des incohérences entre des conseillers qui ne se parlent pas et dont personne ne coordonne le travail."]}),t.jsxs("p",{children:["Ces pertes sont ",t.jsx("strong",{children:"invisibles par nature"})," : on ne voit jamais ce que l'on n'a pas gagné, on ne mesure jamais l'impôt que l'on aurait évité, on ne comptabilise jamais la valeur détruite par une décision prise dans un silo sans connaissance de ce qui se passait dans les autres. Et pourtant, pour les patrimoines d'une certaine dimension, ces pertes invisibles dépassent souvent en montant cumulé les pertes visibles sur les investissements."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'illusion de la coordination bancaire"}),t.jsxs("p",{children:["Les banques privées ont bien compris que leur
760s clients fortunés ont des besoins patrimoniaux qui dépassent la simple gestion financière. Elles ont en conséquence développé des offres dites de ",t.jsx("strong",{children:"conseil global"}),", des équipes pluridisciplinaires censées couvrir la fiscalité, le juridique, l'immobilier, la transmission, et des outils de reporting consolidé qui donnent l'impression d'une vision intégrée du patrimoine."]}),t.jsxs("p",{children:["Cette offre est réelle dans sa forme. Elle est souvent ",t.jsx("strong",{children:"insuffisante dans sa substance"}),". Et la raison tient à une limite structurelle que les brochures commerciales ne mentionnent pas."]}),t.jsx("p",{children:"Un ingénieur patrimonial salarié d'une banque privée est compétent dans son domaine. Mais il intervient en amont des décisions d'investissement (pour justifier une allocation plutôt qu'une autre, pour valider fiscalement une structure proposée par la banque, pour accompagner un client dans la préparation d'une succession). Il n'intervient pas en aval des décisions prises par les autres conseillers du client. Il ne sait pas ce que l'avocat a structuré, ce que le notaire a prévu, ce que l'expert-comptable a optimisé. Il n'a ni le mandat ni les informations pour coordonner quoi que ce soit en dehors du périmètre que la banque gère directement."}),t.jsxs("p",{children:["La coordination que la banque privée propose est une ",t.jsx("strong",{children:"coordination interne"}),", entre ses propres produits et ses propres conseils. Ce n'est pas une coordination globale entre l'ensemble des intervenants qui travaillent sur le patrimoine d'un client. Cette distinction est capitale, et son oubli est à l'origine de la grande majorité des angles morts patrimoniaux que les familles fortunées subissent sans en avoir conscience."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'angle mort fiscal : quand la main gauche ignore ce que fait la main droite"}),t.jsx("p",{children:"Le plus coûteux des angles morts est d'ordre fiscal. Il naît de la déconnexion entre les décisions d'investissement prises par le banquier et les contraintes fiscales gérées par l'expert-comptable ou l'avocat fiscaliste : deux interlocuteurs qui travaillent rarement ensemble et qui partagent rarement l'information en temps réel."}),t.jsxs("p",{children:["Prenons une situation concrète et fréquente. Un client réalise une ",t.jsx("strong",{children:"plus-value significative"})," sur la cession de titres en cours d'année (disons ",t.jsx("strong",{children:"400 000 euros"}),") sans en informer son expert-comptable avant la fin de l'exercice. Son expert-comptable, qui ne suit que la holding, n'a pas anticipé cette plus-value dans sa stratégie fiscale annuelle. Le banquier, qui a exécuté la cession, n'a pas vérifié si cette réalisation s'inscrivait dans une logique fiscale globale."]}),t.jsxs("p",{children:["Résultat : la plus-value est imposée au prélèvement forfaitaire unique sans avoir fait l'objet d'aucune stratégie de compensation, alors qu'une donation à une association, un versement sur le ",t.jsx(C,{to:"/plan-epargne-retraite",className:"text-primary underline-offset-4 hover:underline",children:"PER"}),", un investissement dans un ",t.jsx(C,{to:"/fcpi",className:"text-primary underline-offset-4 hover:underline",children:"FCPI"})," ou une souscription dans un ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"GFI"})," auraient pu réduire significativement la note fiscale si la décision avait été anticipée."]}),t.jsxs("p",{children:["Cette situation n'est pas exceptionnelle. Elle se reproduit dans des variantes différentes dans des centaines de patrimoines chaque année. Et elle coûte systématiquement plusieurs ",t.jsx("strong",{children:"dizaines de milliers d'euros d'impôt évitable"}),", non pas parce que les conseillers sont incompétents, mais parce qu'aucun d'eux n'avait la vision globale et le mandat nécessaires pour coordonner les décisions à temps."]}),t.jsxs("p",{children:["L'absence de ",t.jsx("strong",{children:"revue fiscale annuelle consolidée"}),", un exercice qui recense l'ensemble des événements fiscaux de l'année en cours et à venir pour optimiser les leviers disponibles, est l'une des lacunes les plus fréquentes et les plus coûteuses des patrimoines gérés de façon fragmentée. Cette revue ne peut être réalisée qu'à condition d'avoir une vision complète du patr
760imoine, de ses flux et de ses contraintes, une vision qu'aucun conseiller sectoriel ne possède seul."]}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre méthode"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"La revue fiscale annuelle consolidée"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Un audit complet de vos flux et de vos enveloppes en début d'année, partagé avec votre avocat, votre notaire et votre expert-comptable : pour activer les bons leviers avant qu'ils ne se referment."}),t.jsxs(C,{to:"/impot-declaration",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre approche fiscale",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La déconnexion entre allocation financière et structure patrimoniale"}),t.jsxs("p",{children:["Le deuxième angle mort majeur concerne la déconnexion entre les décisions d'allocation financière prises par le banquier et la ",t.jsx("strong",{children:"structure patrimoniale globale"})," dans laquelle ces décisions s'inscrivent."]}),t.jsx("p",{children:"Un banquier privé construit une allocation en fonction des objectifs de rendement et de risque de son client, de son horizon d'investissement et de ses contraintes de liquidité. Ce travail est généralement bien fait. Mais il ignore presque toujours plusieurs paramètres qui devraient pourtant être centraux dans la construction de l'allocation."}),t.jsxs("p",{children:["Le premier est l'existence de ",t.jsx("strong",{children:"passifs hors bilan"}),". Un client qui a accordé des garanties personnelles sur les dettes de sa société, qui a des engagements de souscription dans des fonds de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," appelables dans les deux prochaines années, ou qui a des obligations de remploi dans le cadre d'un ",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"report d'imposition après apport-cession"}),", ce client a des contraintes de liquidité futures qui devraient impérativement être intégrées dans la construction de son allocation financière. Si le banquier les ignore, il peut construire un portefeuille dont la liquidité est insuffisante pour faire face à des appels imprévus, créant une contrainte de vente forcée au mauvais moment."]}),t.jsxs("p",{children:["Le deuxième paramètre ignoré est l'",t.jsx("strong",{children:"exposition globale aux classes d'actifs"}),". Un client dont le patrimoine comprend une participation majoritaire dans une PME de distribution, un immeuble commercial loué à un retailer et un portefeuille financier investi en fonds actions grandes capitalisations est exposé à une concentration sur le cycle de la consommation et du commerce de détail que seule une vision consolidée permet de détecter. Sans cette vision, le banquier construit une allocation financière dont la diversification apparente cache une concentration thématique profonde, et le portefeuille global sous-performe lors d'un stress sectoriel spécifique."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les droits de succession qui auraient pu être évités"}),t.jsx("p",{children:"La transmission est le terrain sur lequel le coût de la fragmentation du conseil est le plus visible, parce qu'il se matérialise de façon concentrée au moment du décès, dans un contexte émotionnel qui rend les erreurs encore plus douloureuses."}),t.jsxs("p",{children:["Un notaire prépare une succession en fonction de ce qu'il connaît du patrimoine de son client : généralement les actifs immobiliers, les contrats d'",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie"})," dont il a connaissance et les actifs mobiliers explicitement déclarés. Si une fraction du patrimoine est gérée par une banque privée que le notaire ne connaît pas, si des participations en private equity sont logées dans une ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding"})," dont le notaire n'a pas les statuts, si des actifs étrangers existent dont personne n'a informé le notaire, ces actifs risquent de ne pas bénéficier des ",t.jsx("strong",{children:"optimisations successorales"}
760)," qui auraient été possibles avec une vision complète."]}),t.jsxs("p",{children:["Les abattements en ligne directe, les donations antérieures à réintégrer dans le calcul de la réserve, les clauses bénéficiaires de contrats d'assurance-vie à actualiser, les opportunités de ",t.jsx(C,{to:"/blog/demembrement-propriete",className:"text-primary underline-offset-4 hover:underline",children:"démembrement"})," à saisir avant un événement de santé : toutes ces optimisations supposent une connaissance complète et actualisée du patrimoine que seule une coordination centralisée peut garantir."]}),t.jsxs("p",{children:["Le coût de ces omissions est souvent chiffrable après coup. Les héritiers qui découvrent qu'une partie du patrimoine n'a pas bénéficié d'une optimisation disponible peuvent en calculer le coût en droits de succession supplémentaires. Dans les patrimoines significatifs, ce coût dépasse régulièrement ",t.jsx("strong",{children:"plusieurs centaines de milliers d'euros"}),". Une somme qui aurait financé plusieurs années de conseil patrimonial intégré."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le crédit Lombard et les engagements croisés : le piège de la liquidité cachée"}),t.jsxs("p",{children:["Un angle mort particulièrement dangereux concerne les ",t.jsx("strong",{children:"engagements de liquidité croisés"})," : ces situations dans lesquelles plusieurs interlocuteurs ont accordé des financements ou recueilli des engagements dont aucun n'a la vision complète."]}),t.jsxs("p",{children:["Un client qui dispose d'un ",t.jsx(C,{to:"/blog/credit-lombard-luxembourgeois",className:"text-primary underline-offset-4 hover:underline",children:"crédit Lombard"})," auprès de sa banque privée, d'une ligne de crédit sur sa holding auprès d'une autre banque, d'engagements de souscription appelables dans trois fonds de private equity différents et d'une garantie personnelle sur un prêt professionnel a des besoins de liquidité potentiels qui, pris ensemble, représentent une somme considérable. Si un stress de marché déclenche simultanément un appel de marge sur le crédit Lombard, un appel de fonds sur les engagements de private equity et une demande de renforcement des garanties bancaires, le client peut se retrouver dans une situation de ",t.jsx("strong",{children:"tensions de liquidité sévère"})," que personne n'avait anticipée parce que personne n'avait la vision de l'ensemble."]}),t.jsxs("p",{children:["Ce scénario n'est pas théorique. Il s'est produit en ",t.jsx("strong",{children:"mars 2020"}),", en ",t.jsx("strong",{children:"2008"}),", et dans toutes les crises de liquidité rapides qui créent des appels simultanés sur des engagements que les clients pensaient désynchronisés. La gestion du risque de liquidité à l'échelle d'un patrimoine global est l'une des fonctions les plus importantes d'une coordination patrimoniale centralisée, et l'une des plus fréquemment absentes dans les patrimoines gérés de façon fragmentée."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les opportunités manquées : le coût de l'inaction coordonnée"}),t.jsxs("p",{children:["Au-delà des pertes directes (impôts évitables, droits de succession excessifs, mauvaises allocations), la fragmentation du conseil génère un ",t.jsx("strong",{children:"coût d'opportunité systématique"})," lié aux décisions qui ne sont jamais prises parce que personne n'a la vision globale nécessaire pour les identifier."]}),t.jsxs("p",{children:["La fenêtre de l'",t.jsx("strong",{children:"apport-cession"})," qui se referme parce que personne n'a anticipé le calendrier de la cession avec suffisamment d'avance. La ",t.jsx("strong",{children:"donation de nue-propriété"})," qui aurait dû être réalisée il y a cinq ans lorsque les actifs valaient moins et que les abattements n'avaient pas encore été utilisés. Le réinvestissement en ",t.jsx("strong",{children:"crédit privé"})," qui aurait capturé des spreads de 10 % en 2022 mais qui n'a jamais été envisagé parce que la banque ne distribue pas cette classe d'actifs et que personne d'autre n'avait le mandat pour la recommander. Le PER alimenté trop tard, après une année de revenus exceptionnels non anticipés qui auraient justifié un versement maximum."]}),t.jsxs("p",{children:["Ces opportunités manquées sont invisibles dans les relevés de compte. Elles n'apparaissent dans aucun reporting. Elles ne génèrent aucune perte visible, seulement une performance inférieure à ce qu'elle aurait pu être, une fiscalité plus lourde que nécessaire, une transmission moins optimisée que possible. C'est le ",t.jsx("strong",{children:"coût de l'inaction coordonnée"})," : diffus, progressif, insidieux, et cumulativement très significatif sur dix ou vingt ans."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que la coordination globale change concrètement"}),t.jsxs("p",{children:["La solution n'est pas de changer de banque. C'est de ",t.jsx("strong",{children:"changer l'architecture du conseil"}),", en ajoutant un niveau de coordination qui n'existe pas encore, capable de voir l'ensemble et d'assurer la cohérence entre toutes les parties."]}),t.jsxs("p",{children:["Cette coordination prend des formes différentes selon la taille et la complexité du patr
760imoine. Pour les patrimoines intermédiaires, un conseiller en gestion de patrimoine indépendant rémunéré aux honoraires, mandaté explicitement pour coordonner les différents intervenants, peut remplir ce rôle efficacement. Pour les patrimoines plus importants, un ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"multi-family office ou un family office dédié"})," est la réponse la plus complète. Dans tous les cas, l'élément central est le même : un ",t.jsx("strong",{children:"interlocuteur unique"})," qui a la vision consolidée, le mandat de coordination et la structure d'intérêts alignée avec celle du client."]}),t.jsxs("p",{children:["Ce coordinateur n'a pas à être plus intelligent que le banquier, l'avocat ou le notaire. Il a simplement à voir ce qu'aucun d'eux ne voit : l'ensemble. Et à s'assurer que les décisions prises par chacun sont cohérentes avec ce que font les autres. C'est un rôle modeste dans sa description. C'est un rôle dont la ",t.jsx("strong",{children:"valeur économique est considérable"})," dans sa réalité."]}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:"Le coût de la dispersion du conseil patrimonial est l'un des plus élevés et des moins visibles que les familles fortunées supportent. Il s'accumule silencieusement, année après année, dans l'écart entre ce que le patrimoine aurait pu être avec une gestion cohérente et ce qu'il est effectivement devenu avec une gestion fragmentée. Mettre fin à cette dispersion est une décision de gestion rationnelle dont le retour sur investissement est l'un des plus élevés qu'un investisseur averti puisse espérer."}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:"Un pilotage patrimonial enfin coordonné"}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:"Vision consolidée de votre patrimoine, revue fiscale annuelle, coordination avec vos avocats, notaires et experts-comptables : nous orchestrons l'ensemble de votre architecture patrimoniale autour d'un interlocuteur unique."}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Accéder au Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:"Découvrir la Gestion Privée"})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un conseiller patrimonial indépendant qualifié pour évaluer la structure de conseil la plus adaptée à votre situation."})]})})}),t.jsx(re,{})]})},$_e=[.16,1,.3,1],B_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Structure patrimoniale · Juin 2026 · 14 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"À partir de quel moment un patrimoine devient trop complexe pour être géré sans structure dédiée ?"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Holding, multi-family office, coordination centralisée : les signaux qui indiquent qu'une gestion informelle ne suffit plus."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:$_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:"La question est directe et mérite une réponse directe. Il n'existe pas de seuil universel, exprimé en millions d'euros, à partir duquel un patrimoine exige une structure dédiée. Ce seuil dépend moins de la taille que de la complexité, et la complexité, elle, dépend de la nature des actifs, de la situation familiale, de la dimension fiscale et internationale, et du nombre d'intervenants impliqués dans la gestion. Certains patrimoines de vingt millions d'euros sont simples à gérer. Certains patrimoines de cinq millions d'euros sont d'une complexité qui dépasse largement ce qu'une gestion informelle peut traiter efficacement. La vraie question n'est donc pas combien, elle est quand et pourquoi."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le piège de la croissance organique du patrimoine"}),t.jsxs("p",{children:["La plupart des patrimoines complexes ne sont pas nés complexes. Ils le sont devenus progressivement, par accumulation de décisions successives qui, prises individuellement, semblaient raisonnables et gérables. Un entrepreneur ouvre une ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding"})," pour optimiser la fiscalité de ses dividendes. Il souscrit à un fonds de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," parce que le rendement est attractif. Il acquiert un immeuble locatif dans le cadre d'un dispositif ",t.jsx(C,{to:"/denormandie",className:"text-primary underline-offset-4 hover:underline",children:"Denormandie"}),". Il ouvre un contrat d'",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie luxembourgeois"})," pour préparer sa transmission. Il réalise un ",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"apport-cession"})," lors de la cession d'une participation minoritaire. Il donne la nue-propriété d'un appartement à ses enfants."]}),t.jsxs("p",{children:["Chacune de ces décisions est pertinente prise isolément. Mais leur accumulation crée un patrimoine dont la ",t.jsx("strong",{children:"complexité agrégée"})," dépasse très largement la somme de ses parties. La holding a des obligations déclaratives annuelles. Le fonds de private equity génère des appels de fonds imprévisibles. L'immeuble locatif a des contraintes de gestion locative et de déclaration fiscale. Le contrat luxembourgeois a une politique d'investissement à définir et à réviser. L'apport-cession génère un report d'imposition avec des obligations de remploi à surveiller. La donation de nue-propriété crée des droits et des obligations entre usufruitier et nus-propriétaires."]}),t.jsx("p",{children:"À quel moment l'entrepreneur réalise-t-il que la gestion de cet ensemble dépasse ses capacités d'attention et de coordination personnelles ? Généralement trop tard, après qu'une obligation déclarative a été manquée, qu'une opportunité d'optimisation a été ratée ou qu'un conflit entre deux décisions prises indépendamment a créé un problème coûteux à résoudre."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les sept signaux d'alerte"}),t.jsx("p",{children:"Plutôt qu'un seuil unique, il existe une série de signaux concrets qui indiquent qu'une gestion informelle a atteint ses limites et qu'une structure dédiée est devenue nécessaire."}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le premier signal"})," est la multiplication des interlocuteurs sans coordinateur. Lorsqu'un patrimoine mobilise simultanément un banquier privé, un expert-comptable, un notaire, un avocat fiscaliste, un conseiller en gestion de patr
760imoine et un gestionnaire de fonds, et qu'aucun d'entre eux n'a la vision complète ni le mandat pour coordonner les autres, le risque d'incohérences et d'angles morts devient structurel. Si personne dans cet écosystème ne peut répondre à la question simple et fondamentale, quelle est la valeur consolidée exacte du patrimoine aujourd'hui et comment est-il structuré, c'est un signal que la gestion a besoin d'un niveau de centralisation qui n'existe pas encore."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le deuxième signal"})," est l'existence d'engagements conditionnels non cartographiés. Des garanties personnelles sur des dettes de société, des engagements de souscription dans des fonds non encore appelés, des obligations de remploi liées à un report d'imposition, des clauses de complément de prix dans une cession d'entreprise, ces engagements futurs et conditionnels doivent être suivis activement et intégrés dans la gestion de la liquidité globale. Lorsqu'ils existent en nombre et qu'aucun interlocuteur n'en a la vision complète et actualisée, la gestion du risque de liquidité est fondamentalement compromise."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le troisième signal"})," est la présence d'actifs dans plusieurs pays. Dès lors qu'un patrimoine comprend des actifs immobiliers à l'étranger, des comptes ou contrats dans des juridictions différentes, des participations dans des sociétés étrangères ou des membres de la famille résidant fiscalement hors de France, les obligations déclaratives, les conventions fiscales bilatérales, les règles successorales applicables et les risques de double imposition créent une complexité que seul un interlocuteur avec une expertise internationale réelle peut traiter correctement."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le quatrième signal"})," est la présence d'actifs illiquides représentant une fraction significative du patrimoine. Lorsque le private equity, la dette privée, les ",t.jsx(C,{to:"/club-deal",className:"text-primary underline-offset-4 hover:underline",children:"club deals"}),", l'immobilier non coté et les participations dans des sociétés non cotées représentent ensemble plus de ",t.jsx("strong",{children:"30 à 40% du patrimoine total"}),", la gestion de la liquidité globale et l'articulation entre les flux d'appels de fonds, les distributions et les besoins personnels de trésorerie requièrent une planification active et sophistiquée. Une gestion informelle de cette complexité génère inévitablement des situations de tension ou d'inefficacité."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le cinquième signal"})," est la préparation d'une transmission multigénérationnelle. Dès lors qu'un patrimoine a vocation à traverser plusieurs générations, les questions de gouvernance familiale, qui décide quoi, selon quel processus, avec quelles règles d'entrée et de sortie pour les membres de la famille, deviennent aussi importantes que les questions de performance financière. Ces questions ne se résolvent pas dans une conversation informelle entre le client et son notaire. Elles requièrent une réflexion structurée, des documents formalisés, pacte d'associés, charte familiale, règlement de la holding, et un interlocuteur capable d'animer ce processus dans la durée."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le sixième signal"})," est la réalisation imminente d'un événement patrimonial majeur. La cession d'une entreprise, une succession, un divorce, une introduction en bourse partielle, une levée de fonds significative, ces événements créent simultanément une complexité fiscale, juridique et financière qui dépasse la capacité de traitement de n'importe quel conseiller sectoriel travaillant seul. Ils sont précisément les moments où l'absence de structure dédiée est la plus coûteuse, et les moments où il est trop tard pour en créer une de façon sereine et non précipitée."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le septième signal"})," est plus subjectif mais souvent le plus révélateur : le sentiment que les décisions patrimoniales importantes sont prises dans la réactivité plutôt que dans la stratég
760ie. Lorsqu'un investisseur se retrouve à souscrire à une ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"SCPI"})," parce que son banquier l'a appelé avec une offre limitée dans le temps, à ouvrir un ",t.jsx(C,{to:"/blog/per-outil-fiscal",className:"text-primary underline-offset-4 hover:underline",children:"PER"})," en décembre parce que son comptable lui a rappelé l'échéance fiscale, à donner de la nue-propriété parce que son notaire lui a suggéré de profiter des abattements disponibles, sans que ces décisions s'inscrivent dans une vision patrimoniale cohérente et préalablement définie, c'est le signe que la gestion du patrimoine est pilotée par les conseillers plutôt que par le propriétaire. Ce renversement de la relation est l'un des symptômes les plus caractéristiques d'un patrimoine dont la complexité a dépassé la capacité de pilotage de son propriétaire."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que la complexité coûte en l'absence de structure"}),t.jsx("p",{children:"La complexité non gérée génère des coûts concrets et mesurables, même si, précisément parce qu'ils ne sont jamais regroupés dans un seul relevé, ils restent souvent invisibles dans leur globalité."}),t.jsxs("p",{children:[t.jsx("strong",{children:"Les coûts fiscaux évitables"})," sont les premiers. Un patrimoine complexe géré sans coordination génère en moyenne plusieurs dizaines de milliers d'euros d'impôts annuels qui auraient pu être évités avec une vision globale et une planification fiscale intégrée. Cette estimation est conservative, dans les cas de cessions importantes, de successions mal anticipées ou de revenus exceptionnels non planifiés, le coût peut atteindre plusieurs centaines de milliers d'euros sur un seul événement."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Les coûts d'opportunité manquée"})," sont les deuxièmes. Des classes d'actifs non explorées parce que personne n'avait le mandat pour les recommander. Des structures de détention sous-optimales qui auraient pu être optimisées si la décision avait été prise au bon moment. Des abattements fiscaux non utilisés parce que personne n'avait cartographié la capacité disponible en temps utile. Ces coûts d'opportunité s'accumulent silencieusement et représentent souvent le poste de sous-performance le plus important d'un patrimoine géré de façon informelle."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Les coûts de résolution des conflits"})," sont les troisièmes. Incohérences entre structures juridiques, nantissements non signalés qui bloquent une transmission, clauses contradictoires dans des pactes d'associés successifs, engagements pris par un interlocuteur qui ignorait les contraintes créées par un autre, résoudre ces conflits est coûteux en temps, en honoraires et parfois en impôt cristallisé dans des conditions défavorables."]}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre méthode"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Audit patrimonial consolidé"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Cartographie complète de vos actifs, engagements et flux. Identification des angles morts et des leviers d'optimisation non exploités. Un rapport unique, partagé avec vos conseillers, pour aligner l'ensemble de votre architecture patrimoniale."}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre approche",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le bon niveau de structure selon la situation"}),t.jsx("p",{children:"La réponse à la question du seuil de complexité n'est pas binaire, soit un conseiller classique, soit un family office complet. Il existe un continuum de solutions dont le niveau de sophistication et de coût doit être adapté à la réalité de chaque situation."}),t.jsxs("p",{children:["Pour un patrimoine de deux à cinq millions d'euros comprenant plusieurs classes d'actifs et une ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding patrimoniale"}
760),", un conseiller en gestion de patrimoine indépendant rémunéré aux honoraires, mandaté explicitement pour coordonner les différents intervenants et produire une vision consolidée annuelle, est généralement la réponse proportionnée. Ce coordinateur ne remplace pas les spécialistes, il les orchestre et assure la cohérence de leurs interventions."]}),t.jsxs("p",{children:["Pour un patrimoine de cinq à vingt millions d'euros comprenant plusieurs des signaux d'alerte mentionnés, présence internationale, actifs illiquides significatifs, transmission à préparer, événement patrimonial majeur en vue, le ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"multi-family office"})," devient la réponse la plus adaptée. Il apporte une infrastructure de gestion, des expertises internes sur les sujets complexes et un accès à des classes d'actifs institutionnelles que le conseiller individuel ne peut pas toujours offrir."]}),t.jsx("p",{children:"Au-delà de vingt à trente millions d'euros, et davantage encore lorsque le patrimoine comprend des entreprises opérationnelles, des actifs internationaux significatifs et une famille dont plusieurs membres sont impliqués dans la gestion, la question du single family office ou d'une structure dédiée interne mérite d'être posée sérieusement. Les coûts fixes d'une telle structure représentent alors une fraction raisonnable du patrimoine géré, et la valeur ajoutée en termes de protection, d'optimisation et de pérennité transgénérationnelle justifie économiquement l'investissement."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Créer la structure avant d'en avoir besoin"}),t.jsx("p",{children:"Il y a une dernière observation que les praticiens du patrimoine font invariablement : les structures dédiées créées dans l'urgence, en réaction à un événement qui a déjà créé des problèmes, sont toujours moins efficaces et plus coûteuses que celles créées de façon anticipée et sereine."}),t.jsx("p",{children:"La cession d'entreprise qui déclenche la réflexion sur l'apport-cession deux semaines avant la signature du protocole. La succession qui révèle que la transmission n'a jamais été organisée et que les droits seront considérables. Le contrôle fiscal qui met en lumière des incohérences entre des structures créées indépendamment sans coordination. Dans chacun de ces cas, la création précipitée d'une structure de gestion dédiée ne peut pas corriger les erreurs déjà commises, elle peut seulement éviter qu'elles se reproduisent."}),t.jsx("p",{children:"La bonne question n'est donc pas de savoir si l'on a besoin d'une structure dédiée aujourd'hui. C'est de se demander si les conditions qui la rendront nécessaire dans trois ou cinq ans sont déjà en train de se constituer, et si anticiper cette structuration maintenant, dans des conditions sereines et non contraintes, ne serait pas la décision patrimoniale la plus rentable que l'on puisse prendre."}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:"Un patrimoine devient trop complexe pour être géré sans structure dédiée non pas au moment où il atteint un certain montant, mais au moment où sa complexité dépasse la capacité de coordination informelle de ses propriétaires et de leurs conseillers. Ce moment arrive plus tôt qu'on ne le croit, se signale par des symptômes précis que l'on peut apprendre à reconnaître, et génère des coûts réels et mesurables tant qu'il n'est pas adressé. Le reconnaître avant qu'il ne soit trop tard n'est pas une question de sophistication, c'est une question de lucidité."}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:"Structurer avant la complexité"}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:"Audit patrimonial, cartographie des engagements, revue fiscale consolidée et coordination de vos conseillers : nous construisons l'architecture de gestion adaptée à la complexité réelle de votre patrimoine."}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Accéder au Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:"Découvrir la Gestion Privée"})]})]}
760),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un conseiller patrimonial indépendant qualifié pour évaluer la structure de gestion la plus adaptée à votre situation."})]})})}),t.jsx(re,{})]})},z_e=[.16,1,.3,1],U_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Transmission familiale · Juin 2026 · 15 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Transmettre son patrimoine sans diviser sa famille : ce que la loi ne règle pas"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Conflits successoraux, équité perçue, gouvernance familiale : pourquoi la meilleure transmission est celle qui a été parlée avant d'être signée."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:z_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:"Les statistiques sur les conflits successoraux sont éloquentes et peu commentées. En France, une succession sur trois génère des tensions familiales significatives. Une sur dix aboutit à un contentieux judiciaire. Et parmi les familles qui traversent une succession difficile, la grande majorité disposait pourtant d'un cadre juridique formellement correct, un testament valide, des donations régulières, des abattements utilisés, des structures patrimoniales bien conçues. Le droit successoral français est l'un des plus élaborés d'Europe. Il ne suffit pas. Non pas parce qu'il est défaillant dans sa technique, il est remarquablement précis, mais parce qu'il traite une dimension du problème en ignorant l'autre. Il organise la répartition des actifs. Il ne règle pas les relations humaines qui déterminent si cette répartition sera acceptée ou contestée."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que la loi fait bien et ce qu'elle ne fait pas"}),t.jsxs("p",{children:["Le droit successoral français est construit autour d'un principe central : ",t.jsx("strong",{children:"l'égalité entre héritiers réservataires"}),". La réserve héréditaire garantit à chaque enfant une fraction minimale du patrimoine parental, indépendamment de la volonté du défunt. Ce principe est protecteur, il empêche qu'un enfant soit déshérité au profit d'un autre ou d'un tiers. Mais il est aussi réducteur, il impose une logique arithmétique à des situations humaines qui sont rarement arithmétiques."]}),t.jsx("p",{children:"La loi répartit des actifs. Elle ne répartit pas les histoires qui leur sont attachées. Elle ne dit rien sur le fait que l'un des enfants a consacré dix ans de sa vie à accompagner l'entreprise familiale pendant que les autres poursuivaient leurs carrières personnelles. Elle ne dit rien sur le fait qu'un enfant a reçu une aide financière informelle pendant des années, jamais formalisée comme donation, et dont les frères et sœurs n'ont pas été informés. Elle ne dit rien sur le fait que la résidence secondaire qui sera partagée entre trois héritiers est le lieu de mémoire le plus chargé de la famille, celui dont la vente sera vécue comme une trahison par certains et comme une nécessité évidente par d'autres."}),t.jsxs("p",{children:["Ces dimensions échappent entièrement au droit. Et ce sont précisément elles qui déterminent si une succession sera vécue comme une ",t.jsx("strong",{children:"transition sereine"})," ou comme la rupture d'un lien familial qui ne se reconstituera jamais entièrement."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Pourquoi les conflits successoraux arrivent dans les bonnes familles"}),t.jsx("p",{children:"Il existe une croyance répandue selon laquelle les conflits successoraux sont le symptôme de familles dysfonctionnelles, de relations déjà dégradées avant le décès, de contextes dans lesquels la méfiance et la rancune préexistaient à la succession. Cette croyance est fausse, et dangereusement confortable pour ceux qui en font une protection imaginaire."}),t.jsxs("p",{children:["Les conflits successoraux les plus douloureux se produisent souvent dans de
760s familles qui se portaient bien. Des fratries soudées pendant des décennies qui se déchirent sur la valeur d'un tableau de famille. Des enfants qui se disputent non pas sur les montants, qui peuvent être modestes, mais sur le ",t.jsx("strong",{children:"sens de la répartition"}),". Des conjoints qui entrent dans le conflit comme défenseurs de leur conjoint héritier, transformant un désaccord entre frères et sœurs en conflit entre familles entières."]}),t.jsx("p",{children:"La succession révèle des inégalités de traitement qui avaient été tues ou ignorées pendant la vie des parents. Elle cristallise des perceptions d'injustice accumulées pendant des années sans jamais avoir été exprimées. Elle force des décisions collectives sur des biens que les héritiers ne savent pas comment partager, pas sur le plan légal, mais sur le plan émotionnel. Et elle survient dans un moment de deuil, lorsque la capacité de chacun à gérer les conflits est au plus bas et la disponibilité à la générosité au plus faible."}),t.jsx("p",{children:"La loi ne peut rien contre ce mécanisme. Le notaire ne peut pas non plus, il arrive après le décès, lorsque la mécanique conflictuelle est déjà en marche. Seule l'anticipation du vivant du donateur peut l'enrayer, et cette anticipation n'est pas une anticipation juridique. C'est une anticipation humaine."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'équité perçue et l'égalité réelle : une distinction fondamentale"}),t.jsxs("p",{children:["Le malentendu le plus fréquent dans la préparation d'une transmission est la confusion entre ",t.jsx("strong",{children:"égalité et équité"}),". L'égalité est arithmétique, chaque héritier reçoit la même fraction du patrimoine. L'équité est relative, chaque héritier reçoit ce qui est juste au regard de sa situation, de sa contribution et de ses besoins."]}),t.jsx("p",{children:"Ces deux notions ne coïncident presque jamais dans les familles réelles. L'un des enfants a repris l'entreprise familiale en prenant des risques financiers personnels. L'autre a poursuivi des études longues financées par les parents pendant que le premier travaillait. Le troisième a été aidé lors d'un divorce coûteux, sans que cette aide ait jamais été formalisée comme donation. Le quatrième a consacré plusieurs années à accompagner les parents vieillissants, au prix de sa propre progression professionnelle."}),t.jsx("p",{children:"Une répartition strictement égale entre ces quatre héritiers sera perçue comme profondément inéquitable par certains d'entre eux, et cette perception d'inéquité est le moteur principal des conflits successoraux. Elle ne peut pas être c
760orrigée après le décès. Elle peut l'être avant, à condition que le donateur ait eu le courage d'en parler avec ses enfants, d'expliquer ses choix, de reconnaître les contributions différentes, et de construire une répartition dont la logique est explicite et acceptée plutôt qu'imposée et subie."}),t.jsxs("p",{children:["La ",t.jsx(C,{to:"/blog/donation-partage",className:"text-primary underline-offset-4 hover:underline",children:"donation-partage"})," est l'outil juridique qui permet de formaliser cette équité. Mais elle n'est efficace que si elle reflète une conversation préalable, si les enfants comprennent pourquoi la répartition est ce qu'elle est, s'ils ont pu exprimer leurs attentes et si leurs préoccupations ont été entendues. Une donation-partage signée sans cette préparation humaine est un acte notarié parfaitement valide qui peut générer exactement les conflits qu'il était censé prévenir."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les biens indivis : l'héritage le plus conflictuel"}),t.jsx("p",{children:"Parmi tous les éléments d'une succession, les biens indivis sont de loin les plus générateurs de conflits durables. Un bien indivis est un bien dont plusieurs héritiers sont copropriétaires, sans qu'aucun ne puisse en disposer seul sans l'accord des autres."}),t.jsx("p",{children:"L'indivision est une contrainte juridique qui crée des tensions pratiques immédiates. Faut-il vendre la résidence secondaire pour libérer des liquidités ? L'un des héritiers veut garder, l'autre veut vendre, le troisième est indifférent mais n'acceptera pas le prix que les autres proposent. Faut-il louer l'appartement parisien qui fait partie de la succession ? L'un des héritiers souhaite l'occuper, les autres veulent des revenus locatifs. Faut-il rénover l'immeuble locatif ? Le financement sera-t-il proportionnel aux quotes-parts ? Qui gère le bien au quotidien et comment est-il rémunéré pour cette gestion ?"}),t.jsx("p",{children:"Ces questions pratiques deviennent des sources de conflit récurrent entre héritiers dont les intérêts, les situations financières et les perspectives temporelles divergent. Et l'indivision peut durer des années, parfois des décennies, en l'absence de consensus, chaque décision requérant l'accord de tous dans une configuration où l'accord devient de plus en plus difficile à obtenir à mesure que les liens s'effritent."}),t.jsxs("p",{children:["La prévention de l'indivision conflictuelle passe par deux types de décisions que le donateur seul peut prendre de son vivant. La première est la décision de répartition, attribuer les biens en pleine propriété à des héritiers spécifiques plutôt que de les laisser en indivision, quitte à rééquilibrer avec des soultes ou avec d'autres actifs. La seconde est la mise en place d'une ",t.jsx("strong",{children:"structure de gouvernance"}),", une SCI familiale, un pacte d'indivision, des règles de décision formalisées, qui encadre la gestion du bien indivis et prévoit des mécanismes de sortie clairs et acceptés en amont."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que les parents taisent et ce que les enfants supposent"}),t.jsx("p",{children:"Le silence est l'ennemi le plus redoutable de la transmission familiale. Non pas le silence sur les montants, les héritiers découvrent généralement la valeur du patrimoine au moment de la succession, mais le silence sur les intentions, les choix, les raisons qui ont guidé les décisions du donateur."}),t.jsx("p",{children:"Pourquoi l'entreprise familiale a-t-elle été donnée à l'un des enfants et pas aux autres ? Parce que c'était le seul qui voulait la reprendre, ou parce que le donateur avait une préférence non exprimée ? Pourquoi la donation à l'enfant le plus en difficulté financière a-t-elle été plus importante ? Par compassion, ou parce que le donateur estimait qu'il compensait une injustice de la vie ? Pourquoi la résidence secondaire n'a-t-elle pas été donnée de son vivant alors que tout le reste l'a été ?"}),t.jsx("p",{children:"Ces questions, laissées sans réponse par le silence du donateur, sont résolues par chaque héritier selon sa propre lecture, une lecture colorée par son histoire personnelle, ses rancœurs éventuelles et ses attentes non exprimées. Lorsque les lectures divergent entre héritiers, le conflit est inévitable. Et ce conflit porte sur des interprétations impossibles à arbitrer après le décès, personne ne peut interroger le défunt sur ses intentions réelles."}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"transmission des intentions"})," est aussi importante que la transmission des actifs. Un donateur qui prend le temps d'expliquer à chaque enfant la logique qui sous-tend ses choix, dans une conversation directe, dans une lettre accompagnant les actes notariés, dans un document de gouvernance familiale, donne à ses héritiers bien plus qu'une répartition d'actifs. Il leur donne une grille de lecture qui permet de comprendre sans avoir à interpréter, d'accepter sans avoir à deviner, et de traverser sa disparition sans que le patrimoine ne devienne le terrain d'expression de deuils non résolus."]}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre méthode"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Gouvernance familiale et charte familiale"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Facilitation de conversations structurées entre générations. Rédaction de chartes familiales formalisant les valeurs, les règles de décision et les mécanismes de sortie. Coordination avec votre notaire pour aligner la dimension humaine et la dimension juridique de votre transmission."}),t.jsxs(C,{to:"/family-office/gouvernance-familiale",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir la gouvernance familiale",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La charte familiale : formaliser ce que la loi ne peut pas imposer"}),t.jsx("p",{children:"Il existe un document qui n'a aucune valeur juridique contraignante et qui est pourtant l'un des out
760ils les plus efficaces pour prévenir les conflits successoraux dans les familles dont le patrimoine est significatif. La charte familiale est un document rédigé collectivement, idéalement avec l'aide d'un facilitateur externe, qui formalise les valeurs, les règles de gouvernance et les engagements mutuels de la famille autour du patrimoine commun."}),t.jsx("p",{children:"Elle n'est pas un testament. Elle n'est pas un acte notarié. Elle ne distribue pas les actifs et ne crée pas de droits légaux. Ce qu'elle fait est différent et complémentaire : elle articule explicitement ce que chaque membre de la famille attend de la transmission, comment les décisions collectives seront prises, quelles sont les conditions dans lesquelles un membre peut sortir du patrimoine commun et selon quel processus, comment les désaccords seront résolus avant de dégénérer en conflits."}),t.jsxs("p",{children:["Son efficacité tient précisément à sa nature non contraignante. Parce qu'elle ne crée pas d'obligations légales, elle peut être rédigée dans un langage humain plutôt que juridique, elle peut exprimer des valeurs plutôt que des règles, et elle peut être révisée à mesure que la situation de la famille évolue. Elle crée un ",t.jsx("strong",{children:"espace de dialogue structuré"})," que les actes notariés ne peuvent pas créer, et c'est dans cet espace que se joue souvent la différence entre une transmission qui unit et une transmission qui divise."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le rôle des conseils dans la préparation humaine"}),t.jsx("p",{children:"Les conseillers patrimoniaux, notaires, avocats, conseillers en gestion de patrimoine, sont formés pour traiter la dimension technique de la transmission. Ils sont rarement formés pour accompagner la dimension humaine, et ils sont souvent mal à l'aise lorsque la conversation glisse des structures juridiques vers les dynamiques familiales."}),t.jsxs("p",{children:["Pourtant, les praticiens les plus expérimentés reconnaissent unanimement que la qualité de la transmission humaine conditionne souvent la pérennité des structures juridiques les mieux conçues. Une ",t.jsx(C,{to:"/blog/donation-partage",className:"text-primary underline-offset-4 hover:underline",children:"donation-partage"})," parfaitement structurée entre des enfants qui ne se sont jamais parlé des intentions parentales sera contestée dans son esprit sinon dans sa lettre. Un pacte d'associés entre héritiers qui se méfient mutuellement sera appliqué à la lettre dans une logique d'opposition plutôt que de coopération."]}),t.jsx("p",{children:"La préparation humaine de la transmission n'est pas séparable de sa préparation technique. Elle en est la condition de durabilité. Et cette préparation appartient en dernière instance au donateur lui-même, c'est lui qui doit avoir les conversations difficiles, qui doit exprimer ses intentions, qui doit construire le consensus familial autour de ses choix. Aucun conseiller ne peut le faire à sa place."}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:"La meilleure transmission n'est pas celle qui minimise les droits de succession. Ce n'est pas non plus celle qui respecte à la lettre les règles de la réserve héréditaire. C'est celle dont les héritiers comprennent la logique, acceptent les choix et gardent entre eux les liens que le défunt avait mis une vie à construire. Cette transmission-là ne se fait pas chez le notaire. Elle se fait dans les conversations que le donateur a eu le courage d'initier de son vivant, les plus difficiles, les plus nécessaires, et les plus précieuses qu'un patrimoine puisse laisser en héritage."}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:"Préserver les liens en transmettant"}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:"Facilitation fam
760iliale, charte familiale, coordination avec vos conseillers juridiques et notariaux : nous accompagnons la dimension humaine de votre transmission pour qu'elle devienne ce qu'elle devrait être, un acte d'union et non de division."}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Accéder au Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/family-office/gouvernance-familiale",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:"Découvrir la Gouvernance Familiale"})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La transmission patrimoniale requiert l'accompagnement d'un notaire et d'un conseiller patrimonial qualifié. Nous vous recommandons d'entamer cette réflexion bien avant que l'urgence ne la dicte."})]})})}),t.jsx(re,{})]})},V_e=[.16,1,.3,1],W_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Confidentialité & sécurité · Juin 2026 · 14 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Pourquoi la confidentialité est devenue le premier critère de choix pour les UHNW"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Données patrimoniales, cybersécurité, réputation : ce que les grandes fortunes protègent en priorité, et comment."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:V_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Il y a une dizaine d'années, la confidentialité était un critère parmi d'autres dans le choix d'un conseiller patrimonial ou d'une banque privée. Elle figurait dans les présentations commerciales, elle était évoquée comme une évidence du secteur, et les clients la considéraient comme acquise dès lors qu'ils travaillaient avec des institutions réputées soumises au secret professionnel. Aujourd'hui, pour les familles à très fort patrimoine, les UHNW, ultra high net worth individuals, dont le patrimoine dépasse généralement trente millions d'euros, la confidentialité est devenue le ",t.jsx("strong",{children:"premier filtre de sélection"})," de leurs partenaires, et parfois l'unique critère non négociable. Ce changement de hiérarchie n'est pas le fruit d'une paranoïa croissante. Il reflète une transformation profonde et documentée de l'environnement dans lequel les grandes fortunes évoluent, un environnement dans lequel la visibilité du patrimoine est devenue un risque à part entière."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce qui a changé : la convergence de trois menaces"}),t.jsxs("p",{children:["La montée en puissance de la confidentialité comme priorité absolue des UHNW résulte de la ",t.jsx("strong",{children:"convergence de trois dynamiques distinctes"})," qui se sont renforcées mutuellement au cours des dix dernières années."]}),t.jsxs("p",{children:["La première est la ",t.jsx("strong",{children:"digitalisation massive des données patrimoniales"}),". Les informations sur les structures de détention, les participations, les actifs immobiliers, les comptes à l'étranger et les flux financiers sont aujourd'hui stockées, traitées et transmises de façon presque entièrement numérique, par les banques, les gestionnaires, les conseillers, les régulateurs et les administrations fiscales. Cette numérisation a considérablement amélioré l'efficacité de la gestion patrimoniale. Elle a aussi créé une surface d'attaque pour les acteurs malveillants qui n'existait pas à l'époque des dossiers papier dans de
760s armoires fermées à clé."]}),t.jsxs("p",{children:["La deuxième dynamique est la ",t.jsx("strong",{children:"multiplication des obligations de transparence fiscale internationale"}),". L'échange automatique d'informations entre administrations fiscales, le ",t.jsx("strong",{children:"standard CRS"})," mis en place par l'OCDE depuis 2017, a considérablement réduit la confidentialité des comptes étrangers. Les ",t.jsx("strong",{children:"registres des bénéficiaires effectifs"})," des sociétés et des trusts, rendus accessibles dans de nombreuses juridictions sous la pression des directives européennes anti blanchiment, ont rendu publiques des informations sur les structures patrimoniales qui étaient auparavant entièrement privées. Cette transparence réglementaire est légitime dans son objet, lutter contre l'évasion fiscale et le blanchiment, mais elle génère des ",t.jsx("strong",{children:"externalités non voulues"})," pour des investisseurs dont la discrétion n'a aucun motif illicite."]}),t.jsxs("p",{children:["La troisième dynamique est ",t.jsx("strong",{children:"l'explosion des cyber attaques"})," ciblant les patrimoines privés et leurs conseils. Les cabinets d'avocats, les études notariales, les ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"family offices"})," et les banques privées sont devenus des cibles prioritaires pour les groupes de cybercriminalité organisée, non pas pour les données opérationnelles de leurs systèmes, mais pour les données patrimoniales de leurs clients. Un dossier de succession contenant la valorisation complète d'un patrimoine familial, une convention de cession d'entreprise avec ses clauses de confidentialité, un pacte d'associés détaillant les structures de détention, ces documents ont une valeur marchande considérable pour des acteurs malveillants qui peuvent les utiliser pour des tentatives d'extorsion, des fraudes sophistiquées ou des opérations de renseignement économique."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que la visibilité du patrimoine rend possible"}),t.jsxs("p",{children:["Pour comprendre pourquoi la confidentialité est devenue si précieuse, il faut comprendre précisément ",t.jsx("strong",{children:"ce que la visibilité du patrimoine rend possible"}),", et ce que les UHNW cherchent à prévenir."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le risque de ciblage physique"})," est le premier et le plus immédiat. Une famille dont la fortune est publiquement connue, par des articles de presse, des registres publics, des bases de données accessibles en ligne, expose ses membres à des risques physiques qui ne sont pas théoriques. Les enlèvements à des fins de rançon, les cambriolages ciblés sur des résidences connues pour abriter des collections d'art ou des objets de valeur, les tentatives d'escroquerie sophistiquées exploitant une connaissance précise de la situation financière de la cible, ces risques sont documentés et en progression dans tous les pays où les inégalités patrimoniales sont importantes et visibles."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le risque de fraude patrimoniale"})," est le deuxième. Une connaissance précise de la structure patrimoniale d'une famille, quelles sociétés elle détient, quelles banques elle utilise, quels conseillers elle mandate, quels actifs sont en cours de cession, permet à des fraudeurs sophistiqués de construire des arnaques d'une crédibilité redoutable. La fraude au faux conseiller, dans laquelle un fraudeur se fait passer pour un prestataire connu de la victime en utilisant des informations précises sur ses relations d'affaires, a causé des pertes considérables dans des familles fortunées dont les informations patrimoniales avaient été préalablement compromises."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le risque réputationnel"})," est le troisième. Dans un environnement médiatique et social où la fortune est scrutée avec une suspicion croissante, la visibilité involontaire d'un patrimoine peut générer des conséquences réputationnelles disproportionnées. Des structures d'optimisation fiscale parfaitement légales peuvent être présentées comme de l'évasion fiscale dans une couverture médiatique hostile. Des actifs étrangers déclarés conformément à toutes les obligations peuvent être interprétés comme des signes de défiance envers les institutions nationales. Pour des familles d'entrepreneurs dont la réputation professionnelle est intimement liée à leur image publique, ces risques réputationnels sont des risques économiques directs."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le risque de conflit successoral amplifié"})," est le quatrième. Lorsque la composition et la valeur d'un patrimoine sont connues de tous les membres d'une famille, y compris ceux qui n'ont pas été impliqués dans sa gestion, les tensions successorales sont alimentées par une information complète qui permet à chacun de calculer précisément ce qu'il estime lui revenir et ce qu'il pense avoir été lésé. La confidentialité patrimoniale à l'intérieur même de la famille n'est pas nécessairement recommandable, mais le contrôle de l'information sur qui sait quoi et à quel moment est un levier de gouvernance familiale que les familles organisées utilisent délibérément."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les vecteurs de compromission les plus fréquents"}),t.jsxs("p",{children:["La compromission de la confidentialité patrimoniale ne provient pas toujours des sources les plus évidentes. Comprendre les vecteurs les plus fréquents permet de construire une ",t.jsx("strong",{children:"stratég
760ie de protection cohérente"})," plutôt qu'une réponse réactive à des incidents déjà survenus."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Les prestataires de service"})," sont le premier vecteur. Avocats, notaires, experts comptables, conseillers en gestion de patrimoine, gestionnaires de fonds, tous détiennent des informations patrimoniales sensibles et tous sont des cibles potentielles pour des cyber attaques ou des tentatives d'infiltration. La question n'est pas de savoir si ces prestataires sont dignes de confiance, ils le sont généralement. La question est de savoir si leurs systèmes informatiques, leurs protocoles de sécurité et leurs pratiques de gestion des données sont à la hauteur de la sensibilité des informations qu'ils traitent. Dans beaucoup de cabinets de taille intermédiaire, la réponse honnête est non."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Les registres publics"})," sont le deuxième vecteur, et le plus difficile à contrôler car il est imposé par la réglementation. Les registres du commerce, les registres des bénéficiaires effectifs, les registres fonciers, les publications légales obligatoires lors de modifications statutaires ou de cessions, ces sources publiques permettent à toute personne motivée de reconstituer une fraction significative de la structure patrimoniale d'une famille disposant de plusieurs sociétés et actifs immobiliers. La minimisation de l'information contenue dans ces registres, en structurant les détentions de façon à réduire la visibilité des bénéficiaires effectifs dans les limites de la légalité, est l'une des préoccupations centrales des conseils patrimoniaux des UHNW."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Les réseaux sociaux et les sources d'information publiques"})," sont le troisième vecteur, souvent négligé. Des articles de presse sur une cession d'entreprise, des publications LinkedIn sur une nouvelle participation, des annonces immobilières visibles en ligne, des mentions dans des articles sur le classement des fortunes, toutes ces informations, individuellement anodines, peuvent être agrégées par un acteur malveillant pour construire une image précise et exploitable de la situation patrimoniale d'une famille."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que les UHNW font concrètement pour protéger leur confidentialité"}),t.jsxs("p",{children:["La protection de la confidentialité patrimoniale n'est pas une posture, c'est un ",t.jsx("strong",{children:"ensemble de pratiques concrètes"})," qui s'inscrivent dans une stratégie délibérée et cohérente."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"La ségrégation de l'information"})," est la première pratique. Chaque prestataire reçoit uniquement les informations nécessaires à l'exercice de sa mission spécifique, et pas davantage. L'avocat qui rédige un pacte d'associés n'a pas besoin de connaître la valeur du portefeuille financier. La banque qui gère les actifs cotés n'a pas besoin de connaître la structure de la ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding patrimoniale"}),". Le gestionnaire immobilier n'a pas besoin de connaître les actifs étrangers. Cette ségrégation de l'information réduit la surface de risque en s'assurant qu'aucun prestataire unique ne détient une vision complète du patrimoine, ce qui limite les conséquences d'une éventuelle compromission."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"L'audit de sécurité des prestataires"})," est la deuxième pratique. Les UHNW les plus organisés évaluent les pratiques de cybersécurité de leurs prestataires avant de leur confier des informations sensibles, et ils réévaluent régulièrement ces pratiques à mesure que les menaces évoluent. Cet audit n'est pas une marque de méfiance envers le prestataire, c'est une pratique de diligence raisonnable analogue à celle que l'on appliquerait à n'importe quel investissement significatif."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"La structuration des détentions pour minimiser la visibilité réglementaire"})," est la troisième pratique. Dans les limites strictes de la légalité et des obligations déclaratives applicables, les conseils des UHNW structurent les détentions de façon à réduire la visibilité dans les registres publics, en utilisant des structures de détention intermédiaires, des fiducies dans certaines juridictions, ou des montages contractuels qui protègent l'identité du bénéficiaire effectif sans aucune violation des obligations légales."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"La gestion active de l'empreinte numérique"})," est la quatrième pratique. Les UHNW les plus vigilants surveillent activement ce qui est publié sur eux et sur leurs structures, exercent leurs droits de rectification sur les bases de données commerciales qui agrègent des informations patrimoniales, et limitent délibérément leur visibilité dans les médias et les réseaux professionnels sur tout ce qui touche à leurs actifs et à leurs structures."]}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre méthode"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Ségrégation de l'information et sécurité des données"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Chaque prestataire ne reçoit que les informations strictement nécessaires à sa mission. Chiffrement des communications, contrôle d'accès strict, politique de rétention et de destruction des documents. Une architecture de confidentialité conçue pour les exigences des patrimoines les plus sensibles."}),t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre approche Family Office",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le choix des prestataires à l'aune de la confidentialité"}),t.jsxs("p",{children:["La confidentialité est devenue un ",t.jsx("strong",{children:"critère de sélection des prestataires patrimoniaux"})," au même titre que la compétence technique et l'",t.jsx(C,{to:"/gestion-privee",className:"text-primary underline-offset-4 hover:underline",children:"indépendance des conseils"}),". Elle se mesure selon plusieurs dimensions."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"La taille et la structure du prestataire"})," est la première dimension. Un très grand établissement financier traite des millions de clients et des dizaines de milliers de collaborateurs ont potentiellement accès à des informations clients. Un ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"multi family office"})," de petite taille, dont l'équipe entière connaît chaque client, offre une confidentialité structurellement plus forte, non pas parce que ses collaborateurs sont plus dignes de confiance, mais parce que la surface d'exposition est incomparablement plus réduite."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"La juridiction dans laquelle le prestataire opère"})," est la deuxième dimension. Certaines juridictions offrent des protections légales de la confidentialité financière significativement plus robustes que d'autres. Le Luxembourg, la Suisse, Singapour, ces places financières ont construit leur réputation en partie sur des cadres légaux qui protègent la confidentialité des clients dans les limites de la légalité internationale. Le choix du Luxembourg pour une ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"assurance vie"}),", par exemple, n'est pas seulement motivé par le triangle de sécurité ou la liberté d'investissement, c'est aussi un choix de juridiction qui offre un cadre légal de protection des données et de confidentialité financière parmi les plus solides d'Europe."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Les pratiques internes de sécurité des données"})," sont la troisième dimension. Chiffrement des communications, contrôle d'accès aux données clients, politiques de rétention et de destruction des documents, formation régulière des équipes aux risques de cybersécurité et d'ingénierie sociale, ces pratiques, qui ne sont pas toujours visibles de l'extérieur, font une différence considérable dans le niveau de protection effectif que le prestataire peut offrir."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La tension entre transparence réglementaire et confidentialité légitime"}),t.jsxs("p",{children:["Il existe une ",t.jsx("strong",{children:"tension réelle et croissante"})," entre les exigences de transparence que les régulateurs imposent aux fortunes privées et le ",t.jsx("strong",{children:"droit légitime à la confidentialité"})," de patrimoines dont la discrétion n'a aucune motivation illicite."]}),t.jsxs("p",{children:["Cette tension n'est pas soluble dans le court terme. L'échange automatique d'informations fiscales, les registres des bénéficiaires effectifs, les obligations de déclaration des actifs étrangers, toutes ces exigences réglementaires sont là pour rester et continueront probablement de s'étendre dans les années à venir. La réponse des UHNW à cette transparence croissante ",t.jsx("strong",{children:"n'est pas la résistance, c'est l'adaptation"}),"."]}),t.jsxs("p",{children:["Adapter ses structures pour être ",t.jsx("strong",{children:"pleinement conforme à toutes les obligations déclaratives"})," tout en minimisant la visibilité involontaire dans les sources non réglementaires. Distinguer la ",t.jsx("strong",{children:"transparence vis à vis des autorités"}),", totale, sans équivoque, non négociable, de la ",t.jsx("strong",{children:"confidentialité vis à vis du reste du monde"}),", soigneusement préservée, activement gérée. Comprendre que ",t.jsx("strong",{children:"la conformité et la confidentialité ne sont pas des objectifs contradictoires"})," mais des objectifs complémentaires qui requièrent simplement des outils différents."]}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:"La confidentialité n'est pas devenue le premier critère de choix des UHNW parce que les grandes fortunes ont quelque chose à cacher. Elle l'est devenue parce que la visibilité involontaire du patr
760imoine est devenue un risque documenté, multidimensionnel et croissant, un risque physique, financier, réputationnel et familial que les familles avisées ont compris qu'il fallait gérer avec la même rigueur que n'importe quel autre risque patrimonial. Protéger son patrimoine ne signifie pas seulement choisir les bons actifs et les bonnes structures. Cela signifie aussi contrôler qui sait ce que l'on possède, comment et à quelles fins. Cette dimension de la gestion patrimoniale, longtemps considérée comme secondaire, est devenue centrale. Et les familles qui ne l'ont pas encore intégrée dans leur approche globale prennent un risque dont elles ne mesurent souvent l'ampleur qu'après qu'il s'est matérialisé."}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:"La confidentialité comme architecture"}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:"Ségrégation de l'information, audit de sécurité de vos prestataires, structuration des détentions pour minimiser la visibilité réglementaire et gestion active de votre empreinte numérique : nous construisons une architecture de confidentialité adaptée aux exigences des patrimoines les plus sensibles."}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Accéder au Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:"Découvrir la Gestion Privée"})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un conseiller patrimonial qualifié pour évaluer les mesures de protection adaptées à votre situation."})]})})}),t.jsx(re,{})]})},H_e=[.16,1,.3,1],G_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 14 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Résider en France, investir à l'international : le casse tête fiscal que personne ne simplifie vraiment"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Conventions bilatérales, exit tax, CRS, structures étrangères : ce que tout investisseur français exposé à l'international doit comprendre, et anticiper."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:H_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Il existe une catégorie d'investisseurs pour lesquels la ",t.jsx("strong",{children:"question fiscale"})," n'est jamais simple, jamais résolue et jamais entièrement satisfaisante. Ce sont les ",t.jsx("strong",{children:"résidents fiscaux français qui investissent à l'international"}),", ceux qui détiennent des actifs dans plusieurs pays, qui ont des revenus de source étrangère, qui participent à des structures étrangères ou qui envisagent un jour de quitter la France. Pour eux, la fiscalité n'est pas une contrainte parmi d'autres, c'est un ",t.jsx("strong",{children:"labyrinthe permanent"})," dans lequel chaque décision patrimoniale doit être examinée sous au moins ",t.jsx("strong",{children:"deux angles juridictionnels simultanément"}),", dans lequel les règles changent plus vite que les structures ne s'adaptent, et dans lequel ",t.jsx("strong",{children:"l'erreur de bonne foi est aussi coûteuse que l'erreur délibérée"}),". Ce casse tête n'est pas le fruit d'une malveillance réglementaire, il est la conséquence inévitable de la ",t.jsx("strong",{children:"coexistence de systèmes fiscaux nationaux 
760souverains"})," dans un monde où les capitaux, les personnes et les revenus ignorent les frontières."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le point de départ : la résidence fiscale française et ses implications globales"}),t.jsxs("p",{children:["La résidence fiscale française est un statut qui a des ",t.jsx("strong",{children:"conséquences globales"}),". La France impose ses résidents fiscaux sur ",t.jsx("strong",{children:"l'ensemble de leurs revenus mondiaux"}),", pas seulement sur les revenus de source française, mais sur tous les revenus, de quelque source et de quelque nature qu'ils soient, perçus n'importe où dans le monde. Ce principe d'",t.jsx("strong",{children:"imposition mondiale"})," est commun à la plupart des pays développés, mais ses implications pratiques pour un investisseur international sont considérables."]}),t.jsxs("p",{children:["Un résident fiscal français qui perçoit des dividendes d'une société américaine, des loyers d'un appartement à Lisbonne, des intérêts d'une obligation allemande et des distributions d'un fonds de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"})," luxembourgeois est en théorie imposable en France sur l'ensemble de ces revenus, ",t.jsx("strong",{children:"en plus de l'imposition qui peut s'appliquer dans chaque pays source"}),". Sans les ",t.jsx("strong",{children:"conventions fiscales bilatérales"})," que la France a conclues avec la quasi totalité de ses partenaires économiques, cette situation se traduirait par une ",t.jsx("strong",{children:"double imposition systématique"})," qui rendrait l'investissement international économiquement absurde."]}),t.jsxs("p",{children:["Les conventions fiscales bilatérales sont précisément conçues pour ",t.jsx("strong",{children:"éviter cette double imposition"}),". Elles définissent, pour chaque catégorie de revenus et pour chaque paire de pays, ",t.jsx("strong",{children:"quel État a le droit d'imposer en premier"})," et comment l'autre État élimine la double imposition, soit par un ",t.jsx("strong",{children:"mécanisme d'exonération"}),", soit par un ",t.jsx("strong",{children:"mécanisme de crédit d'impôt"}),". La France a conclu ",t.jsx("strong",{children:"plus de cent vingt conventions"})," de ce type, l'un des réseaux conventionnels les plus denses du monde. Mais ce réseau dense n'est pas un réseau simple. Chaque convention est différente, chaque catégorie de revenus est traitée différemment, et les modalités d'élimination de la double imposition varient d'un traité à l'autre d'une façon qui requiert une ",t.jsx("strong",{children:"expertise spécialisée"})," pour être correctement appliquée."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les revenus immobiliers étrangers : l'exemple pédagogique"}),t.jsx("p",{children:"L'imposition des revenus immobiliers étrangers pour un résident fiscal français illustre parfaitement la complexité du sujet et la façon dont les conventions bilatérales fonctionnent en pratique."}),t.jsxs("p",{children:["Prenons l'exemple d'un ",t.jsx("strong",{children:"appartement locatif détenu à Madrid"}),". Les revenus locatifs sont imposables en Espagne au titre de la fiscalité espagnole applicable aux non résidents, un ",t.jsx("strong",{children:"prélèvement forfaitaire sur les revenus bruts"})," dans la plupart des configurations. La convention fiscale franco espagnole prévoit que ces revenus sont ",t.jsx("strong",{children:"imposables en Espagne"}),", pays de situation de l'immeuble, et ",t.jsx("strong",{children:"exonérés d'impôt sur le revenu en France"}),". Mais ils ne sont pas totalement ignorés par le fisc français : ils entrent dans le calcul du taux effectif d'imposition applicable aux autres revenus du foyer fiscal, le mécanisme dit du ",t.jsx("strong",{children:"taux effectif"})," ou du taux moyen. Ils doivent également être ",t.jsx("strong",{children:"déclarés sur la déclaration de revenus française"}),", dans la case appropriée. Et les ",t.jsx("strong",{children:"prélèvements sociaux français"})," ne s'appliquent pas à ces revenus, grâce à la jurisprudence européenne qui a reconnu l'incompatibilité des prélèvements sociaux français avec le droit européen pour les revenus de source européenne."]}),t.jsxs("p",{children:["Pour un appartement au ",t.jsx("strong",{children:"Royaume Uni après le Brexit"}),", les règles sont différentes, le droit européen ne s'applique plus, et les prélèvements sociaux peuvent redevenir dus selon les configurations. Pour un appartement aux ",t.jsx("strong",{children:"États Unis"}),", la ",t.jsx("strong",{children:"convention franco américaine"})," s'applique avec ses propres modalités. Pour un appartement en Thaïlande, une convention spécifique est applicable. Chaque pays a ses règles propres, chaque convention a ses particularités, et l'investisseur qui détient des actifs immobiliers dans plusieurs pays doit ",t.jsx("strong",{children:"maîtriser autant de régimes fiscaux différents qu'il a de juridictions d'investissement"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les structures étrangères : le terrain miné de la fiscalité internationale"}),t.jsx("p",{children:"Si l'imposition des revenus immobiliers directs est complexe mais gérable, l'imposition des revenus perçus via des structures étrangères entre dans une dimension de complexité supérieure qui est l'une des sources de difficultés les plus fréquentes pour les investisseurs français à l'international."}),t.jsxs("p",{children:["Le droit fiscal français a développé, au fil des années, un ",t.jsx("strong",{children:"arsenal de mesures anti abus"})," destinées à prévenir l'utilisation de structures étrangères pour différer ou éviter l'imposition française. Ces mesures sont légitimes dans leur objet mais créent des ",t.jsx("strong",{children:"obligations déclaratives lourdes"}
760)," et des ",t.jsx("strong",{children:"risques fiscaux significatifs"})," pour des investisseurs dont les motivations sont entièrement légitimes."]}),t.jsxs("p",{children:["L'",t.jsx("strong",{children:"article 123 bis du Code général des impôts"})," est l'une de ces mesures. Il prévoit que les résidents fiscaux français qui détiennent directement ou indirectement plus de 10% des droits dans une entité étrangère soumise à un régime fiscal privilégié, défini comme un régime dont l'imposition est inférieure à la moitié de ce qu'elle serait en France, sont imposables en France sur les revenus de cette entité comme si ces revenus leur avaient été directement distribués, même en l'absence de distribution effective. Cette règle de ",t.jsx("strong",{children:"transparence fiscale"})," peut créer des impositions significatives sur des revenus non perçus, une situation que beaucoup d'investisseurs découvrent avec stupéfaction lors d'un contrôle fiscal."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"trusts étrangers"})," sont un autre terrain particulièrement délicat. La France n'a pas dans son droit interne de concept équivalent au trust anglo saxon, ce qui crée une ",t.jsx("strong",{children:"incertitude juridique"})," sur le traitement fiscal applicable qui se traduit par des ",t.jsx("strong",{children:"obligations déclaratives spécifiques"}),", des ",t.jsx("strong",{children:"risques de requalification"})," et des ",t.jsx("strong",{children:"coûts de compliance élevés"})," pour les investisseurs français bénéficiaires de trusts constitués à l'étranger."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"fonds étrangers non agréés en France"})," posent également des questions fiscales complexes. Un fonds de venture capital américain, un fonds de private equity caïmanais ou une structure d'investissement irlandaise qui ne bénéficie pas de l'agrément de l'AMF peut être traité fiscalement de façon très différente selon sa forme juridique précise, ce qui peut transformer un investissement par ailleurs attractif en ",t.jsx("strong",{children:"cauchemar déclaratif"})," si la structure fiscale applicable n'a pas été analysée en amont."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le CRS et l'échange automatique d'informations : la fin de l'opacité"}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"Common Reporting Standard"})," mis en place par l'OCDE et adopté par ",t.jsx("strong",{children:"plus de cent vingt pays"})," a fondamentalement transformé l'environnement dans lequel les investissements internationaux sont réalisés. Son implication pratique pour les résidents fiscaux français est simple et radicale : ",t.jsx("strong",{children:"l'administration fiscale française reçoit automatiquement chaque année des informations"})," sur l'ensemble des comptes bancaires, contrats d'",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"assurance vie"})," et structures de détention détenus par des résidents fiscaux français dans tous les pays participants."]}),t.jsxs("p",{children:["Cette ",t.jsx("strong",{children:"transparence automatique"})," a mis fin à des pratiques qui existaient, le non déclaration de comptes étrangers, la dissimulation de revenus de source étrangère, mais elle crée aussi des ",t.jsx("strong",{children:"obligations déclaratives"})," que beaucoup d'investisseurs de bonne foi n'ont pas encore pleinement intégrées dans leurs pratiques."]}),t.jsxs("p",{children:["Tout résident fiscal français qui détient un compte bancaire à l'étranger, une assurance vie dans une juridiction étrangère, des droits dans une structure étrangère ou un contrat de capitalisation à l'étranger est ",t.jsx("strong",{children:"tenu de le déclarer annuellement"})," à l'administration fiscale française, indépendamment du fait que ces actifs génèrent des revenus ou non. L'omission de cette déclaration expose à des amendes significatives, ",t.jsx("strong",{children:"1 500 euros par compte non déclaré"})," pour les pays non conventionnés, avec des majorations pouvant atteindre ",t.jsx("strong",{children:"10 000 euros"})," pour les pays à régime fiscal privilégié, qui s'ajoutent aux pénalités pour insuffisance de déclaration des revenus correspondants."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"conformité déclarative internationale n'est pas une option"})," pour les investisseurs français qui ont des actifs à l'étranger. C'est une obligation légale dont les conséquences du non respect sont d'autant plus sévères que les informations sont désormais transmises automatiquement à l'administration française sans que l'investisseur puisse en ignorer l'existence."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'exit tax : le prix de la mobilité internationale"}),t.jsxs("p",{children:["L'",t.jsx("strong",{children:"exit tax"})," est l'une des contraintes les plus mal anticipées par les résidents fiscaux français qui envisagent de s'installer à l'étranger. Elle illustre parfaitement la façon dont le droit fiscal français cherche à ",t.jsx("strong",{children:"préserver son droit d'imposition sur des plus values latentes"})," au moment où les contribuables quittent son champ d'application."]}),t.jsxs("p",{children:["Le mécanisme est le suivant. Lorsqu'un résident fiscal français transfère son domicile fiscal hors de France, il est présumé avoir réalisé l'ensemble de ses plus values latentes sur ses droits sociaux, valeurs mobilières et créances à la date du transfert, et il est imposable sur ces ",t.jsx("strong",{children:"plus values fictives"})," au moment de son départ. L'imposition effective peut être différée si l'investisseur s'installe dans un État membre de l'Union Européenne ou dans un État ayant conclu avec la France une convention d'assistance administrative et de recouvrement, mais elle reste due si les actifs sont effectivement cédés dans les délais prévus."]}),t.jsxs("p",{children:["Pour un entrepreneur dont la ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding patrimoniale"})," détient des participations dont la valeur a considérablement progressé depuis leur acquisition, l'exit tax peut représenter une somme considérable, ",t.jsx("strong",{children:"plusieurs millions d'euros"}
760)," dans les cas les plus significatifs. Cette contrainte ne rend pas la mobilité internationale impossible, mais elle impose une ",t.jsx("strong",{children:"planification fiscale anticipée"})," qui doit intervenir ",t.jsx("strong",{children:"bien avant le départ effectif"}),", idéalement plusieurs années en amont, lorsque des restructurations peuvent être réalisées dans des conditions optimales."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les paradoxes de la mobilité : partir sans partir"}),t.jsxs("p",{children:["L'un des aspects les plus frustrants de la fiscalité internationale française est la ",t.jsx("strong",{children:"rigidité de la définition de la résidence fiscale"}),", et les conséquences parfois absurdes qu'elle génère pour des personnes dont la vie est réellement partagée entre plusieurs pays."]}),t.jsxs("p",{children:["La résidence fiscale française est déterminée selon ",t.jsx("strong",{children:"plusieurs critères alternatifs"}),", le ",t.jsx("strong",{children:"foyer habituel"}),", le ",t.jsx("strong",{children:"lieu d'exercice de l'activité professionnelle principale"}),", le ",t.jsx("strong",{children:"centre des intérêts économiques"}),". Un contribuable qui satisfait à l'un de ces critères est considéré comme résident fiscal français, même s'il passe une fraction significative de son temps hors de France. Et les conventions fiscales bilatérales prévoient des ",t.jsx("strong",{children:"critères de départage"}),", les ",t.jsx("em",{children:"tie breaking rules"}),", pour les situations dans lesquelles deux pays revendiquent simultanément la résidence fiscale d'un même contribuable."]}),t.jsx("p",{children:"Ces règles créent des situations complexes pour des profils de plus en plus fréquents : le dirigeant dont l'entreprise est basée en France mais qui vit une partie de l'année en Suisse, le retraité fortuné qui partage sa vie entre la France et le Portugal, l'entrepreneur qui a créé une activité à l'étranger tout en conservant des liens économiques et familiaux forts en France. Dans toutes ces situations, la détermination de la résidence fiscale n'est pas automatique, elle requiert une analyse précise de l'ensemble des critères et une application rigoureuse des conventions applicables, dont les résultats peuvent surprendre."}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre méthode"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Coordination fiscale internationale"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Cartographie fiscale préalable de chaque nouvelle juridiction d'investissement, revue fiscale internationale annuelle, centralisation des obligations déclaratives et coordination entre vos conseils locaux et votre conseil fiscal global : nous assurons la cohérence de votre fiscalité sur toutes vos juridictions."}),t.jsxs(C,{to:"/impot-declaration",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre approche fiscale",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que personne ne coordonne vraiment"}),t.jsx("p",{children:"La frustration réelle des investisseurs français exposés à l'international ne vient pas seulement de la complexité des règles, elle vient de l'absence quasi-totale de coordination entre les différents conseils qui devraient collectivement gérer cette complexité."}),t.jsxs("p",{children:["L'",t.jsx("strong",{children:"avocat fiscaliste français"})," connaît parfaitement le droit fiscal français et les conventions bilatérales applicables. Il ne connaît pas nécessairement le droit fiscal espagnol, américain ou singapourien dans leur détail. L'",t.jsx("strong",{children:"avocat local dans chaque pays source"})," connaît parfaitement son propre droit fiscal mais ne maîtrise pas les interactions avec le droit français. Le ",t.jsx("strong",{children:"conseiller en gestion de patr
760imoine"})," qui suit les investissements financiers ne connaît souvent ni l'un ni l'autre en profondeur. Et ",t.jsx("strong",{children:"personne dans cet écosystème n'a spontanément le mandat pour assurer la cohérence globale"})," entre toutes les dimensions et toutes les juridictions."]}),t.jsxs("p",{children:["Le résultat est prévisible : des ",t.jsx("strong",{children:"optimisations réalisées dans une juridiction qui créent des problèmes dans une autre"}),". Des déclarations conformes dans chaque pays prise individuellement mais ",t.jsx("strong",{children:"incohérentes entre elles"})," lorsqu'elles sont examinées de façon consolidée. Des ",t.jsx("strong",{children:"structures mises en place il y a dix ans"})," dans un contexte réglementaire différent qui sont devenues non conformes sans que personne n'ait détecté l'évolution. Des ",t.jsx("strong",{children:"risques fiscaux qui s'accumulent silencieusement"})," jusqu'au contrôle fiscal qui les révèle tous simultanément."]}),t.jsxs("p",{children:["La gestion fiscale internationale sérieuse requiert une ",t.jsx("strong",{children:"coordination"})," qui n'existe que dans les structures patrimoniales les plus organisées, celles qui ont un ",t.jsx("strong",{children:"coordinateur central"}),", généralement un avocat fiscaliste international ou un ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"family office"})," avec une ",t.jsx("strong",{children:"expertise multi juridictionnelle"}),", capable de voir l'ensemble et d'assurer la cohérence entre toutes les parties."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les bonnes pratiques : ce que les investisseurs les mieux organisés font différemment"}),t.jsx("p",{children:"Les investisseurs français qui gèrent efficacement leur exposition internationale partagent quelques pratiques communes qui méritent d'être mentionnées."}),t.jsxs("p",{children:[t.jsx("strong",{children:"La cartographie fiscale préalable"})," est la première. Avant tout investissement dans une nouvelle juridiction, ils réalisent, ou font réaliser, une analyse fiscale complète de l'imposition applicable dans le pays source, de l'interaction avec la fiscalité française via la convention bilatérale applicable, des obligations déclaratives générées et des risques spécifiques liés à la structure de l'investissement envisagé. Cette analyse en amont coûte quelques milliers d'euros d'honoraires, et évite régulièrement des redressements fiscaux qui en coûtent plusieurs centaines de milliers."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"La revue fiscale internationale annuelle"})," est la deuxième pratique. Une fois par an, l'ensemble des actifs étrangers, structures internationales et revenus de source étrangère est passé en revue avec un conseil spécialisé pour vérifier la conformité de l'ensemble, identifier les évolutions réglementaires qui pourraient impacter les structures existantes et anticiper les opportunités d'optimisation disponibles dans l'année en cours."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"La centralisation des obligations déclaratives"})," est la troisième pratique. Plutôt que de traiter chaque déclaration pays par pays avec des interlocuteurs différents qui n'ont pas la vision de l'ensemble, les investisseurs les mieux organisés centralisent la responsabilité de la conformité déclarative internationale auprès d'un conseil unique, généralement un cabinet d'avocats fiscalistes avec une pratique internationale, qui assure la cohérence entre toutes les déclarations et prend en charge la coordination avec les conseils locaux dans chaque juridiction."]}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:"Résider en France et investir à l'international n'est pas une impossibilité fiscale. C'est une réalité de plus en plus fréquente qui exige simplement une gestion rigoureuse, une anticipation systématique et une coordination que ni le hasard ni la bonne volonté individuelle des conseils sectoriels ne peuvent produire seuls. La complexité n'est pas soluble, elle est gérée. Et la différence entre un investisseur qui la sub
760it et celui qui la maîtrise tient presque entièrement à la qualité de l'architecture de conseil qu'il a mis en place autour de lui."}),t.jsxs("div",{className:"not-prose mt-10 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:"Maîtriser votre fiscalité internationale"}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:"Cartographie fiscale préalable, revue internationale annuelle, centralisation des obligations déclaratives et coordination multi juridictionnelle : nous construisons l'architecture fiscale qui permet à vos investissements internationaux de rester conformes, optimisés et sereins."}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/impot-declaration",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Découvrir notre approche fiscale",t.jsx(V,{className:"w-4 h-4"})]}),t.jsx(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:"Découvrir la Gestion Privée"})]})]}),t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La fiscalité internationale est un domaine en évolution constante. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en fiscalité internationale avant toute décision d'investissement à l'étranger ou de transfert de résidence fiscale."})]})})}),t.jsx(re,{})]})},K_e=[.16,1,.3,1],Q_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Gouvernance familiale · Juin 2026 · 15 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"La pérennité du capital sans l'immobiliser : le secret des familles qui durent"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Gouvernance dynastique, diversification temporelle, transmission des valeurs : ce que les patrimoines centenaires ont compris que les autres n'ont pas encore saisi."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:K_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Il existe dans le monde quelques familles dont le patrimoine a traversé non pas une génération mais cinq, dix, parfois vingt. Des familles dont les noms sont associés à des institutions, des territoires, des industries, qui ont survécu aux révolutions, aux guerres, aux crises financières, aux changements de régime fiscal, à la dispersion géographique et aux conflits internes. Ce que ces familles ont accompli n'est pas seulement remarquable, c'est ",t.jsx("strong",{children:"statistiquement improbable"}),". Les études sur la ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"persistance du patrimoine"})," sur plusieurs générations sont éloquentes : en moyenne, une fortune créée par un entrepreneur ",t.jsx("strong",{children:"disparaît en trois générations"}),". Le dicton est universel, les Anglo Saxons disent ",t.jsx("em",{children:"shirtsleeves to shirtsleeves in three generations"}),", les Chinois disent ",t.jsx("em",{children:"fu bu guo san dai"}),", les Français disent ",t.jsx("em",{children:"père bâtisseur, fils dilapideur, petit fils mendiant"}),". Ce que les familles qui ont échappé à cette trajectoire ont fait différemment mérite d'être compris, non pas pour être copié à l'identique, mais pour en extraire les ",t.jsx("strong",{children:"principes qui transcendent les contextes"})," historiques et géographiques."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La première erreur : confondre protection et conservation"}),t.jsxs("p",{children:["La distinction entre ",t.jsx("strong",{children:"protéger"})," un patrimoine et le ",t.jsx("strong",{children:"conserver"})," est fondamentale, et c'est souvent sa confusion qui explique l'échec des stratég
760ies patrimoniales transgénérationnelles."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Conserver un patrimoine"}),", c'est maintenir sa forme. Garder les mêmes actifs, les mêmes structures, les mêmes allocations. C'est une stratégie qui donne l'illusion de la solidité mais qui est en réalité l'une des plus risquées sur un horizon de plusieurs générations. Les actifs qui constituaient la richesse d'une famille en 1920, terres agricoles, immeubles de rapport dans des centres villes industriels, participations dans des sociétés minières, n'étaient plus les mêmes actifs pertinents en 1980, et encore moins en 2020. Les familles qui ont tenté de conserver leurs actifs originels ont en grande partie disparu de la carte des fortunes durables."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Protéger un patrimoine"}),", c'est maintenir sa capacité à générer de la valeur, à traverser les cycles et à s'adapter aux transformations économiques, fiscales et sociétales. C'est une stratégie dynamique qui accepte que la forme du patrimoine évolue radicalement, tout en préservant la substance, la gouvernance et les valeurs qui permettent à la famille de rester unie autour d'un projet commun. Les familles qui ont traversé plusieurs générations avec succès sont presque toutes des familles qui ont su transformer profondément leurs actifs à plusieurs reprises, sans jamais perdre le fil de la continuité familiale qui donnait sens à cette transformation."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La diversification temporelle : investir dans plusieurs horizons simultanément"}),t.jsxs("p",{children:["L'une des caractéristiques les plus distinctives des patrimoines transgénérationnels est leur approche de la diversification, une diversification qui ne porte pas seulement sur les classes d'actifs ou les zones géographiques, mais sur les ",t.jsx("strong",{children:"horizons temporels"}),"."]}),t.jsxs("p",{children:["Une famille dont le patrimoine est géré avec une perspective de plusieurs générations n'optimise pas uniquement pour le rendement à dix ans. Elle maintient simultanément des actifs dont la ",t.jsx("strong",{children:"liquidité est immédiate"}),", pour faire face aux besoins courants et aux opportunités de court terme, des actifs dont la création de valeur se déploie sur dix à vingt ans, ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}),", immobilier de transformation, ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"dette privée"}),", et des actifs dont la valeur se révèle sur des horizons de cinquante ou cent ans, ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"forêts"}),", terres agricoles, participations dans des entreprises familiales non cotées, ",t.jsx(C,{to:"/art",className:"text-primary underline-offset-4 hover:underline",children:"œuvres d'art de grande qual
760ité"}),"."]}),t.jsxs("p",{children:["Cette ",t.jsx("strong",{children:"stratification temporelle de l'allocation"})," est fondamentalement différente de ce que pratiquent la plupart des investisseurs privés, dont l'horizon effectif de gestion, malgré leurs déclarations d'intention, ne dépasse guère cinq à dix ans. Elle suppose une ",t.jsx("strong",{children:"gouvernance familiale suffisamment forte"})," pour résister à la pression de court terme, celle des membres de la famille qui voudraient monétiser une partie du patrimoine, celle des conseillers qui préfèrent les actifs liquides et valorisables facilement, celle des crises qui poussent à l'action réactive plutôt qu'à la ",t.jsx("strong",{children:"patience stratégique"}),"."]}),t.jsxs("p",{children:["La ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"forêt"})," est l'exemple le plus frappant de cette diversification temporelle. Une forêt achetée aujourd'hui ne produira ses rendements maximaux que dans ",t.jsx("strong",{children:"cinquante ou soixante dix ans"}),". Aucun investisseur individuel ne peut rationnellement faire ce calcul pour lui même. Seule une famille qui se projette sur plusieurs générations peut intégrer cet horizon dans son allocation sans que cela soit perçu comme une aberration économique. Et pourtant, les familles européennes dont les forêts font partie du patrimoine depuis plusieurs siècles disposent d'actifs dont la ",t.jsx("strong",{children:"valeur réelle et la résilience face à l'inflation"})," ont été prouvées sur des horizons que peu d'autres classes d'actifs peuvent revendiquer."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La gouvernance comme actif : ce qui vaut plus que le patrimoine lui même"}),t.jsxs("p",{children:["Les familles qui ont traversé plusieurs générations sans se déchirer ni se disperser ont presque toutes une caractéristique commune que les observateurs extérieurs remarquent rarement : elles ont investi dans leur ",t.jsx("strong",{children:"gouvernance"})," avec autant de soin qu'elles ont investi dans leurs actifs."]}),t.jsxs("p",{children:["La gouvernance d'une famille patrimoniale multigénérationnelle ne se résume pas à un pacte d'associés ou à des statuts de ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding"}),". C'est un ensemble de règles, de processus, d'instances et de valeurs qui organisent la façon dont la famille prend des ",t.jsx("strong",{children:"décisions collectives"}),", résout ses désaccords, intègre les nouvelles générations et gère les ",t.jsx("strong",{children:"transitions entre générations"}),". C'est un système vivant qui doit être entretenu, adapté et transmis avec autant d'attention que le patrimoine lui même."]}),t.jsxs("p",{children:["Les outils de gouvernance varient selon les familles et les cultures, ",t.jsx("strong",{children:"conseil de famille"}),", ",t.jsx("strong",{children:"charte familiale"}),", ",t.jsx("strong",{children:"comité d'investissement"}),", assemblée générale annuelle des membres de la famille, processus de formation des jeunes générations. Mais leur fonction commune est toujours la même : créer un espace structuré dans lequel les décisions importantes peuvent être prises collectivement, dans lequel les désaccords peuvent être exprimés et résolus sans menacer la cohésion familiale, et dans lequel les générations successives peuvent s'approprier le patrimoine comme un ",t.jsx("strong",{children:"projet commun"})," plutôt que comme un héritage subi."]}),t.jsxs("p",{children:["L'",t.jsx("strong",{children:"absence de gouvernance formalisée"})," est la cause la plus fréquente de la désintégration patrimoniale transgénérationnelle, bien plus que la mauvaise performance des investissements ou les erreurs fiscales. Des héritiers qui ne partagent aucun cadre commun de décision, aucune vision commune de ce que le patrimoine doit servir, aucun processus pour résoudre leurs inévitables désaccords, ces héritiers finissent presque toujours par vendre, disperser ou détruire ce que leur
760s parents avaient construit. Non par malveillance, mais par ",t.jsx("strong",{children:"incapacité à maintenir une entité collective"})," dont la raison d'être n'a jamais été explicitement définie."]}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre méthode"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Gouvernance familiale et structuration transgénérationnelle"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Nous accompagnons les familles dans la formalisation de leur gouvernance patrimoniale, charte familiale, comité d'investissement, processus de décision collectifs et transmission des valeurs. Une architecture de gouvernance conçue pour durer au delà des générations."}),t.jsxs(C,{to:"/family-office/gouvernance-familiale",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre approche Gouvernance Familiale",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La transmission des valeurs : ce que l'argent ne peut pas acheter mais ce que son absence détruit"}),t.jsxs("p",{children:["Il existe une dimension de la transmission transgénérationnelle dont les conseillers patrimoniaux parlent rarement, non pas parce qu'elle est sans importance, mais parce qu'elle échappe entièrement à leur domaine d'expertise. C'est la ",t.jsx("strong",{children:"transmission des valeurs"}),", la culture familiale autour de l'argent, du travail, de la responsabilité, de la philanthropie et du rapport à la richesse, qui détermine si les générations suivantes seront des gardiens responsables du patrimoine ou des bénéficiaires passifs qui en dilapident la substance."]}),t.jsxs("p",{children:["Les familles multigénérationnelles qui réussissent transmettent à leurs enfants quelque chose de bien plus précieux que des actifs et des structures. Elles transmettent une ",t.jsx("strong",{children:"façon de penser le patrimoine"}),", comme un outil au service d'un projet plutôt que comme une fin en soi, comme une ",t.jsx("strong",{children:"responsabilité collective"})," plutôt que comme un privilège individuel, comme le résultat d'un travail multigénérationnel qui mérite d'être préservé et augmenté plutôt que consommé."]}),t.jsxs("p",{children:["Cette ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"transmission des valeurs"})," ne se fait pas par des actes notariés ni par des structures juridiques. Elle se fait dans les ",t.jsx("strong",{children:"conversations familiales sur l'argent"}),", des conversations que beaucoup de familles évitent par pudeur ou par crainte de créer des attentes. Elle se fait dans les décisions que les parents prennent en matière d'",t.jsx("strong",{children:"éducation financière"})," de leurs enfants, en les impliquant progressivement dans la compréhension et la gestion du patrimoine familial, en leur confiant des responsabilités proportionnées à leur maturité. Elle se fait dans l'exemple, la façon dont les membres de la génération précédente traitent leur patrimoine, leurs partenaires, leurs employés et leurs obligations sociales."]}),t.jsxs("p",{children:["Les familles dont le patrimoine a disparu en deux ou trois générations partagent souvent une caractéristique commune : les héritiers n'ont jamais compris ",t.jsx("strong",{children:"d'où venait la richesse"}),", ce qu'elle avait coûté à construire, et ce qu'elle impliquait comme responsabilités. Ils l'ont reçue comme un droit, l'ont considérée comme inépuisable, et ont découvert trop tard qu'elle était aussi ",t.jsx("strong",{children:"fragile que n'importe quel autre actif mal géré"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La règle des trois tiers : une heuristique transgénérationnelle"}),t.jsxs("p",{children:["Les familles les plus durables ont souvent développé, consciemment ou intuitivement, une règle d'allocation qui ressemble à ce que les praticiens appellent la ",t.jsx("strong",{children:"règle des trois tiers"}),". Elle ne correspond à aucune prescription académique précise, mais reflète une sagesse pratique accumulée sur plusieurs générations."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le premier tiers"})," est consacré aux actifs productifs de revenus courants, ",t.jsx(C,{to:"/scpi",className:"text-primary underline-offset-4 hover:underline",children:"immobilier locatif"}),", obligations, dividendes d'entreprises matures. Ces actifs financent le train de vie de la famille sans nécessiter de liquidation du capital. Ils sont l'équivalent du ",t.jsx("strong",{children:"salaire du patr
760imoine"}),", réguliers, prévisibles, relativement stables."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le deuxième tiers"})," est consacré aux actifs de croissance à moyen terme, ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}),", actifs de transformation, participations dans des entreprises en développement. Ces actifs ne distribuent pas de revenus réguliers mais créent de la valeur sur des horizons de cinq à quinze ans. Ils sont la source principale d'appréciation du patrimoine sur une génération."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Le troisième tiers"})," est consacré aux actifs de très long terme, ",t.jsx(C,{to:"/groupement-forestier",className:"text-primary underline-offset-4 hover:underline",children:"forêts"}),", terres agricoles, ",t.jsx(C,{to:"/art",className:"text-primary underline-offset-4 hover:underline",children:"œuvres d'art de grande qualité"}),", participations dans des entreprises familiales non cotées transmises de génération en génération. Ces actifs ne sont jamais vendus sauf circonstance extraordinaire. Ils sont l'ancrage du patrimoine dans le temps long, ce qui reste quand tout le reste a été transformé, réalloué ou consommé."]}),t.jsxs("p",{children:["Cette répartition n'est pas une règle mécanique, c'est un ",t.jsx("strong",{children:"principe d'équilibre entre trois temporalités"})," qui empêche le patrimoine de se concentrer excessivement sur une seule logique de rendement au détriment des autres. Les familles qui ont abandonné ce principe, en concentrant tout sur les actifs de rendement court pour maximiser les distributions, ou en figeant tout dans des actifs illiquides impossibles à adapter, ont presque toutes fini par se trouver dans des situations de contrainte qui les ont forcées à ",t.jsx("strong",{children:"vendre dans de mauvaises conditions"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La philanthropie comme outil de cohésion et de sens"}),t.jsxs("p",{children:["Les grandes familles durables ont presque toutes développé une dimension philanthropique qui dépasse la simple générosité personnelle pour devenir un outil de ",t.jsx("strong",{children:"gouvernance familiale"})," à part entière. Cette observation surprend souvent, la philanthropie est généralement perçue comme une dépense, pas comme un investissement. Dans une perspective transgénérationnelle, elle est les deux simultanément."]}),t.jsxs("p",{children:["La philanthropie familiale, une ",t.jsx("strong",{children:"fondation"}),", un ",t.jsx("strong",{children:"fonds de dotation"}),", un programme d'engagement communautaire, crée plusieurs bénéfices qui n'apparaissent pas dans les comptes du patrimoine mais qui contribuent directement à sa pérennité. Elle donne aux membres de la famille un ",t.jsx("strong",{children:"espace d'engagement commun"})," qui transcende les désaccords sur la gestion des actifs, un projet collectif dont tous peuvent être fiers indépendamment de leurs positions respectives sur les décisions d'investissement. Elle transmet aux jeunes générations une vision du patrimoine comme outil de ",t.jsx("strong",{children:"responsabilité sociale"})," plutôt que comme privilège personnel, ce qui réduit le risque de comportements prédateurs ou négligents à l'égard du patrimoine familial. Et elle construit une ",t.jsx("strong",{children:"réputation familiale"})," qui a une valeur économique réelle, en facilitant les relations d'affaires, en ouvrant des portes institutionnelles et en créant un capital social que les seules performances financières ne produisent pas."]}),t.jsx("p",{children:"Les familles Rockefeller, Rothschild, Agnelli, pour citer des exemples publiquement documentés, ont toutes développé des dimensions philanthropiques significatives qui ont contribué à leur cohésion transgénérationnelle autant qu'à leur réputation internationale. Ce n'est pas une coïncidence."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que l'adversité révèle et construit"}),t.jsx("p",{children:"Les patrimoines qui ont traversé plusieurs générations ne sont pas ceux qui ont évité les crises. Ce sont ceux qui les ont traversées sans se désintégrer, et qui en sont souvent sortis renforcés. Les guerres mondiales, les révolutions politiques, les crises financières majeures, les changements de régime fiscal radicaux, les grandes familles durables ont toutes traversé au moins plusieurs de ces épreuves."}),t.jsxs("p",{children:["Ce qui leur a permis de survivre n'était généralement pas la sophistication de leurs structures d'investissement, ces structures peuvent être réduites à néant par un changement de régime ou une nationalisation. C'était la ",t.jsx("strong",{children:"cohésion humaine"}),", la capacité à prendre des décisions collectives dans l'urgence, la ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"diversification entre actifs et juridictions"})," qui rendait impossible leur destruction simultanée, et les ",t.jsx("strong",{children:"valeurs partagées"})," qui permettaient à la famille de reconstruire à partir de rien si nécessaire."]}),t.jsxs("p",{children:["Cette résilience ",t.jsx("strong",{children:"n'est pas le fruit du hasard"}),". Elle se construit délibérément, dans les moments de calme, par la gouvernance, la transmission des valeurs et la diversification temporelle. Elle est l'aboutissement d'une approche patrimoniale qui prend au sérieux la question que peu d'investisseurs se posent vraiment : ",t.jsx("strong",{children:"que veux je que ce patrimoine soit encore dans cent ans, et qu'est ce que je fais aujourd'hui pour que cette vision soit réalisable ?"})]}),t.jsx("p",{children:"Les familles qui ont traversé plusieurs générations sans perdre ni leur patr
760imoine ni leur cohésion n'ont pas trouvé une formule magique que les autres ignorent. Elles ont simplement résolu un problème que la plupart des familles ne se posent pas : comment faire en sorte que la richesse serve la famille plutôt que la famille serve la richesse. La réponse à cette question n'est pas dans les structures juridiques ni dans les stratégies d'investissement, elle est dans la gouvernance, dans la transmission des valeurs et dans la capacité à penser le patrimoine comme un projet multigénérationnel plutôt que comme une accumulation individuelle. Ces qualités ne s'achètent pas. Elles se construisent, lentement, délibérément, par des décisions qui s'inscrivent dans un temps que la plupart des investisseurs n'ont pas encore appris à habiter."}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"En pratique"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Une approche pensée pour les horizons les plus longs"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"La protection transgénérationnelle du patrimoine ne s'improvise pas. Elle demande une gouvernance formalisée, une allocation stratifiée sur plusieurs temporalités, et une transmission délibérée des valeurs. Nos équipes accompagnent les familles dans la construction de cette architecture, de la structuration juridique à l'éducation des générations futures."}),t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre approche Family Office",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("p",{className:"text-sm text-muted-foreground pt-8 border-t border-border",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un conseiller patrimonial qualifié pour construire une stratégie adaptée à votre situation et à vos objectifs transgénérationnels."})]})})}),t.jsx("section",{className:"py-20 bg-gradient-signature",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-white/70 mb-4",children:"Construire pour durer"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-white mb-6 text-left",children:"Le patrimoine comme projet familial"}),t.jsx("p",{className:"text-white/80 text-base leading-relaxed max-w-xl mx-auto mb-8",children:"La pérennité du patrimoine ne dépend pas des actifs que vous détenez aujourd'hui, mais de la gouvernance que vous construisez pour demain. Discutons de la structuration adaptée à votre famille."}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Découvrir le Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full border border-white/30 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:["Gestion Privée",t.jsx(V,{className:"w-4 h-4"})]})]})]})}),t.jsx(re,{})]})},Y_e=[.16,1,.3,1],J_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Family Office · Juin 2026 · 15 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Le vrai rôle d'un family office : pas gérer des actifs, mais gérer la complexité"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Coordination, arbitrage des priorités, vision consolidée : pourquoi le family office est d'abord un système de gouvernance avant d'être un gestionnaire de portefeuille."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:Y_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Le malentendu est profond et répandu. Lorsque l'on demande à un investisseur fortuné ce que fait son family office, il répond presque invariablement en termes d'actifs, il gère mon portefeuille, il sélectionne mes fonds, il suit mes investissements immobiliers. Cette réponse n'est pas fausse. Mais elle décrit la ",t.jsx("strong",{children:"partie visible d'un iceberg"})," dont la masse essentielle est invisible, et c'est cette masse invisible qui constitue la vraie valeur d'un ",t.jsx(C,{to:"/family-office",className:"text-primary underline-offset-4 hover:underline",children:"family office"})," bien conçu. La gestion des actifs est une ",t.jsx("strong",{children:"commodité"})," que des dizaines de prestataires peuvent fournir avec compétence. La ",t.jsx("strong",{children:"gestion de la complexité"})," est une rareté que seule une poignée de structures sont véritablement capables d'assurer. Comprendre cette distinction, c'est comprendre pourquoi les family offices existent et ce qui justifie leur coût."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que la gestion des actifs ne résout pas"}),t.jsxs("p",{children:["Il existe aujourd'hui un marché profond et compétitif pour la gestion des actifs financiers. Des ",t.jsx(C,{to:"/gestion-privee",className:"text-primary underline-offset-4 hover:underline",children:"banques privées"})," de premier plan, des sociétés de gestion indépendantes, des plateformes digitales sophistiquées, tous proposent une exécution de qualité sur les actifs cotés, un accès croissant aux actifs alternatifs et des outils de reporting de plus en plus élaborés. Le prix de la gestion financière n'a jamais été aussi bas, la ",t.jsx("strong",{children:"qualité d'exécution n'a jamais été aussi bonne"}),", et l'accès aux classes d'actifs institutionnelles n'a jamais été aussi démocratisé."]}),t.jsxs("p",{children:["Et pourtant, les familles dont le patrimoine est le plus complexe ne trouvent pas dans cette offre abondante une réponse satisfaisante à leurs besoins. Non pas parce que la gestion financière proposée est mauvaise, elle est souvent excellente dans son domaine. Mais parce que leur problème ",t.jsx("strong",{children:"n'est pas d'abord un problème de gestion financière"}),". C'est un problème de ",t.jsx("strong",{children:"coordination, de cohérence et d'arbitrage"})," entre des dimensions patrimoniales multiples et interdépendantes que personne n'est mandaté pour traiter simultanément."]}),t.jsxs("p",{children:["Un patrimoine de ",t.jsx("strong",{children:"vingt millions d'euros"})," comprenant une ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding opérationnelle"})," avec deux filiales, un portefeuille financier réparti entre deux banques, trois biens immobiliers dont un à l'étranger, des participations dans quatre fonds de ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"private equity"}),", un contrat d'",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"assurance-vie luxembourgeois avec FAS"}),", une stratégie de transmission en cours impliquant trois enfants et un conjoint, et des obligations déclaratives dans deux juridictions, ce patrimoine a besoin de quelque chose que aucune banque privée ne peut fournir seule. Il a besoin d'un ",t.jsx("strong",{children:"cerveau central qui voit l'ensemble"}),", qui comprend les interactions entre toutes les parties, et qui assure que les décisions prises dans chaque compartiment sont cohérentes avec les objectifs globaux et les contraintes des autres compartiments."]}),t.jsx("p",{children:"C'est précisément ce cerveau central que le family office est conçu pour être."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La complexité comme objet de gestion à part entière"}),t.jsxs("p",{children:["Dire que le family office gère la ",t.jsx("strong",{children:"complexité"})," plutôt que les actifs n'est pas une formule rhétorique. C'est une description précise d'une fonction qui a ses propres outils, ses propres processus et ses propres indicateurs de performance, distincts de ceux de la gestion financière."]}),t.jsxs("p",{children:["La complexité d'un patrimoine significatif se manifeste selon plusieurs dimensions qui s'alimentent mutuellement. La ",t.jsx("strong",{children:"complexité structurelle"})," vient du nombre de véhicules juridiques impliqués, holdings, SCI, sociétés opérationnelles, fonds, contrats, et de leurs interactions fiscales et juridiques. La ",t.jsx("strong",{children:"complexité informationnelle"})," vient de la dispersion des données entre de nombreux prestataires, aucun n'ayant la vision complète. La ",t.jsx("strong",{children:"complexité décisionnelle"})," vient du nombre de décisions qui doivent être prises de façon coordonnée dans de
760s délais souvent contraints. La ",t.jsx("strong",{children:"complexité temporelle"})," vient de la coexistence d'actifs dont les horizons et les logiques de performance sont radicalement différents. Et la ",t.jsx("strong",{children:"complexité humaine"})," vient des dynamiques familiales qui interfèrent avec les décisions rationnelles de gestion patrimoniale."]}),t.jsxs("p",{children:["Gérer cette complexité, c'est d'abord la ",t.jsx("strong",{children:"cartographier"}),", produire et maintenir une vision consolidée complète qui recense tous les actifs, tous les passifs, tous les engagements et toutes les interactions entre les différentes composantes du patrimoine. C'est ensuite l'",t.jsx("strong",{children:"arbitrer"}),", identifier les tensions entre les décisions optimales dans chaque compartiment et les décisions réellement optimales pour le patrimoine global. C'est enfin la ",t.jsx("strong",{children:"simplifier progressivement"}),", identifier les structures redondantes, les inefficacités accumulées, les décisions historiques qui n'ont plus de raison d'être et qui consomment de l'énergie de gestion sans créer de valeur."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'arbitrage des priorités : la fonction la plus précieuse et la moins visible"}),t.jsxs("p",{children:["Parmi toutes les fonctions d'un family office, l'",t.jsx("strong",{children:"arbitrage des priorités"})," est probablement la plus précieuse et la moins visible. Elle intervient dans des situations où plusieurs objectifs légitimes entrent en tension, et où l'absence d'arbitrage explicite produit des décisions incohérentes ou paralysantes."]}),t.jsxs("p",{children:["Voici une situation concrète et fréquente. Une famille est simultanément confrontée à une opportunité de ",t.jsx("strong",{children:"co-investissement en private equity"})," avec un délai de réponse de dix jours, à une demande de son notaire pour finaliser une ",t.jsx(C,{to:"/blog/donation-partage",className:"text-primary underline-offset-4 hover:underline",children:"donation-partage"})," dont la réalisation suppose de libérer des liquidités, et à une révision de l'allocation du portefeuille financier rendue nécessaire par une évolution du contexte de marché. Ces trois décisions sont indépendantes dans leur nature mais ",t.jsx("strong",{children:"interdépendantes dans leurs implications"})," de liquidité, de fiscalité et de timing. Traitées en silo par trois interlocuteurs différents qui ne se parlent pas, elles risquent de produire des ",t.jsx("strong",{children:"décisions mutuellement incohérentes"}),". Traitées par un family office disposant d'une vision consolidée, elles donnent lieu à un arbitrage explicite qui prend en compte les contraintes et les priorités de l'ensemble."]}),t.jsxs("p",{children:["Cet arbitrage n'est pas trivial. Il suppose de ",t.jsx("strong",{children:"connaître les préférences de la famille"}),", quelle est la priorité entre le rendement financier et la planification successorale ? Entre la saisie d'une opportunité de court terme et la préservation de la liquidité pour des besoins prévus ? Entre l'optimisation fiscale et la simplicité de la structure ? Ces préférences ne sont généralement pas formalisées dans les familles dont le patrimoine est géré de façon informelle, elles doivent être ",t.jsx("strong",{children:"élicitées, documentées et maintenues à jour"})," par le family office pour permettre des arbitrages cohérents et rapides."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La vision consolidée : pourquoi elle change tout"}),t.jsxs("p",{children:["La production et le maintien d'une ",t.jsx("strong",{children:"vision consolidée complète"})," du patrimoine, tous actifs, tous passifs, tous engagements, toutes contraintes, est peut-être la contribution la plus fondamentale du family office à la qualité de la gestion patrimoniale. Elle semble évidente. Elle est en réalité extrêmement rare."]}),t.jsxs("p",{children:["La plupart des investisseurs fortunés ",t.jsx("strong",{children:"n'ont pas de vision consolidée réelle"}
760)," de leur patrimoine. Ils ont des relevés de compte de chaque banque, des reportings de chaque gérant, des comptes annuels de chaque structure, des relevés de valorisation de chaque fonds de private equity, une masse d'",t.jsx("strong",{children:"informations parcellaires et non coordonnées"})," qui donne l'impression d'une information abondante tout en rendant impossible toute décision d'allocation réellement informée."]}),t.jsx("p",{children:"La vision consolidée du family office agrège toutes ces informations dans un format unique, cohérent et actualisé qui permet de répondre à des questions simples que beaucoup d'investisseurs ne peuvent pas répondre immédiatement : quelle est la valeur totale du patrimoine aujourd'hui ? Quelle est son allocation effective entre les grandes classes d'actifs, et non l'allocation théorique, mais l'allocation réelle incluant tous les actifs directs, indirects et les engagements hors bilan ? Quelle est la liquidité disponible à trente jours, à six mois, à deux ans ? Quels sont les engagements futurs, appels de fonds, obligations fiscales, échéances de crédit, et comment s'articulent-ils avec les flux de trésorerie prévisibles ?"}),t.jsxs("p",{children:["Sans cette vision, les décisions d'allocation sont prises ",t.jsx("strong",{children:"dans le brouillard"}),". Avec elle, elles peuvent être prises avec une rigueur et une cohérence qui améliorent structurellement les résultats sur le long terme, non pas en sélectionnant de meilleurs actifs, mais en ",t.jsx("strong",{children:"évitant les erreurs de coordination"})," que l'absence de vision consolidée rend inévitables."]}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:"Notre méthode"}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:"Pilotage patrimonial global et vision consolidée"}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:"Nous assurons la coordination de l'ensemble de vos prestataires, banques, avocats, notaires, experts-comptables, et produisons une vision consolidée actualisée de votre patrimoine. Une architecture de gouvernance pensée pour les patrimoines dont la complexité dépasse la gestion sectorielle."}),t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:["Découvrir notre approche Family Office",t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La gestion des relations prestataires : une fonction sous-estimée"}),t.jsxs("p",{children:["Le family office est aussi le gestionnaire de la constellation de prestataires qui gravitent autour d'un patrimoine complexe, et cette fonction de ",t.jsx("strong",{children:"gestion des relations prestataires"})," est l'une des moins bien comprises mais des plus utiles."]}),t.jsxs("p",{children:["Un patrimoine significatif implique typiquement des ",t.jsx("strong",{children:"dizaines de prestataires"})," dont les interventions doivent être coordonnées : plusieurs banques et gestionnaires financiers, un ou plusieurs avocats fiscalistes, un notaire, un expert-comptable, des gestionnaires immobiliers, des gérants de fonds, des conseillers spécialisés sur des transactions spécifiques. Chacun de ces prestataires est un expert dans son domaine. ",t.jsx("strong",{children:"Aucun n'a le mandat pour coordonner les autres"}),". Et aucun n'a spontanément intérêt à signaler les ",t.jsx("strong",{children:"angles morts"})," qui se créent dans les espaces entre leurs périmètres respectifs."]}),t.jsxs("p",{children:["Le family office est l'",t.jsx("strong",{children:"unique interlocuteur"})," qui mandate tous ces prestataires, qui évalue leur performance de façon continue, qui arbitre les conflits entre leurs recommandations et qui s'assure que l'information pertinente circule entre eux dans les deux sens. Cette fonction de ",t.jsx("strong",{children:"chef d'orchestre"})," est invisible de l'extérieur, les prestataires continuent à faire leur travail habituel, mais elle change radicalement la qualité du résultat global en créant une cohérence qui n'existerait pas spontanément."]}),t.jsx("p",{children:"La sélection et le remplacement des prestataires est une dimension connexe de cette fonction. Un family office qui a une vision consolidée et une expérience multi-clients peut évaluer objectivement la performance de chaque prestataire, en comparant les résultats obtenus à ce que des prestataires alternatifs auraient pu délivrer dans de
760s conditions comparables. Cette capacité comparative, que le client individuel n'a généralement pas, est un levier de négociation et d'amélioration continue qui s'exprime progressivement dans la qualité et le coût des services obtenus."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La gestion des transitions : le moment où tout peut basculer"}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"transitions"})," sont les moments les plus critiques de la vie d'un patrimoine, et les moments où l'absence de structure dédiée est la plus coûteuse. ",t.jsx("strong",{children:"Cession d'une entreprise"}),", décès d'un membre fondateur, divorce, ",t.jsx(C,{to:"/blog/quitter-france",className:"text-primary underline-offset-4 hover:underline",children:"départ à l'étranger"}),", intégration d'une nouvelle génération dans la gestion, ces événements créent simultanément une ",t.jsx("strong",{children:"urgence de décision"}),", une complexité accrue et une fragilité émotionnelle qui sont les conditions les moins favorables pour prendre des décisions patrimoniales de qualité."]}),t.jsxs("p",{children:["Le family office est précisément conçu pour gérer ces transitions. Non pas en prenant les décisions à la place de la famille, ce n'est jamais son rôle, mais en assurant la continuité opérationnelle pendant les périodes de turbulence, en préparant les décisions importantes bien avant qu'elles deviennent urgentes, et en maintenant la vision consolidée et la cohérence de ",t.jsx(C,{to:"/family-office/gouvernance-familiale",className:"text-primary underline-offset-4 hover:underline",children:"gouvernance"})," qui permettent à la famille de traverser les transitions sans que le patrimoine n'en soit durablement affecté."]}),t.jsxs("p",{children:["La cession d'entreprise illustre parfaitement cette fonction. Un entrepreneur qui vend sa société se retrouve à gérer simultanément des négociations avec un acheteur, une réflexion sur l'",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"apport-cession"})," et la structure fiscale optimale, une réallocation de plusieurs millions d'euros à planifier, une stratégie de transmission à initier et des implications psychologiques et familiales profondes liées à la perte de son activité principale. Sans structure dédiée, chacun de ces sujets est traité par un conseiller différent dans des délais contraints, avec une coordination minimale et un risque élevé de décisions incohérentes. Avec un family office qui a anticipé l'événement, préparé les options, coordonné les conseils et maintenu la vision globale, la même transition peut être gérée de façon sereine, cohérente et optimale."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que le family office ne fait pas"}),t.jsxs("p",{children:["La clarté sur le rôle du family office suppose aussi d'être clair sur ce qu'il ",t.jsx("em",{children:"ne fait pas"}),", pour éviter les malentendus qui créent des frustrations des deux côtés de la relation."]}),t.jsxs("p",{children:["Le family office ",t.jsx("strong",{children:"ne garantit pas la performance des actifs"}),". Il améliore la cohérence de l'allocation, l'accès aux meilleures opportunités et la discipline dans l'exécution, ce qui améliore statistiquement les résultats sur le long terme. Mais il ne peut pas promettre que les marchés seront favorables, que les investissements sélectionnés seront tous performants ou que les crises seront évitées. Sa valeur ajoutée est dans le processus, pas dans le résultat garanti."]}),t.jsxs("p",{children:["Le family office ",t.jsx("strong",{children:"ne remplace pas les experts sectoriels"}),". Il coordonne l'avocat, le notaire, l'expert-comptable et le gestionnaire financier, il ne les remplace pas. Sa compétence est la coordination et la vision globale, pas la profondeur technique dans chaque spécialité. Les familles qui attendent de leur family office qu'il soit simultanément le meilleur avocat fiscaliste, le meilleur gestionnaire de private equity et le meilleur spécialiste de la transmission sont vouées à être déçues, non pas parce que leur family office est médiocre, mais parce que leur
760s attentes confondent la coordination avec l'expertise sectorielle."]}),t.jsxs("p",{children:["Le family office ",t.jsx("strong",{children:"ne prend pas les décisions à la place de la famille"}),". Il prépare les décisions, présente les options, conseille et coordonne, mais la décision finale appartient toujours aux membres de la famille. Un family office qui prend des décisions sans mandat explicite outrepasse son rôle. Un family office qui ne prend pas la responsabilité de ses recommandations n'assume pas le sien. La ligne entre les deux est un équilibre délicat que les meilleures structures maintiennent avec une clarté contractuelle et relationnelle permanente."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Mesurer la valeur : au-delà des métriques financières"}),t.jsx("p",{children:"La valeur d'un family office ne se mesure pas uniquement dans les relevés de performance financière, et c'est l'une des raisons pour lesquelles son coût est parfois difficile à justifier pour des familles habituées à évaluer chaque prestation sur la base d'un retour sur investissement immédiat et quantifiable."}),t.jsxs("p",{children:["La valeur se mesure aussi dans ce qui ",t.jsx("em",{children:"n'est pas arrivé"}),", le ",t.jsx("strong",{children:"conflit successoral qui a été prévenu"})," parce que la transmission a été préparée sereine, l'",t.jsx("strong",{children:"optimisation fiscale qui a été capturée"})," parce que la vision consolidée a permis de l'identifier en temps utile, la ",t.jsx("strong",{children:"crise de liquidité qui a été évitée"})," parce que les engagements futurs avaient été cartographiés. Ces valeurs négatives, les ",t.jsx("strong",{children:"pertes évitées"}),", sont structurellement difficiles à quantifier mais réelles dans leur impact sur la trajectoire patrimoniale."]}),t.jsxs("p",{children:["La valeur se mesure enfin dans la ",t.jsx("strong",{children:"qualité de vie patrimoniale"}),", la sérénité avec laquelle les membres de la famille peuvent prendre des décisions importantes, la confiance avec laquelle ils peuvent déléguer sans perdre le contrôle, et la clarté avec laquelle ils comprennent ce qu'ils possèdent, pourquoi et comment. Cette dimension qualitative est peut-être la plus précieuse de toutes, et la plus difficile à obtenir sans une structure dédiée dont c'est précisément la raison d'être."]}),t.jsxs("p",{children:["Le family office ",t.jsx("strong",{children:"ne gère pas des actifs"}),", il gère le ",t.jsx("strong",{children:"cadre dans lequel des actifs peuvent être gérés"})," de façon cohérente, durable et alignée avec les objectifs d'une famille dont la complexité dépasse ce qu'un individu ou un prestataire sectoriel peut traiter seul. Cette distinction n'est pas sémantique. Elle définit ce que l'on doit attendre de la relation, comment on doit évaluer sa valeur et à quel moment elle devient nécessaire. Les familles qui ont compris cela ne cherchent pas dans leur family office un gérant de plus, elles cherchent un ",t.jsx("strong",{children:"système de gouvernance"})," qui leur permet de rester maîtres de leur patrimoine à mesure qu'il devient trop complexe pour être géré autrement."]}),t.jsx("p",{className:"text-sm text-muted-foreground pt-8 border-t border-border",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Nous vous recommandons de consulter un conseiller patrimonial indépendant qualifié pour évaluer la structure de gouvernance la plus adaptée à votre situation."})]})})}),t.jsx("section",{className:"py-20 bg-gradient-signature",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-white/70 mb-4",children:"Gérer la complexité"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-white mb-6 text-left",children:"Un cerveau central pour votre patrimoine"}),t.jsx("p",{className:"text-white/80 text-base leading-relaxed max-w-xl mx-auto mb-8",children:"Lorsque la complexité dépasse ce qu'une banque privée peut coordonner, le family office devient nécessaire. Échangeons sur la gouvernance adaptée à votre patrimoine."}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Découvrir le Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full border border-white/30 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:["Gestion Privée",t.jsx(V,{className:"w-4 h-4"})]})]})]})}),t.jsx(re,{})]})},X_e=[.16,1,.3,1],Z_e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 12 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Je quitte la France : que faire de mon assurance vie, mon PEA et ma SCI avant le départ ?"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Exit tax, clôture ou maintien, optimisation avant le départ : le guide complet pour ne rien laisser au hasard avant de changer de résidence fiscale."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsx(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:X_e},className:"container max-w-3xl mx-auto px-6",children:t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Partir vivre à l'étranger est une décision qui se prépare sur plusieurs dimensions simultanément : professionnelle, familiale, logistique. La ",t.jsx("strong",{children:"dimension patrimoniale"})," est presque toujours la dernière à être traitée, et souvent la plus coûteuse lorsqu'elle est traitée dans la précipitation. Les erreurs commises dans les semaines qui précèdent ou suivent un départ à l'étranger peuvent avoir des ",t.jsx("strong",{children:"conséquences fiscales et patrimoniales"})," qui s'étendent sur plusieurs années. Elles sont aussi, pour la plupart, ",t.jsx("strong",{children:"entièrement évitables"})," à condition d'anticiper suffisamment tôt et de comprendre précisément ce que chaque enveloppe patrimoniale devient au moment où l'on cesse d'être résident fiscal français."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le préalable : comprendre ce que signifie perdre la résidence fiscale française"}),t.jsxs("p",{children:["Avant d'examiner chaque enveloppe, il faut comprendre ce que le ",t.jsx("strong",{children:"changement de résidence fiscale"})," déclenche sur le plan juridique et fiscal, parce que c'est ce déclencheur qui conditionne toutes les décisions à prendre."]}),t.jsxs("p",{children:["La résidence fiscale française est déterminée selon des ",t.jsx("strong",{children:"critères alternatifs"})," : le foyer habituel en France, le lieu d'exercice de l'activité professionnelle principale, ou le ",t.jsx("strong",{children:"centre des intérêts économiques"}),". Dès lors que l'un de ces critères n'est plus rempli, et que le contribuable peut établir sa résidence fiscale dans un autre pays selon les critères de ce pays, il cesse d'être résident fiscal français."]}),t.jsxs("p",{children:["Ce changement de statut a des conséquences immédiates sur le traitement fiscal de tous les actifs détenus. Les enveloppes conçues pour les résidents fiscaux français, PEA, assurance vie française, SCI soumise à l'IR, voient leur traitement fiscal se modifier de façon significative, parfois favorable, souvent défavorable, presque toujours complexe. Et l'",t.jsx("strong",{children:"exit tax"}),", le mécanisme d'imposition des plus values latentes au moment du départ, peut cristalliser une charge fiscale considérable si elle n'a pas été anticipée."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"délai d'anticipation optimal est de douze à vingt quatre mois"})," avant le départ effectif. En dessous de six mois, les marges de manoeuvre sont très réduites et certaines optimisations deviennent impossibles. Au delà de deux ans, le contexte peut encore évoluer suffisamment pour justifier une révision de la stratégie. La fenêtre idéale se situe entre un et deux ans avant le départ, c'est dans cet espace que les décisions les plus structurantes peuvent être prises sereinement."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'exit tax : le premier sujet à traiter"}),t.jsxs("p",{children:["L'exit tax, codifiée à l'",t.jsx("strong",{children:"article 167 bis du Code général des impôts"}),", est le dispositif le moins connu et le plus redouté par les contribuables qui quittent la France avec un patrimoine mobilier significatif. Son mécanisme précis mérite une description rigoureuse parce que sa complexité est souvent mal appréhendée."]}),t.jsxs("p",{children:["Au moment du transfert de résidence fiscale hors de France, les ",t.jsx("strong",{children:"plus values latentes"})," sur les droits sociaux, valeurs mobilières et créances, calculées comme la différence entre la valeur de marché au jour du départ et le prix de revient fiscal, sont ",t.jsx("strong",{children:"réputées réalisées et soumises à imposition"}),". Le contribuable est donc imposable sur des gains qu'il n'a pas encore encaissés, au seul motif qu'il quitte la France."]}),t.jsxs("p",{children:["Le taux applicable est le ",t.jsx("strong",{children:"prélèvement forfaitaire unique de 30%"}),", soit 12,8% d'impôt sur le revenu et 17,2% de prélèvements sociaux. Pour un entrepreneur dont la holding détient des participations acquises à faible coût et dont la valeur a considérablement progressé, cette imposition peut représenter plusieurs millions d'euros."]}),t.jsxs("p",{children:["Deux situations permettent un ",t.jsx("strong",{children:"sursis de paiement automatique"}),". Si le contribuable transfère sa résidence dans un État membre de l'",t.jsx("strong",{children:"Union Européenne"}),", en Islande, en Norvège ou au Liechtenstein, l'",t.jsx("strong",{children:"espace économique européen"}),", le paiement de l'exit tax est automatiquement différé jusqu'à la cession effective des titres concernés, sans garantie ni constitution de sûreté. Si le contribuable part vers un ",t.jsx("strong",{children:"pays tiers"}),", Suisse, Royaume Uni, États Unis, Singapour, le sursis de paiement est conditionné à la ",t.jsx("strong",{children:"constitution de garanties"})," et à des déclarations spécifiques, et le suivi déclaratif devient plus contraignant."]}),t.jsxs("p",{children:["L'exit tax ne s'applique qu'aux contribuables qui ont été ",t.jsx("strong",{children:"résidents fiscaux français pendant au moins six des dix dernières années"}),". Et elle porte sur les plus values latentes dépassant ",t.jsx("strong",{children:"800 000 euros"})," ou représentant plus de 50% de la valeur des titres concernés. Pour les portefeuilles significatifs, le seuil d'application est donc fréquemment atteint."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"stratég
760ie d'optimisation de l'exit tax"})," doit être construite en amont du départ. Elle peut inclure la ",t.jsx("strong",{children:"cession de certains titres avant le départ"}),", pour cristalliser les plus values dans un contexte fiscal connu plutôt que de les soumettre au régime de l'exit tax, la ",t.jsx("strong",{children:"restructuration de certaines détentions"})," pour réduire les plus values latentes, ou le choix délibéré d'une destination dans l'espace économique européen pour bénéficier du sursis automatique. Ces décisions sont ",t.jsx("strong",{children:"irréversibles une fois le départ effectué"}),", elles doivent être prises avant, avec un conseil fiscaliste spécialisé."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'assurance vie française : maintenir, adapter ou racheter"}),t.jsxs("p",{children:["L'",t.jsx(C,{to:"/assurance-vie",className:"text-primary underline-offset-4 hover:underline",children:"assurance vie française"})," est l'enveloppe dont le sort au départ est le plus nuancé, et le plus variable selon la destination choisie."]}),t.jsxs("p",{children:["La bonne nouvelle est qu'un contrat d'assurance vie français peut en principe ",t.jsx("strong",{children:"être maintenu après le départ"}),". Il n'existe pas d'obligation légale de le racheter au moment du changement de résidence fiscale. Les ",t.jsx("strong",{children:"versements complémentaires"})," sont en revanche souvent impossibles, la plupart des assureurs français refusent d'accepter de nouveaux versements de la part de non résidents, pour des raisons de ",t.jsx("strong",{children:"conformité réglementaire"})," liées à la distribution transfrontalière de produits financiers."]}),t.jsxs("p",{children:["La mauvaise nouvelle est que la ",t.jsx("strong",{children:"fiscalité applicable aux rachats"})," change radicalement selon le pays de résidence du souscripteur. En tant que non résident, les produits du contrat lors d'un rachat sont soumis à un ",t.jsx("strong",{children:"prélèvement forfaitaire"})," dont le taux dépend de la ",t.jsx("strong",{children:"convention fiscale applicable"})," entre la France et le pays de résidence, qui peut être plus favorable ou moins favorable que la fiscalité applicable aux résidents français selon les conventions. Les ",t.jsx("strong",{children:"prélèvements sociaux français"})," peuvent ne plus être dus selon les configurations, ce qui est favorable, mais la ",t.jsx("strong",{children:"retenue à la source"})," applicable dans la juridiction française peut créer des complications."]}),t.jsxs("p",{children:["Pour les contrats anciens dont l'",t.jsx("strong",{children:"antériorité fiscale"})," représente un actif précieux, ",t.jsx("strong",{children:"abattements après huit ans"}),", ",t.jsx("strong",{children:"taux préférentiel de 7,5%"})," sur les gains, la décision de racheter avant le départ ou de maintenir le contrat après dépend d'un calcul précis qui compare la valeur de l'antériorité avec les contraintes imposées par le non résident. Un contrat de quinze ans avec des plus values importantes et une utilisation prévue des fonds dans les cinq ans suivant le départ mérite souvent d'être ",t.jsx("strong",{children:"racheté partiellement avant le départ"}),", dans la limite des abattements disponibles et dans un calendrier fiscal optimisé."]}),t.jsxs("p",{children:["Pour les ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"contrats luxembourgeois"}),", la situation est ",t.jsx("strong",{children:"fondamentalement différente et structurellement plus favorable"}),", c'est précisément pour cela que la ",t.jsx("strong",{children:"portabilité internationale"})," est l'un des arguments centraux en faveur du contrat luxembourgeois pour les profils à mobilité internationale."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le PEA : la contrainte la plus rigide"}),t.jsxs("p",{children:["Le ",t.jsx(C,{to:"/plan-epargne-actions",className:"text-primary underline-offset-4 hover:underline",children:"PEA"})," est l'enveloppe dont le traitement au départ est le plus contraignant, et c'est souvent une surprise pour les contribuables qui ne l'avaient pas anticipé."]}),t.jsx("p",{children:"En théorie, le PEA peut être maintenu après le départ de France. La loi ne prévoit pas de clôture obligatoire au moment du changement de résidence fiscale. En pratique, la situation est plus complexe selon deux dimensions."}),t.jsxs("p",{children:["La première est la ",t.jsx("strong",{children:"position des établissements teneurs de PEA"}),". Beaucoup de banques et courtiers français refusent de maintenir un PEA pour un non résident, soit par politique interne, soit par crainte des contraintes réglementaires liées à la détention de valeurs mobilières par des non résidents selon le pays de destination. Les ",t.jsx("strong",{children:"États Unis"})," sont particulièrement contraignants à cet égard, les ",t.jsx("strong",{children:"règles FATCA"})," imposent des obligations déclaratives si lourdes aux institutions financières traitant avec des résidents américains que beaucoup refusent simplement d'entretenir la relation. Un contribuable qui part aux États Unis devra dans la grande majorité des cas ",t.jsx("strong",{children:"clôturer son PEA avant son départ"})," ou très rapidement après."]}),t.jsxs("p",{children:["La deuxième dimension est fiscale. Si le PEA est clôturé après le départ, ou si des retraits sont effectués depuis l'étranger, la fiscalité applicable dépen
760d de la ",t.jsx("strong",{children:"convention bilatérale"})," entre la France et le pays de résidence. Dans certains cas, les gains accumulés sur le PEA peuvent être ",t.jsx("strong",{children:"imposables dans le pays de résidence"})," sans bénéficier de l'exonération que la France reconnaît aux résidents français après cinq ans. Le PEA est une enveloppe ",t.jsx("strong",{children:"conçue pour les résidents fiscaux français"}),", et sa fiscalité privilégiée n'est garantie que dans ce contexte."]}),t.jsxs("p",{children:["La décision optimale pour un contribuable qui envisage un départ à l'étranger dans moins de deux ans est souvent de ",t.jsx("strong",{children:"liquider son PEA avant le départ"}),", en profitant du régime d'exonération applicable aux résidents français ayant détenu leur PEA plus de cinq ans, plutôt que de subir une incertitude fiscale dans le pays d'accueil. Cette liquidation doit être planifiée en tenant compte de l'impact fiscal des plus values réalisées sur l'impôt de l'année du départ, en coordination avec les autres événements fiscaux de cette même année."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La SCI : le cas le plus complexe"}),t.jsx("p",{children:"La SCI, Société Civile Immobilière, est probablement l'enveloppe dont le traitement avant le départ est le plus complexe, le moins intuitif et le plus coûteux si mal géré. Elle mérite une analyse approfondie parce que ses implications après le départ sont multiples et interdépendantes."}),t.jsxs("p",{children:["Une SCI soumise à l'impôt sur le revenu, le régime par défaut, est ",t.jsx("strong",{children:"fiscalement transparente"})," pour ses associés résidents français. Les ",t.jsx("strong",{children:"revenus fonciers"})," générés par les biens détenus dans la SCI sont imposés directement entre les mains des associés à leur ",t.jsx("strong",{children:"taux marginal"}),", et les ",t.jsx("strong",{children:"plus values immobilières"})," réalisées par la SCI sont traitées comme des plus values immobilières personnelles. Ce régime est celui que la grande majorité des SCI de détention immobilière privée applique."]}),t.jsxs("p",{children:["Lorsqu'un associé de la SCI quitte la France, ce régime de transparence ne disparaît pas, mais ses implications fiscales se transforment significativement. Les revenus fonciers de source française perçus via la SCI par un non résident sont imposables en France, les non résidents restent soumis à la fiscalité française sur leurs revenus de source française, indépendamment de leur lieu de résidence. Mais le taux applicable change : les non résidents sont imposés sur leurs revenus fonciers français à un ",t.jsx("strong",{children:"taux minimum de 20%"}),", et les prélèvements sociaux peuvent s'appliquer différemment selon le pays de résidence et la convention applicable."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"cessions de parts de SCI"})," réalisées par un non résident sont imposables en France sur la plus value réalisée, la France ayant généralement le droit d'imposer les cessions de droits dans des ",t.jsx("strong",{children:"sociétés à prépondérance immobilière"})," selon les conventions bilatérales. Les cessions des biens immobiliers détenus directement par la SCI sont également ",t.jsx("strong",{children:"imposables en France"}),"."]}),t.jsxs("p",{children:["La décision avant le départ pour une SCI dépend de plusieurs paramètres. La ",t.jsx("strong",{children:"valeur et la nature des actifs immobiliers"})," détenus. L'",t.jsx("strong",{children:"ampleur des plus values latentes"}),". La ",t.jsx("strong",{children:"durée prévue de séjour à l'étranger"}),". Et les objectifs à long terme : ",t.jsx("strong",{children:"revente des biens, conservation, transmission"}),". Dans certains cas, il peut être optimal de ",t.jsx("strong",{children:"revendre les biens immobiliers"})," détenus dans la SCI avant le départ, en profitant des ",t.jsx("strong",{children:"abattements pour durée de détention"})," applicables aux résidents français qui disparaissent pour les non résidents dans certaines configurations. Dans d'autres cas, le maintien de la SCI avec une gestion adaptée au statut de non résident est préférable. Dans d'autres encore, la ",t.jsx("strong",{children:"transformation de la SCI à l'IR en SCI à l'IS"}
760)," avant le départ peut créer des avantages fiscaux sur la gestion des revenus locatifs après le départ."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La holding patrimoniale : anticiper les interactions"}),t.jsxs("p",{children:["Pour les contribuables qui détiennent une ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding patrimoniale"}),", ce qui est fréquent dans les profils dont la complexité patrimoniale justifie ce type de structuration, le départ à l'étranger crée des interactions spécifiques qui méritent une attention particulière."]}),t.jsxs("p",{children:["Une ",t.jsx("strong",{children:"holding française soumise à l'IS"})," ne perd pas sa résidence fiscale française du seul fait que son associé majoritaire quitte la France, la résidence fiscale d'une société est déterminée par le lieu de son ",t.jsx("strong",{children:"siège social et de sa direction effective"}),", pas par la résidence de ses associés. La holding continue donc à être soumise à l'IS français sur ses revenus, et les règles habituelles d'imposition de ses bénéfices restent applicables."]}),t.jsxs("p",{children:["Mais les distributions de la holding vers son associé non résident sont soumises à une ",t.jsx("strong",{children:"retenue à la source"})," dont le taux dépend de la convention fiscale applicable entre la France et le pays de résidence : 12,8% en l'absence de convention plus favorable, parfois réduit à 5 ou 15% selon les conventions. Cette retenue à la source peut être imputable sur l'impôt dû dans le pays de résidence selon les mécanismes conventionnels, mais crée une complexité administrative et parfois une friction fiscale non négligeable."]}),t.jsxs("p",{children:["La décision de maintenir ou restructurer la holding avant le départ doit intégrer ces implications, ainsi que les règles applicables dans le pays d'accueil sur les sociétés étrangères contrôlées, les ",t.jsx("strong",{children:"règles CFC"})," qui peuvent imposer le contribuable dans son pays de résidence sur les revenus non distribués de sa holding française si cette dernière est considérée comme insuffisamment taxée."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La checklist des décisions à prendre avant le départ"}),t.jsxs("p",{children:["Au terme de cette analyse, plusieurs décisions doivent être prises et exécutées dans un ",t.jsx("strong",{children:"ordre logique"})," qui optimise l'ensemble plutôt que chaque composante isolément."]}),t.jsxs("p",{children:["La première décision est la ",t.jsx("strong",{children:"date officielle de départ fiscal"}),", pas la date de déménagement physique, mais la date à partir de laquelle la résidence fiscale française est abandonnée. Cette date doit être choisie délibérément, en tenant compte de tous les événements fiscaux de l'année, pour optimiser le calendrier des rachats, des cessions et des restructurations."]}),t.jsxs("p",{children:["La deuxième décision est le ",t.jsx("strong",{children:"traitement du PEA"})," : maintien conditionné à l'acceptation de la banque teneur et à la fiscalité du pays d'accueil, ou liquidation avant le départ dans les conditions les plus favorables."]}),t.jsxs("p",{children:["La troisième décision est le ",t.jsx("strong",{children:"traitement de l'assurance vie française"})," : rachat partiel avant le départ dans la limite des abattements disponibles, maintien sans versements complémentaires, ou conversion vers un contrat luxembourgeois si les délais et les encours le permettent."]}),t.jsxs("p",{children:["La quatrième décision est le ",t.jsx("strong",{children:"traitement de la SCI"})," : maintien en gestion courante, cession des actifs immobiliers avant le départ, ou restructuration vers une SCI à l'IS selon les objectifs."]}),t.jsxs("p",{children:["La cinquième décision est le ",t.jsx("strong",{children:"traitement de la holding"})," : maintien dans sa forme actuelle, restructuration des flux de distribution pour optimiser la retenue à la source, ou intégration dans une structure internationale plus adaptée au nouveau contexte de résidence."]}),t.jsxs("p",{children:["La sixième décision est la ",t.jsx("strong",{children:"stratég
760ie face à l'exit tax"})," : cession anticipée de certains titres, choix de la destination pour bénéficier du sursis automatique, ou constitution des garanties requises pour un départ vers un pays tiers."]}),t.jsxs("p",{children:["Quitter la France est une ",t.jsx("strong",{children:"décision personnelle"})," que le droit fiscal ne doit pas empêcher, mais qu'il peut rendre ",t.jsx("strong",{children:"inutilement coûteuse"})," si elle n'est pas préparée avec rigueur. Chaque enveloppe patrimoniale détenue au moment du départ est un ",t.jsx("strong",{children:"dossier distinct"})," qui mérite une analyse et une décision spécifique, articulées dans une ",t.jsx("strong",{children:"stratégie globale"})," qui optimise l'ensemble plutôt que chaque compartiment isolément. Cette stratégie ne peut être construite qu'avec du ",t.jsx("strong",{children:"temps"}),", le temps que beaucoup de contribuables n'ont pas parce qu'ils ont attendu trop longtemps avant de se poser les bonnes questions."]}),t.jsx("p",{className:"text-sm text-muted-foreground pt-8 border-t border-border",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les règles fiscales applicables aux non résidents sont complexes et susceptibles d'évoluer. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en mobilité internationale au moins douze mois avant tout départ prévu."})]})})}),t.jsx("section",{className:"py-20 bg-gradient-signature",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6 text-center",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-white/70 mb-4",children:"Mobilité internationale"}),t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-white mb-6 text-left",children:"Anticiper son départ à l'étranger"}),t.jsx("p",{className:"text-white/80 text-base leading-relaxed max-w-xl mx-auto mb-8",children:"Chaque situation est unique. Un accompagnement patrimonial structuré vous permet d'optimiser chaque enveloppe avant votre changement de résidence fiscale."}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Découvrir le Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full border border-white/30 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:["Gestion Privée",t.jsx(V,{className:"w-4 h-4"})]})]})]})}),t.jsx(re,{})]})},e6e=[.16,1,.3,1],Gr=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),Ag=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),_c=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),t6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 12 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Français à Bruxelles, Madrid ou Lisbonne : qui peut encore gérer votre patrimoine français ?"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Passeport européen, continuité du conseil, ruptures de relation : ce que l'expatriation dans l'UE change et ne change pas pour la gestion de votre patrimoine."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:e6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsxs("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:[t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"1"}),t.jsx("span",{children:"Le paradoxe européen : libre circulation des personnes, circulation contrainte des services financiers"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"2"}),t.jsx("span",{children:"Ce que les établissements français peuvent et ne peuvent pas faire"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"3"}),t.jsx("span",{children:"Bruxelles, Madrid, Lisbonne : trois destinations, trois situations distinctes"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"4"}),t.jsx("span",{children:"Ce qui reste gérable depuis la France et ce qui ne l'est plus"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"5"}),t.jsx("span",{children:"Le rôle différenciant d'un conseiller français avec passeport européen"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"6"}),t.jsx("span",{children:"Ce que l'expatrié doit exiger de son conseiller"})]})]})]}),t.jsxs("div",{className:"space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-left",children:[t.jsxs("p",{children:["Il y a un moment précis dans le parcours de tout Français qui s'installe à Bruxelles, Madrid ou Lisbonne où la réalité patrimoniale rattrape l'enthousiasme du départ. Ce moment arrive souvent quelques semaines après l'installation lorsque le conseiller bancaire appelle pour annoncer qu'il ne peut plus gérer le contrat d'",t.jsx(Gr,{to:"/assurance-vie",children:"assurance vie"}),", que la plateforme de brokerage bloque l'accès au compte, que le courtier en ",t.jsx(Gr,{to:"/scpi",children:"SCPI"})," refuse d'encaisser un nouveau versement. Ce n'est pas de la mauvaise volonté. C'est la conséquence mécanique d'un cadre réglementaire européen qui, malgré ses ambitions d'harmonisation, a maintenu des fragmentation nationales qui affectent directement la continuité du conseil patrimonial transfrontalier. Et pour un expatrié dont le patrimoine est intégralement structuré autour d'enveloppes françaises, cette rupture peut être aussi déstabilisante que le déménagement lui même."]}),t.jsxs(Ag,{icon:Kt,children:[t.jsx("strong",{className:"text-foreground font-semibold",children:"La rupture n'est pas de la mauvaise volonté."})," C'est la conséquence mécanique d'un cadre réglementaire européen qui a maintenu des fragmentations nationales. Pour un expatrié dont le patrimoine est structuré autour d'enveloppes françaises, cette rupture peut être aussi déstabilisante que le déménagement."]}),t.jsx(_c,{children:"Chapitre 1"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",id:"paradoxe",children:"Le paradoxe européen : libre circulation des personnes, circulation contrainte des services financiers"}),t.jsx("p",{children:"Le traité sur le fonctionnement de l'Union Européenne garantit la libre circulation des personnes, des capitaux et des services. En théorie, un conseiller en gestion de patrimoine français devrait pouvoir continuer à servir son client qui s'est installé à Bruxelles ou à Madrid sans obstacle réglementaire majeur. En pratique, la réalité est considérablement plus complexe et cette c
760omplexité est la source principale des ruptures de conseil que les expatriés français dans l'UE subissent."}),t.jsxs("p",{children:["La ",t.jsx("strong",{className:"text-foreground font-semibold",children:"libre prestation de services"})," dans le secteur financier est en principe possible via le mécanisme du ",t.jsx("strong",{className:"text-foreground font-semibold",children:"passeport européen"})," un agrément délivré dans un État membre qui permet à un prestataire d'opérer dans les autres États membres sans agrément local, sous réserve d'une notification auprès des autorités compétentes. Ce passeport existe pour les conseillers en investissement, les gestionnaires de fonds et les établissements de crédit. Mais son utilisation effective requiert une démarche administrative que beaucoup de conseillers et d'établissements français n'ont pas réalisée soit parce que leur clientèle d'expatriés est trop limitée pour justifier le coût administratif, soit parce que les règles locales du pays d'accueil imposent des obligations supplémentaires même en présence du passeport."]}),t.jsxs("p",{children:["Le résultat est une ",t.jsx("strong",{className:"text-foreground font-semibold",children:"fragmentation de facto"})," du conseil patrimonial transfrontalier dans l'UE qui contraste avec les ambitions affichées du marché unique et qui crée des situations concrètes difficiles pour des expatriés dont le patrimoine est entièrement ancré dans le droit et les enveloppes françaises."]}),t.jsxs(Ag,{children:["Le ",t.jsx("strong",{className:"text-foreground font-semibold",children:"passeport européen"})," existe, mais son utilisation requiert une ",t.jsx("strong",{className:"text-foreground font-semibold",children:"notification administrative"})," que beaucoup de conseillers français n'ont pas réalisée. Sans cette démarche, la continuité du conseil devient techniquement impossible."]}),t.jsx(_c,{children:"Chapitre 2"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",id:"etablissements",children:"Ce que les établissements français peuvent et ne peuvent pas faire"}),t.jsx("p",{children:"La situation varie considérablement selon le type de prestataire et la nature de la relation patrimoniale."}),t.jsxs("p",{children:["Les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"banques de réseau françaises"})," BNP Paribas, Société Générale, Crédit Agricole disposent généralement de présence
760s locales dans les principales villes européennes, via des filiales ou des succursales. Un client français qui s'installe à Madrid peut en théorie maintenir une relation avec sa banque française à travers son réseau local. En pratique, la continuité n'est pas garantie : la filiale locale n'est pas la même entité juridique que la banque française, les produits disponibles ne sont pas identiques, et la relation construite avec un conseiller français ne se transfère pas automatiquement vers un conseiller local."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"banques privées françaises"})," ont des situations très variables. Certaines grandes structures les filiales de BNP Paribas Wealth Management, de Société Générale Private Banking, du Crédit Agricole ont des présences établies dans les principales places européennes et peuvent assurer une continuité de service pour les clients expatriés dans l'UE. Les banques privées indépendantes et les conseillers en gestion de patrimoine de taille intermédiaire, qui constituent pourtant souvent les meilleurs prestataires pour les patrimoines sophistiqués, n'ont généralement pas réalisé les démarches de passeport européen et se retrouvent dans l'impossibilité légale de continuer à servir leurs clients expatriés."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"conseillers en gestion de patrimoine indépendants"})," les ",t.jsx(Gr,{to:"/blog/fiscalite-internationale",children:"CIF"})," sont soumis à des règles particulièrement contraignantes. Un CIF français agréé par l'AMF peut exercer son activité dans d'autres États membres de l'UE via le passeport européen, mais doit avoir réalisé les formalités de notification préalable. La grande majorité des CIF français n'ont pas réalisé ces formalités faute d'anticipation, faute de volume suffisant de clients expatriés, ou faute d'accompagnement sur le sujet. Pour leurs clients qui partent dans l'UE, la relation prend fin au moment du départ une rupture que beaucoup découvrent avec surprise et amertume."]}),t.jsxs("div",{className:"my-10 p-6 rounded-xl bg-surface-warm border border-border/60",children:[t.jsxs("p",{className:"text-[11px] tracking-[0.2em] uppercase text-primary font-medium mb-3 flex items-center gap-2",children:[t.jsx(We,{className:"w-4 h-4"}),"Ce que dit la réglementation"]}),t.jsxs("p",{className:"text-[15px] text-foreground/80 leading-relaxed",children:["Un ",t.jsx("strong",{className:"text-foreground font-semibold",children:"CIF français agréé par l'AMF"})," peut exercer dans l'UE via le passeport européen, ",t.jsx("em",{className:"text-foreground/70",children:"à condition d'avoir réalisé les formalités de notification préalable."})," Sans cette notification, la relation prend fin au moment du départ. C'est une contrainte légale, pas une question de bonne volonté."]})]}),t.jsx(_c,{children:"Chapitre 3"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",id:"destinations",children:"Bruxelles, Madrid, Lisbonne : trois destinations, trois situations distinctes"}),t.jsx("p",{children:"La situation patrimoniale d'un Français expatrié dans l'UE n'est pas identique selon la destination choisie. Bruxelles, Madrid et Lisbonne les trois destinations les plus fréquentes pour les expatriés français fortunés présentent des spécificités qui méritent d'être comprises."}),t.jsxs("div",{className:"my-8 p-6 rounded-2xl border border-border/60 bg-background relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-24 h-24 bg-gradient-to-bl from-secondary/10 to-transparent rounded-bl-full"}),t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[t.jsx(Xc,{className:"w-4 h-4 text-secondary"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary font-medium",children:"Bruxelles"})]}),t.jsx("p",{className:"text-[15px] text-foreground/90 leading-relaxed",children:"Bruxelles concentre une proportion exceptionnellement élevée d'expatriés français fonctionnaires européens, lobbyistes, avocats, consultants dont les profils patrimoniaux sont souvent sophistiqués et les revenus significatifs. La proximité géographique avec la France, la langue française partiellement partagée avec la Belgique francophone, et la forte concentration d'expatriés français ont créé un écosystème de services financiers transfrontaliers relativement développé. Plusieurs conseillers en gestion de patr
760imoine français ont réalisé les démarches nécessaires pour servir leurs clients belges. Les assureurs luxembourgeois géographiquement proches de Bruxelles sont particulièrement bien positionnés pour servir cette clientèle depuis le Luxembourg via leur passeport européen."}),t.jsxs("p",{className:"text-[15px] text-foreground/90 leading-relaxed mt-4",children:["La ",t.jsx("strong",{className:"text-foreground font-semibold",children:"fiscalité belge des revenus financiers"})," est globalement plus favorable que la fiscalité française sur plusieurs points : les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"plus values mobilières"})," ne sont pas imposées en Belgique sous certaines conditions, et la ",t.jsx("strong",{className:"text-foreground font-semibold",children:"retenue à la source belge"})," sur les dividendes peut être plus avantageuse que le ",t.jsx(Gr,{to:"/impot-declaration",children:"PFU français"})," selon les configurations. Cette fiscalité favorable, combinée à la proximité du Luxembourg, fait de Bruxelles l'une des destinations où la restructuration patrimoniale pré départ peut générer des gains fiscaux significatifs."]})]}),t.jsxs("div",{className:"my-8 p-6 rounded-2xl border border-border/60 bg-background relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-24 h-24 bg-gradient-to-bl from-primary/10 to-transparent rounded-bl-full"}),t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[t.jsx(Xc,{className:"w-4 h-4 text-primary"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary font-medium",children:"Madrid"})]}),t.jsxs("p",{className:"text-[15px] text-foreground/90 leading-relaxed",children:["Madrid accueille une communauté française croissante, attirée par le cadre de vie, le coût immobilier comparativement accessible et un régime fiscal spécifique particulièrement attractif pour les nouveaux résidents. Le ",t.jsx("strong",{className:"text-foreground font-semibold",children:"régime Beckham"})," techniquement le régime de l'impatriation permet à certains résidents étrangers nouvellement installés en Espagne d'être imposés comme non résidents sur leurs revenus de source étrangère pendant six ans, à un taux forfaitaire de 24% sur les revenus espagnols jusqu'à 600 000 euros. Ce régime est une opportunité fiscale exceptionnelle pour les Français qui s'installent en Espagne avec des revenus significatifs mais il requiert une activation rapide après l'arrivée et une restructuration patrimoniale adaptée pour en maximiser les bénéfices."]}),t.jsx("p",{className:"text-[15px] text-foreground/90 leading-relaxed mt-4",children:"La relation avec les prestataires français est plus difficile depuis Madrid que depuis Bruxelles : l'Espagne est moins naturellement dans l'orbite des gestionnaires français, la langue constitue une barrière, et le réseau de conseillers ayant réalisé le passeport européen pour l'Espagne est plus limité. Les expatriés français à Madrid font souvent face à une rupture plus complète avec leurs prestataires français, ce qui renforce le besoin d'un interlocuteur capable de gérer la dimension française de leur patrimoine depuis la France tout en comprenant les implications de leur résidence espagnole."})]}),t.jsxs("div",{className:"my-8 p-6 rounded-2xl border border-border/60 bg-background relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-24 h-24 bg-gradient-to-bl from-accent/10 to-transparent rounded-bl-full"}),t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[t.jsx(Xc,{className:"w-4 h-4 text-accent"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-accent font-medium",children:"Lisbonne"})]}),t.jsxs("p",{className:"text-[15px] text-foreground/90 leading-relaxed",children:["Lisbonne est devenue en quelques années l'une des destinations les plus prisées des expatriés fortunés en Europe, en partie grâce au ",t.jsx("strong",{className:"text-foreground font-semibold",children:"régime RNH"})," Résident Non Habituel qui offrait pendant dix ans une imposition forfaitaire très favorable sur certaines catégories de revenus de source étrangère. Ce régime a été modifié en 2024 avec la création du ",t.jsx("strong",{className:"text-foreground font-semibold",children:"régime IFICI"})," qui lui succède avec des conditions différentes mais la fiscalité portugaise reste structurellement attractive pour les résidents bénéficiant de ces statuts spéciaux."]}
760),t.jsx("p",{className:"text-[15px] text-foreground/90 leading-relaxed mt-4",children:"La communauté française à Lisbonne est plus récente et moins dense que celle de Bruxelles ou Madrid, ce qui signifie que l'écosystème de conseil patrimonial francophone y est moins développé. Les expatriés français à Lisbonne se trouvent souvent dans une situation de rupture quasi totale avec leurs prestataires français, sans avoir encore trouvé de prestataires locaux capables de traiter la dimension française de leur patrimoine. Ce vide de conseil est précisément l'espace dans lequel un prestataire français disposant du passeport européen et d'une expertise transfrontalière peut créer une valeur différentiante considérable."})]}),t.jsxs(Ag,{icon:Xc,children:["Chaque destination a sa ",t.jsx("strong",{className:"text-foreground font-semibold",children:"fiscalité propre"})," et son ",t.jsx("strong",{className:"text-foreground font-semibold",children:"écosystème de conseil"})," distinct. Bruxelles offre la proximité et un écosystème développé. Madrid propose le ",t.jsx(Gr,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"régime Beckham"}),". Lisbonne séduit avec le RNH/IFICI, mais le vide de conseil francophone y est le plus prononcé."]}),t.jsx(_c,{children:"Chapitre 4"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",id:"gerable",children:"Ce qui reste gérable depuis la France et ce qui ne l'est plus"}),t.jsx("p",{children:"Pour un expatrié français dans l'UE dont les prestataires français n'ont pas réalisé les démarches de passeport européen, certaines dimensions du patrimoine restent gérables depuis la France et d'autres ne le sont plus."}),t.jsxs("p",{children:["Les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"actifs détenus directement"})," biens immobiliers, ",t.jsx(Gr,{to:"/scpi",children:"parts de SCI"}),", parts de sociétés françaises ne posent pas de problème de gestion transfrontalier en eux mêmes. L'expatrié reste propriétaire de ces actifs et peut en disposer librement. Les conseils juridiques et fiscaux liés à ces actifs peuvent être fournis depuis la France sans nécessiter de passeport européen le conseil juridique transfrontalier entre avocats dans l'UE obéit à des règles différentes de celles applicables aux conseillers financiers."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"enveloppes financières réglementées"})," ",t.jsx(Gr,{to:"/plan-epargne-actions",children:"PEA"}),", ",t.jsx(Gr,{to:"/assurance-vie",children:"assurance vie française"}),", compte titres posent en revanche des problèmes de continuité qui dépendent entièrement de la politique de chaque établissement teneur. Certains établissements maintiennent les comptes et contrats existants pour les non résidents dans l'UE mais refusent tout nouveau versement et toute modification significative. D'autres procèdent à une clôture pure et simple dans un délai imparti. D'autres encore maintiennent une relation complète pour les non résidents dans l'UE mais ces derniers sont rares et constituent un véritable avantage différenciant pour leurs clients expatriés."]}),t.jsxs("div",{className:"my-10 grid gap-4 md:grid-cols-2",children:[t.jsxs("div",{className:"p-5 rounded-xl bg-success/5 border border-success/20",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx(dr,{className:"w-4 h-4 text-success"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-success font-semibold",children:"Reste gérable"})]}),t.jsxs("ul",{className:"space-y-2 text-[14px] text-foreground/80",children:[t.jsx("li",{children:"• Biens immobiliers en France"}),t.jsx("li",{children:"• Parts de SCI françaises"}),t.jsx("li",{children:"• Parts de sociétés françaises"}),t.jsx("li",{children:"• Conseil juridique transfrontalier"})]})]}),t.jsxs("div",{className:"p-5 rounded-xl bg-destructive/5 border border-destructive/20",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx(Kt,{className:"w-4 h-4 text-destructive"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-destructive font-semibold",children:"Posit problème"})]}
760),t.jsxs("ul",{className:"space-y-2 text-[14px] text-foreground/80",children:[t.jsx("li",{children:"• Versements sur PEA"}),t.jsx("li",{children:"• Nouveaux versements assurance vie"}),t.jsx("li",{children:"• Arbitrages actifs sur contrats"}),t.jsx("li",{children:"• Recommandations d'investissement"})]})]})]}),t.jsx(_c,{children:"Chapitre 5"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",id:"conseiller",children:"Le rôle différenciant d'un conseiller français avec passeport européen"}),t.jsx("p",{children:"Dans ce paysage fragmenté, un conseiller en gestion de patrimoine français qui a réalisé les démarches de passeport européen et qui dispose d'une expertise en fiscalité transfrontalière représente un avantage concret et rare pour les expatriés français dans l'UE."}),t.jsxs("p",{children:["Sa valeur ajoutée se déploie sur plusieurs dimensions simultanées. Il connaît les enveloppes françaises ",t.jsx(Gr,{to:"/assurance-vie",children:"assurance vie"}),", ",t.jsx(Gr,{to:"/plan-epargne-actions",children:"PEA"}),", SCI, ",t.jsx(Gr,{to:"/blog/holding-patrimoniale",children:"holding"})," dans leur profondeur réglementaire et fiscale. Il comprend les implications de la résidence dans le pays d'accueil sur ces enveloppes les ",t.jsx(Gr,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"conventions fiscales"})," applicables, les règles locales sur les revenus de source étrangère, les obligations déclaratives dans les deux pays. Il peut maintenir une relation continue avec son client sans rupture liée au changement de résidence en continuant à conseiller, à ajuster l'allocation et à coordonner les décisions patrimoniales avec une vision globale qui intègre les deux dimensions."]}),t.jsx("p",{children:"Cette continuité est précieuse non seulement dans les premiers mois de l'expatriation lorsque les décisions d'adaptation patrimoniale sont les plus urgentes et les plus structurantes mais aussi dans la durée, lorsque la situation évolue et que de nouvelles décisions doivent être prises en tenant compte de la dimension binationale du patrimoine."}),t.jsx("p",{children:"Pour Colbr, dont la vocation est d'accompagner une clientèle sophistiquée dont les besoins patrimoniaux dépassent le cadre strictement français, la capacité à servir les clients expatriés dans l'UE avec la même qualité de conseil qu'en France est un positionnement différenciant concret dans un espace de marché où la plupart des conseillers ont laissé leurs clients partir sans solution de continuité."}),t.jsxs(Ag,{icon:We,children:["Un ",t.jsx("strong",{className:"text-foreground font-semibold",children:"conseiller avec passeport européen"})," et expertise fiscale binationale est un ",t.jsx("strong",{className:"text-foreground font-semibold",children:"avantage rare et concret"}),". Il connaît les enveloppes françaises dans leur profondeur et comprend les implications du pays d'accueil sur ces mêmes enveloppes."]}),t.jsx(_c,{children:"Chapitre 6"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",id:"exiger",children:"Ce que l'expatrié doit exiger de son conseiller"}),t.jsx("p",{children:"Face à l'hétérogénéité des situations et des prestataires, l'expatrié français dans l'UE doit poser quelques questions précises à tout conseiller qui prétend pouvoir continuer à le servir depuis la France."}),t.jsxs("p",{children:["La première est la question du ",t.jsx("strong",{className:"text-foreground font-semibold",children:"passeport européen"}),". Le conseiller ou l'établissement a t il notifié son activité dans le pays de résidence du client auprès des autorités compétentes ? Cette notification est une condition légale non négociable pour la fourniture de services d'investissement transfrontaliers dans l'UE. Son absence ne signifie pas que le conseiller est incompétent mais elle signifie que la relation est potentiellement en dehors du cadre réglementaire applicable, ce qui crée un risque pour les deux parties."]}),t.jsxs("p",{children:["La deuxième est la question de la ",t.jsx("strong",{className:"text-foreground font-semibold",children:"fiscalité binationale"}),". Le conseiller dispose t il d'une expertise sur les interactions entre la fiscalité française et la fiscalité du pays d'accueil ? Peut il conseiller sur les implications du changement de résidence fiscale sur chaque enveloppe patrimoniale ? Dispose t il de partenaires fiscalistes dans le pays d'accueil pour les questions qui dépassent son périmètre de compétence ? Un conseiller qui répond par l'affirmative à ces questions avec des exemples concrets est un conseiller qui a véritablement réfléchi à la dimension transfrontalière de son activité pas simplement un conseiller qui accepte de maintenir la relation par défaut."]}),t.jsxs("p",{children:["La troisième est la question de la ",t.jsx("strong",{className:"text-foreground font-semibold",children:"vision consolidée post départ"}),". Le conseiller est il en mesure de maintenir une vision consolidée du patr
760imoine qui intègre les actifs français et les actifs éventuellement acquis dans le pays d'accueil ? Dispose t il des outils et des processus pour produire un reporting global qui traverse les frontières ? Cette question distingue les conseillers qui ont véritablement adapté leur pratique à la réalité des patrimoines transfrontaliers de ceux qui maintiennent simplement un suivi partiel de la dimension française."]}),t.jsxs("div",{className:"my-12 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.04] to-secondary/[0.04] border border-primary/10 relative overflow-hidden",children:[t.jsx("div",{className:"absolute -top-8 -right-8 w-32 h-32 bg-secondary/5 rounded-full blur-2xl"}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary font-medium mb-4 relative",children:"Ce que vous devez vérifier"}),t.jsxs("ol",{className:"space-y-4 text-[15px] text-foreground/90 relative",children:[t.jsxs("li",{className:"flex gap-3",children:[t.jsx("span",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-secondary/10 text-secondary text-xs font-semibold flex items-center justify-center mt-0.5",children:"1"}),t.jsxs("span",{children:["Le conseiller a t il ",t.jsx("strong",{className:"text-foreground font-semibold",children:"notifié son activité"})," dans votre pays de résidence auprès des autorités compétentes ?"]})]}),t.jsxs("li",{className:"flex gap-3",children:[t.jsx("span",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-secondary/10 text-secondary text-xs font-semibold flex items-center justify-center mt-0.5",children:"2"}),t.jsxs("span",{children:["Dispose t il d'une ",t.jsx("strong",{className:"text-foreground font-semibold",children:"expertise fiscale binationale"})," réelle, avec des exemples concrets ?"]})]}),t.jsxs("li",{className:"flex gap-3",children:[t.jsx("span",{className:"flex-shrink-0 w-6 h-6 rounded-full bg-secondary/10 text-secondary text-xs font-semibold flex items-center justify-center mt-0.5",children:"3"}),t.jsxs("span",{children:["Peut il produire un ",t.jsx("strong",{className:"text-foreground font-semibold",children:"reporting global"})," qui traverse les frontières et intègre les deux dimensions du patrimoine ?"]})]})]})]}),t.jsxs("p",{children:["Quitter la France pour Bruxelles, Madrid ou Lisbonne ne devrait pas signifier abandonner la qualité du conseil patrimonial que l'on avait construit pendant des années. Mais cette continuité ne va pas de soi elle doit être activement cherchée, auprès de prestataires qui ont réellement structuré leur offre pour la rendre possible. Dans un marché où la majorité des conseillers français n'ont pas réalisé cette démarche, ceux qui l'ont fait ne sont pas simplement de meilleurs conseillers ils sont les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"seuls conseillers légalement en mesure"})," d'assurer cette continuité. Pour un expatrié français dont le patrimoine reste largement ancré en France, c'est une distinction qui mérite d'être au centre de son choix de prestataire."]}),t.jsxs("div",{className:"my-10 p-6 rounded-2xl bg-muted/40 border border-border/50",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-muted-foreground font-medium mb-3",children:"Articles connexes"}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/blog/quitter-france",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"}),"Quitter la France"]}),t.jsxs(C,{to:"/blog/rupture-conseiller-expat",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"}),"Rupture avec son conseiller"]}),t.jsxs(C,{to:"/blog/angles-morts-fiscaux-expat",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground
760/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"}),"Angles morts fiscaux"]}),t.jsxs(C,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"}),"Conventions fiscales"]}),t.jsxs(C,{to:"/impot-declaration",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"}),"Fiscalité"]})]})]}),t.jsx("div",{className:"pt-8 border-t border-border/40 mt-8",children:t.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La réglementation applicable aux services financiers transfrontaliers dans l'UE est complexe et susceptible d'évoluer. Nous vous recommandons de vérifier la situation réglementaire de tout prestataire avant de lui confier la gestion de votre patrimoine depuis l'étranger."})})]})]})}),t.jsx("section",{className:"py-20 bg-primary",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-white mb-6 text-left",children:"Gérer votre patrimoine depuis l'Europe"}),t.jsx("p",{className:"text-white/80 text-base leading-relaxed max-w-xl mx-auto mb-8",children:"Notre équipe dispose du passeport européen et accompagne les expatriés français à Bruxelles, Madrid, Lisbonne et au delà."}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Découvrir le Family Office",t.jsx(V,{className:"w-4 h-4"})]}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full border border-white/30 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:["Gestion Privée",t.jsx(V,{className:"w-4 h-4"})]})]})]})}),t.jsx(re,{})]})},n6e=[.16,1,.3,1],Sp=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),iw=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),Oa=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),r6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 13 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Vivre en Europe, avoir des actifs en France : comment éviter les angles morts fiscaux"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Double résidence, revenus de source française, obligations déclaratives croisées : les erreurs que commettent les expatriés français et comment les éviter."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:n6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsxs("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:[t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"1"}),t.jsx("span",{children:"La double exposition : comprendre ce que l'on doit à qui"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"2"}),t.jsx("span",{children:"Les revenus immobiliers français : le cas le plus fréquent et le plus mal géré"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"3"}),t.jsx("span",{children:"La SCI détenue par un non résident : les pièges spécifiques"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"4"}),t.jsx("span",{children:"L'assurance vie française détenue par un non résident"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"5"}),t.jsx("span",{children:"Les dividendes et revenus financiers de source française"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"6"}),t.jsx("span",{children:"Les obligations déclaratives spécifiques aux non résidents"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"7"}),t.jsx("span",{children:"Les erreurs de calendrier : quand la synchronisation fait défaut"})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"text-secondary font-display text-lg leading-none mt-0.5",children:"8"}),t.jsx("span",{children:"Ce qu'une gestion coordonnée des deux dimensions change concrètement"})]})]})]}),t.jsxs("div",{className:"space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-left",children:[t.jsxs("p",{children:["Il existe une catégorie d'erreurs fiscales particulièrement insidieuse parce qu'elle ne ressemble pas à une erreur au moment où elle est commise. L'expatrié français installé à Barcelone, Amsterdam ou Bruxelles qui continue à percevoir des loyers de son appartement parisien, à détenir des parts dans une ",t.jsx("strong",{className:"text-foreground font-semibold",children:"SCI familiale"})," et à laisser son ",t.jsx(Sp,{to:"/assurance-vie",children:"assurance vie française"})," capitaliser tranquillement ne fait rien d'illégal. Il ne dissimule rien, ne structure rien pour éviter l'impôt, ne cherche aucun avantage indu. Il continue simplement à gérer son patrimoine français comme il le faisait lorsqu'il résidait en France sans avoir réalisé que son changement de résidence a transformé le traitement fiscal de chacun de ces actifs de façon significative. Lorsque l'administration fiscale française ou celle du pays d'accueil finit par s'en apercevoir via les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"échanges automatiques d'informations du CRS"})," ou lors d'un contrôle fiscal les conséquences sont rarement proportionnelles à la bonne foi du contribuable."]}),t.jsxs(iw,{icon:Kt,children:[t.jsx("strong",{className:"text-foreground font-semibold",children:"La bonne foi ne protège pas."})," Les erreurs commises sans intention sont sanctionnées de la même manière que les omissions volontaires. Et les échanges automatiques d'informations entre administrations fiscales européennes rendent ces oublis de plus en plus visibles."]}),t.jsx(Oa,{children:"Chapitre 1"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"La double exposition : comprendre ce que l'on doit à qui"}),t.jsx("p",{children:"Le premier angle mort est conceptuel avant d'être technique. Beaucoup d'expatriés français pensent que quitter la France les libère de leurs obligations fiscales françaises au moins pour les actifs qu'ils ont emportés ou acquis à l'étranger. Cette croyance est partiellement vraie et partiellement fausse, et la frontière entre les deux est précisément là où les erreurs se produisent."}),t.jsxs("p",{children:["La France impose ses non résidents sur leurs ",t.jsx("strong",{className:"text-foreground font-semibold",children:"revenus de source française"}),". C'est le principe de territorialité qui s'applique lorsque le principe de mondialité applicable aux résidents cesse. Un expatrié français installé aux Pays Bas n'est plus imposable en France sur ses revenus de travail néerlandais ou ses dividendes d'une société néerlandaise. Mais il reste imposable en France sur ses loyers d'un appartement parisien, sur les divi
760dendes d'une société française, sur les plus values réalisées sur des biens immobiliers français et sur certains revenus financiers de source française."]}),t.jsxs("p",{children:["Parallèlement, son pays de résidence l'impose sur l'ensemble de ses revenus mondiaux en tant que résident fiscal. Il est donc potentiellement imposable aux Pays Bas sur ses revenus français revenus qui sont déjà imposés en France. La ",t.jsx(Sp,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"convention fiscale bilatérale"})," entre la France et les Pays Bas définit comment éviter cette double imposition généralement via un mécanisme de crédit d'impôt ou d'exonération dans l'un des deux pays."]}),t.jsxs("p",{children:["L'angle mort fondamental est donc double : ",t.jsx("strong",{className:"text-foreground font-semibold",children:"sous déclaration en France"})," des revenus de source française taxables même pour les non résidents, et ",t.jsx("strong",{className:"text-foreground font-semibold",children:"sous déclaration dans le pays de résidence"})," des revenus français qui doivent y être déclarés même s'ils sont exonérés ou créditables. Ces deux manquements, commis simultanément par le même contribuable de bonne foi, créent une exposition fiscale dans deux pays en même temps."]}),t.jsx(Oa,{children:"Chapitre 2"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"Les revenus immobiliers français : le cas le plus fréquent et le plus mal géré"}),t.jsxs("div",{className:"my-8 p-6 rounded-2xl border border-border/60 bg-background relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-24 h-24 bg-gradient-to-bl from-primary/10 to-transparent rounded-bl-full"}),t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[t.jsx(Eo,{className:"w-4 h-4 text-primary"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary font-medium",children:"Immobilier français"})]}),t.jsxs("p",{className:"text-[15px] text-foreground/90 leading-relaxed",children:["Les revenus locatifs d'un bien immobilier situé en France perçus par un non résident sont imposables en France c'est un principe qui ne souffre aucune exception et qui s'applique quelle que soit la convention fiscale en vigueur. Le ",t.jsx("strong",{className:"text-foreground font-semibold",children:"taux minimum d'imposition"})," pour les non résidents est de 20% sur la fraction des revenus nets fonciers n'excédant pas 27 478 euros, et de ",t.jsx("strong",{className:"text-foreground font-semibold",children:"30% au delà"}),"."]}),t.jsxs("p",{className:"text-[15px] text-foreground/90 leading-relaxed mt-4",children:["Ces taux s'appliquent sauf si le contribuable peut démontrer que son taux moyen d'imposition en France calculé sur l'ensemble de ses revenus mondiaux serait inférieur. Cette possibilité de ",t.jsx("strong",{className:"text-foreground font-semibold",children:"taxation au taux moyen"})," est peu connue mais peut générer des économies significatives."]})]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"prélèvements sociaux"})," soulèvent une question spécifique pour les non résidents ressortissants de l'UE. Depuis l'",t.jsx("strong",{className:"text-foreground font-semibold",children:"arrêt de Ruyter"})," de la Cour de Justice de l'UE en 2015, les personnes affiliées au régime de sécurité sociale d'un autre État membre de l'UE ne peuvent pas être soumises aux prélèvements sociaux français sur leurs revenus du patrimoine. Cette exonération, qui représente ",t.jsx("strong",{className:"text-foreground font-semibold",children:"17,2 points de prélèvements"}),", est une économie significative mais elle suppose d'en revendiquer le bénéfice explicitement dans la déclaration française, ce que beaucoup d'expatriés ne font pas faute de connaissance."]}),t.jsxs(iw,{icon:We,children:["L'",t.jsx("strong",{className:"text-foreground font-semibold",children:"arrêt de Ruyter"})," permet aux affiliés à un régime de sécurité sociale européen d'échapper à 17,2 points de prélèvements sociaux français. Mais l'exonération doit être ",t.jsx("strong",{className:"text-foreground font-semibold",children:"explicitement revendiquée"}),". Elle n'est jamais appliquée automatiquement."]}),t.jsx(Oa,{children:"Chapitre 3"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"La SCI détenue par un non résident : les pièges spécifiques"}),t.jsxs("div",{className:"my-8 p-6 rounded-2xl border border-border/60 bg-background relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-24 h-24 bg-gradient-to-bl from-secondary/10 to-transparent roun
760ded-bl-full"}),t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[t.jsx(rn,{className:"w-4 h-4 text-secondary"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary font-medium",children:"Trois pièges majeurs"})]}),t.jsxs("ol",{className:"space-y-4 text-[15px] text-foreground/90",children:[t.jsxs("li",{children:[t.jsx("strong",{className:"text-foreground font-semibold",children:"Régime fiscal de la SCI."})," Une SCI à l'IR est fiscalement transparente. La déclaration de résultats 2072 ne se substitue jamais à la déclaration personnelle de chaque associé non résident."]}),t.jsxs("li",{children:[t.jsx("strong",{className:"text-foreground font-semibold",children:"Qualification dans le pays de résidence."})," Certains pays ne reconnaissent pas la transparence fiscale française et traitent la SCI comme une société opaque ce qui peut conduire à une imposition très différente."]}),t.jsxs("li",{children:[t.jsx("strong",{className:"text-foreground font-semibold",children:"Cession de parts."})," La cession de parts de SCI à prépondérance immobilière reste imposable en France sur la plus value, même pour un non résident."]})]})]}),t.jsx(Oa,{children:"Chapitre 4"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"L'assurance vie française détenue par un non résident : les subtilités méconnues"}),t.jsxs("p",{children:["L'",t.jsx(Sp,{to:"/assurance-vie",children:"assurance vie française"})," maintenue après le départ à l'étranger génère des obligations fiscales qui varient selon les événements qui interviennent sur le contrat et ces variations sont rarement bien comprises par les expatriés."]}),t.jsxs("p",{children:["Tant que le contrat ",t.jsx("strong",{className:"text-foreground font-semibold",children:"capitalise sans rachat"}),", il ne génère pas d'imposition les produits s'accumulent en franchise d'impôt dans l'enveloppe. C'est l'un des atouts de l'assurance vie que le changement de résidence ne remet pas en cause pour la phase de capitalisation."]}),t.jsxs("p",{children:["Les complications apparaissent ",t.jsx("strong",{className:"text-foreground font-semibold",children:"lors des rachats"}),". Pour un non résident, les produits du contrat sont soumis à une retenue à la source en France. En l'absence de convention plus favorable, le taux de droit commun est de ",t.jsx("strong",{className:"text-foreground font-semibold",children:"12,8% pour un contrat de moins de huit ans"})," et de ",t.jsx("strong",{className:"text-foreground font-semibold",children:"7,5% pour un contrat de plus de huit ans"})," sans application des abattements de 4 600 ou 9 200 euros réservés aux résidents."]}),t.jsxs("p",{children:["La retenue française est en principe imputable sur l'impôt dû dans le pays de résidence. Mais cette imputation suppose une déclaration correcte localement et une documentation suffisante. L'angle mort le plus fréquent est de ",t.jsx("strong",{className:"text-foreground font-semibold",children:"ne pas déclarer les rachats"})," dans le pays de résidence en croyant à tort que la retenue française constitue le règlement définitif de l'imposition."]}),t.jsx(Oa,{children:"Chapitre 5"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"Les dividendes et revenus financiers de source française"}),t.jsxs("p",{children:["Un expatrié qui détient des actions françaises, des ",t.jsx(Sp,{to:"/scpi",children:"parts de SCPI"})," investissant en France ou des obligations d'État françaises reçoit des revenus soumis à une retenue à la source française généralement ",t.jsx("strong",{className:"text-foreground font-semibold",children:"12,8% pour les dividendes d'actions"}),", parfois réduite selon la convention bilatérale applicable."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{className:"text-foreground font-semibold",children:"retenue à la source réduite conventionnelle"})," est un droit que le contribuable doit revendiquer activement elle n'est pas appliquée automatiquement. Pour en bénéficier, il faut fournir à l'établissement payeur une attestation de résidence fiscale étrangère le ",t.jsx("strong",{className:"text-foreground font-semibold",children:"formulaire 5000"})," ou un document équivalent. Cette démarche simple est méconnue et rarement accomplie, ce qui conduit beaucoup d'expatriés à subir une retenue plus élevée que nécessaire."]}),t.jsxs(iw,{children:["Le ",t.jsx("strong",{className:"text-foreground font-semibold",children:"formulaire 5000"}
760)," permet d'appliquer le taux réduit conventionnel sur les dividendes français. Sans cette démarche, c'est le taux de droit commun qui s'applique parfois 30% au lieu de 15% ou 5%. Une économie immédiate, mais une démarche presque jamais réalisée spontanément."]}),t.jsx(Oa,{children:"Chapitre 6"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"Les obligations déclaratives spécifiques aux non résidents"}),t.jsx("p",{children:"Au delà de l'imposition des revenus, les expatriés français qui maintiennent des actifs en France sont soumis à des obligations déclaratives spécifiques qui génèrent des pénalités en cas de non respect indépendamment de toute imposition due."}),t.jsxs("div",{className:"my-8 p-6 rounded-2xl border border-border/60 bg-background relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-24 h-24 bg-gradient-to-bl from-accent/10 to-transparent rounded-bl-full"}),t.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[t.jsx(pr,{className:"w-4 h-4 text-accent"}),t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-accent font-medium",children:"Obligations croisées"})]}),t.jsxs("p",{className:"text-[15px] text-foreground/90 leading-relaxed",children:["Dans la plupart des pays européens, les résidents sont tenus de ",t.jsx("strong",{className:"text-foreground font-semibold",children:"déclarer leurs comptes bancaires détenus à l'étranger"})," y compris en France. En ",t.jsx("strong",{className:"text-foreground font-semibold",children:"Belgique"}),", les contrats d'assurance vie souscrits auprès de compagnies étrangères doivent être déclarés à l'administration fiscale belge avec des informations précises sur la valeur de rachat, les primes versées et les produits générés."]}),t.jsxs("p",{className:"text-[15px] text-foreground/90 leading-relaxed mt-4",children:["Certains pays appliquent également des ",t.jsx("strong",{className:"text-foreground font-semibold",children:"règles CFC"})," Controlled Foreign Corporation qui imposent les résidents sur les bénéfices non distribués de sociétés étrangères qu'ils contrôlent. La ",t.jsx(Sp,{to:"/blog/holding-patrimoniale",children:"holding française"})," d'un expatrié peut entrer dans le champ de ces règles avec des implications fiscales qui ne sont jamais anticipées spontanément."]})]}),t.jsx(Oa,{children:"Chapitre 7"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"Les erreurs de calendrier : quand la synchronisation fait défaut"}),t.jsxs("p",{children:["Une catégorie spécifique d'angles morts concerne les ",t.jsx("strong",{className:"text-foreground font-semibold",children:"erreurs de calendrier"})," les situations dans lesquelles les événements fiscaux surviennent dans les zones de transition entre deux résidences fiscales, créant des incertitudes sur le régime applicable."]}),t.jsxs("div",{className:"my-8 grid gap-4 md:grid-cols-2",children:[t.jsxs("div",{className:"p-5 rounded-xl bg-surface-warm border border-border/60",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx(Kx,{className:"w-4 h-4 text-primary"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-primary font-semibold",children:"Année de départ"})]}),t.jsx("p",{className:"text-[14px] text-foreground/80 leading-relaxed",children:"Résident français jusqu'à la date de départ, résident du pays d'accueil ensuite. Chaque pays a ses propres règles de répartition non symétriques. Un revenu perçu le mois suivant le départ peut être traité différemment de part et d'autre."})]}),t.jsxs("div",{className:"p-5 rounded-xl bg-surface-warm border border-border/60",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx(Kx,{className:"w-4 h-4 text-secondary"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-secondary font-semibold",children:"Année de retour"})]}
760),t.jsx("p",{className:"text-[14px] text-foreground/80 leading-relaxed",children:"Les revenus perçus pendant la période de résidence étrangère peuvent être soumis à imposition en France si la date de retour n'est pas correctement documentée et si le statut fiscal d'expatriation est remis en cause."})]})]}),t.jsxs("p",{children:["Ces erreurs de calendrier sont particulièrement fréquentes pour les expatriés qui conservent des ",t.jsx("strong",{className:"text-foreground font-semibold",children:"liens économiques forts avec la France"})," un bien immobilier, une participation dans une société française, un conjoint qui reste en France et dont la résidence fiscale pendant la période d'expatriation peut être remise en cause par l'administration française si elle estime que le ",t.jsx("em",{className:"text-foreground/70",children:"centre des intérêts économiques"})," reste en France."]}),t.jsx(Oa,{children:"Chapitre 8"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-2 scroll-mt-32 text-left",children:"Ce qu'une gestion coordonnée des deux dimensions change concrètement"}),t.jsxs("p",{children:["La prévention des angles morts fiscaux pour un expatrié français détenant des actifs en France suppose une ",t.jsx("strong",{className:"text-foreground font-semibold",children:"coordination entre deux dimensions"})," qui sont rarement traitées ensemble par un seul interlocuteur."]}),t.jsxs("div",{className:"my-10 grid gap-4 md:grid-cols-2",children:[t.jsxs("div",{className:"p-5 rounded-xl bg-primary/5 border border-primary/20",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx(dr,{className:"w-4 h-4 text-primary"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-primary font-semibold",children:"Dimension française"})]}),t.jsxs("ul",{className:"space-y-2 text-[14px] text-foreground/80",children:[t.jsx("li",{children:"• Déclaration des revenus de source française"}),t.jsx("li",{children:"• Gestion des enveloppes en statut non résident"}),t.jsx("li",{children:"• Obligations déclaratives françaises spécifiques"}),t.jsx("li",{children:"• Optimisation taux moyen / Ruyter"})]})]}),t.jsxs("div",{className:"p-5 rounded-xl bg-accent/5 border border-accent/20",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx(dr,{className:"w-4 h-4 text-accent"}),t.jsx("span",{className:"text-[11px] tracking-[0.15em] uppercase text-accent font-semibold",children:"Dimension locale"})]}),t.jsxs("ul",{className:"space-y-2 text-[14px] text-foreground/80",children:[t.jsx("li",{children:"• Déclaration des revenus français localement"}),t.jsx("li",{children:"• Mécanismes conventionnels d'élimination"}),t.jsx("li",{children:"• Obligations sur actifs étrangers"}),t.jsx("li",{children:"• Règles CFC et qualifications locales"})]})]})]}),t.jsxs("p",{children:["Trouver un interlocuteur qui maîtrise les deux dimensions simultanément ou qui coordonne efficacement des experts dans chacune est la ",t.jsx("strong",{className:"text-foreground font-semibold",children:"condition sine qua non"})," d'une gestion patrimoniale transfrontalière sans angle mort. C'est aussi la rareté la plus frappante du marché du conseil patrimonial pour les expatriés français en Europe et la source la plus fréquente des erreurs fiscales coûteuses que les contribuables de bonne foi commettent en croyant simplement que leurs affaires sont en ordre."]}),t.jsxs("p",{children:["Vivre en Europe avec des actifs en France n'est pas une situation exceptionnelle c'est une réalité de plus en plus répandue. Mais cette banalisation n'a pas été suivie d'une simplification des obligations fiscales qui y sont attachées. Les éviter suppose une chose simple et difficile à la fois : être ",t.jsx("strong",{className:"text-foreground font-semibold",children:"accompagné par un conseil qui comprend les deux côtés"})," de la frontière fiscale et qui a le mandat pour s'assurer que rien ne tombe dans l'espace entre les deux."]}),t.jsxs("div",{className:"my-10 p-6 rounded-2xl bg-muted/40 border border-border/50",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-muted-foreground font-medium mb-3",children:"Articles connexes"}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs(C,{to:"/blog/expatrie-ue",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground
760/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"})," Expatrié dans l'UE"]}),t.jsxs(C,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"})," Conventions fiscales"]}),t.jsxs(C,{to:"/blog/rupture-conseiller-expat",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"})," Rupture avec son conseiller"]}),t.jsxs(C,{to:"/impot-declaration",className:"inline-flex items-center gap-1.5 px-4 py-2 rounded-full bg-background border border-border text-[13px] text-foreground/80 hover:border-primary/30 hover:text-primary transition-colors",children:[t.jsx(V,{className:"w-3.5 h-3.5"})," Fiscalité"]})]})]}),t.jsx("div",{className:"pt-8 border-t border-border/40 mt-8",children:t.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La fiscalité applicable aux non résidents détenant des actifs en France est complexe et susceptible d'évoluer. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en fiscalité internationale pour une analyse adaptée à votre situation personnelle."})})]})]})}),t.jsx("section",{className:"py-20 bg-primary",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6 text-center",children:[t.jsx("h2",{className:"font-display text-3xl md:text-4xl tracking-tight text-white mb-6 text-left",children:"Sécuriser votre patrimoine transfrontalier"}),t.jsx("p",{className:"text-white/80 text-base leading-relaxed max-w-xl mx-auto mb-8",children:"Nos experts coordonnent la dimension française et locale de votre patrimoine pour éliminer les angles morts fiscaux."}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsxs(C,{to:"/family-office",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:["Découvrir le Family Office ",t.jsx(V,{className:"w-4 h-4"})]}),t.jsxs(C,{to:"/gestion-privee",className:"inline-flex items-center gap-2 px-6 py-3 rounded-full border border-white/30 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:["Gestion Privée ",t.jsx(V,{className:"w-4 h-4"})]})]})]})}),t.jsx(re,{})]})},i6e=[.16,1,.3,1],sw=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),Ra=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),Lg=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),aw=({country:e,flag:n,conventionDate:r,population:i,icon:s})=>t.jsxs("div",{className:"p-6 rounded-2xl bg-muted/40 border border-border/40 flex flex-col gap-3",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 flex items-center justify-center",children:t.jsx(s,{className:"w-5 h-5 text-primary"})}),t.jsxs("div",{children:[t.jsx("p",{className:"text-sm font-medium text-foreground",children:e}),t.jsx("p",{className:"text-[11px] text-muted-foreground",children:n})]})]}),t.jsxs("div",{className:"space-y-1.5 text-[13px] text-muted-foreground",children:[t.jsxs("p",{children:[t.jsx("span",{className:"text-foreground font-medium",children:"Convention :"})," ",r]}),t.jsxs("p",{children:[t.jsx("span",{className:"text-foreground font-medium",children:"Résidents français :"})," ",i]})]})]}),s6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 15 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Conventions fiscales franco belge, franco espagnole, franco portugaise : ce qui change vraiment pour votre patrimoine"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Dividendes, revenus immobiliers, plus values, succession : ce que chaque convention prévoit concrètement pour les expatriés français en Belgique, Espagne et Portugal."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:i6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:["La convention franco belge","La résidence fiscale : où les critères divergent","Les revenus immobiliers : la France taxe, la Belgique exonère","Les dividendes : une retenue à la source réduite","Les plus values immobilières et mobilières","La succession : l'angle mort majeur franco belge","La convention franco espagnole et le régime Beckham","Les revenus immobiliers et dividendes en Espagne","Les plus values et successions franco espagnoles","La convention franco portugaise et le régime RNH/IFICI","Les revenus immobiliers et dividendes au Portugal","Les plus values et successions franco portugaises","Ce que les trois conventions ont en commun"].map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"conventions fiscales bilatérales"})," sont les documents les plus importants et les moins lus du droit patrimonial international. Elles déterminent pourtant, pour chaque catégorie de revenus et pour chaque type d'actif, quel pays a le droit d'imposer en premier, à quel taux, et comment l'autre pays élimine la double imposition. Pour un Français installé à ",t.jsx("strong",{children:"Bruxelles"}),", ",t.jsx("strong",{children:"Madrid"})," ou ",t.jsx("strong",{children:"Lisbonne"})," qui conserve des actifs en France, ces conventions ne sont pas une abstraction juridique. Elles sont la réalité fiscale quotidienne qui détermine combien il paie, à qui, et comment. Les ignorer, c'est naviguer dans un brouillard fiscal permanent. Les comprendre, c'est pouvoir prendre des décisions patrimoniales éclairées dans les deux pays simultanément."]}),t.jsx(Ra,{icon:pr,children:"Chaque convention fiscale définit pour chaque catégorie de revenus quel pays impose en premier, à quel taux, et comment l'autre pays élimine la double imposition. Il n'existe pas de régime unique : la convention franco belge, franco espagnole et franco portugaise prévoient des traitements différents pour les mêmes revenus."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 my-10",children:[t.jsx(aw,{country:"Belgique",flag:"🇧🇪",conventionDate:"10 mars 1964, avenant 2009",population:"~200 000 ressortissants",icon:St}),t.jsx(aw,{country:"Espagne",flag:"🇪🇸",conventionDate:"10 octobre 1995",population:"~100 000 ressortissants",icon:rn}),t.jsx(aw,{country:"Portugal",flag:"🇵🇹",conventionDate:"14 janvier 1971, avenant 2022",population:"~50 000 ressortissants",icon:Eo})]}),t.jsx(Lg,{children:"La convention franco belge"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La convention franco belge"}),t.jsxs("p",{children:["La convention entre la France et la Belgique a été signée le 10 mars 1964 et a fait l'objet d'avenants successifs dont le plus récent date de 2009. Elle constitue le cadre fiscal de référence pour les quelque ",t.jsx("strong",{children:"200 000 ressortissants français résidant en Belgique"}),", la communauté française la plus importante d'Europe hors France."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La résidence fiscale : où les critères divergent"}),t.jsxs("p",{children:["La convention franco belge établit une hiérarchie de critères de départage pour les situations de ",t.jsx("strong",{children:"double résidence"}),", les cas dans lesquels une personne serait considérée comme résidente fiscale des deux pays simultanément selon les règles nationales de chacun."]}),t.jsxs("p",{children:["Le premier critère est le ",t.jsx("strong",{children:"foyer d'habitation permanent"}),", le logement dont la personne dispose de façon permanente dans l'un ou l'autre pays. Si ce critère ne suffit pas à trancher (parce que la personne dispose d'un foyer permanent dans les deux pays), on passe au critère du ",t.jsx("strong",{children:"centre des intérêts vitaux"}),", défini comme l'État avec lequel les liens personnels et économiques sont les plus étroits. Si ce critère ne suffit pas non plus, on examine le lieu de séjour habituel, puis la nationalité."]}),t.jsx("p",{children:"La pratique révèle que le critère du foyer d'habitation permanent est souvent difficile à appliquer pour les Français qui conservent un appartement à Paris tout en disposant d'un logement à Bruxelles. Dans ces situations, c'est le centre des intérêts vitaux qui devient déterminant, et son appréciation par l'administration fiscale française peut diverger de celle du contribuable si les liens économiques avec la France restent substantiels."}),t.jsx(Ra,{icon:Kt,children:"Le centre des intérêts vitaux est le critère déterminant dans la plupart des cas litigieux franco belges. Si vous conservez des actifs professionnels ou financiers significatifs en France tout en résidant en Belgique, votre résidence fiscale peut être contestée par l'une ou l'autre administration."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les revenus immobiliers : la France taxe, la Belgique exonère avec réserve de progressivité"}),t.jsxs("p",{children:["Les revenus des biens immobiliers situés en France (loyers d'un appartement parisien, revenus d'une ",t.jsx("strong",{children:"SCI détenant des actifs en France"}),") sont imposables en France selon les règles françaises applicables aux non résidents. La convention franco belge attribue le droit d'imposition exclusif à la France pour ces revenus."]}),t.jsxs("p",{children:["En Belgique, ces revenus sont exonérés d'impôt, mais avec la ",t.jsx("strong",{children:"réserve de progressivité"}),". Cela signifie que les revenus immobiliers français, bien qu'exonérés d'impôt en Belgique, sont pris en compte pour déterminer le taux d'imposition applicable aux autres revenus du contribuable en Belgique. C
760oncrètement, un résident belge qui perçoit des revenus professionnels belges et des loyers français verra son taux marginal belge calculé sur la somme des deux, mais seuls les revenus professionnels belges seront effectivement imposés à ce taux. L'effet de progressivité peut représenter un surcoût fiscal belge non négligeable pour les contribuables dont les revenus immobiliers français sont significatifs."]}),t.jsx(Ra,{icon:Eo,children:"La réserve de progressivité belge est invisible mais coûteuse : vos loyers français augmentent le tau marginal appliqué à vos revenus belges, même s'ils ne sont pas eux mêmes taxés en Belgique. Cet effet mécanique est souvent sous estimé dans les projections patrimoniales."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les dividendes de sociétés françaises : une retenue à la source réduite"}),t.jsxs("p",{children:["Les dividendes versés par des sociétés françaises à un résident belge sont soumis à une retenue à la source en France dont le taux conventionnel est de ",t.jsx("strong",{children:"15%"})," (contre 12,8% de droit commun pour les résidents français et 12,8% également pour les non résidents en l'absence de convention plus favorable)."]}),t.jsx("p",{children:"En pratique, la retenue conventionnelle de 15% est légèrement supérieure au taux de droit commun applicable aux non résidents, ce qui signifie que la convention franco belge n'est pas nécessairement avantageuse par rapport au régime de droit commun pour les dividendes. Le résident belge peut revendiquer l'application du taux de droit commun de 12,8% s'il est plus favorable, ce que peu de contribuables font spontanément."}
760),t.jsxs("p",{children:["En Belgique, les dividendes de source française sont soumis au ",t.jsx("strong",{children:"précompte mobilier belge de 30%"}),", sous déduction d'un crédit pour la retenue française subie selon les mécanismes conventionnels. L'imposition effective totale dépend des conditions précises d'application du crédit d'impôt, qui varient selon la nature des dividendes et la structure de détention."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les plus values immobilières : la France taxe, sans droit belge"}),t.jsx("p",{children:"Les plus values réalisées sur des biens immobiliers situés en France par un résident belge sont imposables exclusivement en France, selon les règles françaises des plus values immobilières applicables aux non résidents. La convention franco belge attribue à la France le droit exclusif d'imposition sur ces plus values."}),t.jsx("p",{children:"En Belgique, ces plus values ne sont pas imposables, ce qui est cohérent avec le principe général du droit belge selon lequel les plus values sur immeubles ne sont pas imposées sauf exception. L'exp
760atrié français en Belgique qui cède un bien immobilier en France n'est donc soumis qu'à l'imposition française, sans imposition belge additionnelle. C'est l'un des rares cas où la convention franco belge est clairement avantageuse par rapport à la situation d'un résident français."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les plus values mobilières : un traitement complexe"}),t.jsxs("p",{children:["Les plus values sur valeurs mobilières (actions, obligations, parts de fonds) réalisées par un résident belge sur des titres français relèvent en principe de l'État de résidence du cédant selon la convention franco belge. La Belgique n'impose pas les plus values mobilières réalisées par des particuliers dans le cadre d'une ",t.jsx("strong",{children:"gestion normale du patrimoine privé"}),", ce qui signifie qu'un résident belge qui cède des actions françaises ne paie théoriquement d'impôt ni en France ni en Belgique sur ces plus values."]}),t.jsxs("p",{children:["Cette situation particulièrement favorable a une limite importante : les plus values sur titres de ",t.jsx("strong",{children:"sociétés à prépondérance immobilière"})," (notamment les parts de SCI détenant des biens en France) restent imposables en France quelle que soit la convention applicable. Et la notion de gestion normale du patrimoine privé en Belgique est appréciée restrictivement : des opérations trop fréquentes ou trop sophistiquées peuvent être requalifiées en revenus professionnels, imposables au taux marginal belge."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La succession : l'angle mort majeur de la convention franco belge"}),t.jsxs("p",{children:["La convention franco belge ",t.jsx("strong",{children:"ne comprend pas de dispositions relatives aux droits de succession"}),", ce qui est l'une de ses lacunes les plus importantes pour les expatriés français en Belgique qui ont un patrimoine significatif en France."]}),t.jsx("p",{children:"En l'absence de convention successorale, chaque pays applique ses propres règles selon ses critères de rattachement. La France impose les successions lorsque le défunt était résident fiscal français au moment du décès, ou lorsque les biens sont situés en France, ou lorsque le bénéficiaire est résident fiscal français depuis plus de six ans sur les dix dernières années. La Belgique impose les successions lorsque le défunt était résident belge au moment du décès, sur l'ensemble du patrimoine mondial."}),t.jsxs("p",{children:["La conséquence est une ",t.jsx("strong",{children:"double imposition potentielle"})," des actifs français dans la succession d'un résident belge. Les biens immobiliers français entrent dans l'assiette des droits de succession belges (parce que le défunt était résident belge) et peuvent également entrer dans l'assiette des droits de succession français (parce que les biens sont situés en France). La France accorde un crédit pour les droits étrangers payés sur les biens situés en France, ce qui atténue la double imposition mais ne l'élimine pas entièrement. La planification successorale d'un Français en Belgique doit absolument intégrer cette double exposition."]}),t.jsx(Ra,{icon:Kt,children:"L'absence de convention successorale franco belge crée un risque de double imposition successorale sur les actifs français. Si vous êtes résident belge avec un patrimoine immobilier en France, votre succession sera exposée aux deux fiscalités. C'est le point de vigilance le plus critique de la convention franco belge."}),t.jsx(Lg,{children:"La convention franco espagnole"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La convention franco espagnole"}),t.jsxs("p",{children:["La convention entre la France et l'Espagne a été signée le 10 octobre 1995 et est entrée en vigueur en 1997. Elle régit les relations fiscales entre deux pays voisins dont les flux migratoires de ressortissants fortunés ont considérablement augmenté depuis le début des années 2010, notamment en raison du ",t.jsx(sw,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"régime fiscal espagnol pour les impatriés"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le régime Beckham : une opportunité qui change l'équation fiscale globale"}),t.jsxs("p",{children:["Avant d'examiner les dispositions spécifiques de la convention, il est indispensable de mentionner le ",t.jsx("strong",{children:"régime d'imposition des impatriés espagnols"})," (dit régime Beckham) parce qu'il modifie profondément la logique fiscale dans laquelle la convention s'inscrit pour les résidents français nouvellement installés en Espagne."]}),t.jsxs("p",{children:["Ce régime permet aux personnes qui n'ont pas été résidentes fiscales en Espagne pendant les cinq années précédant leur installation de choisir d'être imposées comme non résidents pendant six ans, c'est à dire uniquement sur leurs revenus de source espagnole, à un ",t.jsx("strong",{children:"taux forfaitaire de 24%"})," jusqu'à 600 000 euros de revenus et de 47% au delà. Les revenus de source étrangère (y compris les revenus de source française) sont en principe exonérés d'impôt en Esp
760agne pendant cette période pour les bénéficiaires du régime."]}),t.jsx("p",{children:"Cette exonération des revenus étrangers dans le régime Beckham est l'une des opportunités fiscales les plus puissantes disponibles pour un Français qui s'installe en Espagne : elle signifie que les loyers français, les dividendes français et les plus values sur actifs français réalisés pendant la période de bénéfice du régime ne sont imposés qu'en France, sans imposition espagnole additionnelle. La convention franco espagnole s'applique dans ce cadre pour définir le traitement français de ces revenus, mais l'élimination de la double imposition du côté espagnol est mécaniquement résolue par l'exonération du régime."}),t.jsxs("p",{children:["L'activation du régime Beckham doit intervenir dans un ",t.jsx("strong",{children:"délai de six mois"})," suivant le début de l'activité en Espagne, et ne peut pas être demandée rétroactivement. Cette contrainte de timing est souvent méconnue des Français qui s'installent en Espagne, et son non respect entraîne la perte définitive du bénéfice du régime pour toute la durée de la résidence espagnole."]}),t.jsx(Ra,{icon:Lt,children:"Le régime Beckham est l'opportunité fiscale la plus puissante pour un Français nouvellement installé en Espagne : six ans d'exonération sur les revenus étrangers, avec un taux forfaitaire de 24% sur les revenus espagnols. Mais l'élection doit être faite dans les six mois, sans possibilité de rétroactivité."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les revenus immobiliers français en Espagne : la règle de base"}),t.jsx("p",{children:"Pour les résidents espagnols qui ne bénéficient pas du régime Beckham (soit parce qu'ils ne remplissent pas les conditions, soit parce qu'ils ont dépassé la période de six ans), les revenus immobiliers de source française sont imposables en France selon les règles françaises applicables aux non résidents, et en Espagne selon les règles espagnoles avec imputation d'un crédit pour l'impôt français payé."}),t.jsxs("p",{children:["La convention franco espagnole prévoit que les revenus immobiliers sont imposables dans le ",t.jsx("strong",{children:"pays de situation de l'immeuble"})," (la France pour les biens situés en France). En Espagne, ces revenus doivent être déclarés et bénéficient d'un crédit d'impôt pour la retenue française, dans la limite de l'impôt espagnol qui aurait été dû sur ces mêmes revenus. Si le taux d'imposition français est supérieur au taux espagnol applicable, le surplus d'imposition française n'est pas créditable en Espagne, créant une surcharge fiscale résiduelle."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les dividendes de sociétés françaises : un taux conventionnel favorable"}),t.jsxs("p",{children:["La convention franco espagnole prévoit un taux de retenue à la source de ",t.jsx("strong",{children:"15%"})," sur les dividendes versés par des sociétés françaises à des résidents espagnols, identique au taux prévu dans la convention franco belge. Ce taux s'applique pour les dividendes ordinaires et peut être réduit à ",t.jsx("strong",{children:"5%"})," lorsque le bénéficiaire détient directement au moins 10% du capital de la société française."]}),t.jsxs("p",{children:["La réduction à 5% pour les participations significatives est particulièrement avantageuse pour les ",t.jsx("strong",{children:"entrepreneurs français en Espagne"})," qui détiennent une participation importante dans leur société française : elle réduit considérablement le coût fiscal des remontées de dividendes depuis la France vers leur compte espagnol."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les plus values immobilières : la France impose, l'Espagne crédite"}),t.jsx("p",{children:"Les plus values sur biens immobiliers situés en France réalisées par un résident espagnol sont imposables en France selon les règles françaises applicables aux non résidents, avec les abattements pour durée de détention et les exonérations applicables dans les conditions de droit commun."}),t.jsx("p",{children:"La convention franco espagnole prévoit que ces plus values sont imposables dans le pays de situation de l'immeuble (la France) et que l'Espagne accorde un crédit d'impôt pour l'imposition française. En pratique, le taux d'imposition des plus values immobilières en France pour les non résidents ressortissants de l'UE (19% plus prélèvements sociaux selon les configurations) est comparable aux taux espagnols applicables aux plus values immobilières, ce qui limite le risque de surcharge fiscale résiduelle."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les successions : une convention spécifique mais incomplète"}),t.jsxs("p",{children:["Contrairement à la convention franco belge, la France et l'Espagne ont conclu une ",t.jsx("strong",{children:"convention spécifique en matière de droits de succession"}
760)," (signée le 8 janvier 1963). Cette convention prévoit des mécanismes d'élimination de la double imposition successorale qui réduisent significativement le risque de double taxation des actifs français dans la succession d'un résident espagnol."]}),t.jsx("p",{children:"La convention franco espagnole en matière successorale prévoit en substance que les biens immobiliers sont imposables dans le pays de situation et que les autres actifs sont imposables dans le pays de résidence du défunt, avec des mécanismes de crédit mutuels pour éviter la double imposition. Cette architecture conventionnelle est plus favorable que l'absence de convention bilatérale successorale qui caractérise la relation franco belge."}),t.jsxs("p",{children:["Une subtilité importante concerne la ",t.jsx("strong",{children:"fiscalité successorale espagnole elle même"}),". Les droits de succession en Espagne sont une compétence des communautés autonomes, et les règles varient considérablement selon la région de résidence. Certaines communautés (Madrid notamment) ont presque entièrement supprimé les droits de succession entre parents en ligne directe, créant une différence très significative avec la fiscalité successorale française. Cette diversité régionale espagnole est un paramètre patrimonial important pour les Français qui s'installent en Espagne et qui planifient leur transmission."]}),t.jsx(Ra,{icon:We,children:"La convention franco espagnole en matière de successions élimine la double imposition grâce à des mécanismes de crédit mutuels. Et si vous résidez dans une communauté autonome comme Madrid, les droits de succession entre parents en ligne directe sont quasi supprimés. C'est la convention la plus favorable sur ce point."}),t.jsx(Lg,{children:"La convention franco portugaise"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La convention franco portugaise"}),t.jsxs("p",{children:["La convention entre la France et le Portugal a été signée le 14 janvier 1971 et modifiée par un avenant de 2022 dont les dispositions sont progressivement entrées en vigueur. Elle régit les relations fiscales entre la France et l'un des pays qui a accueilli le plus grand flux d'expatriés fortunés en Europe au cours des dix dernières années, en grande partie grâce au ",t.jsx("strong",{children:"régime RNH"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le régime RNH et son successeur IFICI : comprendre l'évolution"}),t.jsxs("p",{children:["Le régime des ",t.jsx("strong",{children:"Résidents Non Habituels (RNH)"})," a été l'instrument fiscal le plus attractif pour les expatriés fortunés en Europe entre 2009 et 2024. Il offrait pendant dix ans une exonération d'impôt portugais sur les revenus de source étrangère pour les personnes qui n'avaient pas été résidentes au Portugal pendant les cinq années précédant leur installation."]}),t.jsxs("p",{children:["Ce régime a été abrogé pour les nouveaux entrants à partir de janvier 2024, une décision politique liée aux critiques sur la contribution du RNH à la hausse des prix immobiliers à Lisbonne et Porto. Il a été remplacé par le régime ",t.jsx("strong",{children:"IFICI (Incentivo Fiscal à Internacionalização)"})," qui offre des avantages plus ciblés et des conditions d'éligibilité plus restrictives, principalement orientés vers les activités à haute valeur ajoutée et les investisseurs dans certains secteurs prioritaires."]}),t.jsx("p",{children:"Les personnes qui bénéficiaient du RNH avant son abrogation continuent à en bénéficier pour la durée résiduelle de leur période de dix ans. Pour les nouveaux résidents au Portugal, le régime applicable est désormais l'IFICI, dont les contours précis sont encore en cours de clarification réglementaire au moment de la rédaction de cet article."}),t.jsx("p",{children:"Pour les bénéficiaires du RNH en cours de période, les revenus de source française (loyers, dividendes, plus values) bénéficiaient d'une exonération d'impôt portugais, sous réserve qu'ils soient effectivement imposables en France selon la convention bilatérale. Cette c
760ondition (l'imposabilité en France) est un critère technique précis dont l'application a généré une abondante jurisprudence et des difficultés pratiques pour certaines catégories de revenus."}),t.jsx(Ra,{icon:Lt,children:"Le RNH est fermé aux nouveaux entrants depuis janvier 2024. Le régime IFICI qui lui succède offre des avantages plus restreints. Si vous bénéficiez encore du RNH, chaque année de votre période résiduelle est précieuse car elle représente une exonération potentielle sur les revenus de source française."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les revenus immobiliers français sous convention franco portugaise"}),t.jsxs("p",{children:["La convention franco portugaise prévoit, conformément au modèle OCDE, que les revenus immobiliers sont imposables dans le ",t.jsx("strong",{children:"pays de situation de l'immeuble"}),". Les loyers d'un bien immobilier situé en France perçus par un résident portugais sont donc imposables en France selon les règles françaises applicables aux non résidents."]}),t.jsx("p",{children:"Pour les bénéficiaires du RNH, ces revenus étaient exonérés d'impôt au Portugal (puisqu'ils sont effectivement imposables en France selon la convention). Pour les résidents portugais ne bénéficiant pas du RNH ou de l'IFICI, ces revenus doivent être déclarés au Portugal et bénéficient d'un crédit pour l'impôt français payé."}),t.jsxs("p",{children:["La subtilité concerne les ",t.jsx("strong",{children:"prélèvements sociaux français"}),". Les prélèvements sociaux sur les revenus fonciers (17,2%) sont ils des impôts au sens de la convention franco portugaise, de nature à ouvrir droit au crédit d'impôt au Portugal ? La réponse est complexe et a évolué : les prélèvements sociaux français ne sont pas formellement des impôts sur le revenu au sens conventionnel, ce qui crée une incertitude sur leur créditabilité dans le pays de résidence. Cette question a des implications pratiques importantes pour les résidents portugais qui subissent des prélèvements sociaux français sur leurs revenus fonciers sans pouvoir les imputer intégralement sur leur imposition portugaise."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les dividendes de source française : un taux conventionnel à optimiser"}),t.jsxs("p",{children:["La convention franco portugaise prévoit un taux de retenue à la source de ",t.jsx("strong",{children:"15%"})," sur les dividendes versés par des sociétés françaises à des résidents portugais, avec une réduction à ",t.jsx("strong",{children:"5%"})," pour les participations dépassant 25% du capital. Ces taux sont comparables à ceux prévus dans les conventions franco belge et franco espagnole."]}),t.jsx("p",{children:"Pour les bénéficiaires du RNH, ces dividendes étaient exonérés d'impôt au Portugal, sous réserve d'être effectivement imposables en France. La retenue à la source française de 15% constituait donc la charge fiscale totale sur ces dividendes, sans impôt portugais additionnel. Cette situation particulièrement favorable a incité de nombreux Français résidant au Portugal à rapatrier des dividendes de leurs sociétés françaises pendant la période de bénéfice du RNH."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les plus values sur actifs français : le traitement le plus avantageux"}),t.jsx("p",{children:"Les plus values sur valeurs mobilières françaises réalisées par un résident portugais relèvent, selon la convention franco portugaise, de l'État de résidence du cédant (le Portugal). La France n'a pas le droit d'imposer ces plus values, sauf exception pour les sociétés à prépondérance immobilière."}),t.jsxs("p",{children:["Pour les bénéficiaires du RNH, cette règle conventionnelle crée une ",t.jsx("strong",{children:"situation d'exonération totale"})," : les plus values mobilières françaises ne sont pas imposables en France selon la convention, et elles ne sont pas imposées au Portugal grâce au RNH. Cette fenêtre d'exonération totale a été largement exploitée par des Français résidant au Portugal qui ont réalisé des cessions de portefeuilles d'actions ou de participations pendant leur période de RNH."]}),t.jsx("p",{children:"Cette opportunité est en voie de fermeture pour les nouveaux résidents au Portugal : le régime IFICI ne prévoit pas nécessairement la même exonération générale sur les plus values mobilières étrangères, et les conditions précises de son a
760pplication sont encore en cours de définition."}),t.jsx(Ra,{icon:Bb,children:"Pour les bénéficiaires du RNH, les plus values mobilières françaises bénéficiaient d'une exonération totale : ni en France (convention), ni au Portugal (RNH). C'était l'opportunité fiscale la plus puissante du régime. Avec l'IFICI, cette opportunité n'est plus garantie pour les nouveaux entrants."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les successions franco portugaises : l'avantage structurel du Portugal"}),t.jsxs("p",{children:["Le Portugal a ",t.jsx("strong",{children:"supprimé les droits de succession entre héritiers en ligne directe"})," (conjoints, enfants, parents) en 2004. Cette suppression est inconditionnelle et s'applique à l'ensemble du patrimoine du défunt résident portugais, y compris les actifs situés en France."]}),t.jsxs("p",{children:["En l'absence de convention bilatérale franco portugaise en matière de droits de succession, la France applique ses propres règles pour les actifs situés en France : les biens immobiliers français restent soumis aux droits de succession français selon les règles françaises. Mais les actifs non immobiliers (portefeuilles financiers, parts de sociétés non à prépondérance immobilière, ",t.jsx(sw,{to:"/assurance-vie",children:"contrats d'assurance vie"}),") détenus par un résident portugais sont soumis aux droits de succession du lieu de résidence du défunt (le Portugal), où ils sont exonérés."]}),t.jsxs("p",{children:["Pour les familles françaises dont la transmission patrimoniale est un enjeu significatif, la combinaison d'une résidence portugaise avec le régime RNH ou IFICI et d'une ",t.jsx(sw,{to:"/blog/angles-morts-fiscaux-expat",children:"structuration patrimoniale adaptée"})," peut générer des économies successorales considérables sur la fraction du patrimoine non immobilière."]}),t.jsx(Lg,{children:"Comparatif et conclusions"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que les trois conventions ont en commun et ce qui les distingue"}),t.jsx("p",{children:"Les trois conventions (franco belge, franco espagnole et franco portugaise) partagent une architecture commune inspirée du modèle OCDE : immobilier imposable dans le pays de situation, revenus d'activité imposables dans le pays de résidence, dividendes soumis à une retenue à la source partagée entre les deux pays. Mais leurs différences pratiques sont considérables."}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"convention franco belge"})," est la plus ancienne et la plus éprouvée, mais elle ne couvre pas les successions, créant un risque de double imposition successorale sur les actifs français. La ",t.jsx("strong",{children:"convention franco espagnole"})," est la plus complète : elle couvre à la fois les revenus et les successions, et bénéficie de l'interaction avec le régime Beckham qui crée des opportunités fiscales significatives pour les nouveaux résidents. La ",t.jsx("strong",{children:"convention franco portugaise"})," est celle qui offrait le plus d'opportunités pour les bénéficiaires du RNH, avec des cas d'exonération totale sur certaines plus values et un régime successoral favorable, mais son attractivité pour les nouveaux résidents dépend désormais des contours définitifs du régime IFICI qui lui succède."]}),t.jsx("div",{className:"my-10 overflow-x-auto",children:t.jsxs("div",{className:"min-w-[600px] rounded-2xl border border-border/60 overflow-hidden",children:[t.jsxs("div",{className:"grid grid-cols-4 bg-muted/60 text-[12px] font-medium text-foreground/80",children:[t.jsx("div",{className:"p-4",children:"Thème"}),t.jsx("div",{className:"p-4 border-l border-border/40",children:"Belgique"}),t.jsx("div",{className:"p-4 border-l border-border/40",children:"Espagne"}),t.jsx("div",{className:"p-4 border-l border-border/40",children:"Portugal"})]}),[["Dividendes (taux)","15% (ou 12,8% DC)","15% (5% >10%)","15% (5% >25%)"],["Plus values mobilières","Exonération BE","Exonération ES","Exonération PT"],["Plus values immobilières","Imposition FR uniquement","Imposition FR, crédit ES","Imposition FR, crédit PT"],["Successions","Pas de convention","Convention + crédits","Exonération PT (ligne directe)"],["Régime spécial","Aucun","Beckham (6 ans)","RNH fermé, IFICI ouvert"]].map((n,r)=>t.jsxs("div",{className:`grid grid-cols-4 text-[13px] ${r%2===0?"bg-background":"bg-muted/30"}`,children:[t.jsx("div",{className:"p-4 font-medium text-foreground
760/90",children:n[0]}),t.jsx("div",{className:"p-4 border-l border-border/30 text-foreground/70",children:n[1]}),t.jsx("div",{className:"p-4 border-l border-border/30 text-foreground/70",children:n[2]}),t.jsx("div",{className:"p-4 border-l border-border/30 text-foreground/70",children:n[3]})]},r))]})}),t.jsxs("div",{className:"my-12 p-6 md:p-8 rounded-2xl bg-muted/40 border border-border/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Articles connexes"}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs(C,{to:"/blog/expatrie-ue",className:"flex items-center gap-3 group",children:[t.jsx(V,{className:"w-4 h-4 text-primary group-hover:translate-x-1 transition-transform"}),t.jsx("span",{className:"text-[15px] text-foreground/80 group-hover:text-foreground transition-colors",children:"Français à Bruxelles, Madrid ou Lisbonne : qui peut encore gérer votre patrimoine français ?"})]}),t.jsxs(C,{to:"/blog/angles-morts-fiscaux-expat",className:"flex items-center gap-3 group",children:[t.jsx(V,{className:"w-4 h-4 text-primary group-hover:translate-x-1 transition-transform"}),t.jsx("span",{className:"text-[15px] text-foreground/80 group-hover:text-foreground transition-colors",children:"Vivre en Europe, avoir des actifs en France : comment éviter les angles morts fiscaux"})]}),t.jsxs(C,{to:"/blog/rupture-conseiller-expat",className:"flex items-center gap-3 group",children:[t.jsx(V,{className:"w-4 h-4 text-primary group-hover:translate-x-1 transition-transform"}),t.jsx("span",{className:"text-[15px] text-foreground/80 group-hover:text-foreground transition-colors",children:"Mon conseiller français ne peut plus me suivre à l'étranger — et maintenant ?"})]})]})]}),t.jsx("div",{className:"pt-8 border-t border-border/40 mt-8",children:t.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les conventions fiscales bilatérales et les régimes fiscaux nationaux sont susceptibles d'évoluer. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en fiscalité internationale avant toute décision patrimoniale impliquant plusieurs juridictions."})})]})]})}),t.jsx(re,{})]})},a6e=[.16,1,.3,1],Cp=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),Pp=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),Ep=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),Fg=({number:e,title:n,description:r,icon:i,color:s})=>t.jsxs("div",{className:"p-6 rounded-2xl bg-muted/40 border border-border/40 flex flex-col gap-3",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl ${s} flex items-center justify-center`,children:t.jsx(i,{className:"w-5 h-5 text-white"})}),t.jsxs("div",{children:[t.jsxs("p",{className:"text-[11px] tracking-[0.15em] uppercase text-muted-foreground font-medium",children:["Option ",e]}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:n})]})]}
760),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:r})]}),o6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 12 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Mon conseiller français ne peut plus me suivre à l'étranger et maintenant ?"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Rupture de relation, continuité patrimoniale, alternatives concrètes : ce que font les expatriés français qui refusent de laisser leur patr
760imoine sans pilote."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:a6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:["Pourquoi la rupture est souvent inévitable","Les quatre options concrètes et leurs limites","Ce qu'il faut exiger d'un nouveau conseiller","Les premières décisions urgentes","Ce que les expatriés qui gèrent bien cette situation ont en commun"].map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["La scène se reproduit avec une régularité déconcertante. Un Français qui vient de s'installer à ",t.jsx("strong",{children:"Lisbonne"}),", ",t.jsx("strong",{children:"Bruxelles"})," ou ",t.jsx("strong",{children:"Madrid"})," reçoit un appel de son conseiller, celui avec qui il travaille depuis dix ans, celui qui connaît son patrimoine dans ses moindres détails, celui en qui il a confiance. Le message est courtois, parfois gêné, toujours le même : il ne peut plus le suivre depuis l'étranger. Raisons réglementaires. Politique interne de l'établissement. Impossibilité légale de gérer des actifs pour un non résident. La relation prend fin, souvent avec quelques semaines de préavis et une invitation à trouver une solution locale."]}),t.jsxs("p",{children:["Cette rupture arrive au pire moment. Le contribuable vient de changer de pays, de résidence fiscale, de cadre de vie. Il a cent décisions patrimoniales urgentes à prendre, sur son ",t.jsx(Cp,{to:"/assurance-vie",children:"assurance vie"}),", son ",t.jsx(Cp,{to:"/plan-epargne-actions",children:"PEA"}),", sa SCI, son contrat luxembourgeois, sa holding, dans un contexte où les règles fiscales qui lui sont applicables ont changé du tout au tout. Et le seul interlocuteur qui connaissait suffisamment bien son patrimoine pour l'accompagner dans ces décisions vient de lui annoncer qu'il ne peut plus le faire."]}),t.jsx("p",{children:"Ce que cet article propose, c'est de répondre à la vraie question que posent les expatriés dans cette situation. Pas la question théorique sur les raisons réglementaires de la rupture, mais la question pratique sur ce qu'il faut faire concrètement pour ne pas se retrouver sans pilote patrimonial à un moment où en avoir un est plus important que jamais."}),t.jsx(Pp,{icon:iT,children:"La rupture avec votre conseiller français n'est pas un choix de sa part, mais une contrainte réglementaire réelle. Un conseiller en investissement financier (CIF) agréé en France ne peut pas légalement gérer un client résidant dans un autre État membre de l'UE s'il n'a pas réalisé la notification préalable de libre prestation de services. La très grande majorité des conseillers français ne l'ont pas faite."}),t.jsx(Ep,{children:"Pourquoi la rupture arrive"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Pourquoi la rupture est souvent inévitable et pourquoi elle n'aurait pas dû être une surprise"}),t.jsx("p",{children:"Commençons par comprendre pourquoi cette rupture se produit, parce que la comprendre permet d'éviter qu'elle se reproduise lors d'un prochain départ ou d'en atténuer les conséquences."}),t.jsxs("p",{children:["Un ",t.jsx("strong",{children:"conseiller en investissement financier (CIF)"})," agréé en France par l'AMF peut exercer son activité dans d'autres États membres de l'Union Européenne via le mécanisme du ",t.jsx("strong",{children:"passeport européen"}),". Mais ce passeport n'est pas automatique. Il suppose une ",t.jsx("strong",{children:"notification préalable"})," auprès des autorités compétentes du pays d'accueil, une démarche administrative que la très grande majorité des conseillers et des établissements français n'ont pas réalisée, soit par méconnaissance, soit parce que leur volume de clients expatriés ne justifiait pas à leur
760s yeux le coût et la complexité administrative de la démarche."]}),t.jsx("p",{children:"Un conseiller qui n'a pas réalisé cette notification ne peut légalement pas fournir des services d'investissement à un client résidant dans un autre État membre de l'UE. Même si ce client est français. Même si la relation existait avant le départ. Même si les actifs sous gestion sont entièrement situés en France. La rupture n'est donc pas une question de bonne volonté : c'est une contrainte réglementaire réelle dont beaucoup de conseillers découvrent l'existence au moment où elle les force à mettre fin à une relation qu'ils auraient volontiers maintenue."}),t.jsx("p",{children:"Ce qui est en revanche discutable, c'est que cette rupture soit une surprise. Un conseiller qui suit un client depuis plusieurs années et qui sait que ce client envisage un départ à l'étranger devrait aborder le sujet suffisamment en amont pour permettre une transition organisée. Le fait qu'il ne le fasse pas, soit par méconnaissance des implications réglementaires, soit par réticence à aborder un sujet qui pourrait accélérer la rupture, est l'un des symptômes du défaut de coordination globale que les conseillers sectoriels produisent structurellement."}),t.jsx(Pp,{icon:We,children:"La notification de libre prestation de services est une formalité administrative réalisable par tout CIF, mais rarement faite. Si votre conseiller ne l'a pas faite, il ne peut pas légalement vous suivre à l'étranger. Vérifiez avant votre départ si votre conseiller dispose de cette notification pour votre pays de destination."}),t.jsx(Ep,{children:"Les quatre options"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les quatre options concrètes et leurs limites réelles"}),t.jsx("p",{children:"Face à la rupture, l'expatrié français a théoriquement quatre options. Les examiner honnêtement, avec leurs avantages et leurs limites réelles, est la condition d'un choix éclairé."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 my-10",children:[t.jsx(Fg,{number:"01",title:"Trouver un conseiller local",description:"Un conseiller dans le pays d'accueil connaît bien la fiscalité locale, mais ignore généralement les enveloppes françaises (assurance vie, PEA, SCI) et leurs interactions fiscales complexes avec la France.",icon:ba,color:"bg-primary/80"}),t.jsx(Fg,{number:"02",title:"Liquider et repartir de zéro",description:"Cristalliser les plus values au moment le moins favorable, perdre l'antériorité fiscale de contrats anciens, et se priver d'enveloppes dont la valeur résiduelle peut être considérable.",icon:iT,color:"bg-secondary/80"}),t.jsx(Fg,{number:"03",title:"Gérer soi même",description:"Maintenir les actifs français sans conseil spécialisé. Patrimonialement dangereux : décisions prises sans connaissance des implications fiscales, obligations déclaratives non respectées, redressements coûteux.",icon:va,color:"bg-accent/80"}),t.jsx(Fg,{number:"04",title:"Conseiller binational",description:"La seule option véritablement satisfaisante : un conseiller français ayant réalisé les démarches réglementaires, avec expertise fiscale binationale, capable de maintenir une vision consolidée.",icon:mr,color:"bg-success/80"})]}),t.jsxs("p",{children:["La première option est de trouver un ",t.jsx("strong",{children:"conseiller local dans le pays d'accueil"}),". C'est la solution que beaucoup d'établissements suggèrent spontanément, parfois en proposant de transférer le dossier vers leur filiale locale. Cette option a une limite fondamentale : un conseiller local à Bruxelles, Madrid ou Lisbonne ne connaît pas nécessairement le droit fiscal français ni les enveloppes françaises (assurance vie, PEA, SCI) avec la profondeur nécessaire pour conseiller correctement sur leur traitement dans le contexte du changement de résidence fiscale. Il peut gérer des actifs locaux acquis après le départ. Il ne peut pas, dans la majorité des cas, optimiser la gestion du patrimoine français existant en tenant compte de l'interaction avec la fiscalité locale."]}),t.jsxs("p",{children:["La deuxième option est de ",t.jsx("strong",{children:"tout liquider avant ou peu après le départ"})," et de repartir de zéro avec des enveloppes locales. Cette option est souvent présentée implicitement comme la solution par défaut par les conseillers qui ne peuvent plus suivre leur client, en suggérant le rachat du contrat d'assurance vie, la clôture du PEA, la cession des actifs immobiliers. Elle est en général la moins efficace fiscalement : elle cristallise des plus values au moment le moins favorable, perd l'antériorité fiscale accumulée sur des contrats anciens, et prive l'investisseur d'enveloppes dont la valeur résiduelle sur plusieurs années peut être considérable. Elle ne devrait être retenue qu'après une analyse précise de l'impact fiscal de chaque liquidation, pas comme une réponse par défaut à l'impossibilité du conseiller."]}),t.jsxs("p",{children:["La troisième option est de ",t.jsx("strong",{children:"maintenir les actifs français sans conseil spécialisé"}
760),", en gérant soi même ou en déléguant à un proche resté en France. Cette option, fréquente chez les expatriés qui ne trouvent pas immédiatement de solution satisfaisante, est patrimonialement dangereuse. Elle conduit à des décisions prises sans connaissance des implications fiscales dans les deux pays, à des opportunités d'optimisation ratées, et à une accumulation silencieuse d'obligations déclaratives non respectées qui finissent par générer des redressements coûteux."]}),t.jsxs("p",{children:["La quatrième option, et la seule véritablement satisfaisante, est de trouver un ",t.jsx("strong",{children:"conseiller français ayant réalisé les démarches réglementaires nécessaires"})," pour suivre ses clients dans le pays de destination, disposant d'une expertise sur les interactions fiscales entre la France et ce pays, et capable de maintenir une vision consolidée du patrimoine dans sa dimension binationale. Cette option existe, mais elle suppose de savoir comment identifier les prestataires qui remplissent réellement ces conditions."]}),t.jsx(Pp,{icon:dr,children:"La liquidation par défaut est généralement l'option la plus coûteuse. Avant de racheter une assurance vie ou de clôturer un PEA, faites calculer l'impact fiscal précis de chaque opération dans votre nouveau pays de résidence. L'antériorité fiscale de vos contrats anciens a une valeur qui peut être considérable."}),t.jsx(Ep,{children:"Critères de sélection"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce qu'il faut exiger d'un nouveau conseiller dans cette situation"}),t.jsx("p",{children:"Si la recherche d'un nouveau conseiller capable de gérer la dimension binationale du patrimoine est la bonne option (et elle l'est dans la grande majorité des cas), il faut savoir précisément ce que ce conseiller doit être en mesure de faire. La liste de critères est plus précise et plus exigeante que ce que l'on demande généralement à un conseiller patrimonial classique."}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"premier critère est réglementaire et non négociable"}),". Le conseiller doit avoir réalisé les notifications nécessaires pour exercer son activité dans le pays de résidence du client, ou être en mesure de les réaliser rapidement. Cette vérification est simple à faire : il suffit de demander si le conseiller a notifié son activité auprès des autorités du pays d'accueil et quelles autorités. En France, l'ACPR et l'AMF tiennent des registres des prestataires ayant réalisé des notifications de libre prestation de services dans d'autres États membres."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"deuxième critère est l'expertise fiscale binationale"}),". Le conseiller doit pouvoir répondre à des questions précises sur l'interaction entre la fiscalité française et la fiscalité du pays d'accueil, pas au niveau des grandes lignes, mais dans le détail applicable à la situation spécifique du client. Quel est le taux de retenue à la source sur les dividendes français perçus depuis le pays d'accueil selon ",t.jsx(Cp,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"la convention bilatérale applicable"})," ? Comment les revenus immobiliers français doivent ils être déclarés dans le pays d'accueil et comment le crédit d'impôt s'applique t il ? Quelle est l'obligation déclarative sur les contrats d'assurance vie français dans le pays d'accueil ? Un conseiller qui répond à ces questions avec précision et avec des exemples concrets est un conseiller qui a véritablement construit une expertise sur le sujet, pas simplement un conseiller qui accepte la relation par défaut."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"troisième critère est la capacité à maintenir une vision consolidée"})," du patrimoine dans ses deux dimensions. Le conseiller doit disposer d'outils et de processus pour agréger les actifs français et les actifs du pays d'accueil dans un reporting unique cohérent, et pour prendre en compte cette vision globale dans ses recommandations. Sans cette vision consolidée, les recommandations resteront sectorielles et partielles, reproduisant le défaut structural de l'écosystème de conseil que le changement de situation du client vient précisément de rendre encore plus visible."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"quatrième critère est la proactivité sur les obligations déclaratives"}
760)," dans les deux pays. L'expatrié français qui maintient des actifs en France a des obligations déclaratives dans les deux pays, parfois dans des délais différents, selon des règles différentes, avec des formulaires différents. Le conseiller doit être capable d'anticiper ces obligations et d'accompagner leur respect, pas seulement de gérer les actifs financiers mais de coordonner la compliance globale dans les deux juridictions."]}),t.jsx(Pp,{icon:J1,children:"Demandez à tout conseiller prétendant vous suivre à l'étranger : avez vous notifié votre activité auprès des autorités du pays d'accueil ? Pouvez vous me donner le taux de retenue conventionnel sur les dividendes français dans ce pays ? Comment se déclare une assurance vie française chez vous ? Si les réponses sont floues, cherchez ailleurs."}),t.jsx(Ep,{children:"Décisions urgentes"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les premières décisions urgentes que personne ne prend pour vous"}),t.jsx("p",{children:"Indépendamment de la solution de conseil choisie, plusieurs décisions urgentes doivent être prises dans les semaines qui suivent la rupture avec le conseiller français. Leur report crée des risques qui augmentent avec le temps."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 my-10",children:[t.jsxs("div",{className:"p-5 rounded-xl bg-muted/30 border border-border/40",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx(Sd,{className:"w-4 h-4 text-primary"}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:"Le PEA"})]}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:"Si l'établissement refuse de maintenir le plan pour un non résident, le délai de fermeture est court. Décidez rapidement de clôturer en optimisant le timing fiscal dans votre nouveau pays de résidence."})]}),t.jsxs("div",{className:"p-5 rounded-xl bg-muted/30 border border-border/40",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx(We,{className:"w-4 h-4 text-secondary"}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:"L'assurance vie"})]}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:"Selon l'assureur, le contrat peut être maintenu, restreint, ou soumis à clôture. Comprenez la position de chaque assureur avant qu'il n'impose sa propre solution."})]}),t.jsxs("div",{className:"p-5 rounded-xl bg-muted/30 border border-border/40",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx(J1,{className:"w-4 h-4 text-accent"}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:"Obligations déclaratives"})]}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:"Comptes bancaires étrangers, contrats d'assurance vie étrangers, participations dans des sociétés étrangères : recensez les déclarations spécifiques requises dans les semaines suivant votre arrivée."})]}),t.jsxs("div",{className:"p-5 rounded-xl bg-muted/30 border border-border/40",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx(Lt,{className:"w-4 h-4 text-success"}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:"Régimes avantageux"})]}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:"Beckham en Espagne, IFICI au Portugal, statut d'expatrié en Belgique : des délais d'activation stricts qui ne peuvent pas être récupérés après expiration."})]})]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"première décision urgente concerne le PEA"}),". Si l'établissement teneur du PEA refuse de maintenir le plan pour un non résident (ce qui est fréquent), le délai de fermeture imposé est généralement court. La décision de clôturer le PEA en France avant la clôture forcée, en gérant le timing pour optimiser l'impact fiscal dans le contexte de la nouvelle résidence, doit être prise rapidement et avec une analyse précise de l'impact fiscal dans les deux pays."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"deuxième décision urgente concerne l'assurance vie française"}),". Selon l'assureur et la politique de l'établissement, le contrat peut être maintenu sans versements complémentaires, maintenu avec des restrictions sur les arbitrages, ou soumis à une demande de clôture. Comprendre la position de chaque assureur et décider en conséquence, avec une analyse des avantages et inconvénients du maintien versus du rachat partiel ou total dans le contexte fiscal du nouveau pays de résidence, est une décision qui doit être prise avant que l'assureur n'impose sa propre solution."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"troisième décision urgente concerne les obligations déclaratives"})," dans le nouveau pays de résidence. Selon le pays d'accueil, des déclarations spécifiques doivent être déposées dans les semaines ou mois suivant l'arrivée, sur les comptes bancaires étrangers, les contrats d'assurance vie étrangers, les participations dans des sociétés étrangères. Ces délais sont contraints et leur non respect peut générer des pénalités significatives. Un recensement complet de ces obligations dans le pays d'accueil est une priorité absolue dès les premières semaines de l'installation."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"quatrième décision urgente concerne l'activation des régimes fiscaux avantageux"})," disponibles dans le pays d'accueil : ",t.jsx(Cp,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"régime Beckham en Esp
760agne, régime IFICI au Portugal"}),", statut d'expatrié en Belgique. Ces régimes ont des ",t.jsx("strong",{children:"délais d'activation stricts"})," qui ne peuvent pas être récupérés après expiration, et leur non activation dans les délais entraîne la perte définitive d'avantages fiscaux parfois considérables."]}),t.jsx(Pp,{icon:Kt,children:"Les délais d'activation des régimes fiscaux avantageux (Beckham, IFICI) sont la contrainte la plus impitoyable. Six mois pour le Beckham en Espagne, des délais similaires pour d'autres régimes. Passé ce délai, l'opportunité est définitivement perdue. C'est la première chose à vérifier dans les semaines suivant votre installation."}),t.jsx(Ep,{children:"Bonnes pratiques"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que les expatriés qui gèrent bien cette situation ont en commun"}),t.jsxs("p",{children:["Il existe des Français expatriés dans l'UE dont le patrimoine est géré de façon efficace, conforme et optimisée dans les deux dimensions, et qui ne vivent pas dans l'anxiété permanente de ",t.jsx(Cp,{to:"/blog/angles-morts-fiscaux-expat",children:"l'angle mort fiscal"}),". Ce n'est pas le fruit du hasard ni d'une chance particulière. C'est le résultat de quelques décisions qui les distinguent de ceux qui subissent la rupture sans l'avoir anticipée."]}),t.jsxs("p",{children:["Ils ont anticipé le départ ",t.jsx("strong",{children:"suffisamment tôt"})," (au moins un an avant) pour restructurer leurs enveloppes françaises dans des conditions optimales plutôt que dans la précipitation. Ils ont identifié avant le départ, et non après, un conseiller capable de les suivre dans le pays de destination avec la ",t.jsx("strong",{children:"compétence fiscale binationale nécessaire"}),". Ils ont activé dans les délais les régimes fiscaux avantageux disponibles dans leur pays d'accueil. Et ils maintiennent une ",t.jsx("strong",{children:"discipline de revue annuelle"}
760)," qui vérifie que leurs obligations déclaratives dans les deux pays sont respectées et que leur allocation patrimoniale reste cohérente avec leur situation fiscale dans les deux juridictions."]}),t.jsx("p",{children:"Ces comportements ne sont pas sophistiqués. Ils ne requièrent pas une fortune exceptionnelle ni une expertise fiscale personnelle. Ils requièrent simplement de prendre au sérieux la dimension patrimoniale de l'expatriation, avec la même rigueur que celle que l'on appliquerait à la recherche d'un logement ou à la négociation d'un contrat de travail dans le pays d'accueil."}),t.jsx("p",{children:"La rupture avec son conseiller français au moment d'un départ à l'étranger est une contrainte réelle et fréquente. Elle n'est pas une fatalité patrimoniale. Elle est une invitation à reconstruire une relation de conseil mieux adaptée à une situation qui a changé, une relation qui intègre les deux dimensions du patrimoine, qui est portée par un interlocuteur ayant la capacité réglementaire et l'expertise fiscale pour opérer dans les deux pays, et qui produit une vision consolidée capable de guider des décisions cohérentes dans un environnement qui est devenu, par construction, plus complexe que celui qui prévalait avant le départ. Trouver cet interlocuteur prend du temps et de l'exigence. Ne pas le trouver coûte généralement beaucoup plus."}),t.jsxs("div",{className:"my-12 p-6 md:p-8 rounded-2xl bg-muted/40 border border-border/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Articles connexes"}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs(C,{to:"/blog/expatrie-ue",className:"flex items-center gap-3 group",children:[t.jsx(V,{className:"w-4 h-4 text-primary group-hover:translate-x-1 transition-transform"}),t.jsx("span",{className:"text-[15px] text-foreground/80 group-hover:text-foreground transition-colors",children:"Français à Bruxelles, Madrid ou Lisbonne : qui peut encore gérer votre patrimoine français ?"})]}),t.jsxs(C,{to:"/blog/angles-morts-fiscaux-expat",className:"flex items-center gap-3 group",children:[t.jsx(V,{className:"w-4 h-4 text-primary group-hover:translate-x-1 transition-transform"}),t.jsx("span",{className:"text-[15px] text-foreground/80 group-hover:text-foreground transition-colors",children:"Vivre en Europe, avoir des actifs en France : comment éviter les angles morts fiscaux"})]}),t.jsxs(C,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",className:"flex items-center gap-3 group",children:[t.jsx(V,{className:"w-4 h-4 text-primary group-hover:translate-x-1 transition-transform"}),t.jsx("span",{className:"text-[15px] text-foreground/80 group-hover:text-foreground transition-colors",children:"Conventions fiscales franco belge, franco espagnole, franco portugaise : ce qui change vraiment"})]})]})]}),t.jsx("div",{className:"pt-8 border-t border-border/40 mt-8",children:t.jsx("p",{className:"text-sm text-muted-foreground italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La réglementation applicable aux services financiers transfrontaliers dans l'UE est complexe et susceptible d'évoluer. Nous vous recommandons de vérifier la situation réglementaire de tout prestataire et de consulter un avocat fiscaliste spécialisé en fiscalité internationale avant toute décision patrimoniale liée à un changement de résidence fiscale."})})]})]})}),t.jsx(re,{})]})},l6e=[.16,1,.3,1],_g=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),Og=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground
760/90 leading-relaxed text-left pt-2",children:e})]}),Da=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),sl=({title:e,description:n,icon:r,color:i})=>t.jsxs("div",{className:"p-6 rounded-2xl bg-muted/40 border border-border/40 flex flex-col gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl ${i} flex items-center justify-center`,children:t.jsx(r,{className:"w-5 h-5 text-white"})}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:e}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:n})]}),c6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 14 min"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Après la fin du RNH : ce qui reste très intéressant pour un Français fortuné au Portugal"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"IFICI, taux flat à 20%, exonération des revenus étrangers : ce que le Portugal offre encore aux expatriés fortunés et les pièges à éviter avant le départ."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:l6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:["Ce qu'était le RNH et pourquoi il a été abrogé","L'IFICI : la nouvelle architecture du régime préférentiel","Le traitement des revenus étrangers sous l'IFICI","Les profils pour qui le Portugal reste très intéressant","L'immobilier français conservé depuis le Portugal","Les parts de SCI vues depuis le Portugal","Plus values mobilières et fiscalité successorale","Les pièges à éviter avant le départ"].map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Le Portugal a été pendant quinze ans la destination fiscale la plus attractive d'Europe pour les résidents fortunés. Le régime des ",t.jsx("strong",{children:"Résidents Non Habituels"})," le ",t.jsx("strong",{children:"RNH"})," offrait une combinaison d'avantages fiscaux sans équivalent sur le continent : exonération des revenus de source étrangère pendant dix ans, taux forfaitaire de 20% sur les revenus de source portugaise dans certaines catégories d'activités, et une fiscalité successorale quasi inexistante en ligne directe. Des milliers de Français fortunés, retraités, entrepreneurs, professionnels de la finance, ont structuré leur vie et leur patr
760imoine autour de ce régime, transformant Lisbonne et Porto en capitales de l'expatriation fiscale française en Europe."]}),t.jsxs("p",{children:["La fermeture du RNH aux nouveaux entrants à compter du ",t.jsx("strong",{children:"1er janvier 2024"})," a créé une onde de choc dans cette communauté. Beaucoup ont conclu prématurément que le Portugal avait perdu son attrait fiscal et que la fenêtre d'opportunité s'était définitivement fermée. Cette conclusion est inexacte. Le Portugal a remplacé le RNH par un nouveau régime, l'",t.jsx("strong",{children:"IFICI"})," pour ",t.jsx("em",{children:"Incentivo Fiscal à Internacionalização"}),", dont les contours sont différents mais dont l'attractivité reste réelle pour plusieurs catégories de profils fortunés. Comprendre ce que le Portugal offre encore, ce qu'il n'offre plus, et comment naviguer dans cette transition sans erreur patrimoniale, c'est l'objet de cet article."]}),t.jsx(Og,{icon:ui,children:"Le RNH reste applicable jusqu'en 2033 pour ceux qui en bénéficiaient avant 2024. Pour les nouveaux résidents, l'IFICI ouvre un taux flat de 20% sur certaines catégories de revenus et une fenêtre toujours ouverte pour les profils technologie, innovation et investisseurs actifs au Portugal."}),t.jsx(Da,{children:"Le RNH et son abrogation"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce qu'était le RNH et pourquoi il a été abrogé"}),t.jsxs("p",{children:["Le RNH avait été créé en ",t.jsx("strong",{children:"2009"})," dans un contexte de crise économique portugaise sévère, avec l'objectif d'attirer des résidents étrangers fortunés et des professionnels qualifiés capables de contribuer à l'économie nationale sans peser sur les finances publiques. Son mécanisme central était simple : les revenus de source étrangère perçus par un bénéficiaire du RNH étaient exonérés d'impôt au Portugal pendant dix ans, à condition qu'ils soient effectivement imposables dans le pays source selon la convention bilatérale applicable, ou qu'ils proviennent d'une activité jugée à haute valeur ajoutée."]}),t.jsx("p",{children:"Ce régime a fonctionné au delà des espérances de ses concepteurs et c'est précisément ce succès qui a conduit à son abrogation. L'afflux massif de résidents étrangers fortunés dans les grandes villes portugaises, principalement Lisbonne, Porto et l'Algarve, a contribué à une hausse spectaculaire des prix immobiliers qui a progressivement exclu les résidents portugais à revenus moyens des marchés locatif et acquisitif. La pression politique en faveur de la suppression du RNH a atteint son point critique en 2023 et le gouvernement portugais a décidé de fermer le régime aux nouveaux entrants à compter du 1er janvier 2024."}),t.jsxs("p",{children:["Les personnes qui bénéficiaient du RNH avant cette date continuent à en bénéficier pour la ",t.jsx("strong",{children:"durée résiduelle"})," de leur période de dix ans, ce qui signifie que les derniers bénéficiaires du RNH classique resteront sous ce régime jusqu'en ",t.jsx("strong",{children:"2033"}),". Pour les nouveaux résidents au Portugal à compter de 2024, le cadre applicable est l'IFICI, dont la conception reflète les leçons tirées du RNH, avec des critères d'éligibilité plus ciblés et une philosophie différente."]}),t.jsx(Da,{children:"La nouvelle architecture"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'IFICI : la nouvelle architecture du régime préférentiel portugais"}),t.jsx("p",{children:"L'IFICI est entré en vigueur au 1er janvier 2024 avec l'ambition de remplacer le RNH sur certains segments cibles tout en évitant les effets indésirables qui avaient conduit à la suppression de son prédécesseur. Sa conception est différente du RNH sur plusieurs points fondamentaux."}),t.jsxs("p",{children:["Contrairement au RNH qui était accessible à toute personne n'ayant pas été résidente fiscale au Portugal pendant les cinq années précédentes, l'IFICI est ",t.jsx("strong",{children:"conditionné à l'exercice de certaines activités spécifiquement définies"}),". Les catégories éligibles incluent les activités de ",t.jsx("strong",{children:"recherche scientifique et d'innovation technologique"}),", les fonctions de direction dans des entreprises ayant des activités d'intérêt économique stratég
760ique pour le Portugal, les activités dans le secteur de la ",t.jsx("strong",{children:"technologie et de l'économie numérique"}),", et les investisseurs qui réalisent des investissements financiers ou immobiliers d'une certaine importance au Portugal."]}),t.jsxs("p",{children:["Le taux préférentiel applicable aux revenus de source portugaise dans les catégories éligibles est de ",t.jsx("strong",{children:"20%"}),", identique au taux qui s'appliquait sous le RNH pour les activités à haute valeur ajoutée. C'est un taux flat qui s'applique à la base des revenus de la catégorie concernée, sans progressivité et sans déductions spécifiques. Pour les professionnels dont les revenus de source portugaise sont significatifs et dont le taux marginal ordinaire serait de ",t.jsx("strong",{children:"48% plus surtaxe de solidarité"}),", ce taux de 20% représente un avantage considérable."]}),t.jsxs("p",{children:["La durée du régime est également de ",t.jsx("strong",{children:"dix ans"}),", identique au RNH. Une fois l'IFICI accordé, le bénéficiaire dispose de dix années d'imposition préférentielle avant de basculer vers le régime ordinaire. La ",t.jsx("strong",{children:"condition de non résidence préalable"})," reste similaire au RNH : le demandeur ne doit pas avoir été résident fiscal au Portugal pendant les cinq années précédant son installation. Cette condition exclut les anciens résidents qui voudraient revenir au Portugal pour bénéficier de l'IFICI après une courte absence."]}),t.jsx(Og,{icon:Kt,children:"L'IFICI n'est pas le RNH. L'exonération générale des revenus de source étrangère qui faisait le coeur du RNH n'est pas reproduite. Sous l'IFICI, l'exonération est limitée aux revenus liés à l'activité éligible. Vos revenus immobiliers français ou dividendes français ne sont pas automatiquement exonérés."}),t.jsx(Da,{children:"Revenus étrangers"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que l'IFICI traite différemment du RNH pour les revenus étrangers"}),t.jsx("p",{children:"La différence la plus significative entre l'IFICI et le RNH pour les Français fortunés concerne le traitement des revenus de source étrangère et c'est sur ce point que les attentes doivent être les plus soigneusement calibrées."}),t.jsxs("p",{children:["Sous le RNH, les revenus de source étrangère bénéficiaient d'une ",t.jsx("strong",{children:"exonération large"})," : dividendes, intérêts, plus values, revenus immobiliers étrangers, pensions, dès lors qu'ils étaient effectivement imposables dans le pays source selon ",t.jsx(_g,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"la convention applicable"}),". Cette exonération générale était ce qui rendait le RNH particulièrement attractif pour les Français détenant des actifs en France : leurs revenus de source française, imposés en France selon la convention franco portugaise, étaient exonérés au Portugal, aboutissant dans certains cas à une imposition totale très faible."]}),t.jsxs("p",{children:["Sous l'IFICI, le traitement des revenus étrangers est plus restrictif. L'exonération sur les revenus de source étrangère ne s'applique pas de façon générale : elle est limitée aux ",t.jsx("strong",{children:"revenus directement liés à l'activité éligible"})," qui fonde le bénéfice de l'IFICI. Pour un professionnel de la technologie dont l'IFICI est accordé au titre de son activité dans ce secteur, ses revenus professionnels étrangers liés à cette activité peuvent être exonérés, mais ses revenus immobiliers français ou ses dividendes de sociétés françaises ne bénéficient pas automatiquement de l'exonération."]}),t.jsx("p",{children:"Cette restriction est fondamentale pour les Français fortunés qui envisageaient l'IFICI comme le successeur direct du RNH pour la gestion de leurs actifs français. La logique d'exonération générale des revenus de source étrangère qui était le coeur de l'attractivité du RNH pour cette catégorie n'est pas reproduite dans l'IFICI de la même façon. Les conventions fiscales bilatérales continuent à s'appliquer et peuvent créer des situations favorables sur certaines catégories de revenus, mais elles ne produisent pas automatiquement l'exonération totale que le RNH permettait d'obtenir."}),t.jsx(Da,{children:"Profils gagnants"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce qui reste très intéressant pour les profils spécifiques"}),t.jsx("p",{children:"Malgré la restriction sur les revenus étrangers, l'IFICI reste très attractif pour plusieurs catégories de profils dont les caractéristiques correspondent aux activités éligibles."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 my-10",children:[t.jsx(sl,{title:"Tech & numérique",description:"Entrepreneurs et dirigeants dans le développement logiciel, l'IA, la fintech ou la cybersécurité. Économie fiscale par rapport au taux marginal de 48% potentiellement considérable.",icon:ui,color:"bg-primary/80"}),t.jsx(sl,{title:"Investisseurs actifs",description:"Entrepreneurs qui investissent au Portugal dans l'immobilier de certaines zone
760s, des fonds de capital risque éligibles ou des entreprises innovantes.",icon:va,color:"bg-accent/80"}),t.jsx(sl,{title:"Retraités fortunés",description:"Situation à analyser : sous l'IFICI, les pensions étrangères ne bénéficient plus du taux forfaitaire de 10% du RNH. La Belgique peut s'avérer plus favorable selon le profil.",icon:ba,color:"bg-secondary/80"})]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"professionnels de la technologie et de l'économie numérique"})," sont probablement les mieux servis par l'IFICI. Un entrepreneur ou dirigeant dont l'activité principale est dans le secteur technologique, développement de logiciels, intelligence artificielle, fintech, cybersécurité, peut bénéficier du taux de 20% sur ses revenus de source portugaise et potentiellement sur ses revenus professionnels étrangers liés à cette activité. Dans un contexte où les salaires et les revenus d'activité dans ce secteur sont élevés, l'économie fiscale par rapport au taux marginal ordinaire de 48% peut être considérable."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"retraités fortunés"})," constituent une deuxième catégorie dont la situation mérite une attention particulière. Sous le RNH, les pensions de source étrangère étaient imposées à un taux forfaitaire de 10%, un avantage considérable par rapport à la progressivité ordinaire. Sous l'IFICI, ce traitement spécifique des pensions ne s'applique pas dans les mêmes conditions. Cependant, la convention franco portugaise prévoit que les pensions privées sont imposables dans le pays de résidence du bénéficiaire, le Portugal, ce qui signifie qu'elles sont soumises au régime ordinaire portugais, avec son taux marginal de 48% pour les pensions élevées. Pour les retraités dont les pensions sont significatives, la Belgique ou d'autres destinations peuvent offrir un traitement plus favorable que le Portugal post RNH."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"entrepreneurs qui investissent au Portugal"}),", dans l'immobilier résidentiel dans certaines zones, dans des fonds de capital risque éligibles ou dans des entreprises innovantes, peuvent accéder à l'IFICI via la voie investisseur. Cette voie maintient certains avantages fiscaux sur les revenus de source portugaise tout en permettant une implication économique dans le pays qui répond à ses objectifs d'attractivité des capitaux."]}),t.jsx(Da,{children:"Immobilier français"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'immobilier français conservé depuis le Portugal : ce que la convention prévoit"}),t.jsx("p",{children:"Pour les Français installés au Portugal qui conservent des actifs immobiliers en France, une résidence principale ou secondaire, un appartement locatif, des parts de SCI, la convention franco portugaise définit le traitement fiscal applicable dans les deux pays. Ce traitement n'a pas changé avec l'abrogation du RNH (les conventions bilatérales sont indépendantes des régimes fiscaux internes) mais ses implications pratiques se sont modifiées puisque l'exonération portugaise automatique sur les revenus immobiliers français qui existait sous le RNH ne s'applique plus automatiquement sous l'IFICI."}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"revenus locatifs"})," d'un appartement situé en France perçus par un résident fiscal portugais sont imposables en France selon la règle de la source : la convention franco portugaise attribue le droit d'imposition primaire à la France pour les revenus immobiliers. Ces revenus doivent être déclarés en France sur la déclaration des non résidents, avec application du ",t.jsx("strong",{children:"taux minimum de 20%"})," pour les revenus inférieurs à 27 478 euros nets et de ",t.jsx("strong",{children:"30%"})," au delà."]}),t.jsxs("p",{children:["Au Portugal, sous le régime ordinaire applicable aux résidents qui ne bénéficient pas d'une exonération spécifique, ces revenus doivent également être déclarés. La convention franco portugaise prévoit un mécanisme d'élimination de la double imposition, généralement par ",t.jsx("strong",{children:"crédit d'impôt"}),", qui permet de déduire l'impôt français payé de l'impôt portugais dû sur les mêmes revenus. Si le taux français est supérieur au taux portugais applicable, le surplus n'est pas récupérable : il constitue une surcharge fiscale résiduelle. Si le taux portugais est supérieur au taux français, la différence est due au Portugal."]}),t.jsxs("p",{children:["La question des ",t.jsx("strong",{children:"prélèvements sociaux"})," français sur les revenus immobiliers des non résidents ressortissants de l'UE mérite une attention spécifique. Ces prélèvements, de ",t.jsx("strong",{children:"17,2%"}),", ne sont pas créditables au Portugal car ils ne sont pas considérés comme des impôts au sens strict de la convention, ce qui peut créer une charge fiscale effective supérieure à ce que la seule comparaison des taux d'imposition sur le revenu suggère."]}),t.jsx(Da,{children:"SCI françaises"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les parts de SCI et le régime applicable depuis le Portugal"}),t.jsx("p",{children:"La SCI française détenue par un résident portugais génère des complications spécifiques que peu de conseillers traitent correctement, parce qu'elles nécessitent une maîtrise simultanée du droit fiscal français applicable aux non résidents et du traitement que le droit fiscal portugais réserve aux entités étrangères transparentes."}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"SCI à l'impôt sur le revenu"})," est transparente en droit français : ses revenus sont imposés directement entre les mains de ses associés selon leur quote part. Pour l'associé résident au Portugal, cette transparence signifie que sa quote part des revenus locatifs de la SCI est traitée comme un revenu immobilier direct, imposable en France selon les règles des non résidents, et déclarable au Portugal selon les mécanismes conventionnels."]}),t.jsxs("p",{children:["Le droit fiscal portugais ne reconnaît pas nécessairement la transparence des sociétés civiles françaises de la même façon que le droit français. Une SCI peut être ",t.jsx("strong",{children:"qualifiée au Portugal comme une entité opaque"}),", une société, ce qui modifie le traitement de ses distributions et de ses revenus dans la déclaration portugaise. Cette divergence de qualification est l'une des sources les plus fréquentes d'erreurs déclaratives pour les résidents portugais détenant des parts de SCI française, et elle doit être analysée avec soin par un conseil maîtrisant les deux droits fiscaux. Voir aussi ",t.jsx(_g,{to:"/blog/angles-morts-fiscaux-expat",children:"les angles morts fiscaux des expatriés"}),"."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"cession de parts de SCI à prépondérance immobilière"})," réalisée par un résident portugais est imposable en France : la convention franco portugaise maintient le droit d'imposition de la France sur les cessions de titres de sociétés dont les actifs sont constitués principalement de biens immobiliers situés en France. Sous le RNH, cette plus value pouvait être exonérée au Portugal dans certaines conditions. Sous l'IFICI, le traitement dépen
760d de la catégorie de revenus concernée et de l'éligibilité du bénéficiaire aux avantages du régime."]}),t.jsx(Da,{children:"Plus values mobilières & succession"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les plus values sur valeurs mobilières françaises : le traitement conventionnel qui subsiste"}),t.jsx("p",{children:"L'un des avantages qui subsiste pour les résidents portugais bénéficiant de l'IFICI dans certaines catégories est le traitement conventionnel des plus values sur valeurs mobilières françaises, même si cet avantage est moins automatique et moins général que sous le RNH."}),t.jsxs("p",{children:["La convention franco portugaise prévoit que les ",t.jsx("strong",{children:"plus values sur valeurs mobilières"}),", hors titres de sociétés à prépondérance immobilière, sont imposables dans le pays de résidence du cédant. La France n'a pas le droit d'imposer ces plus values selon la convention : elles relèvent exclusivement du Portugal. Pour un bénéficiaire de l'IFICI dont le régime prévoit une exonération ou un taux préférentiel sur certaines catégories de revenus, ces plus values peuvent bénéficier de ce traitement préférentiel."]}),t.jsx("p",{children:"Mais contrairement au RNH sous lequel l'exonération des plus values mobilières étrangères était largement disponible, sous l'IFICI le bénéfice de l'exonération dépend de la catégorie d'activité éligible et de la nature précise des plus values. Un professionnel de la technologie dont l'IFICI est accordé au titre de son activité dans ce secteur ne bénéficie pas automatiquement d'une exonération sur ses plus values de cession de portefeuille d'actions françaises : ces revenus sont distincts de son activité professionnelle et peuvent ne pas entrer dans le champ des avantages de l'IFICI."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La fiscalité successorale portugaise : l'avantage qui demeure intégralement"}),t.jsx("p",{children:"L'un des avantages du Portugal qui n'a pas été affecté par l'abrogation du RNH est son régime de fiscalité successorale, et c'est peut être le plus structurellement durable des avantages que le Portugal offre pour la planification patrimoniale à long terme."}),t.jsxs("p",{children:["Le Portugal a ",t.jsx("strong",{children:"supprimé les droits de succession et de donation entre héritiers en ligne directe"}),", conjoints, enfants, parents, en 2004. Cette suppression est totale et inconditionnelle pour les transmissions en ligne directe : elle s'applique quelle que soit la valeur des actifs transmis, sans abattement ni plafond. Pour les transmissions entre personnes sans lien de parenté direct, un impôt sur les successions de ",t.jsx("strong",{children:"10%"})," s'applique, ce qui reste significativement inférieur aux taux français."]}),t.jsxs("p",{children:["Cette exonération totale en ligne directe est ",t.jsx("strong",{children:"complètement indépendante du régime fiscal du défunt"})," ou du donateur au moment de la transmission. Un résident portugais qui bénéficie de l'IFICI, qui bénéficiait du RNH, ou qui est soumis au régime ordinaire : la transmission de ses actifs à ses enfants est exonérée de droits de succession au Portugal dans tous les cas."]}),t.jsxs("p",{children:["Pour les actifs situés en France, biens immobiliers, participations dans des sociétés françaises, la France continue à appliquer ses propres droits de succession selon ses critères de rattachement. En l'absence de convention franco portugaise en matière de droits de succession, le ",t.jsx("strong",{children:"risque de double imposition successorale"})," sur les actifs français dans la succession d'un résident portugais est réel. La planification successorale doit donc intégrer une donation des actifs concernés du vivant du donateur, en profitant de l'exonération portugaise sur les donations en ligne directe, pour éviter que ces actifs ne tombent dans une succession doublement imposée. Pour les outils de transmission, voir notre article sur ",t.jsx(_g,{to:"/blog/demembrement-propriete",children:"le démembrement de propriété"}),"."]}),t.jsx(Og,{icon:St,children:"Exonération totale et inconditionnelle en ligne directe au Portugal, indépendamment du régime fiscal du défunt. C'est l'avantage le plus durable et le plus stratég
760ique du Portugal pour la planification patrimoniale long terme."}),t.jsx(Da,{children:"Pièges à éviter"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les pièges à éviter avant le départ"}),t.jsx("p",{children:"La complexité du cadre fiscal franco portugais dans le contexte de l'IFICI génère plusieurs pièges spécifiques que les Français qui envisagent de s'installer au Portugal doivent anticiper."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 my-10",children:[t.jsx(sl,{title:"Piège 1 : confondre IFICI et RNH",description:"L'exonération générale des revenus étrangers n'est pas reproduite. Revenus immobiliers français, dividendes français et plus values françaises ne sont pas automatiquement exonérés.",icon:Kt,color:"bg-secondary/80"}),t.jsx(sl,{title:"Piège 2 : rater les délais IFICI",description:"L'IFICI doit être demandé dans les 20 jours suivant l'inscription au registre fiscal, qui doit intervenir dans les 60 jours suivant l'installation. Aucun rattrapage rétroactif.",icon:We,color:"bg-primary/80"}),t.jsx(sl,{title:"Piège 3 : double obligation déclarative",description:"Revenus de source française à déclarer en France ET au Portugal avec mécanismes conventionnels d'élimination. L'omission crée des redressements dans les deux pays simultanément.",icon:mr,color:"bg-accent/80"}),t.jsx(sl,{title:"Piège 4 : exit tax non anticipée",description:"Sursis de paiement automatique vers le Portugal (UE), mais cession des titres dans les 2 ans suivant le transfert rend la plus value exigible. Le timing est stratégique.",icon:Lt,color:"bg-success/80"})]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"premier piège"})," est de confondre l'IFICI avec le RNH et d'attendre les mêmes avantages sur les revenus étrangers. L'exonération générale des revenus de source étrangère qui était le coeur du RNH n'est pas reproduite dans l'IFICI pour tous les profils. Les revenus immobiliers français, les dividendes de sociétés françaises et les plus values sur actifs français ne bénéficient pas automatiquement d'une exonération portugaise sous l'IFICI : leur traitement dépend des conventions bilatérales et de la catégorie d'activité éligible du bénéficiaire."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"deuxième piège"})," est de ne pas activer l'IFICI dans les délais requis. Comme le RNH avant lui, l'IFICI doit être demandé dans les ",t.jsx("strong",{children:"vingt jours"})," suivant l'inscription au registre fiscal portugais, qui doit lui même intervenir dans un délai de ",t.jsx("strong",{children:"soixante jours"})," suivant l'installation au Portugal. Ces délais sont stricts et leur dépassement entraîne la perte du régime pour l'année en cours, avec impossibilité de rattrapage rétroactif."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"troisième piège"})," est de négliger la ",t.jsx("strong",{children:"double obligation déclarative"})," dans les deux pays. Les revenus de source française restent déclarables en France selon les règles des non résidents, et les revenus de source française déclarés en France doivent également être reportés dans la déclaration portugaise avec application des mécanismes conventionnels d'élimination de la double imposition. L'omission de l'une ou l'autre de ces obligations crée des risques de redressement dans les deux pays simultanément."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"quatrième piège"})," est de ne pas anticiper l'",t.jsx("strong",{children:"exit tax française"})," avant le départ. Pour un Français qui détient des participations significatives dans des sociétés françaises et qui s'installe au Portugal, l'exit tax s'applique au moment du transfert de résidence, avec un sursis de paiement automatique puisque le Portugal est un État membre de l'UE. Mais si les titres sont cédés dans les deux ans suivant le transfert, la plus value mise en report devient exigible. La planification du timing de la cession par rapport au transfert de résidence est donc aussi importante pour le Portugal que pour ",t.jsx(_g,{to:"/blog/quitter-france",children:"tout autre départ de France"}),"."]}),t.jsx(Og,{icon:dr,children:"Le Portugal post RNH n'est pas une destination fiscalement banale. Pour les profils tech, entrepreneurs innovants et investisseurs actifs au Portugal, l'IFICI maintient des avantages réels. Pour les détenteurs de patr
760imoine passif, l'attractivité reste réelle mais via d'autres leviers : succession, absence d'IFI, qualité de vie."}),t.jsx("p",{children:"Le Portugal post RNH n'est pas le Portugal pre 2024. Mais il n'est pas non plus une destination fiscalement banale. Pour les profils dont les activités correspondent aux critères de l'IFICI, professionnels de la technologie, entrepreneurs dans des secteurs innovants, investisseurs actifs au Portugal, le régime maintient des avantages fiscaux réels et significatifs. Pour les retraités fortunés et les détenteurs de patrimoine passif dont l'attractivité du Portugal reposait principalement sur l'exonération des revenus de source étrangère du RNH, le Portugal reste intéressant, mais pour des raisons différentes et avec une équation fiscale différente. La qualité de vie, la fiscalité successorale favorable, l'absence d'impôt sur la fortune et la convention franco portugaise qui reste favorable sur certaines catégories de revenus constituent un ensemble d'avantages qui méritent une analyse sérieuse, conduite avec un conseil maîtrisant les deux dimensions du patrimoine transfrontalier franco portugais."}),t.jsx("p",{className:"text-[12px] text-muted-foreground italic pt-10 border-t border-border/40 mt-12",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le régime IFICI est récent et ses contours réglementaires continuent d'évoluer. Les règles fiscales portugaises et françaises sont susceptibles de modifications. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en fiscalité franco portugaise avant toute décision de transfert de résidence fiscale."})]}),t.jsxs("div",{className:"mt-16 pt-10 border-t border-border/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-6",children:"Articles liés"}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs(C,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Conventions fiscales"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Conventions franco belge, franco espagnole, franco portugaise"})]}),t.jsxs(C,{to:"/blog/quitter-france",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Départ de France"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Que faire de mon assurance vie, PEA et SCI avant le départ"})]}),t.jsxs(C,{to:"/blog/angles-morts-fiscaux-expat",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Angles morts fiscaux"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Vivre en Europe, avoir des actifs en France : éviter les pièges"})]}),t.jsxs(C,{to:"/blog/rupture-conseiller-expat",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Continuité du conseil"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Mon conseiller français ne peut plus me suivre à l'étranger"})]})]})]})]})}),t.jsx(re,{})]})},u6e=[.16,1,.3,1],ow=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),lw=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground
760/90 leading-relaxed text-left pt-2",children:e})]}),Ma=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),al=({title:e,description:n,icon:r,color:i})=>t.jsxs("div",{className:"p-6 rounded-2xl bg-muted/40 border border-border/40 flex flex-col gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl ${i} flex items-center justify-center`,children:t.jsx(r,{className:"w-5 h-5 text-white"})}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:e}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:n})]}),d6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 13 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Beckham Law : ce que les Français dirigeants doivent vraiment savoir avant de s'installer en Espagne"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Taux flat à 24%, impôt sur la fortune, Modelo 720, exit tax française : le tableau de bord complet pour un patrimoine franco espagnol sans angle mort."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:u6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:["La mécanique précise du régime Beckham","Ce que le taux de 24% couvre et ne couvre pas","L'impôt sur la fortune espagnol : la dimension oubliée","Le Modelo 720 : la déclaration qui peut coûter cher","L'exit tax française : le préalable incontournable","La convention franco espagnole et l'immobilier français","La SCI française vue depuis l'Espagne","Le tableau de bord d'un Français en Espagne"].map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),t.jsxs("div",{className:"prose-article space:y-6 space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["L'Espagne est devenue en quelques années l'une des destinations les plus prisées des ",t.jsx("strong",{children:"dirigeants et entrepreneurs français"})," en quête d'un cadre fiscal plus compétitif pour leur activité internationale. Barcelone, Madrid, Málaga : ces villes ont absorbé des flux croissants de talents et de capitaux français, attirés par une combinaison de qualité de vie, de dynamisme économique et d'un régime fiscal spécifique dont le nom évoque davantage un footballeur britannique qu'une stratégie patrimoniale sophistiquée."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"Beckham Law"}),", officiellement le régime d'imposition des impatriés de l'article 93 de la loi espagnole sur l'impôt des personnes physiques, offre aux personnes qui s'installent en Espagne pour exercer une activité professionnelle une imposition à ",t.jsx("strong",{children:"taux flat de 24% pendant six ans"}),". Pour un dirigeant français dont le taux marginal en France atteint 45% plus prélèvements sociaux, l'économie potentielle est considérable. Mais la Beckham Law est aussi un régime dont les subtilités sont nombreuses, les conditions strictes et les interactions avec le patrimoine français plus complexes que les présentations commerciales ne le laissent généralement entendre."]}),t.jsx(lw,{icon:ui,children:"24% flat sur les revenus de source espagnole jusqu'à 600 000 € pendant six ans, exclusion des revenus étrangers, exonération de l'impôt sur la fortune sur le patrimoine non espagnol. Mais le bénéfice exige le respect de délais stricts et une compliance rigoureuse dans les deux pays."}),t.jsx(Ma,{children:"Mécanique du régime"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La Beckham Law : la mécanique précise du régime"}),t.jsxs("p",{children:["La Beckham Law tire son nom populaire de ",t.jsx("strong",{children:"David Beckham"}),", dont l'arrivée au Real Madrid en 2003 avait coïncidé avec l'introduction du régime, alimentant une légende sur l'origine du dispositif qui est partiellement inexacte mais parfaitement mémorable. Le régime a été substantiellement réformé en ",t.jsx("strong",{children:"2022"})," par la réforme Startups, qui en a élargi le champ d'application et modifié certaines conditions d'éligibilité."]}),t.jsxs("p",{children:["Le mécanisme central est simple. Les personnes qui s'installent en Espagne pour exercer certaines activités professionnelles et qui n'ont pas été résidentes fiscales en Espagne pendant les ",t.jsx("strong",{children:"cinq années précédant leur arrivée"})," peuvent opter pour être imposées comme non résidents sur leurs revenus de source espagnole pe
760ndant six ans, l'année d'arrivée et les cinq années suivantes. L'imposition au titre du régime des non résidents signifie un ",t.jsx("strong",{children:"taux flat de 24%"})," sur les revenus de source espagnole jusqu'à 600 000 euros, et de ",t.jsx("strong",{children:"47%"})," au delà. Les revenus de source étrangère sont en principe exclus de la base imposable espagnole sous ce régime : ils ne sont ni imposés en Espagne ni pris en compte pour le calcul du taux."]}),t.jsxs("p",{children:["Les activités éligibles ont été élargies par la réforme de 2022. Initialement limité aux salariés détachés par un employeur étranger, le régime couvre désormais les ",t.jsx("strong",{children:"salariés recrutés localement"}),", les ",t.jsx("strong",{children:"dirigeants de sociétés espagnoles"})," ou de filiales espagnoles de groupes étrangers, les ",t.jsx("strong",{children:"travailleurs indépendants"})," qui exercent des activités à caractère entrepreneurial ou innovant reconnues par les autorités espagnoles, et les ",t.jsx("strong",{children:"télétravailleurs"})," qui s'installent en Espagne tout en maintenant une relation de travail avec un employeur étranger. Cette dernière catégorie est l'une des plus importantes pour les Français qui s'installent en Espagne tout en maintenant une activité pour des clients ou employeurs français."]}),t.jsxs("p",{children:["La demande d'application du régime doit être déposée dans les ",t.jsx("strong",{children:"six mois suivant le début de l'activité"})," en Espagne, via le formulaire 149. Ce délai est impératif et son non respect entraîne la perte définitive du régime pour toute la durée de la résidence espagnole. C'est le premier piège dans lequel tombent les Français qui s'installent en Espagne sans préparation fiscale préalable."]}),t.jsx(Ma,{children:"Ce que le 24% couvre"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que le taux de 24% couvre et ce qu'il ne couvre pas"}),t.jsx("p",{children:"La présentation de la Beckham Law comme un régime d'imposition à 24% flat est précise mais incomplète, et les nuances ont une importance patrimoniale considérable."}),t.jsxs("p",{children:["Le taux de 24% s'applique aux ",t.jsx("strong",{children:"revenus de source espagnole"})," dans les catégories éligibles. Pour un salarié ou un dirigeant, cela inclut son salaire ou ses rémunérations de dirigeant de source espagnole. Pour un travailleur indépendant éligible, cela inclut ses revenus d'activité de source espagnole. Le taux de 24% s'applique sur les ",t.jsx("strong",{children:"revenus bruts"}),", sans déductions de charges professionnelles ni de cotisations sociales dans la base de calcul de l'impôt. Cette base brute est un paramètre important qui peut rendre le taux effectif supérieur à 24% si les charges déductibles en régime ordinaire auraient été significatives."]}),t.jsxs("p",{children:["Les revenus de source étrangère sont traités différemment selon leur nature. Les dividendes, intérêts et plus values de source étrangère sont en principe exclus de la base imposable espagnole sous la Beckham Law. Mais cette exclusion a une conséquence que les contribuables découvrent parfois avec surprise : ces revenus étrangers ne bénéficient pas non plus des dispositions ",t.jsx(ow,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",children:"conventionnelles pour l'élimination de la double imposition"})," que l'Espagne a négociées. Si un revenu de source française est également imposable en France, comme les loyers d'un appartement parisien, l'Espagne ne reconnaît pas de crédit d'impôt pour l'imposition française sous la Beckham Law puisque ce revenu n'entre pas dans sa base imposable."]}),t.jsxs("p",{children:["Les dividendes distribués par des sociétés espagnoles à un bénéficiaire Beckham sont imposés à un taux spécifique, distinct du taux de 24% applicable aux revenus d'activité. Ces dividendes sont soumis au taux de ",t.jsx("strong",{children:"19% jusqu'à 6 000 €"}),", ",t.jsx("strong",{children:"21% entre 6 000 et 50 000 €"}),", ",t.jsx("strong",{children:"23% entre 50 000 et 200 000 €"})," et ",t.jsx("strong",{children:"27% au delà"}),". Ce barème est celui applicable aux revenus du capital sous le régime des non résidents."]}),t.jsx(Ma,{children:"Impôt sur la fortune"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'impôt sur la fortune espagnol : une dimension souvent oubliée"}),t.jsxs("p",{children:["L'un des angles morts les plus fréquents dans la présentation de l'Espagne comme destination fiscalement attractive est l'",t.jsx("strong",{children:"Impuesto sobre el Patrimonio"}),", dont l'existence contraste avec la suppression de l'ISF français en 2017 et l'introduction de l'IFI limité à l'immobilier."]}),t.jsxs("p",{children:["C'est un impôt annuel sur la valeur nette du patr
760imoine mondial des résidents fiscaux espagnols. Son taux varie entre ",t.jsx("strong",{children:"0,2% et 3,5%"})," selon les tranches, avec un seuil d'exonération de ",t.jsx("strong",{children:"700 000 €"})," de patrimoine net et une exonération supplémentaire pour la résidence principale jusqu'à 300 000 €. La spécificité espagnole est que cet impôt est ",t.jsx("strong",{children:"décentralisé"})," : chaque communauté autonome peut modifier les taux, les seuils et les exonérations dans les limites définies par l'État central."]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 my-10",children:[t.jsx(al,{title:"Madrid",description:"Abattement de 100% sur la quota estatal. L'impôt sur la fortune régional est ramené à zéro pour les résidents madrilènes dans la très grande majorité des cas.",icon:rn,color:"bg-success/80"}),t.jsx(al,{title:"Barcelone (Catalogne)",description:"Application sans réduction significative, avec des taux pouvant atteindre 2,75% sur les fractions de patrimoine dépassant 10 M€.",icon:Kt,color:"bg-secondary/80"}),t.jsx(al,{title:"Andalousie & Valence",description:"Réduction ou suppression effective de l'impôt pour les résidents. Une variable clé du choix du lieu d'implantation.",icon:ui,color:"bg-accent/80"})]}),t.jsx("p",{children:"Cette disparité régionale est un paramètre de choix du lieu de résidence aussi important que le cadre de vie ou le dynamisme économique local. Un Français fortuné qui s'installe à Madrid bénéficie d'une exonération de facto. Le même contribuable installé à Barcelone peut être soumis à un impôt annuel de plusieurs dizaines ou centaines de milliers d'euros selon la taille de son patrimoine."}),t.jsxs("p",{children:["Un complément d'information important concerne l'",t.jsx("strong",{children:"Impuesto de Solidaridad de las Grandes Fortunas"}),", créé par le gouvernement espagnol en 2022 précisément pour neutraliser les effets des exonérations régionales. Cet impôt national s'applique aux patrimoines dépassant ",t.jsx("strong",{children:"3 millions d'euros"})," et prévoit des taux de 1,7% entre 3 et 5,35 M€, 2,1% entre 5,35 et 10,7 M€ et 3,5% au delà. Son interaction avec l'Impuesto sobre el Patrimonio est conçue de sorte que les résidents dont la communauté autonome exonère l'impôt patrimonial régional paient l'impôt de solidarité national, ce qui neutralise partiellement l'exonération madrilène pour les très grands patrimoines."]}),t.jsx(lw,{icon:dr,children:"Pour un bénéficiaire de la Beckham Law, l'impôt sur la fortune ne s'applique qu'aux actifs de source espagnole. Pendant les six années du régime, le patrimoine étranger y compris les actifs français n'entre pas dans l'assiette : un avantage souvent méconnu mais structurellement significatif."}),t.jsx(Ma,{children:"Modelo 720"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le Modelo 720 : la déclaration qui peut coûter très cher si elle est oubliée"}),t.jsxs("p",{children:["Le Modelo 720 est la déclaration obligatoire des ",t.jsx("strong",{children:"actifs étrangers"})," détenus par les résidents fiscaux espagnols. Un formulaire qui n'a pas d'équivalent direct dans les obligations déclaratives françaises et dont la non déclaration expose à des pénalités parmi les plus sévères du droit fiscal européen."]}),t.jsxs("p",{children:["Tout résident fiscal espagnol qui détient des actifs à l'étranger dépassant ",t.jsx("strong",{children:"50 000 €"})," dans l'une des trois catégories définies, comptes bancaires, valeurs mobilières et droits sociaux, biens immobiliers et droits sur des biens immobiliers, est tenu de déposer le Modelo 720 avant le ",t.jsx("strong",{children:"31 mars"})," de l'année suivant celle au cours de laquelle la détention a atteint ce seuil."]}),t.jsxs("p",{children:["La singularité du Modelo 720 est son ",t.jsx("strong",{children:"régime de sanctions"}),", qui a fait l'objet d'une condamnation partielle par la Cour de Justice de l'
760UE en ",t.jsx("strong",{children:"2022"})," pour disproportion. Avant cette condamnation, la non déclaration ou la déclaration incorrecte exposait à des pénalités fixées à ",t.jsx("strong",{children:"150% de la valeur des actifs non déclarés"}),", une sanction confiscatoire qui a été réformée mais qui reste significative après la mise en conformité partielle de la législation espagnole avec l'arrêt européen."]}),t.jsxs("p",{children:["Pour un Français installé en Espagne qui détient un appartement à Paris, un contrat d'assurance vie français et des parts dans une holding française, le Modelo 720 doit mentionner l'ensemble de ces actifs dès lors qu'ils dépassent 50 000 € par catégorie. L'obligation déclarative existe ",t.jsx("strong",{children:"même pour les bénéficiaires de la Beckham Law"})," : même si ces actifs ne sont pas imposables en Espagne sous ce régime, ils doivent être déclarés. L'omission du Modelo 720 est l'une des erreurs les plus courantes et les plus coûteuses des expatriés français en Espagne, et c'est souvent l'une des premières questions que l'administration fiscale espagnole examine lors d'un contrôle. Voir aussi ",t.jsx(ow,{to:"/blog/angles-morts-fiscaux-expat",children:"les angles morts fiscaux des expatriés"}),"."]}),t.jsx(Ma,{children:"Exit tax française"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'exit tax française : le préalable incontournable avant le départ"}),t.jsxs("p",{children:["L'interaction entre la Beckham Law et l'",t.jsx("strong",{children:"exit tax française"})," est l'une des dimensions les plus critiques de la planification fiscale pré départ pour un Français qui s'installe en Espagne, et celle qui génère le plus d'erreurs coûteuses lorsqu'elle n'est pas anticipée."]}),t.jsxs("p",{children:["L'exit tax française s'applique au moment du transfert de résidence fiscale hors de France pour les contribuables qui détiennent des participations dépassant les seuils légaux. Elle impose les plus values latentes sur les titres détenus, calculées comme la différence entre leur valeur de marché au jour du départ et leur prix de revient fiscal, au ",t.jsx("strong",{children:"prélèvement forfaitaire unique de 30%"}),"."]}),t.jsxs("p",{children:["L'installation en Espagne, État membre de l'UE, déclenche automatiquement le ",t.jsx("strong",{children:"sursis de paiement"})," de l'exit tax. La plus value latente est calculée et documentée au moment du départ, mais son paiement est différé jusqu'à la cession effective des titres concernés. Si les titres sont cédés après l'installation en Espagne, et si le bénéficiaire est sous le régime Beckham qui exonère les plus values sur titres étrangers, une question fondamentale se pose : la plus value réalisée en Espagne est elle exonérée au titre de la Beckham Law tout en restant due en France au titre de l'exit tax ?"]}),t.jsxs("p",{children:["La réponse est que la France conserve le droit d'imposer la fraction de la plus value qui correspond à l'",t.jsx("strong",{children:"appréciation constatée jusqu'au jour du départ"}),", c'est précisément la plus value mise en report par l'exit tax. La fraction de la plus value réalisée après le départ, l'appréciation entre la date de départ et la date de cession, est en principe imposable selon la convention franco espagnole, qui attribue le droit d'imposition à l'État de résidence du cédant. Si ce cédant est sous la Beckham Law, cette fraction post départ n'est pas imposée en Espagne, et elle n'est pas imposable en France selon la convention."]}),t.jsxs("p",{children:["Cette situation crée donc potentiellement un partage de la plus value entre une fraction imposable en France et une fraction non imposée. La quantification précise de chaque fraction, la documentation des valeurs au jour du départ et la gestion des obligations déclaratives dans les deux pays sont des opérations qui requièrent une coordination étroite entre un conseil fiscal français et un conseil fiscal espagnol. Voir notre guide sur ",t.jsx(ow,{to:"/blog/quitter-france",children:"ce qu'il faut faire avant le départ"}),"."]}),t.jsx(Ma,{children:"Immobilier français"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La convention franco espagnole et les actifs immobiliers français"}),t.jsx("p",{children:"Pour les Français installés en Espagne qui conservent des actifs immobiliers en France, une résidence principale, un appartement locatif, des parts de SCI, la convention franco espagnole définit le traitement applicable."}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"revenus locatifs"})," d'un bien immobilier situé en France sont imposables en France, droit de la source, et doivent également être déclarés en Espagne avec application d'un crédit d'impôt pour l'impôt français payé. Sous la Beckham Law, ces revenus immobiliers français constituent des revenus de source étrangère : ils n'entrent pas dans la base imposable espagnole du régime des impatriés et ne font pas l'objet d'un crédit d'impôt espagnol. L'imposition est donc ",t.jsx("strong",{children:"entièrement française"}),", avec les règles applicables aux non résidents, sans surcharge espagnole. C'est l'un des avantages pratiques de la Beckham Law pour les Français qui conservent des actifs immobiliers en France."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"cession d'un bien immobilier"})," situé en France par un résident espagnol est imposable en France selon la convention, droit de la source pour les plus values immobilières. Cette imposition française est la seule applicable : la Beckham Law exclut ces revenus de la base espagnole. En pratique, un Français en Espagne qui cède un appartement parisien ne paie d'impôt sur la plus value qu'en France, selon les règles des non résidents de l'UE, sans imposition complémentaire en Espagne."]}),t.jsx(Ma,{children:"SCI française"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La SCI française depuis l'Esp
760agne : les qualifications divergentes"}),t.jsx("p",{children:"La SCI française crée en Espagne des difficultés de qualification analogues à celles rencontrées au Portugal et en Belgique, avec des spécificités propres au droit fiscal espagnol."}),t.jsxs("p",{children:["L'Espagne ne reconnaît pas directement le concept de société civile transparente tel qu'il existe en France. Une ",t.jsx("strong",{children:"SCI à l'IR"})," peut être qualifiée en Espagne selon différentes approches : comme une entité transparente dont les revenus sont attribués directement aux associés, comme une société opaque dont les distributions sont traitées comme des dividendes, ou selon un régime intermédiaire. La qualification retenue a des implications directes sur la façon dont les revenus de la SCI sont traités dans la déclaration espagnole du résident et sur le mécanisme d'élimination de la double imposition applicable."]}),t.jsx("p",{children:"Cette divergence de qualification est l'une des raisons pour lesquelles la détention de parts de SCI française par un résident espagnol est l'une des situations qui requiert le plus impérativement un conseil maîtrisant simultanément le droit fiscal français et le droit fiscal espagnol. Une erreur de qualification dans la déclaration espagnole peut créer une double imposition non éliminée ou une insuffisance déclarative, avec dans les deux cas des conséquences financières significatives."}),t.jsx(Ma,{children:"Tableau de bord"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que le tableau de bord d'un Français en Espagne doit contenir"}),t.jsx("p",{children:"Un Français dirigeant installé en Espagne sous la Beckham Law qui conserve des actifs en France doit maintenir une vision à jour de plusieurs paramètres simultanément, dont l'interaction est complexe et dont la gestion requiert une coordination active entre conseillers dans les deux pays."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 my-10",children:[t.jsx(al,{title:"État de la Beckham Law",description:"Année en cours sur six, date d'expiration, vérification annuelle du maintien des conditions d'éligibilité. La perte du régime en cours de période crée une bascule vers le régime ordinaire.",icon:We,color:"bg-primary/80"}),t.jsx(al,{title:"État du Modelo 720",description:"Actualisation annuelle de la valeur des actifs étrangers, vérification des seuils, déclaration des nouveaux actifs. Source la plus fréquente de contentieux.",icon:mr,color:"bg-accent/80"}),t.jsx(al,{title:"État de l'exit tax",description:"Montant de la plus value en report, titres concernés, suivi des cessions qui déclenchent l'exigibilité. Documentation des valeurs au jour du départ : fondamentale.",icon:Lt,color:"bg-secondary/80"}),t.jsx(al,{title:"Obligations françaises",description:"Déclaration annuelle des revenus de source française sur le formulaire des non résidents, vérification de l'application correcte des conventions, suivi des obligations SCI ou holding.",icon:va,color:"bg-success/80"})]}),t.jsx(lw,{icon:St,children:"La Beckham Law offre une opportunité fiscale réelle, dont la valeur effective dépend entièrement de la rigueur avec laquelle les conditions d'activation sont respectées, les obligations déclaratives dans les deux pays sont gérées, et les interactions entre les deux systèmes fiscaux sont anticipées."}),t.jsxs("p",{children:["L'Espagne est une destination attractive pour de bonnes raisons : climatiques, économiques et fiscales. Mais elle est aussi une destination ",t.jsx("strong",{children:"exigeante sur le plan de la compliance patrimoniale transfrontalière"}),", une exigence que les Français qui la sous estiment découvrent généralement dans des circonstances moins favorables que ceux qui l'avaient anticipée."]}),t.jsx("p",{className:"text-[12px] text-muted-foreground italic pt-10 border-t border-border/40 mt-12",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. La Beckham Law et les règles fiscales espagnoles sont susceptibles d'évoluer. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en fiscalité franco espagnole avant toute décision de transfert de résidence fiscale."})]}),t.jsxs("div",{className:"mt-16 pt-10 border-t border-border/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-6",children:"Articles liés"}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs(C,{to:"/blog/conventions-fiscales-belgique-espagne-portugal",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Conventions fiscales"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Conventions franco belge, franco espagnole, franco portugaise"})]}),t.jsxs(C,{to:"/blog/quitter-france",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Départ de France"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Que faire de mon assurance vie, PEA et SCI avant le départ"})]}),t.jsxs(C,{to:"/blog/angles-morts-fiscaux-expat",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Angles morts fiscaux"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Vivre en Europe, avoir des actifs en France : éviter les pièges"})]}),t.jsxs(C,{to:"/blog/portugal-ifici-apres-rnh",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Portugal post RNH"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Ce qui reste très intéressant pour un Français fortuné au Portugal"})]})]})]})]})}),t.jsx(re,{})]})},p6e=[.16,1,.3,1],Tp=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),VF=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground
760/90 leading-relaxed text-left pt-2",children:e})]}),$a=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),Fs=({title:e,description:n,icon:r,color:i})=>t.jsxs("div",{className:"p-6 rounded-2xl bg-muted/40 border border-border/40 flex flex-col gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl ${i} flex items-center justify-center`,children:t.jsx(r,{className:"w-5 h-5 text-white"})}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:e}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:n})]}),m6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Assurance-vie luxembourgeoise · Juin 2026 · 14 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Contrat luxembourgeois : pourquoi les patrimoines importants l'utilisent comme colonne vertébrale"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"FAS, FID, triangle de sécurité, actifs alternatifs : ce que le contrat luxembourgeois permet que rien d'autre ne permet, et à partir de quand il s'impose."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:p6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:["Ce que le Luxembourg a construit que les autres n'ont pas","Le triangle de sécurité : retour aux fondamentaux","Assurance-vie française vs contrat luxembourgeois","Le FAS : la personnalisation à partir de 250 000 €","Le FID : la liberté totale pour les très grands patrimoines","Accéder au private equity via le contrat luxembourgeois","Utmost et UBS Life : ce qu'ils permettent concrètement","À partir de quand le basculement s'impose"].map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Il existe dans la gestion patrimoniale des grandes fortunes une enveloppe qui revient systématiquement dans les architectures les plus sophistiquées, quelle que soit la résidence fiscale du propriétaire, quelle que soit la composition de ses actifs, quel que soit l'horizon de sa stratégie. Le ",t.jsx("strong",{children:"contrat d'assurance-vie luxembourgeois"})," n'est pas le produit le plus médiatisé du marché patrimonial. Il n'est pas non plus le plus simple à expliquer ni le plus accessible en termes de seuils d'entrée. Mais parmi les praticiens qui construisent des architectures patrimoniales pour des patrimoines significatifs, il est devenu une ",t.jsx("strong",{children:"référence incontournable"}),", la colonne vertébrale autour de laquelle s'articulent les autres décisions d'allocation, de structuration et de transmission."]}
760),t.jsx("p",{children:"Comprendre pourquoi suppose de dépasser la présentation superficielle que beaucoup de documents commerciaux en font, et d'examiner précisément ce qu'il permet, dans quelles conditions, et pour quels profils il crée une valeur que rien d'autre ne peut reproduire."}),t.jsx(VF,{icon:ui,children:"Triangle de sécurité sans plafond, accès aux actifs alternatifs illiquides via FAS et FID, portabilité géographique sans friction : aucun autre instrument disponible en Europe ne combine ces qualités dans un seul véhicule fiscalement optimisé."}),t.jsx($a,{children:"Spécificité luxembourgeoise"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que le Luxembourg a construit que les autres n'ont pas"}),t.jsxs("p",{children:["Le Luxembourg est devenu la ",t.jsx("strong",{children:"première place mondiale"})," de l'assurance-vie transfrontalière non pas par accident mais par construction délibérée. Pendant plusieurs décennies, le législateur et le régulateur luxembourgeois ont bâti un cadre prudentiel et juridique spécifiquement conçu pour répondre aux besoins patrimoniaux des investisseurs internationaux fortunés, avec une rigueur réglementaire qui a attiré les filiales luxembourgeoises des grands groupes d'assurance européens."]}),t.jsxs("p",{children:["Le résultat est un écosystème unique. Des assureurs de premier plan, ",t.jsx("strong",{children:"Utmost, UBS Life, Generali Luxembourg, Lombard International, OneLife"})," parmi d'autres, qui ont investi dans des équipes, des systèmes et des processus dédiés à la gestion de contrats sophistiqués pour une clientèle internationale. Des banques dépositaires agréées qui assurent la ségrégation des actifs avec la rigueur que le ",t.jsx("strong",{children:"Commissariat aux Assurances"})," exige. Des sociétés de gestion capables de construire et de piloter des mandats sur mesure dans le cadre des FAS et FID."]}),t.jsxs("p",{children:["Ce cadre ne peut pas être reproduit par un assureur français ou par une banque privée française aussi performants soient ils, parce qu'il repose sur des fondements juridiques luxembourgeois qui n'existent pas en droit français. Ce n'est pas une question de qualité des acteurs : c'est une question d'",t.jsx("strong",{children:"architecture réglementaire"}),"."]}),t.jsx($a,{children:"Triangle de sécurité"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le triangle de sécurité : retour aux fondamentaux"}),t.jsxs("p",{children:["La protection offerte par le ",t.jsx(Tp,{to:"/blog/triangle-securite-luxembourgeois",children:"triangle de sécurité luxembourgeois"})," est le premier argument en faveur du contrat luxembourgeois pour les patrimoines significatifs, et le plus difficile à expliquer sans tomber dans l'abstraction."]}),t.jsxs("p",{children:["En France, les actifs représentatifs des contrats d'assurance-vie sont inscrits au bilan de l'assureur. L'assuré est un ",t.jsx("strong",{children:"créancier de l'assureur"}),", protégé par le Fonds de Garantie des Assurances de Personnes à hauteur de ",t.jsx("strong",{children:"70 000 € par assureur"}),". Au delà de ce seuil, l'assuré est un créancier chirographaire ordinaire dont la récupération des actifs en cas de faillite de l'assureur dépend des règles générales du droit des faillites françaises, avec une priorité qui n'est pas garantie."]}),t.jsx("p",{children:"Au Luxembourg, l'architecture est fondamentalement différente selon trois dimensions qui forment le triangle."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 my-10",children:[t.jsx(Fs,{title:"1. Ségrégation des actifs",description:"Obligatoire par la loi luxembourgeoise. Isole les actifs représentatifs des contrats du bilan propre de l'assureur, dans une structure hermétique à toute procédure collective.",icon:We,color:"bg-primary/80"}),t.jsx(Fs,{title:"2. Super-privilège",description:"Droit des assurés d'être remboursés en priorité absolue, avant tous les autres créanciers y compris l'État luxembourgeois, sans aucun plafond.",icon:St,color:"bg-
760accent/80"}),t.jsx(Fs,{title:"3. Surveillance permanente",description:"Le Commissariat aux Assurances contrôle en temps réel l'adéquation entre actifs déposés et engagements, avec obligation de reconstitution immédiate.",icon:dr,color:"bg-success/80"})]}),t.jsxs("p",{children:["Ce dispositif n'a pas d'équivalent en Europe. Pour un patrimoine dont la fraction logée en assurance-vie dépasse plusieurs centaines de milliers d'euros, et a fortiori pour des encours de plusieurs millions, la différence entre être créancier chirographaire d'un assureur français avec une garantie plafonnée à 70 000 € et être bénéficiaire d'",t.jsx("strong",{children:"actifs ségrégués avec super-privilège illimité"})," au Luxembourg n'est pas théorique."]}),t.jsx($a,{children:"Comparaison honnête"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'assurance-vie française vs le contrat luxembourgeois : la comparaison honnête"}),t.jsxs("p",{children:["Sur la ",t.jsx("strong",{children:"fiscalité"}),", les deux enveloppes sont rigoureusement identiques pour un résident fiscal français. Les règles des rachats, les abattements après huit ans, le prélèvement forfaitaire unique, le régime successoral dérogatoire : tout cela s'applique de façon identique aux deux types de contrats. Quiconque présente le contrat luxembourgeois comme fiscalement plus avantageux qu'un contrat français pour un résident français fait une erreur factuelle ou tient un discours commercial trompeur. Voir notre comparatif détaillé ",t.jsx(Tp,{to:"/blog/av-luxembourg-vs-france",children:"assurance-vie luxembourgeoise vs française"}),"."]}),t.jsxs("p",{children:["Sur l'",t.jsx("strong",{children:"univers d'investissement"}),", la différence est structurelle. Les meilleurs contrats français offrent des centaines d'unités de compte, des SCPI et OPCI, des fonds de private equity accessibles aux particuliers, des ETF et des fonds euros. Mais cet univers est limité par des contraintes de liquidité réglementaires qui excluent les actifs véritablement illiquides : fonds de private equity institutionnels avec appels de fonds progressifs, fonds de dette privée sans fenêtre de liquidité, produits structurés sur mesure, obligations corporate non cotées. Le contrat luxembourgeois avec FAS ou FID n'est pas soumis à ces contraintes."]}),t.jsxs("p",{children:["Sur la ",t.jsx("strong",{children:"portabilité géographique"}),", la différence est absolue. Un contrat français est conçu pour un résident fiscal français : son traitement lors d'un changement de résidence est complexe et parfois défavorable. Le contrat luxembourgeois s'adapte automatiquement au régime fiscal du nouveau pays de résidence, sans clôture, sans perte d'antériorité, sans restructuration. Pour les profils à mobilité internationale, cette portabilité est une condition de cohérence patrimoniale long terme. Voir aussi ",t.jsx(Tp,{to:"/blog/transfert-assurance-vie-luxembourg",children:"le transfert d'un contrat français vers le Luxembourg"}),"."]}),t.jsxs("p",{children:["Sur les ",t.jsx("strong",{children:"frais"}),", la différence s'est considérablement réduite. Pour les contrats sans fonds euros purement en unités de compte, les frais luxembourgeois sont aujourd'hui comparables à ceux des meilleurs contrats français haut de gamme distribués par des conseillers indépendants."]}),t.jsx($a,{children:"Fonds d'Assurance Spécialisé"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le FAS : la personnalisation accessible à partir de 250 000 €"}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"Fonds d'Assurance Spécialisé"})," est le premier niveau de personnalisation spécifique au cadre luxembourgeois. Il est accessible à partir d'un seuil d'encours qui le rend pertinent pour une clientèle significativement plus large que le FID."]}),t.jsxs("p",{children:["Le FAS est un ",t.jsx("strong",{children:"mandat de gestion individuel"})," logé à l'intérieur du contrat. Le souscripteur mandate un gestionnaire d'actifs de son choix, banque privée, société de gestion indépendante, family office agréé, pour gérer un portefeuille personnalisé selon une politique d'investissement définie conjointement. Ce portefeuille peut intégrer des actifs qui sont inaccessibles dans les contrats standard : fonds de private equity institutionnels, fonds de dette privée, fonds alternatifs non UCITS, produits structurés complexes, credit linked notes."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"fonds de private equity institutionnels"}),", normalement réservés aux investisseurs professionnels avec des engagements minimums de plusieurs millions d'euros, peuvent être souscrits dans un FAS via des arrangements spécifiques entre l'assureur luxembourgeois et le gérant. Ce mécanisme permet à un investisseur disposant d'un encours de 500 000 € dans son FAS d'accéder à des fonds auxquels il ne pourrait pas souscrire directement."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"credit linked notes"})," (CLN) sont des instruments financiers qui permettent de s'exposer au risque de crédit d'un émetteur spécifique en échange d'un coupon défini. Accessibles via un FAS luxembourgeois, ils permettent de diversifier l'exposition obligataire vers des segments de crédit qui ne sont pas disponibles via les fonds UCITS distribués dans les contrats français."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"fonds alternatifs"}
760),", hedge funds, fonds macro, fonds de stratégies relatives, qui ne bénéficient pas de l'agrément UCITS requis pour la distribution aux particuliers en France peuvent être logés dans un FAS. Les ",t.jsx("strong",{children:"obligations corporate non cotées"})," et les placements privés obligataires peuvent également être intégrés, avec une flexibilité que les contrats français ne permettent pas."]}),t.jsx($a,{children:"Fonds Interne Dédié"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le FID : la liberté totale pour les très grands patrimoines"}),t.jsxs("p",{children:["Le ",t.jsx(Tp,{to:"/blog/fonds-interne-dedie",children:"Fonds Interne Dédié"})," représente le niveau ultime de personnalisation. Contrairement au FAS qui est un mandat dans le cadre d'un fonds existant, le FID est un ",t.jsx("strong",{children:"fonds créé spécifiquement et exclusivement pour un souscripteur unique"}),", un véhicule d'investissement sur mesure dont la politique d'investissement, les actifs éligibles et les modalités de gestion sont entièrement définis en fonction des besoins de ce seul investisseur."]}),t.jsx("p",{children:"Le FID peut accueillir des actifs encore moins standardisés et moins liquides que le FAS : participations directes dans des sociétés non cotées, actifs immobiliers internationaux, créances privées, instruments hybrides complexes. La seule contrainte est la cohérence avec le cadre réglementaire luxembourgeois qui qualifie le véhicule d'actif représentatif d'un contrat d'assurance-vie."}),t.jsxs("p",{children:["Le FID est accessible à partir d'",t.jsx("strong",{children:"un million d'euros d'encours minimum"}),", souvent davantage en pratique pour les structures les plus sophistiquées. Il suppose l'existence d'une relation avec un gestionnaire d'actifs disposant de l'agrément requis et requiert une gouvernance rigoureuse pour respecter la condition juridique fondamentale du contrat d'assurance-vie : l'",t.jsx("strong",{children:"absence d'instructions directes du souscripteur"})," sur des opérations spécifiques."]}),t.jsx($a,{children:"Private equity"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Comment accéder au private equity via le contrat luxembourgeois"}),t.jsxs("p",{children:["Dans un contrat luxembourgeois avec FAS, l'accès au ",t.jsx(Tp,{to:"/blog/courbe-en-j",children:"private equity"})," prend plusieurs formes. La première est la souscription à des fonds institutionnels via des ",t.jsx("strong",{children:"side pocket arrangements"}),", des mécanismes par lesquels l'assureur luxembourgeois souscrit directement au fonds et l'intègre dans les actifs représentatifs du FAS du client. La deuxième est la souscription à des fonds structurés spécifiquement pour une distribution via des contrats d'assurance-vie luxembourgeois, accessibles à des tickets individuels plus faibles que les fonds institutionnels standards."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"appels de fonds"})," du private equity créent une spécificité dans le contexte du FAS. L'assureur luxembourgeois doit honorer les appels aux dates requises, ce qui suppose que la trésorerie disponible dans le FAS soit suffisante. La gestion de cette liquidité interne, en maintenant une poche d'actifs liquides suffisante pour faire face aux appels prévisibles, est une dimension que le souscripteur et son gestionnaire doivent anticiper soigneusement."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"distributions"})," du fonds de private equity sont réintégrées dans les actifs du FAS et peuvent être réallouées selon la politique d'investissement sans friction fiscale intermédiaire. Cette ",t.jsx("strong",{children:"capitalisation en franchise d'impôt"})," des distributions du private equity au sein du FAS est l'un des avantages les plus concrets de l'enveloppe luxembourgeoise pour les investisseurs qui construisent une allocation long terme en actifs privés."]}),t.jsx($a,{children:"Utmost & UBS Life"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Utmost et UBS Life : ce que ces assureurs permettent concrètement"}),t.jsxs("p",{children:["Colbr travaille avec ",t.jsx("strong",{children:"Utmost"})," et ",t.jsx("strong",{children:"UBS Life"})," pour la distribution de contrats luxembourgeois, deux assureurs dont les caractéristiques méritent d'être décrites précisément."]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 my-10",children:[t.jsx(Fs,{title:"Utmost",description:"Un des grands distributeurs européens. Plateforme offrant des milliers d'unités de compte, FAS avec un éventail de gestionnaires partenaires. Coeur de positionnement : contrats FAS entre 250 000 € et 2 M€.",icon:rn,color:"bg-primary/80"}),t.jsx(Fs,{title:"UBS Life Luxembourg",description:"Solidité financière et réseau de gestion d'actifs UBS. Adapté aux clients comb
760inant gestion d'actifs UBS et enveloppe luxembourgeoise, avec accès aux stratégies institutionnelles et structuration sur mesure.",icon:St,color:"bg-accent/80"})]}),t.jsxs("p",{children:["Ces deux assureurs permettent concrètement ce qu'un assureur français de premier plan ne peut pas offrir : un ",t.jsx("strong",{children:"accès aux actifs alternatifs illiquides"}),", une personnalisation réelle de la politique d'investissement, une portabilité géographique effective et une protection des actifs via le triangle de sécurité. Ce sont ces capacités spécifiques, et non une supériorité fiscale qui n'existe pas, qui justifient leur positionnement dans une architecture patrimoniale sophistiquée."]}),t.jsx($a,{children:"Seuils de pertinence"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"À partir de quand le basculement vers le contrat luxembourgeois s'impose"}),t.jsx("p",{children:"La question du seuil de pertinence du contrat luxembourgeois par rapport à un contrat français de qualité est celle que les investisseurs posent le plus fréquemment, et celle qui mérite la réponse la plus nuancée."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 my-10",children:[t.jsx(Fs,{title:"< 150 000 €",description:"Le contrat français est la réponse optimale dans la quasi-totalité des situations. Les avantages spécifiques du Luxembourg ne sont pas accessibles à ce niveau.",icon:va,color:"bg-muted-foreground/60"}),t.jsx(Fs,{title:"150 000 € – 500 000 €",description:"La comparaison se pose sérieusement pour les profils spécifiques : mobilité internationale, besoins d'investissement particuliers, souhait de protection au-delà du Fonds de Garantie français.",icon:mr,color:"bg-accent/80"}),t.jsx(Fs,{title:"500 000 € – 2 M€",description:"Le contrat luxembourgeois s'impose comme solution préférentielle. Triangle de sécurité, accès au FAS et aux actifs alternatifs, portabilité géographique deviennent pertinents.",icon:We,color:"bg-primary/80"}),t.jsx(Fs,{title:"> 2 M€",description:"Solution qui s'impose sans discussion. Le FID devient accessible et permet une personnalisation totale. Architecture de référence des très grands patrimoines européens.",icon:ui,color:"bg-success/80"})]}),t.jsx(VF,{icon:dr,children:"Le contrat luxembourgeois résout simultanément plusieurs problèmes que les enveloppes alternatives ne peuvent pas traiter ensemble : protection sans plafond, liberté d'investissement, portabilité, accès aux actifs privés dans une enveloppe fiscalement et successoralement optimisée."}),t.jsxs("p",{children:["Le contrat luxembourgeois est devenu la ",t.jsx("strong",{children:"colonne vertébrale"})," des architectures patrimoniales sophistiquées non pas parce qu'il est à la mode ni parce que ses promoteurs savent bien le vendre, mais parce qu'il résout simultanément plusieurs problèmes que les enveloppes alternatives ne peuvent pas traiter ensemble. Aucun autre instrument disponible en Europe ne combine ces qualités dans un seul véhicule. C'est cette unicité qui justifie sa place centrale dans les patrimoines qui ont atteint le niveau de complexité et de dimension pour lesquels ces qualités cessent d'être des avantages marginaux et deviennent des conditions de la gestion patrimoniale sérieuse."]}),t.jsx("p",{className:"text-[12px] text-muted-foreground italic pt-10 border-t border-border/40 mt-12",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les caractéristiques des contrats luxembourgeois mentionnés sont susceptibles d'évoluer. Nous vous recommandons de consulter un conseiller patrimonial qualifié avant toute décision de souscription."})]}),t.jsxs("div",{className:"mt-16 pt-10 border-t border-border/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-6",children:"Articles liés"}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs(C,{to:"/blog/triangle-securite-luxembourgeois",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Triangle de sécurité"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Pourquoi les grandes fortunes s'y intéressent"})]}),t.jsxs(C,{to:"/blog/fonds-interne-dedie",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"FID"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Fonds dédié et fonds interne dédié : gérer son assurance-vie comme un mandat"})]}),t.jsxs(C,{to:"/blog/av-luxembourg-vs-france",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Comparatif"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Assurance-vie luxembourgeoise vs française : que choisir selon son patrimoine"})]}),t.jsxs(C,{to:"/blog/transfert-assurance-vie-luxembourg",className:"group p-5 rounded-xl bg-muted/40 border border-border/40 hover:border-primary/30 transition-all",children:[t.jsx("p",{className:"text-[11px] tracking-[0.2em] uppercase text-secondary mb-2",children:"Transfert"}),t.jsx("p",{className:"text-sm font-medium text-foreground group-hover:text-primary transition-colors",children:"Transférer son assurance-vie française vers le Luxembourg"})]})]})]})]})}),t.jsx(re,{})]})},h6e=[.16,1,.3,1],WF=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),cw=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground
760/90 leading-relaxed text-left pt-2",children:e})]}),_s=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),uw=({title:e,description:n,icon:r,color:i})=>t.jsxs("div",{className:"p-6 rounded-2xl bg-muted/40 border border-border/40 flex flex-col gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl ${i} flex items-center justify-center`,children:t.jsx(r,{className:"w-5 h-5 text-white"})}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:e}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:n})]}),f6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 15 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Flat tax italienne à 100 000 € : pour qui c'est vraiment rentable ?"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Forfait sur revenus étrangers, succession italienne, structuration des actifs français : le guide complet pour un Français fortuné qui envisage l'Italie."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:h6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:["La mécanique précise du régime","Pour qui le régime est vraiment rentable","Les revenus italiens : la face visible de l'iceberg","La problématique de la source des revenus français","L'exit tax française : la contrainte préalable","La succession italienne : le piège sous-estimé","La structuration optimale sous flat tax","Les obligations déclaratives en Italie","Ce que 15 ans changent et ce que coûte la sortie"].map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["Il existe dans le panorama fiscal européen une anomalie remarquable que peu d'investisseurs français ont correctement identifiée. L'Italie, pays à fiscalité élevée sur les revenus ordinaires, à bureaucratie dense et à instabilité politique chronique, offre depuis 2017 l'un des ",t.jsx("strong",{children:"régimes fiscaux les plus attractifs d'Europe pour les très grands patrimoines internationaux"}),". Un forfait annuel de 100 000 euros couvrant l'intégralité des revenus de source étrangère représente pour un investisseur dont les revenus internationaux dépassent plusieurs millions d'euros par an une opportunité fiscale sans équivalent sur le continent."]}),t.jsxs("p",{children:["Un Français dont les dividendes de participations étrangères, les revenus d'un portefeuille international et les distributions de fonds de private equity atteignent dix ou vingt millions d'euros annuels paierait en France plusieurs millions d'euros d'impôt sur ces mêmes revenus. En Italie sous la flat tax, il paierait ",t.jsx("strong",{children:"100 000 euros"}),", une somme fixe, prévisible, indépendante de l'évolution de ses revenus, valable pour quinze ans. L'arithmétique est saisissante. Les conditions, les limites et les pièges le sont tout autant."]}),t.jsx(cw,{icon:Lt,children:"100 000 € forfaitaires annuels couvrant tous les revenus de source étrangère, extensible à la famille pour 25 000 € par membre, sur quinze ans. La flat tax italienne est la solution fiscale la plus puissante d'Europe pour les UHNW à revenus internationaux très élevés, à condition d'accepter ses exigences de structuration."}),t.jsx(_s,{children:"Mécanique du régime"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La flat tax italienne : la mécanique précise du régime"}),t.jsxs("p",{children:["Le régime de la flat tax pour les nouveaux résidents fiscaux italiens, officiellement le ",t.jsx("em",{children:"regime dei neo-residenti"}),", a été introduit par la loi de finances italienne de 2017 et codifié à l'article 24-bis du ",t.jsx("em",{children:"Testo Unico delle Imposte sui Redditi"}),". Son mécanisme central est d'une simplicité désarmante par rapport à la complexité habituelle du droit fiscal."]}),t.jsxs("p",{children:["Une personne physique qui ",t.jsx("strong",{children:"n'a pas été résidente fiscale en Italie pendant au moins 
760neuf des dix années précédant son installation"})," peut opter pour ce régime. L'option est exercée dans la déclaration fiscale italienne de l'année d'installation ou de l'année suivante. Une fois l'option exercée, le contribuable paie un ",t.jsx("strong",{children:"impôt forfaitaire annuel de 100 000 euros"})," qui couvre l'intégralité de ses revenus de source étrangère, dividendes, intérêts, plus-values, revenus immobiliers, pensions, distributions de fonds, perçus en dehors de l'Italie pendant l'année."]}),t.jsxs("p",{children:["Le régime peut être étendu aux membres de la famille du contribuable principal, conjoint, enfants, moyennant un ",t.jsx("strong",{children:"forfait additionnel de 25 000 euros par personne"}),". Pour une famille de quatre personnes, le forfait total s'élèverait à 175 000 euros annuels couvrant l'ensemble des revenus étrangers de la famille. La durée maximale du régime est de ",t.jsx("strong",{children:"quinze ans"})," à compter de l'année d'option, une fenêtre fiscale à durée déterminée dont le timing doit être optimisé."]}),t.jsxs("p",{children:["Une condition importante concerne les ",t.jsx("strong",{children:"pays exclus du bénéfice du forfait"}),". Le contribuable peut choisir d'exclure un ou plusieurs pays du champ d'application de la flat tax, ce qui signifie que ses revenus de source de ces pays seront imposés normalement en Italie selon les règles ordinaires. Cette exclusion peut être intéressante lorsque le contribuable souhaite bénéficier des conventions fiscales bilatérales italiennes pour certains pays sources."]}),t.jsx(_s,{children:"Seuil de rentabilité"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Pour qui le régime est vraiment rentable : le calcul d'opportunité"}),t.jsx("p",{children:"La flat tax italienne crée une valeur fiscale considérable pour certains profils, et une valeur marginale ou nulle pour d'autres. La frontière dépend essentiellement du niveau et de la nature des revenus de source étrangère."}),t.jsxs("p",{children:["Le seuil de rentabilité est simple à calculer. Si les revenus de source étrangère du contribuable sont imposés en France à un ",t.jsx("strong",{children:"taux effectif moyen de 30%"}),", le prélèvement forfaitaire unique, la flat tax de 100 000 euros est moins coûteuse que l'imposition française dès lors que les revenus étrangers dépassent ",t.jsx("strong",{children:"333 000 euros annuels"}),". Pour un taux effectif de 20%, le seuil est de 500 000 euros. Pour un taux effectif de 15%, le seuil est de 667 000 euros."]}),t.jsx("p",{children:"Ces calculs sont des approximations qui ignorent les conventions fiscales et les retenues à la source dans les pays sources, mais ils donnent un ordre de grandeur utile. Pour un contribuable dont les revenus internationaux sont inférieurs à 300 000 ou 400 000 euros annuels, la flat tax italienne n'est pas nécessairement avantageuse."}),t.jsxs("p",{children:["Pour un contribuable dont les revenus internationaux sont de l'ordre de ",t.jsx("strong",{children:"plusieurs millions d'euros annuels"}),", dividendes massifs d'un portefeuille international, distributions de fonds de private equity institutionnels, revenus d'une holding internationale, la flat tax italienne représente une économie fiscale annuelle qui peut atteindre plusieurs millions d'euros. Sur quinze ans d'application du régime, la valeur actualisée de cette économie est extraordinaire."]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 my-10",children:[t.jsx(uw,{title:"Entrepreneur cédant",description:"A vendu son entreprise et réinvestit dans un portefeuille international de plusieurs millions d'euros de revenus annuels.",icon:va,color:"bg-primary/80"}),t.jsx(uw,{title:"Dirigeant international",description:"Rémunération de source étrangère significative, activité pour un groupe multinational.",icon:mr,color:"bg-accent/80"}),t.jsx(uw,{title:"Héritier UHNW",description:"Actifs dispersés entre plusieurs pays, revenus de dividendes et plus-values internationaux.",icon:ba,color:"bg-secondary/80"})]}),t.jsx(_s,{children:"Revenus italiens"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les revenus italiens : la face visible de l'iceberg fiscal"}),t.jsxs("p",{children:["Le forfait de 100 000 euros ",t.jsx("strong",{children:"ne couvre que les revenus de source étrangère"}),". Les revenus de source italienne, salaires, revenus d'activité exercée en Italie, revenus immobiliers italiens, dividendes de sociétés italiennes, sont imposés normalement selon le barème progressif de l'IRPEF. Ce barème comporte des taux de 23% jusqu'à 15 000 euros, 25% entre 15 000 et 28 000 euros, 35% entre 28 000 et 50 000 euros, et ",t.jsx("strong",{children:"43% au-delà de 50 000 euros"}),", avec des addizionali regionali et communali qui portent l'imposition effective à ",t.jsx("strong",{children:"45–48%"})," sur les revenus élevés."]}),t.jsxs("p",{children:["Cette imposition ordinaire des revenus italiens a des implications directes sur la structuration des actifs. Tout revenu qui peut être qualifié de source italienne sera soumis à l'imposition ordinaire, ce qui peut considérablement réduire l'attrait du régime si la structure patrimoniale n'est pas adaptée. Les dividendes distribués par des sociétés italiennes sont soumis à une retenue à la source de ",t.jsx("strong",{children:"26%"}),". Les revenus locatifs d'immeubles italiens sont soumis au régime fiscal ordinaire ou à la ",t.jsx("em",{children:"cedolare secca"}),"."]}),t.jsx(cw,{icon:Kt,children:"Acquérir des actifs italiens après son installation crée des sources de revenus soumis à l'imposition ordinaire à 45–48%. La structure optimale minimise les actifs de source italienne et maximise les actifs de source étrangère couverts par le forfait."}),t.jsx(_s,{children:"Actifs français"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La problématique de la source des revenus : où se situent les actifs français"}),t.jsx("p",{children:"Pour un Français qui s'installe en Italie sous la flat tax et qui conserve des actifs en France, la question de la qualification des revenus français est centrale."}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"revenus immobiliers d'un bien situé en France"})," sont des revenus de source française, ils relèvent de la convention fiscale bilatérale franco-italienne. La France a le droit d'imposer ces revenus selon ses règles applicables aux non-résidents. En Italie, ces revenus sont de source étrangère, ils entrent dans le champ du forfait. Le contribuable paie l'impôt français sur ses revenus locatifs, taux minimum de 20% pour les revenus inférieurs à 27 478 euros nets et 30% au-delà, mais ne paie pas d'impôt supplémentaire en Italie."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"dividendes de sociétés françaises"})," sont des revenus de source française couverts par le forfait en Italie. La convention franco-italienne prévoit une ",t.jsx("strong",{children:"retenue à la source en France de 15%"})," sur ces dividendes pour les résidents italiens, ce qui constitue la seule imposition sur ces revenus puisqu'ils sont couverts par le forfait en Italie. Cette retenue à la source de 15% versus une imposition française au PFU de 30% représente une économie immédiate."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"plus-values sur la cession de titres de sociétés françaises non à prépondérance immobilière"})," sont imposables dans le pays de résidence du cédant, l'Italie. En Italie, ces plus-values constituent des revenus de source étrangère couverts par le forfait. La charge fiscale totale est donc ",t.jsx("strong",{children:"nulle sur ces plus-values"}),", ni imposition française ni imposition italienne. C'est l'un des avantages les plus spectaculaires de la flat tax italienne pour les Français qui détiennent des portefeuilles d'actions françaises significatifs."]}),t.jsx(_s,{children:"Exit tax"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'exit tax française : la contrainte préalable incontournable"}),t.jsxs("p",{children:["Comme pour toutes les destinations fiscales européennes, ",t.jsx(WF,{to:"/blog/quitter-france",children:"l'exit tax française"})," est la contrainte préalable que tout Français envisageant de s'installer en Italie doit traiter avant son départ."]}),t.jsxs("p",{children:["L'installation en Italie déclenche le ",t.jsx("strong",{children:"sursis de paiement automatique"})," de l'exit tax, l'Italie étant membre de l'UE. Les plus-values latentes sur les titres détenus au moment du départ sont documentées et mises en report, sans paiement immédiat. Mais si les titres sont cédés dans les deux ans suivant le transfert de résidence, la plus-value en report devient exigible en France."]}),t.jsxs("p",{children:["Pour les investisseurs qui envisagent de réaliser des cessions importantes après leur installation en Italie, notamment pour bénéficier de l'exonération effective résultant de la combinaison convention franco-italienne et flat tax, ",t.jsx("strong",{children:"la temporalité est cruciale"}),". Les cessions intervenues après le délai de deux ans bénéficient d'un traitement où seule la plus-value constatée après le départ est potentiellement non imposée."]}),t.jsx(_s,{children:"Succession"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La succession italienne : le piège que les guides fiscaux omettent"}),t.jsx("p",{children:"La dimension successorale est l'aspect de la résidence italienne le plus systématiquement sous-estimé, et qui peut pourtant générer des complications considérables pour les patrimoines significatifs."}),t.jsxs("p",{children:["L'Italie a une ",t.jsx("strong",{children:"réserve héréditaire"}),", la ",t.jsx("em",{children:"quota di riserva"}),", dont les règles sont comparables dans leur principe à celles du droit français. En présence d'un enfant, la réserve représente la moitié du patr
760imoine. En présence de deux enfants ou plus, les deux tiers. En présence du seul conjoint sans enfants, la moitié. Ces proportions sont similaires aux règles françaises, mais leur calcul intègre le ",t.jsx("strong",{children:"patrimoine mondial du défunt"})," si celui-ci était résident fiscal italien au moment du décès."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"fiscalité successorale italienne"})," est en revanche significativement plus favorable que la française. Les droits de succession entre ascendants et descendants directs s'élèvent à ",t.jsx("strong",{children:"4% sur la fraction dépassant un million d'euros par héritier"}),". Entre frères et sœurs, le taux est de 6% avec un abattement de 100 000 euros. Ces taux sont considérablement inférieurs aux taux français qui atteignent 45%."]}),t.jsxs("p",{children:["Mais l'",t.jsx("strong",{children:"absence de convention franco-italienne en matière de droits de succession"})," crée un risque de double imposition successorale sur les actifs français. La France imposera les actifs immobiliers français et potentiellement les actifs mobiliers français, et l'Italie imposera l'ensemble du patrimoine mondial. La planification successorale doit intégrer cette double exposition et identifier les stratégies disponibles pour la réduire."]}),t.jsx(_s,{children:"Structuration optimale"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La structuration optimale pour un Français sous flat tax italienne"}),t.jsx("p",{children:"L'architecture patrimoniale optimale pour un Français installé en Italie sous la flat tax repose sur quelques principes directeurs qui découlent directement des caractéristiques du régime."}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"premier principe"})," est la maximisation des actifs de source étrangère, ceux qui bénéficient de la couverture du forfait. Un portefeuille financier investi majoritairement dans des actions et obligations de sociétés hors Italie génère des dividendes et des plus-values de source étrangère couverts par le forfait. Un portefeuille de private equity international génère des distributions de source étrangère couvertes par le forfait."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"deuxième principe"})," est la minimisation des actifs de source italienne, sauf si leur rendement net d'impôt est suffisamment attractif pour justifier l'imposition ordinaire. Acquérir des biens immobiliers en Italie génère des revenus locatifs italiens soumis à l'imposition ordinaire à 45–48%."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"troisième principe"})," est l'utilisation du ",t.jsx(WF,{to:"/blog/contrat-luxembourgeois-colonne-vertebrale",children:"contrat luxembourgeois"})," comme enveloppe centrale pour les actifs financiers. Un contrat d'assurance-vie luxembourgeois avec FAS ou FID loge les actifs financiers dans une structure dont les revenus capitalisent en franchise d'impôt, et dont la portabilité garantit la continuité lors du retour en France ou d'un mouvement vers une troisième résidence."]}),t.jsxs("p",{children:["Le ",t.jsx("strong",{children:"quatrième principe"})," est l'optimisation du timing de la flat tax en fonction des événements patrimoniaux majeurs anticipés. Si un entrepreneur français envisage de céder une participation importante dans une société américaine dans les cinq prochaines années, s'installer en Italie sous la flat tax avant cette cession peut générer une économie fiscale sur la plus-value qui représente plusieurs fois le coût annuel du forfait."]}),t.jsx(_s,{children:"Obligations déclaratives"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les obligations déclaratives en Italie : ce que personne n'anticipe"}),t.jsx("p",{children:"Les résidents fiscaux italiens sont soumis à des obligations déclaratives sur leurs actifs étrangers qui présentent des similarités avec le Modelo 720 espagnol mais qui ont leurs propres caractéristiques."}),t.jsxs("p",{children:["L'Italie impose à ses résidents fiscaux de déclarer annuellement leurs actifs étrangers, dans la ",t.jsx("strong",{children:"section RW de la déclaration fiscale italienne"}),". Cette déclaration doit mentionner l'ensemble des actifs détenus à l'étranger, comptes bancaires, contrats d'assurance-vie, participations, biens immobiliers, parts de fonds."]}),t.jsxs("p",{children:["L'",t.jsx("strong",{children:"IVIE"}),", ",t.jsx("em",{children:"Imposta sul Valore degli Immobili situati all'Estero"}),", est un impôt annuel de ",t.jsx("strong",{children:"1,06%"})," sur la valeur des biens immobiliers détenus à l'étranger. Pour un appartement à Paris de 800 000 euros, l'IVIE représente environ 8 480 euros annuels, une charge non négligeable qui s'ajoute à l'impôt foncier français applicable aux non-résidents."]}),t.jsxs("p",{children:["L'",t.jsx("strong",{children:"IVAFE"}),", ",t.jsx("em",{children:"Imposta sul Valore delle Attività Finanziarie detenute all'Estero"}),", est un impôt annuel de ",t.jsx("strong",{children:"0,2%"})," sur la valeur des actifs financiers détenus à l'étranger. Pour un portefeuille de deux millions d'euros, l'IVAFE représente 4 000 euros annuels. Ces impôts patrimoniaux s'ajoutent au forfait de 100 000 euros et doivent être intégrés dans le calcul global."]}),t.jsx(cw,{icon:We,children:"Une exemption importante de l'IVAFE concerne les contrats d'assurance-vie souscrits auprès de compagnies de l'UE, ce qui inclut les contrats luxembourgeois. 
760Cette exemption est précieuse pour les investisseurs qui logent leurs actifs financiers dans un contrat luxembourgeois."}),t.jsx(_s,{children:"Horizon 15 ans"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que quinze ans en Italie changent, et ce que cela coûte à la sortie"}),t.jsx("p",{children:"La durée maximale de quinze ans du régime est à la fois sa force, une fenêtre fiscale longue et prévisible, et sa limite, elle impose d'anticiper la sortie avant qu'elle ne survienne."}),t.jsx("p",{children:"À l'expiration du régime, le contribuable bascule vers l'imposition ordinaire italienne, avec le barème progressif à 43% pour les revenus supérieurs à 50 000 euros. Si le contribuable souhaite continuer à bénéficier d'une fiscalité favorable, il doit soit quitter l'Italie pour une autre destination fiscalement attractive, soit accepter l'imposition ordinaire italienne."}),t.jsxs("p",{children:["La sortie de l'Italie après quinze ans de résidence fiscale italienne peut déclencher des obligations fiscales dans les deux sens. L'Italie peut imposer une ",t.jsx("strong",{children:"exit tax"})," sur les plus-values latentes au moment du départ, analogue à l'exit tax française. Et le retour en France déclenche la réintégration dans la résidence fiscale française avec toutes ses conséquences."]}),t.jsx("p",{children:"L'anticipation de la sortie de la flat tax italienne est une composante essentielle de la stratégie patrimoniale. Elle doit être planifiée plusieurs années avant l'expiration du régime, en tenant compte des plus-values latentes, des conventions fiscales applicables dans la destination envisagée après l'Italie, et des implications pour la transmission du patrimoine accumulé."}),t.jsxs("div",{className:"my-16 p-8 rounded-2xl bg-gradient-to-br from-primary/[0.04] to-secondary/[0.04] border border-primary/10",children:[t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-4 text-left",children:"En résumé"}),t.jsxs("ul",{className:"space-y-3 text-[15px] text-foreground/80",children:[t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(dr,{className:"w-5 h-5 text-success mt-0.5 shrink-0"}),t.jsx("span",{children:"100 000 € forfaitaires couvrant tous les revenus de source étrangère, sur 15 ans, extensible à la famille."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(dr,{className:"w-5 h-5 text-success mt-0.5 shrink-0"}),t.jsx("span",{children:"Seuil de rentabilité dès 333 000 € de revenus étrangers annuels, et valeur considérable au-delà de plusieurs millions."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(dr,{className:"w-5 h-5 text-success mt-0.5 shrink-0"}),t.jsx("span",{children:"Plus-values sur cession de titres français non immobiliers : imposition nulle en Italie et en France sous flat tax."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(Kt,{className:"w-5 h-5 text-secondary mt-0.5 shrink-0"}),t.jsx("span",{children:"Revenus de source italienne imposés à 45–48% : minimiser les actifs italiens dans la structure patrimoniale."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(Kt,{className:"w-5 h-5 text-secondary mt-0.5 shrink-0"}),t.jsx("span",{children:"Exit tax française à traiter avant le départ, succession sans convention franco-italienne, IVIE et IVAFE à intégrer."})]})]})]}),t.jsx("p",{className:"text-[13px] text-muted-foreground leading-relaxed pt-8 border-t border-border/50",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le régime de la flat tax italienne est susceptible d'évoluer. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en fiscalité franco-italienne avant toute décision de transfert de résidence fiscale."}),t.jsxs("div",{className:"mt-16 text-center",children:[t.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:e("Vous envisagez l'Italie et souhaitez modéliser l'impact de la flat tax sur votre situation ?","Considering Italy and want to model the impact of the flat tax on your situation?")}),t.jsxs(C,{to:"/?openContact=true",className:"inline-flex items-center gap-2 px-6 py-3 bg-foreground text-background rounded-full text-sm font-medium hover:bg-foreground
760/90 transition-colors",children:[e("Prendre rendez-vous","Book a meeting"),t.jsx(pe,{className:"w-4 h-4 rotate-180"})]})]})]})]})}),t.jsx(re,{})]})},g6e=[.16,1,.3,1],dw=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),Ip=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),x6e=({children:e})=>t.jsxs("blockquote",{className:"not-prose my-12 pl-6 border-l-2 border-secondary/60",children:[t.jsx(Fq,{className:"w-5 h-5 text-secondary/60 mb-3"}),t.jsx("p",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground leading-snug text-left",children:e})]}),Rg=({children:e})=>t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground pt-8 text-left",children:e}),v6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Entretien · Juillet 2026 · 11 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Gustav Sondén : « L'accès aux produits s'est banalisé, la valeur est ailleurs »"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Invité du podcast Next Gen Patrimoine, le fondateur de Colbr revient sur une trajectoire à contre-courant : une levée de fonds pour bâtir une fintech, puis le choix assumé de redevenir un cabinet de conseil. Ce qu'il a compris après 500 clients accompagnés."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:g6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-12 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Les principaux enseignements"}),t.jsxs("ul",{className:"space-y-3 text-[14px] text-foreground/80 italic",children:[t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary mt-0.5",children:"—"}),t.jsx("span",{children:"L'hypothèse de départ de Colbr, faire de l'accès aux produits l'avantage concurrentiel, n'a pas tenu : cet accès s'est banalisé, et la différenciation s'est déplacée vers la relation, la lisibilité de l'offre et la capacité à servir un volume de clients sans dégrader le conseil."})]}),t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary mt-0.5",children:"—"}),t.jsx("span",{children:"La transparence tarifaire reste une anomalie dans la profession, et devient de ce fait un différenciateur : afficher publiquement sa grille de frais oblige à démontrer la valeur du conseil."})]}),t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary mt-0.5",children:"—"}),t.jsx("span",{children:"L'industrialisation doit porter sur le réglementaire et la préparation, jamais sur la relation : un secteur très peu automatisé laisse un gisement de productivité considérable au back-office."})]})]})]}),t.jsxs("div",{className:"not-prose mb-14 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.05] to-secondary/[0.05] border border-primary/10",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-primary font-medium mb-3",children:"Écouter l'épisode"}
760),t.jsx("p",{className:"text-[15px] text-foreground/80 leading-relaxed mb-5 text-left",children:"« Il a levé des fonds pour créer une fintech, il est finalement devenu CGP » — Gustav Sondén, invité de Florian Freyssenet dans Next Gen Patrimoine (50 minutes)."}),t.jsxs("a",{href:"https://www.nextgenpatrimoine.com/videos/gustav-sonden-colbr-fintech-devenu-cgp",target:"_blank",rel:"noopener noreferrer",className:"group block relative overflow-hidden rounded-xl aspect-video mb-6 bg-muted",children:[t.jsx("img",{src:"https://img.youtube.com/vi/i7kLmOTNhBk/maxresdefault.jpg",alt:"Gustav Sondén, invité du podcast Next Gen Patrimoine",loading:"lazy",className:"absolute inset-0 w-full h-full object-cover group-hover:scale-[1.02] transition-transform duration-700"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-black/10 to-transparent"}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsx("div",{className:"w-14 h-14 rounded-full bg-white/20 backdrop-blur-sm flex items-center justify-center group-hover:bg-white/40 transition-all duration-300",children:t.jsx(Xh,{className:"w-5 h-5 text-white fill-white ml-0.5"})})})]}),t.jsxs("a",{href:"https://www.nextgenpatrimoine.com/videos/gustav-sonden-colbr-fintech-devenu-cgp",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-foreground text-background text-sm font-medium hover:bg-foreground
760/90 transition-colors",children:["Voir l'entretien sur Next Gen Patrimoine",t.jsx(Wn,{className:"w-4 h-4"})]})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["En 2021, ",t.jsx("strong",{children:"Gustav Sondén"})," lève des fonds auprès d'un single family office avec une idée précise : construire une plateforme d'investissement. Franco-suédois diplômé de finance à Dauphine, passé par Tishman Speyer, Generali, Mercialys et Corum, responsable de l'investissement à 26 ans et plus de 200 M€ originés en Europe, il aborde le conseil patrimonial avec un réflexe d'investisseur : la valeur se trouve dans le produit et dans l'accès à ce produit."]}),t.jsxs("p",{children:["Cinq ans plus tard, Colbr est un cabinet de gestion de patrimoine et un multi family office : une équipe de six collaborateurs, environ 500 clients accompagnés, et une trajectoire de collecte visée de 150 M€ sur l'année. Entre les deux, une hypothèse de départ abandonnée. C'est le sujet de cet entretien avec"," ",t.jsx("a",{href:"https://www.nextgenpatrimoine.com/videos/gustav-sonden-colbr-fintech-devenu-cgp",target:"_blank",rel:"noopener noreferrer",className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:"Next Gen Patrimoine"})," ",": comprendre pourquoi une fintech du ",t.jsx("em",{children:"wealth management"})," finit par redevenir un cabinet, et ce que cela dit du métier."]}),t.jsx(dw,{icon:ui,children:"La technologie ne remplace pas le conseiller : elle libère du temps de conseil. Tout l'enjeu est de savoir ce qu'on automatise, et surtout ce qu'on refuse d'automatiser."}),t.jsx(Ip,{children:"L'hypothèse abandonnée"}),t.jsx(Rg,{children:"Vous partez d'un projet de plateforme et vous arrivez à un cabinet de conseil. Que s'est-il passé ?"}),t.jsxs("p",{children:["L'hypothèse initiale était celle d'un investisseur : si l'on donne accès à de meilleurs supports, private equity, immobilier institutionnel, assurance-vie luxembourgeoise, alors la valeur est créée. Cette hypothèse ne tient plus. ",t.jsx("strong",{children:"L'accès aux produits s'est banalisé"})," : les mêmes fonds, les mêmes assureurs et les mêmes architectures ouvertes sont accessibles à un très grand nombre d'acteurs."]}),t.jsx("p",{children:"Ce qui distingue un cabinet aujourd'hui se joue ailleurs : dans la qualité de la relation, dans la lisibilité de l'offre et de ses coûts, et dans la capacité à traiter un volume de dossiers sans dégrader la profondeur du conseil. Autrement dit, dans l'exécution."}),t.jsx(x6e,{children:"« Nous pensions vendre un accès. Nous vendons en réalité une méthode, une continuité et une disponibilité. »"}),t.jsx(Ip,{children:"Prix et transparence"}),t.jsx(Rg,{children:"Vous insistez beaucoup sur la transparence tarifaire. Pourquoi en faire un sujet central ?"}),t.jsx("p",{children:"Parce que l'immense majorité de la profession reste illisible sur ses prix. Le client comprend rarement ce qu'il paie, à qui, et pour quelle prestation. Afficher publiquement une grille tarifaire est encore une anomalie, ce qui en fait mécaniquement un différenciateur pour ceux qui le font."}),t.jsx("p",{children:"La conséquence est saine : lorsque le prix est visible, il faut être capable de le justifier. Cela déplace la conversation du produit vers la prestation, c'est-à-dire vers l'ingénierie patrimoniale, la structuration, la coordination des intervenants et le suivi dans le temps."}),t.jsx(dw,{icon:Vb,children:"Un prix affiché force un cabinet à démontrer sa valeur ajoutée. C'est le meilleur garde-fou contre la dérive vers la simple distribution de produits."}),t.jsx(Ip,{children:"Technologie et productivité"}),t.jsx(Rg,{children:"Qu'est-ce que la technologie change réellement au métier ?"}),t.jsx("p",{children:"Très peu du secteur est réellement connecté : les échanges avec les assureurs et les producteurs restent largement manuels, avec un coût de back-office que peu de cabinets mesurent. C'est là que se trouve le gisement de productivité : rapports d'adéquation, contrôles réglementaires, préparation des points clients, agrégation des positions."}),t.jsxs("p",{children:["La ligne directrice est simple : ",t.jsx("strong",{children:"automatiser la conformité et la préparation, jamais la relation"}),". Le temps gagné sur l'administratif est réinvesti dans la conversation avec le client, qui reste le seul endroit où se prennent les décisions patrimoniales."]}),t.jsx("p",{children:"S'ajoute un sujet nouveau : la visibilité dans les réponses générées par les intelligences artificielles. Quand un particulier interroge un assistant conversationnel pour choisir un placement ou un conseiller, l'enjeu n'est plus seulement d'être bien référencé, mais d'être cité. C'est un terrain où l'antériorité et la puissance financière des grands acteur
760s pèsent beaucoup moins qu'en référencement classique."}),t.jsx(Ip,{children:"Attentes clients"}),t.jsx(Rg,{children:"Que demandent les clients qui vous rejoignent aujourd'hui ?"}),t.jsx("p",{children:"Des prix lisibles, un service réactif, un canal de communication qu'ils choisissent, et une vision consolidée de leur patrimoine plutôt qu'une accumulation de contrats sans cohérence. Beaucoup arrivent après une expérience où le conseil était en réalité une vente, et où personne ne suivait le dossier dans la durée."}),t.jsx("p",{children:"La réponse que nous construisons est celle d'un cabinet qui assume à la fois l'exigence d'un multi family office, sur la structuration, la fiscalité et la gouvernance, et une discipline d'exécution héritée de la tech, sur la réactivité et la traçabilité."}),t.jsx(dw,{icon:ba,children:"500 clients accompagnés, six collaborateurs : le vrai test d'un modèle de conseil n'est pas la collecte, c'est la capacité à tenir le niveau de service quand le nombre de dossiers augmente."}),t.jsx(Ip,{children:"Pour aller plus loin"}),t.jsxs("p",{children:["L'entretien complet, d'une durée de cinquante minutes, aborde également la levée de fonds initiale, le",t.jsx("em",{children:" stack "}),"d'outils utilisé au quotidien et la manière dont un cabinet sans budget marketing peut se rendre visible."]}),t.jsx("div",{className:"not-prose my-10",children:t.jsxs("a",{href:"https://www.nextgenpatrimoine.com/videos/gustav-sonden-colbr-fintech-devenu-cgp",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:["Gustav Sondén (Colbr) sur Next Gen Patrimoine : « la fintech devenue CGP »",t.jsx(Wn,{className:"w-4 h-4"})]})}),t.jsxs("p",{children:["Retrouvez également nos autres prises de parole sur la page"," ",t.jsx(C,{to:"/interventions-medias",className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:"interventions médias"})," ","et la présentation de"," ",t.jsx(C,{to:"/equipe",className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:"l'équipe Colbr"}),"."]}),t.jsx("p",{className:"text-[13px] text-muted-foreground leading-relaxed pt-8 border-t border-border/50",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les propos rapportés sont issus d'un entretien accordé au podcast Next Gen Patrimoine."}),t.jsxs("div",{className:"mt-16 text-center",children:[t.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:e("Vous souhaitez échanger sur la structuration de votre patrimoine ?","Would you like to discuss the structuring of your wealth?")}),t.jsxs(C,{to:"/?openContact=true",className:"inline-flex items-center gap-2 px-6 py-3 bg-foreground text-background rounded-full text-sm font-medium hover:bg-foreground
760/90 transition-colors",children:[e("Prendre rendez-vous","Book a meeting"),t.jsx(pe,{className:"w-4 h-4 rotate-180"})]})]})]})]})}),t.jsx(re,{})]})},gf=[.16,1,.3,1],Be=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),ys=({children:e})=>t.jsxs("div",{className:"not-prose relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.04] to-accent/[0.04] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(_Q,{className:"w-3.5 h-3.5"}),"Conseil Colbr"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),Un=({children:e})=>t.jsxs("div",{className:"not-prose flex items-center gap-3 mb-6 mt-12",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),xf=({items:e})=>t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:e.map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),Qy=({links:e})=>t.jsxs("div",{className:"not-prose mt-12 pt-8 border-t border-border",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Voici quelques liens utiles pour approfondir les thématiques"}),t.jsx("ul",{className:"space-y-2.5",children:e.map(n=>t.jsx("li",{children:t.jsxs("a",{href:n.href,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-start gap-2 text-sm text-foreground/80 hover:text-primary transition-colors",children:[t.jsx(Wn,{className:"w-3.5 h-3.5 mt-1 shrink-0 text-muted-foreground"}),n.label]})},n.href))})]}),vf=()=>t.jsx("p",{className:"text-xs text-muted-foreground/80 pt-8 italic",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les performances passées ne préjugent pas des performances futures et tout investissement comporte un risque de perte en capital."}),bf=({title:e,text:n,primaryTo:r,primaryLabel:i,secondaryTo:s,secondaryLabel:a})=>t.jsxs("div",{className:"not-prose mt-12 p-6 md:p-8 rounded-lg bg-gradient-signature text-white",children:[t.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight mb-3 text-left",children:e}),t.jsx("p",{className:"text-sm md:text-base text-white/90 mb-6 max-w-2xl",children:n}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsx(C,{to:r,className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md bg-white text-primary text-sm font-medium hover:bg-white/90 transition-colors",children:i}),t.jsx(C,{to:s,className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-md border border-white/40 text-white text-sm font-medium hover:bg-white/10 transition-colors",children:a})]})]}),b6e=1,y6e="247c9875-4139-4252-bad9-0115b2dec74b",j6e="092ccd4c-27c9-47f0-81a0-1f1f73883f12",w6e="/__l5e/assets-v1/247c9875-4139-4252-bad9-0115b2dec74b/classement-leaders-league-cgp-2026.pdf",N6e="a/v1/092ccd4c-27c9-47f0-81a0-1f1f73883f12/247c9875-4139-4252-bad9-0115b2dec74b/classement-leaders-league-cgp-2026.pdf",k6e="classement-leaders-league-cgp-2026.pdf",q6e=1117431,S6e="application/pdf",C6e="2026-09-04T15:36:46Z",P6e={version:b6e,asset_id:y6e,project_id:j6e,url:w6e,r2_key:N6e,original_filename:k6e,size:q6e,content_type:S6e,created_at:C6e},E6e="https://www.leadersleague.com/fr/classements/conseils-en-gestion-de-patrimoine-conseils-en-gestion-de-patrimoine-cabinet-de-conseils-2026",H
760F="Colbr distingué parmi les meilleurs cabinets de gestion de patrimoine de France 2026 (Leaders League)",pw="Colbr figure au classement 2026 des conseils en gestion de patrimoine de Leaders League / Décideurs Magazine, catégorie « Pratique réputée ». Méthodologie, lecture du palmarès et ce que cela change pour nos clients.",Dg="https://colbr.co/blog/meilleurs-cgp-france-2026-leaders-league",GF=[{q:"Qui publie le classement des meilleurs cabinets de gestion de patrimoine en France ?",a:"Le classement est publié par Leaders League (Décideurs Magazine), dans son guide annuel Gestion de patrimoine. L'édition 2026 distingue les conseils en gestion de patrimoine français à l'issue d'un travail de recherche mené auprès des cabinets, de leurs pairs et de partenaires du secteur."},{q:"Dans quelle catégorie Colbr est-il classé en 2026 ?",a:"Colbr est classé dans la catégorie « Pratique réputée » du classement 2026 Conseil en gestion de patrimoine – France, l'équipe étant animée par Gustav Sondén, fondateur du cabinet."},{q:"Comment les cabinets sont-ils hiérarchisés dans le palmarès ?",a:"Leaders League range les cabinets par groupes de notoriété et d'expertise (Incontournable, Excellent, Forte notoriété, Pratique réputée). À l'intérieur de chaque groupe, les cabinets sont listés par ordre alphabétique : il n'y a donc pas de classement individuel poste par poste."},{q:"Un classement garantit-il la performance d'un cabinet de gestion de patrimoine ?",a:"Non. Un classement reflète une reconnaissance professionnelle à une date donnée : structuration du cabinet, qualité du conseil, réputation auprès des pairs. Il ne constitue ni une garantie de performance future, ni un conseil en investissement personnalisé."}],T6e=[{label:"Incontournable",cabinets:"Carat Capital, Astoria Finance, Laplace, Rhétorès Finance"},{label:"Excellent",cabinets:"Aliquis Conseil, Olifan Group, Valoria, Cheval Blanc Patrimoine, Haussmann Patrimoine, ID Groupe, Metagram, Patrimum Groupe"},{label:"Forte notoriété",cabinets:"L&A Finance, Ramify, RockFi, Advenis Gestion Privée, Avnear, Evolve, Meilleurtaux Placement, Prosper Conseil, Yomoni"},{label:"Pratique réputée",cabinets:"Bonnet & Doyen Conseil, Colbr, Finary, Lumnis Gestion Privée, Mérimée Gestion Privée, The Wealth Office, Vitalépargne"}],I6e=()=>{const{tr:e}=K(),n=[{"@context":"https://schema.org","@type":"BlogPosting",headline:"Colbr parmi les meilleurs cabinets de gestion de patrimoine de France 2026",description:pw,url:Dg,mainEntityOfPage:{"@type":"WebPage","@id":Dg},datePublished:"2026-09-04",dateModified:"2026-09-04",inLanguage:"fr-FR",author:{"@type":"Organization",name:"Colbr",url:"https://colbr.co"},publisher:{"@type":"Organization",name:"Colbr",url:"https://colbr.co"},isPartOf:{"@type":"Blog",name:"Le blog Colbr",url:"https://colbr.co/blog"},about:{"@type":"Organization",name:"Colbr",award:"Leaders League 2026 — Conseil en gestion de patrimoine, France (Pratique réputée)"}},{"@context":"https://schema.org","@type":"FAQPage",mainEntity:GF.map(r=>({"@type":"Question",name:r.q,acceptedAnswer:{"@type":"Answer",text:r.a}}))}];return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:HF}),t.jsx("meta",{name:"description",content:pw}),t.jsx("link",{rel:"canonical",href:Dg}),t.jsx("meta",{property:"og:title",content:HF}),t.jsx("meta",{property:"og:description",content:pw}),t.jsx("meta",{property:"og:url",content:Dg}),t.jsx("meta",{property:"og:type",content:"article"}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify(n)})]}),t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Distinction · Septembre 2026 · 7 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Colbr distingué parmi les meilleurs cabinets de gestion de patr
760imoine de France en 2026"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Colbr figure au classement 2026 des conseils en gestion de patrimoine publié par Leaders League (Décideurs Magazine), dans la catégorie « Pratique réputée ». Ce que dit ce palmarès du marché français, comment il est construit, et ce que cela change concrètement pour les patrimoines que nous accompagnons."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:gf},className:"container max-w-3xl mx-auto px-6",children:[t.jsx(xf,{items:["Une reconnaissance dans le classement 2026 de Leaders League","Comment le palmarès est construit","Le classement 2026 en un coup d'œil","Ce que cette distinction dit de notre modèle","Questions fréquentes"]}),t.jsxs("div",{className:"not-prose mb-14 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.05] to-secondary/[0.05] border border-primary/10",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[t.jsx(JQ,{className:"w-4 h-4 text-secondary"}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-primary font-medium",children:"Classement 2026 — Conseil en gestion de patrimoine, France"})]}),t.jsx("p",{className:"text-[15px] text-foreground/80 leading-relaxed mb-5 text-left",children:"Catégorie « Pratique réputée ». Équipe animée par Gustav Sondén, fondateur de Colbr. Source : Leaders League / Décideurs Magazine, guide Gestion de patrimoine 2026."}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsxs("a",{href:E6e,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-foreground text-background text-sm font-medium hover:bg-foreground
760/90 transition-colors",children:["Voir le classement officiel",t.jsx(Wn,{className:"w-4 h-4"})]}),t.jsxs("a",{href:P6e.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-full border border-border text-sm font-medium text-foreground hover:bg-muted transition-colors",children:[t.jsx(pr,{className:"w-4 h-4"}),"Télécharger l'extrait du palmarès (PDF)"]})]})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx(Un,{children:"Une reconnaissance dans le classement 2026"}),t.jsxs("p",{children:["Leaders League, éditeur de ",t.jsx("em",{children:"Décideurs Magazine"}),", publie chaque année un panorama des acteurs français du conseil patrimonial. L'édition 2026 du classement ",t.jsx("strong",{children:"Conseil en gestion de patrimoine, France"})," retient une quarantaine de cabinets, répartis en quatre groupes de notoriété. Colbr y apparaît pour la première fois, dans la catégorie ",t.jsx("strong",{children:"« Pratique réputée »"}),", aux côtés de cabinets établis et de nouveaux entrants du marché."]}),t.jsxs("p",{children:["Cette distinction intervient après cinq années de construction : un cabinet indépendant devenu multi family office, une équipe de six collaborateurs et un board de professionnels seniors, environ 500 clients accompagnés, et une architecture d'investissement ouverte allant de l'assurance-vie luxembourgeoise au"," ",t.jsx(Be,{to:"/private-equity",children:"private equity"})," et aux"," ",t.jsx(Be,{to:"/financements-complexes",children:"financements complexes"}),"."]}),t.jsx(ys,{children:"Un classement se lit comme un signal de structuration, pas comme une promesse de rendement. Les questions utiles restent les mêmes : qui sera votre interlocuteur, comment le cabinet est rémunéré, quel univers d'investissement vous est réellement accessible, et selon quelle méthode vos décisions sont documentées."}),t.jsx(Un,{children:"Comment le palmarès est construit"}),t.jsx("p",{children:"La méthodologie de Leaders League repose sur un travail de recherche annuel : entretiens avec les dirigeants des cabinets, questionnaires détaillés, retours de pairs et de partenaires (sociétés de gestion, assureurs, banques privées, avocats et experts-comptables). Les critères examinés relèvent de la structuration du cabinet, de la profondeur de l'expertise, du positionnement clientèle, de la gouvernance et de la dynamique de développement."}),t.jsx("p",{children:"Le résultat n'est pas un classement individuel de 1 à n. Les cabinets sont regroupés par niveaux (« Incontournable », « Excellent », « Forte notoriété », « Pratique réputée ») et, à l'intérieur de chaque groupe, cités par ordre alphabétique. Un palmarès de ce type mesure donc la reconnaissance professionnelle à un instant donné, et non la performance des portefeuilles conseillés."}),t.jsx(Un,{children:"Le classement 2026 en un coup d'œil"}),t.jsx("div",{className:"not-prose my-10 overflow-hidden rounded-2xl border border-border/60",children:t.jsxs("table",{className:"w-full text-left text-[14px]",children:[t.jsx("thead",{className:"bg-muted/70",children:t.jsxs("tr",{children:[t.jsx("th",{scope:"col",className:"px-5 py-3 font-medium text-foreground/80 whitespace-nowrap",children:"Groupe"}),t.jsx("th",{scope:"col",className:"px-5 py-3 font-medium text-foreground/80",children:"Cabinets cités (ordre alphabétique)"})]})}),t.jsx("tbody",{children:T6e.map(r=>t.jsxs("tr",{className:`border-t border-border/60 ${r.label==="Pratique réputée"?"bg-primary/[0.04]":""}`,children:[t.jsx("td",{className:"px-5 py-4 align-top font-medium text-foreground whitespace-nowrap",children:r.label}),t.jsx("td",{className:"px-5 py-4 align-top text-foreground/75",children:r.cabinets})]},r.label))})]})}),t.jsx("p",{className:"text-xs text-muted-foreground/80 not-prose",children:"Source : Leaders League / Décideurs Magazine, guide Gestion de patrimoine 2026, classement Conseil en gestion de patr
760imoine – France."}),t.jsx(Un,{children:"Ce que cette distinction dit de notre modèle"}),t.jsxs("p",{children:["Trois partis pris expliquent, pour l'essentiel, cette reconnaissance. Le premier est la"," ",t.jsx("strong",{children:"continuité de la relation"})," : un interlocuteur identifié, qui connaît l'historique des décisions et reste le même dans le temps. Le deuxième est la"," ",t.jsx("strong",{children:"clarté de la rémunération et des frais"}),", affichée plutôt que découverte en cours de route. Le troisième est l'",t.jsx("strong",{children:"ouverture de l'architecture d'investissement"})," : nous sélectionnons chez des assureurs et dépositaires multiples au lieu de distribuer une gamme maison."]}),t.jsxs("p",{children:["À cela s'ajoute une conviction de méthode : l'ingénierie précède le produit. Une holding, un"," ",t.jsx(Be,{to:"/ingenierie-patrimoniale",children:"apport-cession"})," ou un démembrement se traitent avant de choisir une enveloppe. C'est ce qui distingue un cabinet de conseil d'un distributeur de placements, et ce que retrouvent les familles accompagnées via notre"," ",t.jsx(Be,{to:"/family-office",children:"multi family office"})," ou notre offre de"," ",t.jsx(Be,{to:"/gestion-privee",children:"gestion privée"}),"."]}),t.jsx(Un,{children:"Questions fréquentes"}),t.jsx("div",{className:"not-prose space-y-6 my-8",children:GF.map(r=>t.jsxs("div",{children:[t.jsx("h3",{className:"font-display text-lg md:text-xl tracking-tight text-foreground mb-2 text-left",children:r.q}),t.jsx("p",{className:"text-[15px] text-foreground/80 leading-relaxed text-justify",children:r.a})]},r.q))}),t.jsxs("div",{className:"not-prose my-10 flex items-start gap-3 p-5 rounded-xl bg-muted/50 border border-border/60",children:[t.jsx(xR,{className:"w-5 h-5 text-secondary shrink-0 mt-0.5"}),t.jsxs("p",{className:"text-[14px] text-foreground/80 leading-relaxed text-left",children:["Retrouvez également nos prises de parole et nos retombées presse sur la page"," ",t.jsx(Be,{to:"/interventions-medias",children:"interventions médias"})," et l'ensemble de notre équipe sur la page ",t.jsx(Be,{to:"/equipe",children:"L'équipe"}),"."]})]}),t.jsx(bf,{title:"Parlons de votre patrimoine",text:"Un premier échange de 30 minutes avec un conseiller Colbr pour cadrer votre situation, vos objectifs et les décisions à prioriser.",primaryTo:"/gestion-privee",primaryLabel:"Découvrir la gestion privée",secondaryTo:"/family-office",secondaryLabel:"Multi family office"}),t.jsx(vf,{})]})]})}),t.jsx(re,{})]})},A6e=[.16,1,.3,1],KF="https://www.youtube.com/watch?v=d_e0TtIwvNg",mw=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),Mg=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),L6e=({children:e})=>t.jsxs("blockquote",{className:"not-prose my-12 pl-6 border-l-2 border-secondary/60",children:[t.jsx(Fq,{className:"w-5 h-5 text-secondary/60 mb-3"}),t.jsx("p",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground leading-snug text-left",children:e})]}),QF=({children:e})=>t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground pt-8 text-left",children:e}),F6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:"De la finance à l'entrepreneuriat : Gustav Sondén chez BOURDIN | Colbr"}),t.jsx("meta",{name:"description",content:"Gustav Sondén, fondateur de C
760olbr, est l'invité de BOURDIN : de la finance institutionnelle à l'entrepreneuriat, retour sur une vision de la gestion de patrimoine fondée sur le conseil, la transparence et l'exécution."}),t.jsx("link",{rel:"canonical",href:"https://colbr.co/blog/gustav-sonden-bourdin"}),t.jsx("meta",{property:"og:type",content:"article"}),t.jsx("meta",{property:"og:title",content:"De la finance à l'entrepreneuriat : il veut dépoussiérer la gestion de patrimoine"}),t.jsx("meta",{property:"og:description",content:"Gustav Sondén, fondateur de Colbr, invité de BOURDIN : parcours, entrepreneuriat et une autre idée de la gestion de patrimoine."}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BlogPosting",headline:"De la finance à l'entrepreneuriat : Gustav Sondén invité de BOURDIN",datePublished:"2026-09-08",dateModified:"2026-09-08",author:{"@type":"Organization",name:"Colbr"},publisher:{"@type":"Organization",name:"Colbr"},mainEntityOfPage:"https://colbr.co/blog/gustav-sonden-bourdin",about:{"@type":"VideoObject",name:"De la finance à l'entreprenariat : il veut dépoussiérer la gestion de patrimoine",embedUrl:"https://www.youtube.com/embed/d_e0TtIwvNg",thumbnailUrl:"https://img.youtube.com/vi/d_e0TtIwvNg/maxresdefault.jpg",uploadDate:"2026-09-01"}})})]}),t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Entretien vidéo · Septembre 2026 · 8 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"De la finance à l'entrepreneuriat : Gustav Sondén invité de BOURDIN"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"« De la finance à l'entreprenariat : il veut dépoussiérer la gestion de patrimoine ». Le fondateur de Colbr est l'invité du média BOURDIN pour une conversation les yeux dans les yeux : parcours dans la finance institutionnelle, bascule vers l'entrepreneuriat, et conviction d'un métier du conseil à reconstruire sur la transparence et la qualité d'exécution."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:A6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"not-prose mb-14 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.05] to-secondary/[0.05] border border-primary/10",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-primary font-medium mb-3",children:"Regarder l'entretien"}),t.jsx("p",{className:"text-[15px] text-foreground/80 leading-relaxed mb-5 text-left",children:"« De la finance à l'entreprenariat : il veut dépoussiérer la gestion de patrimoine » — Gustav Sondén répond aux questions de BOURDIN."}),t.jsx("div",{className:"relative overflow-hidden rounded-xl aspect-video mb-6 bg-muted",children:t.jsx("iframe",{src:"https://www.youtube.com/embed/d_e0TtIwvNg",title:"De la finance à l'entreprenariat : il veut dépoussiérer la gestion de patrimoine — Gustav Sondén sur BOURDIN",loading:"lazy",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullScreen:!0,className:"absolute inset-0 w-full h-full"})}),t.jsxs("a",{href:KF,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-foreground text-background text-sm font-medium hover:bg-foreground
760/90 transition-colors",children:[t.jsx(Xh,{className:"w-4 h-4"}),"Voir la vidéo sur YouTube",t.jsx(Wn,{className:"w-4 h-4"})]})]}),t.jsxs("div",{className:"mb-12 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Ce que vous y entendrez"}),t.jsxs("ul",{className:"space-y-3 text-[14px] text-foreground/80 italic",children:[t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary mt-0.5",children:"—"}),t.jsx("span",{children:"Le passage de la finance institutionnelle à l'entrepreneuriat : plus de 200 M€ originés en Europe avant de fonder Colbr, et ce que cette expérience des grands actifs apporte au conseil aux particuliers."})]}),t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary mt-0.5",children:"—"}),t.jsx("span",{children:"Ce que « dépoussiérer la gestion de patrimoine » veut dire concrètement : prix lisibles, service réactif, et un conseil qui démontre sa valeur plutôt que de la promettre."})]}),t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary mt-0.5",children:"—"}),t.jsx("span",{children:"La construction d'un cabinet indépendant : de la levée de fonds initiale au multi family office, avec la conviction que la relation client reste le cœur du métier."})]})]})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx(Mg,{children:"De la finance à l'entrepreneuriat"}),t.jsxs("p",{children:["Franco-suédois diplômé de finance à Dauphine, ",t.jsx("strong",{children:"Gustav Sondén"})," a commencé sa carrière dans la finance institutionnelle : Tishman Speyer, Generali, Mercialys puis Corum, où il devient responsable de l'investissement à 26 ans avec plus de 200 M€ originés en Europe. Une formation d'investisseur, faite d'analyse d'actifs, de structuration et d'exécution, qu'il a ensuite choisi de mettre au service des particuliers."]}),t.jsxs("p",{children:["Dans cet entretien accordé à"," ",t.jsx("a",{href:KF,target:"_blank",rel:"noopener noreferrer",className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:"BOURDIN"}),", il revient sur cette bascule : quitter un cadre établi pour construire, avec Colbr, un cabinet de gestion de patrimoine et un multi family office indépendant, aujourd'hui fort d'une équipe de six collaborateurs et d'environ 500 clients accompagnés."]}),t.jsx(mw,{icon:va,children:"La finance institutionnelle apprend une discipline : analyser, structurer, exécuter. C'est exactement cette discipline qu'un particulier est en droit d'attendre de son conseiller patrimonial."}),t.jsx(Mg,{children:"Dépoussiérer la gestion de patrimoine"}),t.jsx(QF,{children:"Que signifie « dépoussiérer » la gestion de patrimoine ?"}),t.jsx("p",{children:"Le titre de l'épisode reprend une expression souvent entendue, mais rarement mise en œuvre. Pour Gustav Sondén, elle se traduit par des choix concrets : une grille tarifaire affichée publiquement, une architecture ouverte qui donne accès aux mêmes supports que l'offre institutionnelle, et un suivi des dossiers qui ne s'arrête pas à la signature."}),t.jsx("p",{children:"Dépoussiérer, ce n'est pas digitaliser pour digitaliser : c'est rendre le métier lisible. Le client doit savoir ce qu'il paie, à qui, et pour quelle prestation, et son conseiller doit être joignable quand une décision patrimoniale se prend, pas seulement lors des rendez-vous annuels."}),t.jsx(L6e,{children:"« Le conseil patrimonial mérite la même exigence d'exécution que la finance institutionnelle. C'est cette exigence que nous appliquons à chaque dossier. »"}),t.jsx(Mg,{children:"Construire un cabinet indépendant"}),t.jsx(QF,{children:"Qu'est-ce que l'entrepreneuriat change au métier de conseil ?"}),t.jsx("p",{children:"Fonder un cabinet, c'est assumer chaque arbitrage : le choix des partenaires, des outils, des recrutements, et la manière de traiter chaque client. Là où un salarié hérite d'un cadre, l'entrepreneur le construit, et en répond. Cette responsabilité directe est aussi ce qui permet à Colbr d'aligner son modèle sur l'intérêt du client plutôt que sur des objectifs de distribution."}),t.jsx("p",{children:"L'entretien aborde également les coulisses de cette c
760onstruction : la levée de fonds initiale, le passage d'un projet de fintech à un cabinet de conseil assumé, et l'ambition d'une discipline d'exécution héritée de la tech au service d'une relation humaine."}),t.jsx(mw,{icon:Lt,children:"Un cabinet indépendant n'a qu'un actif : la confiance de ses clients. Elle se gagne par la transparence des prix, la réactivité du service et la continuité du conseil."}),t.jsx(mw,{icon:zb,children:"De la finance à l'entrepreneuriat, le fil rouge est le même : la valeur ne se promet pas, elle se démontre, dossier après dossier."}),t.jsx(Mg,{children:"Pour aller plus loin"}),t.jsxs("p",{children:["Retrouvez l'intégralité de la conversation sur la chaîne BOURDIN, et découvrez nos autres prises de parole sur la page"," ",t.jsx(C,{to:"/interventions-medias",className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:"interventions médias"}),", ainsi que la présentation de"," ",t.jsx(C,{to:"/equipe",className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:"l'équipe Colbr"}),"."]}),t.jsx("p",{className:"text-[13px] text-muted-foreground leading-relaxed pt-8 border-t border-border/50",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Les propos rapportés sont issus d'un entretien accordé au média BOURDIN."}),t.jsxs("div",{className:"mt-16 text-center",children:[t.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:e("Vous souhaitez échanger sur la structuration de votre patrimoine ?","Would you like to discuss the structuring of your wealth?")}),t.jsxs(C,{to:"/?openContact=true",className:"inline-flex items-center gap-2 px-6 py-3 bg-foreground text-background rounded-full text-sm font-medium hover:bg-foreground
760/90 transition-colors",children:[e("Prendre rendez-vous","Book a meeting"),t.jsx(pe,{className:"w-4 h-4 rotate-180"})]})]})]})]})}),t.jsx(re,{})]})},_6e=[.16,1,.3,1],$g=({to:e,children:n})=>t.jsx(C,{to:e,className:"font-medium text-primary underline underline-offset-4 decoration-primary/30 hover:decoration-primary transition-all",children:n}),YF=({children:e,icon:n=Gi})=>t.jsxs("div",{className:"relative my-10 p-6 md:p-8 rounded-2xl bg-gradient-to-br from-primary/[0.03] to-accent/[0.03] border border-primary/10",children:[t.jsxs("div",{className:"absolute -top-3 left-6 px-3 py-1 bg-background border border-primary/10 rounded-full text-[11px] tracking-[0.2em] uppercase text-primary font-medium flex items-center gap-1.5",children:[t.jsx(n,{className:"w-3.5 h-3.5"}),"Point clé"]}),t.jsx("div",{className:"text-[15px] md:text-base text-foreground/90 leading-relaxed text-left pt-2",children:e})]}),es=({children:e})=>t.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"}),t.jsx("span",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium whitespace-nowrap",children:e}),t.jsx("div",{className:"h-px flex-1 bg-gradient-to-r from-transparent via-border to-transparent"})]}),hw=({title:e,description:n,icon:r,color:i})=>t.jsxs("div",{className:"p-6 rounded-2xl bg-muted/40 border border-border/40 flex flex-col gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl ${i} flex items-center justify-center`,children:t.jsx(r,{className:"w-5 h-5 text-white"})}),t.jsx("p",{className:"text-sm font-medium text-foreground",children:e}),t.jsx("p",{className:"text-[13px] text-foreground/70 leading-relaxed",children:n})]}),O6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité internationale · Juin 2026 · 15 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Forfait fiscal suisse : ce que les Français fortunés doivent savoir avant de s'installer"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Imposition d'après la dépense, exit tax française, coordination des actifs franco-suisses : le guide complet pour un patrimoine transfrontalier sans angle mort."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:_6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"mb-16 p-6 md:p-8 rounded-2xl bg-muted/50 border border-border/60",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-muted-foreground font-medium mb-4",children:"Sommaire"}),t.jsx("ol",{className:"space-y-2.5 text-[14px] text-foreground/80",children:["La mécanique précise du forfait fiscal suisse","Les conditions d'éligibilité","La hiérarchie cantonale : où s'installer","L'exit tax française vers un pays tiers","La convention fiscale franco-suisse","Le calcul de contrôle et l'assiette de comparaison","La coordination avec les banques suisses","L'assurance-vie française depuis la Suisse","La succession franco-suisse","Ce que la Suisse offre que l'UE n'offre pas"].map((n,r)=>t.jsxs("li",{className:"flex items-start gap-2.5",children:[t.jsx("span",{className:"text-primary font-medium text-[13px] mt-0.5",children:String(r+1).padStart(2,"0")}),t.jsx("span",{className:"text-foreground/70",children:n})]},r))})]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground
760/90 leading-relaxed text-justify",children:[t.jsxs("p",{children:["La Suisse occupe dans l'imaginaire patrimonial français une place à part, celle d'une destination dont les avantages fiscaux sont légendaires, dont la discrétion bancaire a nourri des décennies de fantasmes et de contentieux, et dont la réalité contemporaine est à la fois plus accessible et plus exigeante que les représentations collectives ne le suggèrent. Le ",t.jsx("strong",{children:"forfait fiscal cantonal"}),", officiellement l'imposition d'après la dépense, est l'outil central de l'attractivité fiscale suisse pour les résidents étrangers fortunés sans activité lucrative en Suisse. Son mécanisme est élégant dans sa simplicité et redoutable dans son efficacité pour les profils qui correspondent à ses conditions."]}),t.jsx("p",{children:"Mais la Suisse n'est pas dans l'Union Européenne, et cette réalité géographique et réglementaire crée des contraintes spécifiques pour les Français qui y résident tout en maintenant des actifs en France et en Europe."}),t.jsx(YF,{icon:X1,children:"Le forfait fiscal suisse n'impose pas les revenus réels mais une assiette forfaitaire fondée sur les dépenses de vie en Suisse, avec un minimum fédéral de sept fois le loyer annuel. Pour un rentier international à revenus massifs, l'économie fiscale est sans équivalent en Europe, à condition d'accepter les contraintes du statut de pays tiers."}),t.jsx(es,{children:"Mécanique du forfait"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le forfait fiscal suisse : la mécanique précise"}),t.jsxs("p",{children:["L'imposition d'après la dépense, ",t.jsx("em",{children:"Besteuerung nach dem Aufwand"})," en allemand, est un régime fiscal spécifique aux étrangers qui s'installent en Suisse sans y exercer d'activité lucrative. Il est disponible dans la grande majorité des cantons suisses, avec des variations importantes dans ses modalités d'application."]}),t.jsxs("p",{children:["Le principe fondamental est que l'impôt n'est pas calculé sur les revenus réels du contribuable, dividendes, intérêts, loyers, plus-values, mais sur une ",t.jsx("strong",{children:"assiette forfaitaire représentative de ses dépenses de vie en Suisse"}),". Le minimum fédéral est de ",t.jsx("strong",{children:"sept fois le loyer annuel"})," ou la valeur locative de la résidence principale, ou sept fois le prix de la pension annuelle si le contribuable est en pension. Les cantons peuvent fixer des minimums plus élevés."]}),t.jsxs("p",{children:["Concrètement, un Français qui loue un appartement à Genève pour ",t.jsx("strong",{children:"10 000 francs suisses par mois"}),", 120 000 francs annuels, verra son assiette imposable forfaitaire fixée à sept fois ce montant, soit ",t.jsx("strong",{children:"840 000 francs suisses"}),". Sur cette assiette, les impôts fédéral, cantonal et communal sont calculés selon les barèmes ordinaires, ce qui représente une charge fiscale annuelle totale de l'ordre de ",t.jsx("strong",{children:"150 000 à 200 000 francs suisses"})," selon le canton et la situation familiale. Cette charge est ",t.jsx("strong",{children:"indépendante du montant réel des revenus"}),", qu'ils soient de 500 000 francs ou de dix millions de francs."]}),t.jsx("p",{children:"Pour un rentier fortuné dont les revenus annuels réels sont de plusieurs millions d'euros, dividendes d'un portefeuille international, distributions de fonds de private equity, revenus immobiliers de source étrangère, intérêts d'un portefeuille obligataire, l'économie fiscale par rapport à une imposition ordinaire en France ou dans la plupart des pays européens est considérable."}),t.jsx(es,{children:"Éligibilité"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les conditions d'éligibilité : ce que le régime exige"}),t.jsxs("p",{children:["L'imposition d'après la dépense est réservée aux ",t.jsx("strong",{children:"ressortissants étrangers"}),", les ressortissants suisses ne peuvent pas en bénéficier. Elle est conditionnée à l'",t.jsx("strong",{children:"absence d'activité lucrative en Suisse"}),", le contribuable ne peut ni travailler pour un employeur suisse ni exercer une activité indépendante en Suisse dans le cadre du forfait. Cette c
760ondition est impérative et son non-respect entraîne la perte du régime."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"première installation en Suisse"})," est une condition dans la plupart des cantons, le forfait n'est généralement pas accessible aux personnes qui ont déjà été résidentes fiscales suisses dans un passé récent. Certains cantons imposent une durée d'absence préalable minimale de dix ans avant de pouvoir accéder au régime après une première résidence suisse."]}),t.jsxs("p",{children:["Les conditions minimales ont été renforcées par la réforme fédérale de 2016, qui a relevé le minimum de cinq à sept fois le loyer annuel. Plusieurs cantons ont également adopté des ",t.jsx("strong",{children:"minimums absolus en francs suisses"})," qui s'appliquent indépendamment du loyer, renforçant le positionnement du forfait comme outil pour les très grandes fortunes."]}),t.jsx(es,{children:"Choix du canton"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La hiérarchie cantonale : le canton de résidence comme décision stratégique"}),t.jsx("p",{children:"Le choix du canton de résidence est l'une des décisions les plus structurantes pour un Français qui envisage le forfait fiscal suisse, parce que les conditions d'application varient considérablement d'un canton à l'autre."}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 my-10",children:[t.jsx(hw,{title:"Genève",description:"Proximité immédiate de la France, infrastructure de banques privées de premier plan (UBS, Lombard Odier, Pictet, Julius Baer), qualité de vie internationale. Charge fiscale minimale plus élevée.",icon:St,color:"bg-primary/80"}),t.jsx(hw,{title:"Valais",description:"Verbier, Crans-Montana, Zermatt : conditions d'application historiquement les plus attractives, charges fiscales plus faibles, orientation alpine et qualité de vie de montagne.",icon:X1,color:"bg-accent/80"}),t.jsx(hw,{title:"Vaud",description:"Lausanne et les rives du Léman : régime compétitif, infrastructure de services solide, communauté importante d'expatriés fortunés, caractère francophone.",icon:mr,color:"bg-secondary/80"})]}),t.jsx("p",{children:"Pour les fortunes qui n'ont pas besoin d'être quotidiennement à proximité des centres financiers, le Valais représente souvent le meilleur équilibre entre attractivité fiscale et qualité de vie. Pour celles qui exigent un accès permanent à un écosystème patrimonial dense, Genève reste la référence."}),t.jsx(es,{children:"Exit tax"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'exit tax française : le problème qui ne disparaît pas"}),t.jsxs("p",{children:["La Suisse n'est pas membre de l'Union Européenne, et cette réalité a des conséquences directes sur le traitement de ",t.jsx($g,{to:"/blog/quitter-france",children:"l'exit tax française"})," pour les contribuables qui s'y installent."]}),t.jsxs("p",{children:["Pour les départs vers les États membres de l'UE ou de l'EEE, l'exit tax bénéficie d'un ",t.jsx("strong",{children:"sursis de paiement automatique sans constitution de garanties"}),". Pour les départs vers la Suisse, pays tiers hors UE et hors EEE, ce sursis automatique n'est pas applicable. L'exit tax est en principe exigible au moment du transfert de résidence fiscale vers la Suisse, ce qui signifie que le contribuable doit payer l'impôt sur ses plus-values latentes au moment de son départ, avant même d'avoir réalisé ces plus-values."]}),t.jsxs("p",{children:["Il existe cependant un ",t.jsx("strong",{children:"mécanisme de sursis sur demande"})," pour les départs vers des pays tiers, conditionné à la constitution de garanties au profit du Trésor public français et à des obligations déclaratives annuelles. Ce mécanisme permet de différer le paiement de l'exit tax jusqu'à la cession effective des titres concernés, mais il impose des formalités significatives et des garanties contraignantes pour des plus-values latentes très importantes."]}),t.jsx(YF,{icon:Kt,children:"Pour un Français qui envisage de s'installer en Suisse avec un portefeuille contenant des plus-values latentes importantes, la gestion de l'exit tax est souvent la contrainte préalable la plus coûteuse. Réalisation anticipée de certaines plus-values, restructuration des détentions, constitution de garanties : ces stratég
760ies doivent être construites bien avant la date envisagée de départ."}),t.jsx(es,{children:"Convention franco-suisse"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La convention fiscale franco-suisse : un cadre distinct"}),t.jsx("p",{children:"La convention fiscale franco-suisse, signée le 9 septembre 1966 et révisée depuis, définit le traitement des revenus de source française perçus par un résident suisse, et son contenu diffère sur plusieurs points importants des conventions bilatérales avec les pays membres de l'UE."}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"revenus immobiliers"})," d'un bien situé en France sont imposables en France selon le principe de la source. Un résident suisse qui perçoit des loyers d'un appartement parisien les déclare en France selon les règles des non-résidents, et puisque l'assiette suisse est forfaitaire, l'inclusion de ces revenus ne modifie pas sa charge fiscale suisse tant que les dépenses réelles restent inférieures à l'assiette forfaitaire."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"dividendes de sociétés françaises"})," versés à un résident suisse sont soumis à une retenue à la source en France dont le taux conventionnel est de ",t.jsx("strong",{children:"15%"}),". Cette retenue est la charge fiscale définitive sur ces dividendes pour un bénéficiaire du forfait suisse."]}),t.jsxs("p",{children:["Les ",t.jsx("strong",{children:"plus-values sur titres de sociétés françaises non à prépondérance immobilière"})," sont imposables selon la convention franco-suisse dans le pays de résidence du cédant, la Suisse. La France n'a pas le droit de les imposer. En Suisse, ces plus-values n'augmentent pas l'assiette forfaitaire, elles sont ",t.jsx("strong",{children:"réalisées sans impôt ni en France ni en Suisse"}),". C'est l'un des avantages les plus puissants de la combinaison forfait suisse et convention franco-suisse pour les investisseurs qui détiennent des portefeuilles d'actions françaises."]}),t.jsx(es,{children:"Calcul de contrôle"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le contrôle des revenus de source suisse et l'assiette de comparaison"}),t.jsxs("p",{children:["Le forfait suisse inclut un mécanisme de contrôle, la ",t.jsx("em",{children:"Kontrollrechnung"})," ou calcul de contrôle, qui vérifie que l'assiette forfaitaire n'est pas inférieure à certains revenus spécifiques pour lesquels la Suisse a le droit d'imposer selon ses conventions bilatérales."]}),t.jsxs("p",{children:["Le calcul de contrôle prend en compte les revenus immobiliers suisses, les revenus d'activités suisses et certaines catégories de revenus de source étrangère pour lesquels la Suisse a négocié un droit d'imposition. Si la somme de ces revenus dépasse l'assiette forfaitaire, c'est ",t.jsx("strong",{children:"cette somme plus élevée qui devient la base d'imposition"}),", l'assiette forfaitaire servant alors de minimum et non de base effective."]}),t.jsx("p",{children:"Cette mécanique est la raison pour laquelle la structuration des actifs et des revenus d'un résident suisse sous forfait doit être conduite avec rigueur, pour s'assurer que les revenus entrant dans le calcul de contrôle restent en dessous de l'assiette forfaitaire choisie."}),t.jsx(es,{children:"Banques suisses"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La coordination avec les banques suisses : UBS, Lombard Odier, Swissquote"}),t.jsx("p",{children:"Les résidents français en Suisse gèrent typiquement leurs actifs à travers une combinaison de banques suisses et de structures françaises maintenues depuis leur installation. Cette combinaison crée des enjeux de coordination spécifiques que les banques suisses ne traitent pas spontanément dans leur intégralité."}),t.jsxs("p",{children:[t.jsx("strong",{children:"UBS"}
760)," est l'un des gestionnaires de patrimoine les plus importants au monde, avec une infrastructure couvrant l'ensemble des classes d'actifs. UBS offre également un accès à ",t.jsx("em",{children:"UBS Life Luxembourg"}),", sa compagnie d'assurance-vie luxembourgeoise, qui permet de loger les actifs financiers dans un ",t.jsx($g,{to:"/blog/contrat-luxembourgeois-colonne-vertebrale",children:"contrat luxembourgeois"})," portable et fiscalement optimisé. Cette combinaison banque privée suisse et contrat luxembourgeois est l'une des architectures les plus efficaces pour les résidents suisses disposant d'actifs en Europe."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Lombard Odier"})," est une banque privée genevoise indépendante depuis 1796, dont la philosophie est orientée vers la préservation et la transmission multigénérationnelle du capital. Lombard Odier dispose d'une expertise reconnue en gestion des actifs privés, private equity, dette privée, actifs réels, et en structuration internationale des patrimoines complexes."]}),t.jsxs("p",{children:[t.jsx("strong",{children:"Swissquote"})," est une banque en ligne suisse spécialisée dans le trading et la gestion de portefeuilles de valeurs mobilières. Pour un Français résidant en Suisse qui maintient des actifs français, Swissquote peut être utilisé pour les actifs cotés liquides, actions, ETF, obligations, tout en laissant la gestion des actifs complexes à une banque privée disposant des équipes adaptées."]}),t.jsx(es,{children:"Assurance-vie"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'assurance-vie française depuis la Suisse : les spécificités"}),t.jsx("p",{children:"La plupart des assureurs français refusent d'accepter de nouveaux versements sur des contrats détenus par des résidents suisses, pour des raisons de conformité réglementaire liées à la distribution transfrontalière depuis la France vers la Suisse. Les contrats existants peuvent souvent être maintenus, mais leur gestion courante est contrainte."}),t.jsxs("p",{children:["Les rachats effectués par un résident suisse sur un contrat d'assurance-vie français sont soumis à une retenue à la source en France. Pour un contrat de plus de huit ans, la retenue est de ",t.jsx("strong",{children:"7,5%"})," selon les règles françaises applicables aux non-résidents."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"migration vers un contrat d'assurance-vie luxembourgeois"}),", accessible depuis la Suisse via les assureurs luxembourgeois qui disposent des autorisations nécessaires, est souvent la solution optimale pour les Français résidant en Suisse. Le contrat luxembourgeois offre la portabilité, la liberté d'investissement et la protection du ",t.jsx($g,{to:"/blog/triangle-securite-luxembourgeois",children:"triangle de sécurité"}),", sans les contraintes réglementaires qui affectent les contrats français."]}),t.jsx(es,{children:"Succession"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La succession franco-suisse : une architecture à double niveau"}),t.jsxs("p",{children:["La dimension successorale est l'une des plus complexes à gérer, en raison de ",t.jsx("strong",{children:"l'absence de convention franco-suisse en matière de droits de succession"})," et des différences importantes entre les régimes successoraux des deux pays."]}),t.jsxs("p",{children:["La Suisse applique ses propres droits de succession selon les règles cantonales. La fiscalité successorale suisse est en général très favorable par rapport à la fiscalité française, plusieurs cantons ont supprimé les droits de succession entre parents en ligne directe. Genève applique des droits de succession relativement modestes entre descendants directs, comparés aux taux français pouvant atteindre ",t.jsx("strong",{children:"45%"}),"."]}),t.jsxs("p",{children:["La France imposera les actifs situés en France dans la succession d'un résident suisse, biens immobiliers français, participations dans des sociétés françaises à prépondérance immobilière. En l'absence de convention bilatérale, le risque de ",t.jsx("strong",{children:"double imposition successorale"})," est réel et doit être planifié."]}
760),t.jsxs("p",{children:["Les stratégies disponibles incluent la ",t.jsx($g,{to:"/blog/donation-partage",children:"donation des actifs français"})," pendant la vie du donateur, l'utilisation de l'assurance-vie luxembourgeoise pour les actifs financiers qui bénéficient d'un régime successoral dérogatoire en France, et la structuration des détentions pour réduire les actifs soumis simultanément aux deux droits successoraux."]}),t.jsx(es,{children:"Avantages distinctifs"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que la Suisse offre que les destinations UE n'offrent pas"}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"stabilité politique et institutionnelle"})," suisse est exceptionnelle dans un contexte européen où les changements de régimes fiscaux préférentiels se multiplient, suppression du RNH portugais, évolution du régime Beckham espagnol, réformes successives en Italie. La Suisse maintient le forfait fiscal depuis plusieurs décennies avec des modifications graduelles mais sans remise en cause fondamentale."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"discrétion et la protection de la confidentialité"}),", bien que réduites par les échanges automatiques d'informations dans le cadre du CRS, restent structurellement supérieures en Suisse à ce qu'offrent les pays membres de l'UE."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"qualité de l'écosystème de gestion patrimoniale"}),", banques privées, family offices, avocats fiscalistes, experts-comptables spécialisés en patrimoine international, est inégalée en Europe. La concentration à Genève et Zurich d'expertise patrimoniale internationale de premier niveau offre aux résidents suisses un accès à des compétences que peu d'autres villes peuvent reproduire."]}),t.jsx("p",{children:"La Suisse reste, pour les rentiers et investisseurs fortunés dont les revenus internationaux sont très significatifs et dont la situation personnelle permet une installation effective, l'une des destinations les plus puissantes d'Europe sur le plan fiscal."}),t.jsxs("div",{className:"my-16 p-8 rounded-2xl bg-gradient-to-br from-primary/[0.04] to-secondary/[0.04] border border-primary/10",children:[t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-4 text-left",children:"En résumé"}),t.jsxs("ul",{className:"space-y-3 text-[15px] text-foreground/80",children:[t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(dr,{className:"w-5 h-5 text-success mt-0.5 shrink-0"}),t.jsx("span",{children:"Forfait fondé sur la dépense (minimum 7× loyer annuel), charge fiscale indépendante des revenus réels, prévisible et stable."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(dr,{className:"w-5 h-5 text-success mt-0.5 shrink-0"}),t.jsx("span",{children:"Plus-values sur cession de titres français non immobiliers : ni imposées en France ni en Suisse sous forfait."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(dr,{className:"w-5 h-5 text-success mt-0.5 shrink-0"}),t.jsx("span",{children:"Écosystème patrimonial inégalé : UBS, Lombard Odier, Pictet, Julius Baer, family offices internationaux."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(Kt,{className:"w-5 h-5 text-secondary mt-0.5 shrink-0"}),t.jsx("span",{children:"Statut de pays tiers : pas de sursis automatique d'exit tax, garanties exigées, gestion préalable indispensable."})]}),t.jsxs("li",{className:"flex items-start gap-3",children:[t.jsx(Kt,{className:"w-5 h-5 text-secondary mt-0.5 shrink-0"}),t.jsx("span",{children:"Absence de convention franco-suisse sur la succession : double imposition successorale à anticiper sur les actifs français."})]})]})]}),t.jsx("p",{className:"text-[13px] text-muted-foreground leading-relaxed pt-8 border-t border-border/50",children:"Document à caractère informatif ne constituant pas un conseil en investissement ni un conseil juridique ou fiscal. Le forfait fiscal suisse varie selon les cantons et est susceptible d'évoluer. La Suisse n'est pas membre de l'Union Européenne, les règles applicables aux résidents suisses sont distinctes de celles applicables aux résidents des États membres. Nous vous recommandons de consulter un avocat fiscaliste spécialisé en fiscalité franco-suisse avant toute décision de transfert de résidence fiscale."}),t.jsxs("div",{className:"mt-16 text-center",children:[t.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:e("Vous envisagez la Suisse et souhaitez modéliser l'impact du forfait fiscal sur votre situation ?","Considering Switzerland and want to model the impact of the lump-sum tax on your situation?")}),t.jsxs(C,{to:"/?openContact=true",className:"inline-flex items-center gap-2 px-6 py-3 bg-foreground text-background rounded-full text-sm font-medium hover:bg-foreground
760/90 transition-colors",children:[e("Prendre rendez-vous","Book a meeting"),t.jsx(pe,{className:"w-4 h-4 rotate-180"})]})]})]})]})}),t.jsx(re,{})]})},R6e=[.16,1,.3,1],D6e=()=>{const{tr:e,lang:n}=K(),r=(i,s)=>n==="en"?s:i;return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[e("Fiscalité","Taxation")," · ",e("Décembre 2026","December 2026")," · 12 min"]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:e("Article 150-0 B ter : ce que la loi de finances pour 2026 change vraiment pour les entrepreneurs","Article 150-0 B ter: what the 2026 Finance Act really changes for entrepreneurs")}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:e("Quota de remploi porté à 70 %, délai étendu à 36 mois, périmètre des activités éligibles resserré : lecture patrimoniale des nouveaux équilibres du report d'imposition.","Reinvestment quota raised to 70%, deadline extended to 36 months, tighter perimeter of eligible activities: a wealth reading of the new balance of the tax deferral regime.")})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:R6e},className:"container max-w-3xl mx-auto px-6",children:[t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La loi de finances pour 2026 réécrit l'un des dispositifs les plus utilisés par les entrepreneurs français dans leurs stratégies de cession : le ",t.jsx("strong",{children:"report d'imposition"})," de l'",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"article 150-0 B ter du Code général des impôts"}),". Le texte n'abroge rien, ne remet pas en cause la logique du régime, mais en resserre nettement les paramètres. Pour les cessions réalisées à compter du ",t.jsx("strong",{children:"21 février 2026"}),", la mécanique du ",t.jsx("strong",{children:"remploi"})," obéit à de nouvelles règles qui changent l'équation financière et modifient certains réflexes bien établis en ingénierie patrimoniale."]}),t.jsxs(t.Fragment,{children:["The 2026 Finance Act rewrites one of the most widely used devices for French entrepreneurs in their disposal strategies: the ",t.jsx("strong",{children:"tax deferral"})," of ",t.jsx(C,{to:"/blog/apport-cession-150-0-b-ter",className:"text-primary underline-offset-4 hover:underline",children:"article 150-0 B ter of the General Tax Code"}),". The text repeals nothing, leaves the logic of the regime intact, but clearly tightens its parameters. For disposals carried out from ",t.jsx("strong",{children:"21 February 2026"}),", the ",t.jsx("strong",{children:"reinvestment"})," mechanics obey new rules that change the financial equation and modify several well-established reflexes in wealth engineering."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Point clé","Key point")}),t.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:e("Le texte adopté modifie quatre paramètres : le quota de remploi passe de 60 % à 70 %, le délai pour investir passe de 24 à 36 mois, la durée de conservation des actifs de remploi est uniformisée à cinq ans, et le périmètre des activités éligibles est réduit. Ces règles s'appliquent aux cessions de titres réalisées par la holding à compter du 21 février 2026.","The adopted text changes four parameters: the reinvestment quota rises from 60% to 70%, the investment window from 24 to 36 months, the holding period for reinvestment assets is standardised at five years, and the perimeter of eligible activities is narrowed. These rules apply to share disposals made by the holding from 21 February 2026.")})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Rappel du mécanisme : pourquoi le 150-0 B ter structure les cessions","The mechanism in short: why 150-0 B ter structures disposals")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Depuis 2013, l'article 150-0 B ter permet à un dirigeant qui apporte ses titres opérationnels à une ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"holding patrimoniale"})," qu'il contrôle de placer la plus value d'apport en ",t.jsx("strong",{children:"report d'imposition de plein droit"}),". Le report est maintenu tant que l'apporteur conserve les titres de la holding et que celle ci respecte les conditions attachées au régime."]}),t.jsxs(t.Fragment,{children:["Since 2013, article 150-0 B ter allows a business owner who contributes their operating shares to a ",t.jsx(C,{to:"/blog/holding-patrimoniale",className:"text-primary underline-offset-4 hover:underline",children:"wealth holding"})," under their control to place the contribution gain in ",t.jsx("strong",{children:"automatic tax deferral"}),". The deferral is maintained as long as the contributor keeps the holding's shares and the holding complies with the conditions attached to the regime."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Lorsque la holding revend ensuite les titres apportés, deux voies coexistent. Si elle les ",t.jsx("strong",{children:"conserve plus de trois ans"})," avant cession, aucune obligation de remploi n'est imposée : le produit peut être géré librement au sein de la structure. Si elle les cède avant l'expiration de ce délai, elle doit s'engager à ",t.jsx("strong",{children:"réinvestir une part du produit"})," dans une activité économique éligible, dans un délai encadré. C'est ce second cas de figure que la loi de finances pour 2026 vient rehausser."]}),t.jsxs(t.Fragment,{children:["When the holding later sells the contributed shares, two paths coexist. If it ",t.jsx("strong",{children:"keeps them for more than three years"})," before disposal, no reinvestment obligation applies: the proceeds may be managed freely inside the structure. If it sells them before that three-year mark, it must undertake to ",t.jsx("strong",{children:"reinvest a share of the proceeds"})," in an eligible economic activity within a supervised time frame. It is this second scenario that the 2026 Finance Act reshapes."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Le quota passe à 70 % : arithmétique nouvelle du remploi","The quota rises to 70%: new arithmetic of reinvestment")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["C'est la modification la plus visible. L'obligation de remploi, historiquement fixée à ",t.jsx("strong",{children:"60 %"})," du produit de cession des titres apportés, est portée à ",t.jsx("strong",{children:"70 %"}),". La fraction laissée à la libre gestion de la holding recule m
760écaniquement de 40 % à ",t.jsx("strong",{children:"30 %"})," du prix de vente."]}),t.jsxs(t.Fragment,{children:["This is the most visible change. The reinvestment requirement, historically set at ",t.jsx("strong",{children:"60%"})," of the proceeds from the disposal of the contributed shares, rises to ",t.jsx("strong",{children:"70%"}),". The share left to the free management of the holding mechanically shrinks from 40% to ",t.jsx("strong",{children:"30%"})," of the sale price."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Sur une cession de ",t.jsx("strong",{children:"10 millions d'euros"}),", le montant devant être orienté vers une activité éligible passe donc de 6 à ",t.jsx("strong",{children:"7 millions d'euros"}),". Un million d'euros supplémentaire sort de la poche « allocation libre » et rejoint la poche « remploi qualifié ». Cette poche libre servait souvent, en pratique, à alimenter des supports patrimoniaux classiques : contrats de ",t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"capitalisation luxembourgeois"}),", portefeuilles cotés, immobilier de rendement. Elle se réduit sans disparaître, mais la marge de manœuvre du dirigeant sur l'après cession devient plus étroite."]}),t.jsxs(t.Fragment,{children:["On a ",t.jsx("strong",{children:"€10 million"})," disposal, the amount that must flow into an eligible activity therefore rises from €6 million to ",t.jsx("strong",{children:"€7 million"}),'. One additional million euros leaves the "free allocation" pocket and joins the "qualified reinvestment" pocket. In practice, the free pocket was often used to feed classic wealth vehicles: ',t.jsx(C,{to:"/assurance-vie-luxembourgeoise",className:"text-primary underline-offset-4 hover:underline",children:"Luxembourg capitalisation contracts"}),", listed portfolios, income real estate. It shrinks without disappearing, but the entrepreneur's post-disposal room for manoeuvre becomes tighter."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Un délai porté à 36 mois : plus de temps pour choisir juste","A 36-month window: more time to choose well")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La contrepartie du durcissement du quota est bienvenue. La holding dispose désormais de ",t.jsx("strong",{children:"trente six mois"}),", au lieu de vingt quatre, pour engager la totalité de son enveloppe de remploi. Cette extension change concrètement la stratégie post cession, car elle permet de ",t.jsx("strong",{children:"séquencer les décisions d'investissement"})," sur un vrai cycle de marché plutôt que sur une fenêtre courte et souvent inconfortable."]}),t.jsxs(t.Fragment,{children:["The counterpart of the tightened quota is welcome. The holding now has ",t.jsx("strong",{children:"thirty six months"}),", instead of twenty four, to commit its full reinvestment envelope. This extension materially changes the post-disposal strategy, as it allows ",t.jsx("strong",{children:"investment decisions to be sequenced"})," across a real market cycle rather than a short and often uncomfortable window."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Un délai plus long autorise une allocation plus construite entre ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"capital investissement primaire"}),", coinvestissements ciblés, souscriptions à des augmentations de capital de PME opérationnelles et fonds professionnels spécialisés. Il diminue également le risque de ",t.jsx("strong",{children:"remploi de rattrapage"}),", cette pratique qui consistait, en fin de délai, à souscrire à des véhicules moins qualitatifs uniquement pour respecter le quota. Sur ce plan, l'esprit du dispositif y gagne autant que sa lettre."]}),t.jsxs(t.Fragment,{children:["A longer window enables a more thoughtful allocation between ",t.jsx(C,{to:"/private-equity",className:"text-primary underline-offset-4 hover:underline",children:"primary private equity"}),", targeted co-investments, subscriptions to capital increases of operating SMEs and specialised professional funds. It also reduces the risk of ",t.jsx("strong",{children:"catch-up reinvestment"}),", the practice of subscribing to lower-quality vehicles at the end of the window solely to hit the quota. On this point, the spirit of the regime gains as much as its letter."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Périmètre resserré : les activités qui s
760ortent du remploi éligible","Tighter perimeter: activities that leave the eligible scope")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La deuxième dimension du texte est plus structurante que la première pour les stratégies d'ingénierie patrimoniale. Trois grandes familles d'activités, jusqu'ici couramment mobilisées comme supports de remploi, sont désormais ",t.jsx("strong",{children:"exclues"})," du champ éligible."]}),t.jsxs(t.Fragment,{children:["The second dimension of the text is more structural than the first for wealth engineering strategies. Three broad families of activities, until now commonly used as reinvestment vehicles, are henceforth ",t.jsx("strong",{children:"excluded"})," from the eligible scope."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le premier bloc concerne l'",t.jsx("strong",{children:"immobilier"}),". L'exploitation d'un hôtel demeure éligible parce qu'elle constitue une activité commerciale à part entière. En revanche, les activités de ",t.jsx("strong",{children:"marchand de biens"}),", de ",t.jsx("strong",{children:"promotion immobilière"}),", d'",t.jsx("strong",{children:"intermédiation"})," et de ",t.jsx("strong",{children:"gestion"})," (syndic, agence, administration de biens) sortent du périmètre. Les stratégies de remploi construites autour de véhicules de promotion résidentielle ou de portefeuilles de marchand de biens perdent donc leur qualification et doivent être repensées."]}),t.jsxs(t.Fragment,{children:["The first block concerns ",t.jsx("strong",{children:"real estate"}),". Operating a hotel remains eligible because it is a full commercial activity in itself. Conversely, ",t.jsx("strong",{children:"property dealing"}),", ",t.jsx("strong",{children:"real estate promotion"}),", ",t.jsx("strong",{children:"brokerage"})," and ",t.jsx("strong",{children:"property management"})," (syndic, agency, property administration) fall outside the perimeter. Reinvestment strategies built around residential promotion vehicles or dealer portfolios therefore lose their qualification and must be rethought."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le deuxième bloc concerne les ",t.jsx("strong",{children:"activités financières"})," : banques, assurances, courtage et, plus largement, l'intermédiation financière. Ces activités, rarement centrales dans les remplois traditionnels, disparaissent de la liste."]}),t.jsxs(t.Fragment,{children:["The second block covers ",t.jsx("strong",{children:"financial activities"}),": banks, insurance, brokerage and, more broadly, financial intermediation. These activities, rarely central to traditional reinvestments, disappear from the list."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le troisième bloc, plus symbolique, cible les ",t.jsx("strong",{children:"activités énergétiques dont les revenus sont garantis par un tarif d'achat réglementé"}),", à commencer par les centrales photovoltaïques adossées à un contrat d'obligation d'achat. Ces montages, appréciés pour leur profil de rendement contractuel, cessent d'être éligibles au titre du remploi 150-0 B ter. Les projets énergétiques qui exposent réellement l'investisseur au risque de marché conservent en revanche leur place dans le dispositif."]}),t.jsxs(t.Fragment,{children:["The third block, more symbolic, targets ",t.jsx("strong",{children:"energy activities whose revenues are guaranteed by a regulated purchase tariff"}),", starting with solar plants backed by a feed-in tariff contract. These structures, appreciated for their contractual yield profile, cease to qualify for 150-0 B ter reinvestment. Energy projects that genuinely expose the investor to market risk keep their place in the regime."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Ces exclusions s'ajoutent au socle historique, notamment celui qui écarte la ",t.jsx("strong",{children:"gestion par la société de son propre patrimoine mobilier ou immobilier"}),". La ligne directrice se lit clairement : le dispositif se recentre sur le ",t.jsx("strong",{children:"risque entrepreneurial réel"})," et écarte ce qui ressemble, à ses yeux, à une simple gestion patrimoniale."]}),t.jsxs(t.Fragment,{children:["These exclusions come on top of the historical baseline, in particular the one that rules out the ",t.jsx("strong",{children:"company's management of its own securities or real estate assets"}),". The overall direction is clear: the regime refocuses on ",t.jsx("strong",{children:"genuine entrepreneurial risk"})," and moves away from what looks, in its eyes, like plain wealth management."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Cinq ans pour tous : la conservation des remplois uniformisée","Five years for all: harmonised holding period for reinvestments")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le troisième axe du texte harmonise la ",t.jsx("strong",{children:"durée de détention"})," des actifs de remploi par la holding. Jusque là, cette durée pouvait varier entre un et cinq ans selon la nature de l'investissement. Elle est désormais ",t.jsx("strong",{children:"uniformément fixée à cinq ans"}),", quel que soit le support éligible retenu."]}),t.jsxs(t.Fragment,{children:["The third pillar of the text harmonise
760s the ",t.jsx("strong",{children:"holding period"})," for reinvestment assets held by the holding. Previously, this period could vary between one and five years depending on the nature of the investment. It is now ",t.jsx("strong",{children:"uniformly set at five years"}),", regardless of the eligible vehicle chosen."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette uniformisation simplifie la lecture du régime mais rigidifie la gestion. Un investissement en direct dans une PME, un fonds professionnel de capital investissement ou une prise de participation dans une holding animatrice suit désormais le même calendrier, ce qui rapproche l'horizon de blocage de celui, naturel, du ",t.jsx("strong",{children:"capital investissement"}),". Elle soulève en revanche des questions pratiques que la doctrine administrative devra préciser : traitement d'une ",t.jsx("strong",{children:"liquidation judiciaire"})," survenant avant terme, articulation avec les clauses de ",t.jsx("strong",{children:"cession forcée"})," et les pactes d'associés, sort d'un remploi cédé involontairement à l'occasion d'un événement de gouvernance. Ces zones grises supposent une vigilance accrue lors de la rédaction des documents d'investissement."]}),t.jsxs(t.Fragment,{children:["This harmonisation simplifies the reading of the regime but stiffens its management. A direct investment in an SME, a professional private equity fund or a stake in a group holding company now follows the same schedule, which brings the lock-up horizon closer to the natural horizon of ",t.jsx("strong",{children:"private equity"}),". It nevertheless raises practical questions that the tax authorities will need to clarify: treatment of ",t.jsx("strong",{children:"court-ordered liquidation"})," before term, interaction with ",t.jsx("strong",{children:"drag-along clauses"})," and shareholders' agreements, and the fate of an investment involuntarily disposed of during a governance event. These grey areas call for heightened vigilance when drafting investment documentation."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Transmission et donation : la purge décalée d'un an","Transmission and donation: purge delayed by one year")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La transmission à titre gratuit des titres de la holding, en particulier la ",t.jsx(C,{to:"/blog/donation-partage",className:"text-primary underline-offset-4 hover:underline",children:"donation partage"}),", reste l'une des utilisations patrimoniales les plus puissantes du dispositif. Elle transfère aux donataires la charge du report, à charge pour eux de le conserver pendant un certain délai pour bénéficier du ",t.jsx("strong",{children:"dégrèvement définitif"}),"."]}),t.jsxs(t.Fragment,{children:["Gratuitous transmission of the holding's shares, in particular the ",t.jsx(C,{to:"/blog/donation-partage",className:"text-primary underline-offset-4 hover:underline",children:"donation partition"}),", remains one of the most powerful wealth uses of the regime. It transfers the deferred tax charge to the donees, who must keep it in place for a certain period to obtain the ",t.jsx("strong",{children:"final extinction"})," of the tax."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["La loi de finances pour 2026 allonge ce délai d'une année. Le donataire doit désormais conserver les titres pendant ",t.jsx("strong",{children:"six ans"}),", au lieu de cinq, pour que le report soit purgé dans les situations de droit commun, et pendant ",t.jsx("strong",{children:"onze ans"}),", au lieu de dix, lorsque la holding a réalisé des remplois qui déclenchent le calendrier long. La logique du ",t.jsx("strong",{children:"gel intergénérationnel"})," reste intacte, mais son horizon s'étire, ce qui doit être intégré dans les calendriers de ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"transmission anticipée"}),"."]}),t.jsxs(t.Fragment,{children:["The 2026 Finance Act extends this period by one year. The donee must now hold the shares for ",t.jsx("strong",{children:"six years"}),", instead of five, for the deferral to be extinguished in ordinary situations, and for ",t.jsx("strong",{children:"eleven years"}),", instead of ten, where the holding has made reinvestments that trigger the longer calendar. The logic of the ",t.jsx("strong",{children:"intergenerational freeze"}
760)," is intact, but its horizon lengthens, which must be built into ",t.jsx(C,{to:"/blog/transmission-anticiper",className:"text-primary underline-offset-4 hover:underline",children:"early transmission"})," plans."]}))}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Date d'application : le vrai marqueur, c'est le 21 février 2026","Effective date: the real marker is 21 February 2026")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le point le plus souvent mal compris concerne la ",t.jsx("strong",{children:"date d'entrée en vigueur"}),". Les nouvelles règles s'appliquent aux ",t.jsx("strong",{children:"cessions de titres réalisées par la holding à compter du 21 février 2026"}),", et non aux apports effectués antérieurement. Autrement dit, ce n'est pas la date à laquelle un dirigeant a apporté ses titres à sa holding qui commande le régime applicable, mais la date à laquelle la holding revend ces titres à un tiers."]}),t.jsxs(t.Fragment,{children:["The most frequently misunderstood point concerns the ",t.jsx("strong",{children:"effective date"}),". The new rules apply to ",t.jsx("strong",{children:"share disposals made by the holding from 21 February 2026"}),", not to earlier contributions. In other words, the applicable regime is not determined by the date on which an entrepreneur contributed their shares to a holding, but by the date on which the holding resells those shares to a third party."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Cette précision est décisive pour les ",t.jsx("strong",{children:"opérations en cours"}),". Un dirigeant ayant apporté ses titres en 2024 et dont la holding céderait ces titres en mars 2026 relève des règles nouvelles : quota 70 %, délai de 36 mois, exclusions élargies, uniformisation à cinq ans. À l'inverse, une cession bouclée quelques semaines avant la date pivot conserve l'ancien cadre. La ",t.jsx("strong",{children:"fenêtre de calendrier"})," devient un paramètre stratégique à part entière, qui doit être coordonné entre l'avocat fiscaliste, la banque d'affaires et le conseiller patrimonial."]}),t.jsxs(t.Fragment,{children:["This point is decisive for ",t.jsx("strong",{children:"ongoing transactions"}),". A business owner who contributed their shares in 2024 and whose holding disposes of those shares in March 2026 falls under the new rules: 70% quota, 36-month window, broader exclusions, five-year harmonisation. Conversely, a disposal closed a few weeks before the pivot date keeps the previous framework. The ",t.jsx("strong",{children:"timing window"})," becomes a strategic parameter in its own right, to be coordinated between the tax lawyer, the M&A bank and the wealth adviser."]}))}),t.jsxs("div",{className:"not-prose my-10 p-6 md:p-8 rounded-lg border border-border bg-muted/40",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:e("Notre expertise","Our expertise")}),t.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight text-foreground mb-3 text-left",children:e("Structurer un remploi conforme à la loi de finances 2026","Structuring a reinvestment compliant with the 2026 Finance Act")}),t.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:e("Cadrage juridique de la holding, sélection des supports éligibles au nouveau périmètre, séquencement du remploi sur 36 mois et coordination avec vos avocats fiscalistes.","Legal framing of the holding, selection of vehicles eligible under the new perimeter, sequencing of the reinvestment over 36 months and coordination with your tax lawyers.")}),t.jsxs(C,{to:"/gestion-privee/apport-cession-150-0-b-ter",className:"inline-flex items-center gap-2 text-sm font-medium text-primary hover:text-secondary transition-colors",children:[e("Découvrir notre accompagnement","Discover how we support you"),t.jsx(V,{className:"w-4 h-4"})]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:e("Lecture patrimoniale : ce que ces évolutions veulent dire","Wealth reading: what these changes really mean")}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Au-delà des chiffres, la loi de finances pour 2026 réaffirme une conviction du lég
760islateur : le report d'imposition de l'article 150-0 B ter est un outil de ",t.jsx("strong",{children:"redéploiement du capital vers l'économie réelle"}),", non un abri généralisé permettant à un dirigeant de transformer une plus value de cession en portefeuille financier détenu au travers d'une holding. Le relèvement du quota et le resserrement du périmètre poussent dans cette direction. Le prolongement du délai reconnaît en creux que le remploi de qualité prend du temps."]}),t.jsxs(t.Fragment,{children:["Beyond the numbers, the 2026 Finance Act reaffirms a legislative conviction: the tax deferral of article 150-0 B ter is a tool for ",t.jsx("strong",{children:"redeploying capital into the real economy"}),", not a general shelter allowing an entrepreneur to turn a disposal gain into a financial portfolio held through a holding. Raising the quota and tightening the perimeter push in that direction. Extending the window implicitly acknowledges that quality reinvestment takes time."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Pour les dirigeants qui préparent une cession dans les prochains mois, trois réflexes structurent la nouvelle donne. Le premier consiste à ",t.jsx("strong",{children:"revalider la qualification"})," des supports de remploi envisagés au regard des nouvelles exclusions : un fonds de promotion immobilière ou une opération de marchand de biens qui aurait été acceptée hier ne le sera plus. Le deuxième consiste à ",t.jsx("strong",{children:"reconstruire la trajectoire de trésorerie"})," de la holding sur trente six mois, en articulant le remploi obligatoire, la fraction libre et la politique de rémunération du dirigeant. Le troisième consiste à ",t.jsx("strong",{children:"intégrer le paramètre transmission"})," : la donation avec conservation prolongée d'un an conserve tout son intérêt, mais impose de la penser plus en amont."]}),t.jsxs(t.Fragment,{children:["For business owners preparing a disposal in the coming months, three reflexes shape the new landscape. The first is to ",t.jsx("strong",{children:"revalidate the qualification"})," of the envisaged reinvestment vehicles against the new exclusions: a property promotion fund or a dealer operation that would have qualified yesterday will no longer qualify. The second is to ",t.jsx("strong",{children:"rebuild the holding's cash trajectory"})," over thirty-six months, articulating the mandatory reinvestment, the free share and the owner's compensation policy. The third is to ",t.jsx("strong",{children:"factor transmission back in"}),": donation with an extra year of retention keeps its full interest but must be planned further ahead."]}))}),t.jsx("p",{children:r(t.jsxs(t.Fragment,{children:["Le dispositif conserve sa ",t.jsx("strong",{children:"valeur stratég
760ique"}),". Sur une cession de plusieurs millions d'euros, l'écart entre une ",t.jsx("strong",{children:"imposition immédiate au prélèvement forfaitaire unique"})," et un report bien géré représente toujours une capacité de capitalisation supplémentaire considérable sur dix ou quinze ans. Ce que la réforme change, ce n'est pas cette valeur, c'est la ",t.jsx("strong",{children:"discipline requise"})," pour aller la chercher."]}),t.jsxs(t.Fragment,{children:["The regime keeps its ",t.jsx("strong",{children:"strategic value"}),". On a disposal of several million euros, the gap between ",t.jsx("strong",{children:"immediate taxation under the flat tax"})," and a well-managed deferral still represents a considerable additional compounding capacity over ten or fifteen years. What the reform changes is not that value, but the ",t.jsx("strong",{children:"discipline required"})," to capture it."]}))}),t.jsx("p",{className:"font-display text-lg md:text-xl text-foreground italic pt-8 border-t border-border mt-12",children:e("Un dispositif ne perd rien de sa puissance quand il se resserre. Il perd de son utilité seulement quand celui qui l'utilise cesse d'en comprendre la logique.","A regime loses none of its power when it tightens. It loses its usefulness only when the person using it stops understanding its logic.")}),t.jsx("p",{className:"text-xs text-muted-foreground/70 pt-8",children:e("Document à caractère informatif ne constituant pas un conseil en investissement, juridique ou fiscal. Sources : article 150-0 B ter du Code général des impôts, loi de finances pour 2026. Les modalités d'application de la loi peuvent faire l'objet de précisions ultérieures par la doctrine administrative. Nous vous recommandons de consulter un avocat fiscaliste avant toute opération d'apport cession.","Informational document, not investment, legal or tax advice. Sources: article 150-0 B ter of the French General Tax Code, 2026 Finance Act. The application terms may be further clarified by administrative doctrine. We recommend consulting a tax lawyer before any contribution-sale transaction.")})]}),t.jsx("div",{className:"mt-16 pt-8 border-t border-border",children:t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]})})]})}),t.jsx(re,{})]})},M6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Immobilier · Juillet 2026 · 12 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Investir dans une SCPI : rendement, fonctionnement et risques"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Ticket d'entrée, gestion déléguée, fiscalité des revenus fonciers, sélection des sociétés de gestion : tout ce qu'il faut comprendre avant d'acheter vos premières parts."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:gf},className:"container max-w-3xl mx-auto px-6",children:[t.jsx(xf,{items:["Pourquoi la pierre papier s'est imposée","Qu'est-ce qu'une SCPI ?","Le principe de fonctionnement","Avantages et inconvénients","Choisir la SCPI adaptée à votre situation","Les risques à intégrer avant de souscrire","SCPI de rendement et SCPI fiscale","Investir avec un budget limité","Le processus de souscription","L'imposition des revenus de SCPI","Ce que nous retenons"]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground
760/90 leading-relaxed text-justify",children:[t.jsx("p",{children:"L'immobilier reste, pour la très grande majorité des épargnants français, la brique fondatrice d'un patrimoine. Il est tangible, il se finance à crédit, il produit un revenu régulier. Mais détenir un bien en direct suppose un apport significatif, une recherche longue, une gestion locative continue, des travaux, une fiscalité à suivre et un risque de concentration extrême : un seul bien, un seul locataire, une seule ville."}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"Société Civile de Placement Immobilier"}),", communément appelée pierre papier, répond précisément à ces contraintes. À partir de quelques centaines d'euros, elle donne accès à un portefeuille immobilier diversifié dont la gestion est intégralement déléguée à des professionnels. Encore faut-il comprendre le mécanisme, ses limites et sa fiscalité avant d'y engager une partie de son épargne."]}),t.jsx(Un,{children:"Définition"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Qu'est-ce qu'une SCPI ?"}),t.jsx("p",{children:"Une SCPI est un véhicule de placement collectif qui réunit les capitaux de nombreux investisseurs pour acquérir, gérer et exploiter un parc immobilier. En souscrivant des parts, vous ne devenez pas propriétaire d'un appartement identifié : vous détenez une quote-part d'un ensemble de bureaux, de commerces, de locaux de santé, de logistique ou de logements, situés en France ou en Europe."}),t.jsx("p",{children:"Le marché français compte plusieurs centaines de véhicules, chacun avec une doctrine propre. Certaines SCPI privilégient le rendement locatif immédiat, d'autres la valorisation du capital sur longue période, d'autres encore poursuivent un objectif de défiscalisation. Prenons l'exemple d'une SCPI spécialisée dans les commerces de proximité : votre revenu provient des loyers versés par les enseignes locataires, mutualisés sur des dizaines d'emplacements."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le principe de fonctionnement"}),t.jsxs("p",{children:["Tout repose sur la ",t.jsx("strong",{children:"société de gestion"}),", agréée par l'Autorité des marchés financiers. Elle collecte les capitaux, sélectionne et acquiert les immeubles, négocie les baux, encaisse les loyers, finance l'entretien et les travaux, arbitre les actifs vieillissants et distribue aux associés le résultat net de frais. L'investisseur, lui, perçoit un revenu, généralement trimestriel, proportionnel au nombre de parts détenues."]}),t.jsx("p",{children:"La qualité de cette société de gestion est le premier déterminant de la performance. Deux SCPI investies sur la même typologie d'actifs peuvent afficher des écarts de distribution considérables selon la discipline d'acquisition, le niveau d'endettement, la politique de provisionnement et la capacité à relouer rapidement."}),t.jsx(ys,{children:"Ne regardez jamais un taux de distribution isolément. Analysez conjointement le taux d'occupation financier, le report à nouveau, l'évolution du prix de la part et le niveau de collecte récente. Une SCPI qui collecte trop vite peut diluer sa performance faute d'actifs de qualité à acheter."}),t.jsx(Un,{children:"Analyse"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Avantages et inconvénients"}),t.jsx("p",{children:"La SCPI offre les caractéristiques de l'immobilier sans ses contraintes de gestion. Elle en conserve toutefois les risques de marché : lorsque les valeurs d'expertise reculent, comme lors de la crise de 2008 ou de la remontée brutale des taux en 2023, le prix des parts peut être ajusté à la baisse."}),t.jsx("p",{children:t.jsx("strong",{children:"Ce que la SCPI a
760pporte :"})}),t.jsxs("ul",{className:"list-disc pl-5 space-y-2 text-left",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Accessibilité"})," : un ticket d'entrée souvent compris entre 200 et 1 000 euros, sans dossier immobilier à monter."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Qualité du parc"})," : accès à des actifs professionnels, bureaux, santé, commerces, logistique, inatteignables en direct pour un particulier."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Gestion intégralement déléguée"})," : aucune recherche de locataire, aucun appel de charges, aucune assemblée de copropriété."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Mutualisation du risque locatif"})," : la vacance ou l'impayé d'un locataire est absorbé par des dizaines d'autres baux."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Effet de levier"})," : la souscription à crédit reste possible et les intérêts d'emprunt sont déductibles des revenus fonciers."]})]}),t.jsx("p",{children:t.jsx("strong",{children:"Ce qu'il faut accepter :"})}),t.jsxs("ul",{className:"list-disc pl-5 space-y-2 text-left",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Liquidité limitée"})," : la revente dépend de la demande sur le marché des parts, elle n'a rien d'immédiat."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Rendement non garanti"})," : la distribution dépend des loyers effectivement encaissés."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Risque de perte en capital"})," : la valeur des parts suit celle des immeubles détenus."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Frais de souscription élevés"})," : ils imposent un horizon de détention long, généralement supérieur à huit ans."]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Choisir la SCPI adaptée à votre situation"}),t.jsxs("p",{children:["La meilleure SCPI n'existe pas dans l'absolu. Il existe seulement la SCPI cohérente avec votre fiscalité, votre horizon et votre besoin de revenus. Un contribuable fortement imposé qui n'a pas besoin de revenus immédiats a rarement intérêt à percevoir des revenus fonciers taxés au barème augmenté des prélèvements sociaux : la détention en nue propriété temporaire ou au sein d'un contrat d'",t.jsx(Be,{to:"/assurance-vie",children:"assurance-vie"})," sera souvent plus pertinente. À l'inverse, un investisseur en phase de constitution de revenus complémentaires privilégiera une SCPI de rendement au track record établi."]}),t.jsxs("p",{children:["Nous détaillons les critères de sélection retenus dans notre ",t.jsx(Be,{to:"/scpi",children:"offre SCPI"}),", ainsi que la mécanique de l'acquisition financée dans notre ",t.jsx(Be,{to:"/simulateur-credit-scpi",children:"simulateur de crédit SCPI"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les risques à intégrer avant de souscrire"}),t.jsx("p",{children:"Le risque principal est sectoriel. Une SCPI concentrée sur l'hôtellerie souffre lorsque le tourisme s'arrête. Une SCPI massivement investie en bureaux périphériques subit la généralisation du télétravail. La diversification géographique et sectorielle n'est donc pas un argument commercial : c'est un paramètre de gestion du risque que l'on doit vérifier ligne par ligne dans le rapport annuel."}),t.jsxs("p",{children:["Le second risque est celui du prix de part. Lorsque la valeur de reconstitution s'écarte durablement du prix de souscription, un ajustement devient probable. Les ",t.jsx(Be,{to:"/blog/scpi-europeennes",children:"SCPI européennes"}),", plus récentes et sans stock d'actifs surévalués, ont d'ailleurs mieux traversé la correction récente."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"SCPI de rendement et SCPI fiscale"}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"SCPI de rendement"})," vise un revenu locatif régulier issu d'immeubles professionnels. Sa performance se mesure au taux de distribution et à la stabilité de celui-ci dans le temps. La ",t.jsx("strong",{children:"SCPI fiscale"}
760),", à l'inverse, investit dans des logements éligibles à un dispositif de défiscalisation, Malraux, déficit foncier ou monuments historiques, pour produire une réduction d'impôt. Son rendement courant est structurellement plus faible et sa liquidité plus contrainte : l'avantage fiscal ne compense pas toujours ces deux handicaps. Nous n'en recommandons l'usage que lorsque la situation fiscale du client le justifie précisément."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Investir avec un budget limité"}),t.jsx("p",{children:"Un épargnant disposant de 5 000 euros peut construire une exposition immobilière diversifiée en répartissant sa souscription sur deux ou trois véhicules aux stratégies décorrélées. C'est précisément l'intérêt de la pierre papier : accéder à une mutualisation qu'aucun achat en direct de ce montant ne permettrait. Les versements programmés, proposés par de nombreuses sociétés de gestion, permettent ensuite de lisser l'entrée dans le temps."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le processus de souscription"}),t.jsxs("p",{children:["La souscription suit un parcours encadré : définition du mode de détention, pleine propriété, nue propriété, via un contrat d'assurance-vie ou une société, questionnaire de connaissance client, remise du document d'informations clés, bulletin de souscription puis versement. Vient ensuite le ",t.jsx("strong",{children:"délai de jouissance"}),", généralement de trois à six mois, période durant laquelle les parts ne produisent pas encore de revenus. Ce délai est souvent oublié dans les calculs de rendement de première année."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'imposition des revenus de SCPI"}),t.jsxs("p",{children:["Les loyers redistribués constituent des ",t.jsx("strong",{children:"revenus fonciers"}),", imposés au barème progressif de l'impôt sur le revenu et soumis aux prélèvements sociaux de 17,2%. Pour un contribuable dans la tranche à 41%, la ponction cumulée dépasse donc 58% du revenu distribué. Les éventuels produits financiers de trésorerie relèvent, eux, du prélèvement forfaitaire unique."]}),t.jsxs("p",{children:["Trois leviers permettent d'atténuer cette charge : la détention au sein d'un contrat d'assurance-vie, qui substitue la fiscalité de l'enveloppe à celle des revenus fonciers, l'acquisition en ",t.jsx(Be,{to:"/blog/demembrement-propriete",children:"nue propriété temporaire"}),", qui supprime le revenu imposable pendant la durée du démembrement, et l'acquisition à crédit, dont les intérêts viennent en déduction. Les SCPI investies à l'étranger bénéficient par ailleurs, selon les conventions fiscales, d'un traitement souvent plus favorable."]}),t.jsx(ys,{children:"Avant toute souscription, faites simuler l'impact réel sur votre imposition. Un rendement affiché de 5,5% peut se réduire à 2,3% net pour un contribuable fortement imposé détenant en direct, alors que la même exposition logée dans une enveloppe adaptée conserve l'essentiel de sa performance."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Ce que nous retenons"}),t.jsx("p",{children:"La SCPI est un outil remarquable de mutualisation et de délégation, à condition d'être choisie pour la bonne raison, détenue dans la bonne enveloppe et conservée sur un horizon suffisamment long. Elle n'est ni un produit de trésorerie, ni un placement garanti : c'est une brique immobilière au sein d'une allocation, dont la pertinence se juge après impôt et non sur une plaquette commerciale."}),t.jsx(bf,{title:"Construire votre exposition immobilière",text:"Sélection indépendante des sociétés de gestion, choix du mode de détention le plus efficie
760nt fiscalement et simulation de l'acquisition à crédit : nos conseillers structurent votre allocation SCPI en fonction de votre fiscalité réelle.",primaryTo:"/scpi",primaryLabel:"Découvrir notre offre SCPI",secondaryTo:"/simulateur-credit-scpi",secondaryLabel:"Simuler un achat à crédit"}),t.jsx(Qy,{links:[{label:"AMF — S'informer sur les SCPI et les placements immobiliers",href:"https://www.amf-france.org/fr/espace-epargnants/comprendre-les-produits-financiers/immobilier/scpi"},{label:"Service-public.fr — Revenus fonciers et déclaration",href:"https://www.service-public.fr/particuliers/vosdroits/F1991"},{label:"impots.gouv.fr — Imposition des revenus fonciers",href:"https://www.impots.gouv.fr/particulier/les-revenus-fonciers"},{label:"Banque de France — Épargne et placements des ménages",href:"https://www.banque-france.fr/fr/statistiques/epargne-des-menages"}]}),t.jsx(vf,{})]})]})}),t.jsx(re,{})]})},$6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Marché · Juillet 2026 · 11 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Investir son argent en étant jeune : par où commencer ?"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Objectifs, horizon de placement, diversification, épargne de précaution : la méthode pour construire un patrimoine solide dès les premières années, sans se tromper de produit."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:gf},className:"container max-w-3xl mx-auto px-6",children:[t.jsx(xf,{items:["La balance risque / rentabilité, seul repère fiable","Définir un objectif et un horizon de placement","Diversifier pour limiter le risque de perte","L'épargne de précaution, préalable à tout investissement","Faut-il commencer par la bourse ?","Livrets et placements garantis : quel rôle leur donner","L'immobilier est-il adapté quand on débute ?","L'assurance-vie en gestion pilotée","Le plan d'action des cinq premières années"]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:"Commencer à investir tôt est le seul avantage que le temps offre gratuitement. Un capital placé à vingt-cinq ans dispose de quarante ans de capitalisation ; le même effort d'épargne engagé à quarante-cinq ans n'en aura que vingt. Cette asymétrie explique pourquoi la première décision patrimoniale d'un jeune investisseur n'est pas le choix d'un produit, mais la mise en place d'une méthode."}),t.jsx("p",{children:"Cet article décrit les étapes essentielles pour débuter : comprendre le couple rendement risque, fixer un objectif et un horizon, diversifier, protéger sa trésorerie, puis seulement choisir les enveloppes adaptées."}),t.jsx(Un,{children:"Le principe fondateur"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"La balance risque / rentabilité, seul repère fiable"}),t.jsx("p",{children:"Un investisseur débutant doit intégrer une règle avant toute autre : la rentabilité d'un placement ne s'apprécie jamais seule, elle s'apprécie au regard du risque supporté pour l'obtenir. Autrement dit, on ne compare pas deux rendements, on compare deux couples rendement risque."}),t.jsx("p",{children:"Dès qu'un produit promet un rendement annuel très élevé présenté comme garanti et sans risque, la promesse est mathématiquement impossible. À titre de repère, si un actif réellement sans risque rapporte entre 2 et 3%, obtenir davantage suppose nécessairement d'accepter une part de volatilité ou d'illiquidité."}),t.jsx(ys,{children:"L'AMF publie une liste noire des sites et acteurs non autorisés. Prenez systématiquement le réflexe de vérifier l'agrément d'un intermédiaire avant tout versement, et rappelez-vous qu'un taux affiché attractif est toujours la contrepartie d'un risque de perte, explicite ou dissimulé."}),t.jsx(Un,{children:"La méthode"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Définir un objectif et un horizon de placement"}),t.jsx("p",{children:"Aucun placement n'est bon ou mauvais dans l'absolu : il est adapté ou non à un objectif. Avant de choisir un support, formulez précisément ce que vous financez. Les objectifs les plus fréquents chez un jeune investisseur sont les suivants :"}),t.jsxs("ul",{className:"list-disc pl-5 space-y-2 text-left",children:[t.jsx("li",{children:"générer des revenus complémentaires réguliers ;"}),t.jsx("li",{children:"préparer un complément de revenus pour la retraite ;"}),t.jsx("li",{children:"constituer l'apport d'une résidence principale ou secondaire ;"}),t.jsx("li",{children:"financer les études futures de ses enfants ;"}),t.jsx("li",{children:"protéger ses proches en cas d'aléa de la vie ;"}),t.jsx("li",{children:"orienter son épargne vers la transition énergétique."})]}),t.jsxs("p",{children:["À chaque objectif correspond un ",t.jsx("strong",{children:"horizon de placement"}
760),", c'est-à-dire la durée pendant laquelle vous pouvez immobiliser les sommes. Cette notion est le principal outil de gestion du risque à disposition d'un particulier. La volatilité mesure l'ampleur des variations de prix à court terme ; allonger l'horizon permet de lisser les phases baissières et de capter les tendances longues des marchés actions comme de l'immobilier. En dessous de cinq ans, l'exposition aux actifs risqués doit rester marginale ; au delà de dix ans, elle devient au contraire pertinente."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Diversifier pour limiter le risque de perte"}),t.jsx("p",{children:"Le second levier consiste à répartir son épargne entre plusieurs classes d'actifs, afin que la contre performance de l'une soit compensée par le comportement des autres. Encore faut il que ces actifs ne réagissent pas aux mêmes facteurs de marché : détenir cinq fonds actions internationales n'est pas une diversification, c'est une répétition."}),t.jsxs(ys,{children:["Une diversification efficace combine des moteurs de performance différents : des marchés cotés via une ",t.jsx(Be,{to:"/assurance-vie",children:"assurance-vie"})," ou un ",t.jsx(Be,{to:"/plan-epargne-actions",children:"PEA"}),", de l'immobilier via des ",t.jsx(Be,{to:"/scpi",children:"SCPI"}),", et, lorsque le patrimoine le permet, une poche de ",t.jsx(Be,{to:"/private-equity",children:"private equity"})," dont le cycle de valorisation est décorrélé des marchés."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'épargne de précaution, préalable à tout investissement"}),t.jsx("p",{children:"Investir suppose d'accepter de ne pas toucher aux sommes engagées avant l'échéance prévue. Or la vie impose des dépenses imprévues : un déménagement, une réparation, une période sans revenus. Sans réserve disponible, ces événements contraignent à liquider des placements au pire moment."}),t.jsxs("p",{children:["Constituez donc en priorité une ",t.jsx("strong",{children:"épargne de précaution"})," équivalente à trois à six mois de dépenses courantes, disponible immédiatement et sans risque de perte. Elle n'a pas vocation à être performante : elle a vocation à protéger la performance du reste de votre patrimoine."]}),t.jsx(Un,{children:"Les enveloppes"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Faut-il commencer par la bourse ?"}),t.jsx("p",{children:"La multiplication des plateformes de courtage en ligne a rendu l'accès aux marchés immédiat. Cet accès facile masque une réalité : la sélection de titres en direct suppose de comprendre les fondamentaux économiques, les valorisations relatives et les corrélations entre positions. Le temps investi est considérable et le résultat, pour un débutant, statistiquement décevant."}),t.jsxs("p",{children:["L'approche raisonnable consiste à s'exposer aux marchés via des fonds diversifiés ou des ETF, logés dans une enveloppe fiscalement efficiente. Le ",t.jsx(Be,{to:"/plan-epargne-actions",children:"PEA"})," offre à ce titre, après cinq ans de détention, une exonération d'impôt sur les gains, seuls les prélèvements sociaux restant dus."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Livrets et placements garantis : quel rôle leur donner"}),t.jsx("p",{children:"Le premier réflexe, lorsqu'on commence, consiste souvent à suivre la recommandation de son conseiller bancaire et à ouvrir un livret. Ces supports sont utiles, mais leur rendement couvre rarement durablement l'inflation : sur longue période, une épargne exclusivement placée en livrets perd du pouvoir d'achat."}),t.jsx(ys,{children:"Réservez les livrets réglementés à votre épargne de précaution, où la disponibilité prime sur le rendement. Au delà de ce matelas, chaque euro conservé sur un livret est un euro qui ne travaille pas."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'immobilier est-il adapté quand on débute ?"}),t.jsx("p",{children:"L'immobilier reste le placement préféré des Français, pour trois raisons : sa dimension tangible, la perception d'une hausse continue des prix et surtout la possibilité d'utiliser l'effet de levier du crédit. Mais l'achat en direct exige du temps, une capacité d'endettement, une gestion locative et une tolérance aux imprévus."}),t.jsxs("p",{children:["Pour un premier investissement, la pierre papier constitue une porte d'entrée plus mesurée : elle apporte la diversification et la délégation de gestion, avec un ticket d'entrée réduit. Les investisseurs dis
760posant déjà d'une capacité d'emprunt peuvent en revanche envisager une acquisition financée, dont nous détaillons les mécanismes dans notre ",t.jsx(Be,{to:"/simulateur-credit-scpi",children:"simulateur de crédit SCPI"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'assurance-vie en gestion pilotée"}),t.jsx("p",{children:"L'assurance-vie demeure l'enveloppe la plus polyvalente du patrimoine français : elle permet de combiner un fonds en euros à capital garanti et des unités de compte exposées aux marchés, tout en offrant une fiscalité dégressive après huit ans et un cadre successoral privilégié."}),t.jsxs("p",{children:["En gestion pilotée, l'allocation entre ces supports est déléguée à un gestionnaire en fonction de votre profil de risque et de votre horizon. Cette formule évite l'écueil principal du débutant : arbitrer sous le coup de l'émotion, vendre après une baisse et racheter après une hausse. Nous exposons nos profils de gestion et nos partenaires assureurs sur notre page ",t.jsx(Be,{to:"/assurance-vie",children:"assurance-vie"}),", ainsi que la solution dédiée aux ",t.jsx(Be,{to:"/assurance-vie-mineur",children:"contrats au nom d'un mineur"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le plan d'action des cinq premières années"}),t.jsxs("p",{children:["Concrètement, une trajectoire de départ cohérente s'articule en quatre temps. Constituer d'abord une épargne de précaution disponible. Ouvrir ensuite les enveloppes qui prennent de la valeur avec le temps, assurance-vie et PEA, même avec des montants modestes, afin de faire courir l'antériorité fiscale. Mettre en place un versement programmé mensuel, qui lisse les points d'entrée et impose une discipline. Enfin, n'ajouter des briques moins liquides, immobilier, non coté, ",t.jsx(Be,{to:"/plan-epargne-retraite",children:"PER"}),", qu'une fois la base sécurisée et l'imposition significative."]}),t.jsx(bf,{title:"Structurer vos premiers investissements",text:"Définition de vos objectifs, calibrage du niveau de risque, choix des enveloppes et mise en place de versements programmés : nos conseillers construisent avec vous une trajectoire cohérente dès le premier euro.",primaryTo:"/essentiel",primaryLabel:"Découvrir l'offre Essentiel",secondaryTo:"/assurance-vie",secondaryLabel:"Explorer l'assurance-vie"}),t.jsx(Qy,{links:[{label:"AMF — Définir son objectif d'investissement",href:"https://www.amf-france.org/fr/espace-epargnants/savoir-bien-investir/cadrer-son-projet/definir-son-objectif"},{label:"AMF — Fixer son horizon de placement",href:"https://www.amf-france.org/fr/espace-epargnants/savoir-bien-investir/cadrer-son-projet/fixer-son-horizon-de-placement"},{label:"Service-public.fr — Assurance-vie : fonctionnement et fiscalité",href:"https://www.service-public.fr/particuliers/vosdroits/F15274"},{label:"Banque de France — Mes questions d'argent : épargner et investir",href:"https://www.mesquestionsdargent.fr/epargne-et-placements"}]}),t.jsx(vf,{})]})]})}),t.jsx(re,{})]})},B6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité · Juillet 2026 · 13 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Comment payer moins d'impôts : les leviers légaux à connaître"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Déductions, réductions, crédits d'impôt, dispositifs immobiliers et soutien à l'innovation : la cartographie des mécanismes disponibles et la manière de les combiner sans erreur."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16}
760,animate:{opacity:1,y:0},transition:{duration:.6,ease:gf},className:"container max-w-3xl mx-auto px-6",children:[t.jsx(xf,{items:["Déduction, réduction, crédit d'impôt : trois mécanismes distincts","Profiter des déductions de charges","Réduire son impôt par l'immobilier","Soutenir l'innovation et les PME","Utiliser les dispositifs d'épargne salariale et le PER","Les dons aux associations","L'emploi d'un salarié à domicile","Le cas des travailleurs indépendants","Le plafonnement global des niches fiscales","Notre approche de l'optimisation"]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:"Réduire sa pression fiscale est un objectif parfaitement légitime, et le droit français prévoit un nombre considérable de mécanismes pour y parvenir. La difficulté n'est pas leur existence, elle est leur articulation : certains se cumulent, d'autres s'excluent, plusieurs sont plafonnés et beaucoup se révèlent contre productifs lorsqu'ils sont souscrits pour la seule raison fiscale."}),t.jsx("p",{children:"Chaque situation étant unique, les possibilités dépendent de vos revenus, de votre statut, de votre composition familiale et de la législation en vigueur. Cet article cartographie les leviers principaux et indique, pour chacun, la logique économique qui doit précéder la logique fiscale."}),t.jsx(Un,{children:"Le vocabulaire"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Déduction, réduction, crédit d'impôt : trois mécanismes distincts"}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"déduction"})," s'applique à la base imposable : elle diminue le revenu sur lequel l'impôt est calculé. Son intérêt est donc proportionnel à votre tranche marginale d'imposition : 1 000 euros déduits valent 410 euros d'économie dans la tranche à 41%, mais seulement 110 euros dans la tranche à 11%."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"réduction d'impôt"})," vient en diminution de l'impôt lui même, une fois celui-ci calculé. Elle a la même valeur quelle que soit votre tranche, mais elle est perdue si votre impôt est nul. Le ",t.jsx("strong",{children:"crédit d'impôt"}),", enfin, fonctionne comme une réduction, à ceci près que l'excédent vous est remboursé lorsqu'il dépasse l'impôt dû."]}),t.jsxs(ys,{children:["Cette distinction commande la stratégie. Un contribuable fortement imposé cherchera d'abord des déductions de base, notamment via le ",t.jsx(Be,{to:"/plan-epargne-retraite",children:"PER"})," ou le déficit foncier. Un contribuable faiblement imposé privilégiera au contraire les crédits d'impôt, seuls capables de générer un remboursement."]}),t.jsx(Un,{children:"Les leviers"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Profiter des déductions de charges"}),t.jsx("p",{children:"Plusieurs charges viennent réduire le revenu imposable ou ouvrent droit à un avantage : les frais de garde des jeunes enfants, y compris crèche, nourrice ou garde régulière, certaines pensions alimentaires versées, les frais réels professionnels lorsqu'ils excèdent l'abattement forfaitaire de 10%, ou encore les intérêts d'emprunt lorsqu'ils se rattachent à un bien productif de revenus fonciers."}),t.jsx("p",{children:"La règle commune à toutes ces charges est documentaire : conservez systématiquement factures et justificatifs, l'administration pouvant les réclamer plusieurs années après la déclaration."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Réduire son impôt par l'immobilier"}),t.jsx("p",{children:"L'immobilier concentre l'essentiel des dispositifs de défiscalisation. Trois mécanismes conservent aujourd'hui un intérêt réel :"}),t.jsxs("ul",{className:"list-disc pl-5 space-y-2 text-left",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Le déficit foncier"})," : lorsque les charges déductibles d'un bien locatif, travaux d'entretien et de rénovation en tête, excèdent les loyers perçus, le déficit s'impute sur le revenu global dans la limite annuelle prévue par la loi, le surplus restant reportable sur les revenus fonciers des années suivantes. C'est le levier le plus puissant pour un contribuable disposant déjà de revenus fonciers taxés."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Le dispositif Denormandie"})," : il récompense la rénovation de logements anciens dans des communes éligibles par une réduction d'impôt calculée sur le montant de l'opération et modulée selon la durée d'engagement locatif. Nous en détaillons les conditions sur notre page ",t.jsx(Be,{to:"/denormandie",children:"Denormandie"}),"."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Le régime Malraux et les monuments historiques"})," : réservés à la restauration de biens patrimoniaux situés en secteur protégé, ils offrent des avantages substantiels en contrepartie de contraintes lourdes de travaux et de conservation. Ils ne se justifient que pour des contribuables très fortement imposés et correctement conseillés."]})]}),t.jsx(ys,{children:"Un dispositif immobilier n'est jamais bon parce qu'il est défiscalisant. Il est bon si l'actif sous jacent se loue, se revend et se valorise. Nous écartons systématiquement les opérations dont la rentabilité repose exclusivement sur l'avantage fiscal, car la sortie s'y révèle presque toujours décevante."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Soutenir l'innovation et les PME"}),t.jsxs("p",{children:["L'investissement au capital de petites et moyennes entreprises ouvre droit à une réduction d'impôt sur le revenu, directement ou via des fonds spécialisés comme les ",t.jsx(Be,{to:"/fcpi",children:"FCPI"}),". L'avantage est double : il allège l'impôt tout en orientant l'épargne vers l'économie réelle et l'innovation. Il s'accompagne en contrepartie d'un risque de perte en capital élevé et d'une durée de blocage longue, généralement de sept à dix ans."]}),t.jsx("p",{children:"Les dirigeants d'entreprise disposent par ailleurs de dispositifs propres, notamment le crédit d'impôt recherche et le crédit d'impôt innovation, qui viennent en déduction de l'impôt dû, l'excédent 
760étant remboursable."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Utiliser les dispositifs d'épargne salariale et le PER"}),t.jsx("p",{children:"Lorsque l'employeur propose un plan d'épargne entreprise ou un plan d'épargne retraite collectif, l'abondement versé et l'intéressement placé bénéficient d'un traitement social et fiscal favorable. Les sommes sont en contrepartie bloquées, cinq ans pour le PEE, jusqu'à la retraite pour le volet retraite, sauf cas de déblocage anticipé."}),t.jsxs("p",{children:["Le ",t.jsx(Be,{to:"/plan-epargne-retraite",children:"Plan d'Épargne Retraite individuel"})," constitue, pour les contribuables situés dans les tranches à 41% et 45%, le levier de déduction le plus efficient : les versements viennent en diminution du revenu imposable, dans la limite d'un plafond annuel, et l'épargne reste investie jusqu'à la retraite. Nous détaillons son fonctionnement dans notre article dédié aux ",t.jsx(Be,{to:"/blog/avantages-per",children:"avantages du PER"}),"."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les dons aux associations"}),t.jsx("p",{children:"Les dons consentis à des organismes d'intérêt général ouvrent droit à une réduction d'impôt de 66% de leur montant, dans la limite de 20% du revenu imposable. Ce taux est porté à 75%, dans une limite annuelle spécifique, pour les dons aux organismes d'aide aux personnes en difficulté. Les justificatifs délivrés par l'organisme doivent être conservés."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"L'emploi d'un salarié à domicile"}),t.jsx("p",{children:"L'emploi direct d'un salarié à domicile, garde d'enfants, soutien scolaire, ménage ou jardinage, ouvre droit à un crédit d'impôt égal à la moitié des dépenses engagées, dans la limite d'un plafond annuel modulé selon la composition du foyer. S'agissant d'un crédit et non d'une réduction, il bénéficie également aux foyers non imposables."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le cas des travailleurs indépendants"}),t.jsxs("p",{children:["Les indépendants disposent de marges d'optimisation spécifiques. La première tient à la ",t.jsx("strong",{children:"déduction des charges professionnelles"})," réellement engagées : local, matériel, déplacements, formation, cotisations facultatives. La seconde tient au ",t.jsx("strong",{children:"choix du régime fiscal"}),"."]}),t.jsxs("p",{children:["Le régime micro applique un abattement forfaitaire sur le chiffre d'affaires : il est simple et avantageux tant que les charges réelles restent inférieures à cet abattement. Le régime réel permet en revanche de déduire l'intégralité des charges effectives et devient plus favorable dès que l'activité se structure. Au delà d'un certain niveau de résultat, la question du passage en société et de la constitution d'une ",t.jsx(Be,{to:"/blog/holding-patrimoniale",children:"holding patrimoniale"})," mérite d'être posée."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Le plafonnement global des niches fiscales"}),t.jsxs("p",{children:["Un point est trop souvent ignoré : la plupart des réductions et crédits d'impôt sont soumis à un ",t.jsx("strong",{children:"plafonnement global"})," annuel, relevé pour certains investissements outre mer comme le ",t.jsx(Be,{to:"/girardin",children:"Girardin industriel"}),". Empiler les dispositifs sans vérifier ce plafond conduit mécaniquement à perdre une partie de l'avantage escompté. Les déductions de base, PER ou déficit foncier, échappent en revanche à ce plafonnement, ce qui renforce leur intérêt relatif."]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Notre approche de l'optimisation"}),t.jsxs("p",{children:["L'optimisation fiscale n'est pas une collection de produits, c'est une séquence. Elle commence par l'anal
760yse de votre tranche marginale et de votre capacité de déduction disponible, se poursuit par l'identification des leviers non plafonnés, puis seulement par le choix d'investissements dont la logique économique tient indépendamment de l'avantage fiscal. Notre page ",t.jsx(Be,{to:"/dispositifs-fiscaux",children:"dispositifs fiscaux"})," présente les solutions que nous retenons et, tout aussi important, celles que nous écartons."]}),t.jsx(bf,{title:"Faire le point sur votre fiscalité",text:"Analyse de votre tranche marginale, cartographie des capacités de déduction non utilisées et sélection des dispositifs réellement adaptés : nos conseillers construisent une stratégie fiscale cohérente avec votre patrimoine.",primaryTo:"/impot-declaration",primaryLabel:"Découvrir notre approche fiscale",secondaryTo:"/dispositifs-fiscaux",secondaryLabel:"Voir les dispositifs"}),t.jsx(Qy,{links:[{label:"impots.gouv.fr — Les avantages fiscaux des particuliers",href:"https://www.impots.gouv.fr/particulier/questions/quels-sont-les-avantages-fiscaux-dont-peuvent-beneficier-les-contribuables"},{label:"Service-public.fr — Réductions et crédits d'impôt",href:"https://www.service-public.fr/particuliers/vosdroits/N19207"},{label:"Service-public.fr — Plafonnement global des avantages fiscaux",href:"https://www.service-public.fr/particuliers/vosdroits/F31179"},{label:"AMF — Défiscalisation : les précautions à prendre",href:"https://www.amf-france.org/fr/espace-epargnants/proteger-son-epargne/eviter-arnaques"}]}),t.jsx(vf,{})]})]})}),t.jsx(re,{})]})},z6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," ",e("Retour au blog","Back to blog")]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Fiscalité · Juillet 2026 · 12 MIN"}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:"Les avantages du PER : fiscalité, sortie et transfert"}),t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed text-left",children:"Déduction des versements, choix des supports, options de sortie en capital ou en rente, cas de déblocage anticipé : le guide complet du Plan d'Épargne Retraite."})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs(S.article,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:gf},className:"container max-w-3xl mx-auto px-6",children:[t.jsx(xf,{items:["Qu'est-ce qu'un PER ?","PER individuel, collectif et obligatoire","Dans quoi investit-on au sein d'un PER ?","Les deux phases : épargne et restitution","Sortie en capital ou en rente viagère","Les avantages fiscaux du PER","Les plafonds de déduction","Transférer un PER d'un établissement à un autre","Les cas de déblocage anticipé","Les risques et les points de vigilance","Pour qui le PER est-il vraiment pertinent ?"]}),t.jsxs("div",{className:"prose-article space-y-6 text-[15px] md:text-base text-foreground/90 leading-relaxed text-justify",children:[t.jsx("p",{children:"Le Plan d'Épargne Retraite occupe une place croissante dans le paysage patrimonial français. Il combine deux promesses : un avantage fiscal immédiat à l'entrée et la constitution d'un complément de revenus pour la retraite. Cette double nature en fait un outil puissant, mais aussi un outil souvent mal utilisé, car son intérêt dépend étroitement de la trajectoire fiscale du souscripteur."}),t.jsx("p",{children:"Comprendre la différence entre les trois types de PER, la mécanique de déduction, les options de sortie et les cas de déblocage permet de décider si l'ouverture d'un plan correspond réellement à votre situation."}),t.jsx(Un,{children:"Fonctionnement"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Qu'est-ce qu'un PER ?"}),t.jsx("p",{children:"Le PER est un produit d'épargne de long terme conçu pour la préparation de la retraite. Il est ouvert à tous, salariés, travailleurs non salariés ou personnes sans activité professionnelle, et permet d'effectuer des versements réguliers ou ponctuels investis sur différents supports. L'épargne accumulée est en principe bloquée jusqu'à la retraite, sous réserve des cas de déblocage prévus par la loi, et se transforme ensuite en capital, en rente, ou en une combinaison des deux."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"PER individuel, collectif et obligatoire"}),t.jsxs("ul",{className:"list-disc pl-5 space-y-2 text-left",children:[t.jsxs("li",{children:[t.jsx("strong",{children:"Le PER individuel"})," est souscrit directement par le particulier auprès d'un assureur ou d'un intermédiaire. C'est le compartiment le plus flexible, celui sur lequel repose l'essentiel des stratég
760ies d'optimisation."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Le PER collectif"})," est mis en place par l'entreprise au bénéfice de l'ensemble de ses salariés dans le cadre d'un accord. Il accueille intéressement, participation et abondement de l'employeur."]}),t.jsxs("li",{children:[t.jsx("strong",{children:"Le PER obligatoire ou catégoriel"})," est également instauré par l'entreprise, mais peut être réservé à une catégorie de salariés, l'adhésion étant alors imposée aux personnes concernées."]})]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Dans quoi investit-on au sein d'un PER ?"}),t.jsxs("p",{children:["Le PER fonctionne comme une enveloppe, à l'image de l'",t.jsx(Be,{to:"/assurance-vie",children:"assurance-vie"}),". Il faut donc distinguer le contenant du contenu. À l'intérieur, deux familles de supports coexistent : le ",t.jsx("strong",{children:"fonds en euros"}),", dont le capital est garanti mais dont le rendement reste modéré, et les ",t.jsx("strong",{children:"unités de compte"}),", non garanties, qui regroupent fonds actions et obligataires, ETF, supports immobiliers comme les ",t.jsx(Be,{to:"/scpi",children:"SCPI"})," ou les OPCI, et parfois des produits plus complexes."]}),t.jsxs("p",{children:["La plupart des contrats proposent une ",t.jsx("strong",{children:"gestion pilotée à horizon"})," : l'allocation est progressivement sécurisée à mesure que la retraite approche. Cette option engendre des frais de gestion supplémentaires qu'il convient de comparer d'un contrat à l'autre."]}),t.jsx(ys,{children:"Les écarts de frais entre PER sont considérables et se cumulent sur trente ans. Comparez systématiquement les frais sur versement, souvent négociables jusqu'à zéro, les frais de gestion des unités de compte et les frais d'arrérage appliqués en cas de sortie en rente."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les deux phases : épargne et restitution"}),t.jsxs("p",{children:["Pendant la ",t.jsx("strong",{children:"phase d'épargne"}),", vous alimentez le plan à votre rythme, sans obligation de versement régulier. À la ",t.jsx("strong",{children:"phase de restitution"}),", à partir de l'âge légal de départ à la retraite, vous choisissez le mode de récupération de votre épargne. Notez que rien ne vous oblige à liquider votre PER le jour de votre départ en retraite : le maintien du plan permet de continuer à capitaliser et, le cas échéant, à déduire de nouveaux versements."]}),t.jsx(Un,{children:"La sortie"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Sortie en capital ou en rente viagère"}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"sortie en capital"})," offre la plus grande souplesse : elle autorise des retraits fractionnés, échelonnés dans le temps selon vos besoins, et permet de piloter année après année le montant réintégré à votre revenu imposable. C'est l'option retenue par la grande majorité des épargnants."]}),t.jsxs("p",{children:["La ",t.jsx("strong",{children:"sortie en rente viagère"})," convertit l'épargne en revenu périodique versé jusqu'au décès. Son montant dépend du capital constitué, de l'âge à la liquidation, des paramètres techniques de l'assureur et des frais d'arrérage. Elle apporte une sécurité réelle contre le risque de longévité, mais comporte une contrepartie majeure : sauf option de réversion, souscrite à un coût, aucun capital résiduel n'est versé aux héritiers, même si le total des rentes perçues reste inférieur au capital initial."]}),t.jsx(ys,{children:"Le choix entre capital et rente n'est pas seulement financier, il est successoral. Avant de convertir un PER en rente, vérifiez la cohérence de cette décision avec l'ensemble de votre stratégie de transmission, notamment la répartition entre enveloppes déjà organisée par clause bénéficiaire."}),t.jsx(Un,{children:"Fiscalité"}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les avantages fiscaux du PER"}),t.jsxs("p",{children:["L'atout central du PER tient à la ",t.jsx("strong",{children:"déductibilité des versements"})," du revenu imposable. L'économie réalisée est directement proportionnelle à votre tranche marginale : un versement de 10 000 euros génère 4 100 euros d'économie dans la tranche à 41%, contre 1 100 euros dans la tranche à 11%. Pendant la phase d'épargne, les gains capitalisent par ailleurs sans imposition."]}),t.jsx("p",{children:"Il faut cependant raisonner en différé et non en gain net : les sommes déduites à l'entrée seront imposées à la sortie. Le PER est donc pertinent lorsque la tranche marginale à la retraite sera inférieure à celle de la vie active, ce qui est fréquent mais non systématique. À l'inverse, un contribuable faiblement imposé peut renoncer à la déduction à l'entrée pour bénéficier d'une fiscalité allégée 
760à la sortie."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les plafonds de déduction"}),t.jsx("p",{children:"Le plafond dépend de votre statut. Pour les salariés, il correspond à 10% des revenus professionnels de l'année précédente, dans une limite exprimée en multiples du plafond annuel de la Sécurité sociale. Les travailleurs non salariés disposent d'un plafond spécifique, généralement supérieur. Les personnes sans activité professionnelle bénéficient d'un plafond forfaitaire minimal."}),t.jsx("p",{children:"Deux mécanismes méritent une attention particulière : les plafonds non utilisés des trois années antérieures restent mobilisables, et les plafonds des conjoints soumis à imposition commune peuvent être mutualisés. Ces reports figurent sur votre avis d'imposition et permettent, lors d'une année exceptionnelle, de déduire un montant très supérieur au plafond courant. Les montants exacts étant revalorisés chaque année, référez vous toujours à votre dernier avis."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Transférer un PER d'un établissement à un autre"}),t.jsx("p",{children:"Le transfert est possible et constitue souvent une source d'économie sous estimée. Il permet de regrouper des plans dispersés, d'accéder à une offre de supports plus large ou de réduire des frais devenus excessifs. Des frais de transfert peuvent s'appliquer dans les premières années de détention. Vérifiez avant toute opération l'univers d'investissement du contrat d'accueil et la qualité de sa gestion pilotée."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les cas de déblocage anticipé"}),t.jsx("p",{children:"Le blocage de l'épargne connaît des exceptions limitativement énumérées : l'acquisition de la résidence principale, l'invalidité du titulaire, de son conjoint ou de ses enfants, le décès du conjoint ou du partenaire de PACS, l'expiration des droits au chômage, le surendettement et la cessation d'activité non salariée à la suite d'une liquidation judiciaire. Chaque cas obéit à des règles propres, notamment fiscales, qu'il convient de vérifier auprès de l'établissement gestionnaire."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Les risques et les points de vigilance"}),t.jsx("p",{children:"Comme tout produit d'épargne investi, le PER expose au risque des supports choisis : les unités de compte ne garantissent pas le capital et leur valeur fluctue avec les marchés. S'y ajoutent trois vigilances : le blocage de l'épargne, qui impose de ne verser que des sommes dont vous n'aurez pas besoin, les frais, qui érodent la performance sur la durée, et la fiscalité de sortie, qui doit être anticipée dès l'ouverture."}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left",children:"Pour qui le PER est-il vraiment pertinent ?"}),t.jsxs("p",{children:["Le PER trouve sa pleine efficacité chez les contribuables situés dans les tranches à 41% et 45%, disposant d'une visibilité sur une baisse de revenus à la retraite et d'une épargne de précaution déjà constituée. Il est également précieux lors d'une année exceptionnelle, prime importante, cession d'activité, revenus ponctuellement élevés, où la mobilisation des plafonds reportés permet d'absorber une partie du choc fiscal. Nous détaillons nos contrats retenus et la mécanique de déduction sur notre page ",t.jsx(Be,{to:"/plan-epargne-retraite",children:"Plan d'Épargne Retraite"}),", et nous replaçons cet outil dans une stratégie plus large dans notre article ",t.jsx(Be,{to:"/blog/payer-moins-impots",children:"comment payer moins d'impôts"}),"."]}),t.jsx(bf,{title:"Calibrer votre effort de retraite",text:"Calcul de vos plafonds disponibles, arbitrage entre déduction à l'entrée et fiscalité à la sortie, sélection du contrat et de l'allocation : nos conseillers dimensionnent votre PER en fonction de votre trajectoire fiscale réelle.",primaryTo:"/plan-epargne-retraite",primaryLabel:"Découvrir notre PER",secondaryTo:"/impot-declaration",secondaryLabel:"Voir notre approche fiscale"}),t.jsx(Qy,{links:[{label:"Service-public.fr — Plan d'épargne retraite individuel",href:"https://www.service-public.fr/particuliers/vosdroits/F34982"},{label:"Service-public.fr — Plafond de déduction de l'épargne retraite",href:"https://www.service-public.fr/particuliers/vosdroits/F366"},{label:"impots.gouv.fr — L'épargne retraite et sa fiscalité",href:"https://www.impots.gouv.fr/particulier/questions/jai-souscrit-un-plan-depargne-retraite-que-dois-je-declarer"},{label:"AMF — Comprendre le Plan d'Épargne Retraite",href:"https://www.amf-france.org/fr/espace-epargnants/comprendre-les-produits-financiers/epargne-retraite"}]}),t.jsx(vf,{})]})]})}),t.jsx(re,{})]})},U6e=()=>{const{tr:e}=K();return t.jsxs("div",{className:"min-h-screen bg-background",children:[t.jsx(ne,{}),t.jsx("main",{className:"pt-32 pb-24",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx("h1",{className:"font-display text-4xl md:text-5xl text-foreground mb-12 tracking-tight",children:e("Politique de confidentialité","Privacy Policy")}
760),t.jsxs("article",{className:"space-y-10 text-foreground/80 text-[15px] leading-relaxed [&_p]:text-justify",children:[t.jsxs("section",{className:"space-y-5",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Protection des données personnelles","Protection of personal data")}),t.jsx("p",{children:e("Colbr, dans le cadre de ses activités, est amenée à collecter, utiliser ou transmettre à des tiers (partenaires commerciaux, fournisseurs informatiques et compagnies d'assurance) des données personnelles concernant ses clients et ses prospects.","Colbr, in the course of its activities, collects, uses or transmits to third parties (commercial partners, IT providers and insurance companies) personal data concerning its clients and prospects.")}),t.jsx("p",{children:e("Colbr, en tant que Responsable de traitement, est sensible à la protection de vos données et respecte les règles en vigueur et les recommandations découlant du Règlement Général sur la Protection des Données (RGPD). Colbr a désigné un Délégué à la Protection des Données ou Data Protection Officer en anglais (DPO) et a déclaré cette nomination auprès de la Commission Nationale Informatique et Libertés (CNIL).","Colbr, as Data Controller, is committed to the protection of your data and complies with the rules in force and the recommendations arising from the General Data Protection Regulation (GDPR). Colbr has appointed a Data Protection Officer (DPO) and has declared this appointment to the Commission Nationale Informatique et Libertés (CNIL).")}),t.jsx("p",{children:e("L'utilisation, le traitement et le transfert de ces données personnelles par Colbr est obligatoire en raison de dispositions légales et règlementaires, notamment dans le cadre de l'exécution des contrats qui vous lient à Colbr. Vos données ne sont jamais transférées hors union européenne.","The use, processing and transfer of such personal data by Colbr is mandatory by virtue of legal and regulatory provisions, in particular in the context of the performance of contracts binding you to Colbr. Your data is never transferred outside the European Union.")}),t.jsx("p",{children:e("Par ailleurs, Colbr peut détenir des données personnelles vous concernant parce que vous avez souhaité recevoir des informations au sujet de la société ou de ses prestations.","Furthermore, Colbr may hold personal data about you because you have requested information about the company or its services.")}),t.jsx("p",{children:e("Colbr veille à ce que l'accès à ces données soit sécurisé et réservé aux personnes habilitées ; que l'utilisation de ces données soit strictement cantonnée à la réalisation des prestations qu'elle fournit et des obligations réglementaires auxquelles elle est tenue ; que ces données puissent être mises à jour et conservées conformément à la réglementation.","Colbr ensures that access to such data is secure and restricted to authorised persons; that the use of such data is strictly limited to the performance of the services it provides and the regulatory obligations to which it is subject; and that such data may be updated and retained in accordance with applicable regulations.")}),t.jsx("p",{children:e("Colbr applique les règles de conservation des données recommandées par la Commission Nationale Informatique et Libertés (CNIL) :","Colbr applies the data retention rules recommended by the Commission Nationale Informatique et Libertés (CNIL):")}),t.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[t.jsx("li",{children:e("Les données personnelles sont conservées durant le temps nécessaire à la gestion de la relation commerciale et contractuelle.","Personal data is retained for the duration necessary to manage the commercial and contractual relationship.")}),t.jsx("li",{children:e("Les données personnelles d'un client utilisées à des fins de prospection commerciale sont conservées pendant un délai de 3 ans à compter de la fin de la relation commerciale.","Personal data of a client used for c
760ommercial prospecting purposes is retained for a period of 3 years from the end of the commercial relationship.")}),t.jsx("li",{children:e("Les données personnelles d'un prospect non-client sont conservées pendant un délai de 3 ans à compter de leur collecte.","Personal data of a non-client prospect is retained for a period of 3 years from the date of collection.")})]}),t.jsx("p",{children:e("Une fois la durée de conservation expirée, Colbr peut, au lieu d'effacer les données, procéder à leur anonymisation. Dans de tels cas, les procédés mis en place respectent les règles applicables et rendent impossible la réidentification des personnes. L'anonymisation est une technique qui vise à briser le lien entre des données et une personne physique de façon irréversible, afin d'empêcher toute identification d'un individu.","Once the retention period has expired, Colbr may, instead of erasing the data, proceed with its anonymisation. In such cases, the processes implemented comply with applicable rules and make re-identification of individuals impossible. Anonymisation is a technique designed to irreversibly sever the link between data and a natural person, so as to prevent any identification of an individual.")}),t.jsx("p",{children:e("Vous bénéficiez d'un droit d'accès, de rectification, de portabilité, d'effacement de celles-ci ou une limitation du traitement.","You have the right of access, rectification, portability, erasure of your data, or restriction of processing.")}),t.jsxs("p",{children:[e("Vous pouvez vous opposer au traitement des données vous concernant dans le cadre d'une utilisation à des fins de prospection commerciale et disposez du droit de retirer votre consentement à tout moment en vous adressant à : ","You may object to the processing of data concerning you for commercial prospecting purposes and have the right to withdraw your consent at any time by contacting: "),t.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."," ",e("L'inscription à la liste d'opposition à recevoir de la prospection est conservée pendant 3 ans à compter de l'exercice du droit d'opposition.","Registration on the opposition list against receiving prospecting is retained for 3 years from the exercise of the right to object.")]}),t.jsxs("p",{children:[e("Dans le cas particulier d'un décès, les héritiers justifiant de leur identité peuvent faire valoir leur droit à l'actualisation et la suppression des données du défunt en s'adressant à : ","In the specific case of death, heirs who have established their identity may exercise their right to update and delete the deceased's data by contacting: "),t.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]}),t.jsx("p",{children:e("Vous avez la possibilité d'introduire une réclamation auprès de la Commission Nationale Informatique et Libertés (CNIL).","You have the right to lodge a complaint with the Commission Nationale Informatique et Libertés (CNIL).")})]}),t.jsxs("section",{className:"space-y-5",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Cookies","Cookies")}),t.jsx("p",{children:e("L'utilisateur est informé que lors de ses visites sur le site, un cookie peut s'installer automatiquement sur son logiciel de navigation et être conservé temporairement en mémoire ou sur son disque dur. Un cookie est un élément qui ne permet pas d'identifier l'utilisateur mais sert à enregistrer des informations relatives à sa navigation sur le site internet. Les utilisateurs du site reconnaissent avoir été informés de cette pratique et autorisent Colbr à l'employer. Ils pourront désactiver ce cookie par l'intermédiaire des paramètres figurant au sein de leur logiciel de navigation.","The user is informed that when visiting the site, a cookie may be automatically installed in their browser software and temporarily stored in memory or on their hard drive. A cookie is an element that does not identify the user but records information relating to their browsing on the website. Users of the site acknowledge having been informed of this practice and authorise Colbr to use it. They may deactivate this cookie through the settings available within their browser software.")}),t.jsx("p",{children:e("Les cookies sont de petits fichiers implantés sur votre ordinateur. Un cookie ne nous permet pas de vous identifier mais il enregistre des informations relatives à la navigation de votre ordinateur sur notre site que nous pourrons lire lors de vos visites ultérieures afin de faciliter la navigation, d'optimiser la connexion et de personnaliser l'utilisation du site. Vous pouvez refuser l'utilisation des cookies en configurant les paramètres de votre navigateur Internet.","Cookies are small files placed on your computer. A cookie does not allow us to identify you but records information relating to your computer's browsing on our site, which we may read during subsequent visits in order to facilitate navigation, optimise the connection and personalise the use of the site. You may refuse the use of cookies by configuring the settings of your Internet browser.")}),t.jsx("p",{children:e("Cependant le fait de refuser les cookies peut vous empêcher d'accéder à certaines fonctionnalités du site. L'accès client est construit avec un délai de session, et certaines informations ne seront remises à jour qu'après s'être reconnecté sur le site. Colbr ainsi que ses fournisseurs d'informations déclinent toute responsabilité quant au contenu, à l'exactitude, à la fiabilité, à la pertinence et à l'exhaustivité des informations et données diffusées sur le présent site. Colbr et ses fournisseurs d'information déclinent toute responsabilité quant aux difficultés techniques que pourrait rencontrer les usagers de ce site, ce quelles qu'en soient la cause ou l'origine, notamment dans le cas de survenance de « bogues », du non-respect de l'intégrité de l'information à travers les réseaux de communication, de défaut de capacité du terminal de l'utilisateur pour restituer l'information ou de transmission et d'acheminement dans les délais normaux d'ordres du client. L'internaute reconnaît que l'utilisation du site est régie par la loi française et relève de la compétence des juges français. En cas de contestation sur l'interprétation du contrat, sur l'exécution et la réalisation des transactions, seul le juge français est compétent pour connaître du litige.",`However, refusing cookies may prevent you from accessing certain features of the site. Client access is built with a session timeout, and certain information will only be updated after logging back in to the site. Colbr and its information providers disclaim all liability as to the content, accuracy, reliability, relevance and completeness of the information and data published on this site. Colbr and its information providers disclaim all liability for technical difficulties that users of this site may encounter, regardless of their cause or origin, including in the event of the occurrence of "bugs", failure to maintain the integrity of information across communication networks, insufficient capacity of the user's terminal to display information, or transmission and routing delays in the normal processing of client orders. The internet user acknowledges that use of the site is governed by French law and falls within the jurisdiction of the French courts. In the event of any dispute regarding the interpretation of the contract, the execution and completion of transactions, only the French courts shall have jurisdiction to hear the dispute.`)})]}),t.jsxs("section",{className:"space-y-5",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Consentement marketing","Marketing consent")}),t.jsx("p",{children:e("L'utilisateur est informé que, lors de son inscription à la plateforme Colbr, s'il décide de s'inscrire via LinkedIn ou Google, il accepte automatiquement de recevoir des communications de Colbr (mises à jour, offres exclusives, bulletins d'informations, etc.) via mail (et/ou téléphone s'il renseigne cette information dans son compte Colbr).","The user is informed that, upon registration on the Colbr platform, if they choose to register via LinkedIn or Google, they automatically agree to re
760ceive communications from Colbr (updates, exclusive offers, newsletters, etc.) by email (and/or telephone if they provide this information in their Colbr account).")}),t.jsx("p",{children:e("À tout moment, l'utilisateur peut se désabonner des newsletters envoyées par mail en cliquant sur le lien « se désabonner » présent en bas de chacune des newsletters Colbr.",'At any time, the user may unsubscribe from newsletters sent by email by clicking on the "unsubscribe" link at the bottom of each Colbr newsletter.')})]}),t.jsxs("section",{className:"space-y-5",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Utilisation de l'intelligence artificielle","Use of artificial intelligence")}),t.jsx("p",{children:e("Dans le cadre de nos activités, nous faisons appel à des technologies d'intelligence artificielle (IA) dans le but d'améliorer la qualité, l'efficacité et la personnalisation de nos services. À ce titre, nous utilisons notamment les modèles d'IA développés par Mistral.ai, qui interviennent dans de
760s processus tels que l'analyse linguistique, la génération de contenu automatisé, l'assistance utilisateur ou l'optimisation de nos interactions digitales.","In the course of our activities, we employ artificial intelligence (AI) technologies with the aim of improving the quality, efficiency and personalisation of our services. To this end, we use in particular the AI models developed by Mistral.ai, which are involved in processes such as linguistic analysis, automated content generation, user assistance and the optimisation of our digital interactions.")}),t.jsx("p",{children:e("L'ensemble des traitements de données opérés via ces outils s'inscrit dans un cadre strictement conforme au Règlement Général sur la Protection des Données (UE) 2016/679 (« RGPD ») ainsi qu'à la Loi Informatique et Libertés modifiée. Les données susceptibles d'être traitées par ces systèmes d'IA sont limitées, pseudonymisées dans la mesure du possible, et ne sont jamais utilisées à des fins de profilage sans base légale appropriée ou consentement explicite de la personne concernée.",'All data processing carried out via these tools is strictly compliant with Regulation (EU) 2016/679 (the "GDPR") and the amended French Data Protection Act (Loi Informatique et Libertés). Data that may be processed by these AI systems is limited, pseudonymised where possible, and is never used for profiling purposes without an appropriate legal basis or the explicit consent of the data subject.')}),t.jsx("p",{children:e("Nous veillons par ailleurs à ce que nos partenaires technologiques, tels que Mistral.ai, respectent des standards élevés en matière de sécurité, de confidentialité et de localisation des données. Aucune donnée personnelle identifiable n'est transmise à des fins d'entraînement des modèles IA sans consentement exprès.","We also ensure that our technology partners, such as Mistral.ai, uphold high standards with regard to security, confidentiality and data localisation. No identifiable personal data is transmitted for the purposes of AI model training without express consent.")}),t.jsx("p",{children:e("Les utilisateurs peuvent exercer à tout moment leurs droits d'accès, de rectification, d'opposition ou de limitation relatifs aux traitements de données impliquant des technologies d'IA, dans les conditions prévues à l'article 12 et suivants du RGPD.","Users may at any time exercise their rights of access, rectification, objection or restriction in relation to data processing involving AI technologies, under the conditions set out in Article 12 et seq. of the GDPR.")})]})]})]})}),t.jsx(re,{})]})},V6e=()=>{const{tr:e}=K(),n=[{id:"editeur",label:e("Éditeur","Publisher")},{id:"hebergement",label:e("Hébergement","Hosting")},{id:"acces",label:e("Accès","Access")},{id:"propriete",label:e("Propriété, droits d'auteur et marques","Ownership, copyright and trademarks")},{id:"gestion",label:e("Gestion du site internet","Website management")},{id:"garanties",label:e("Absence de garanties","Disclaimer of warranties")},{id:"responsabilites",label:e("Responsabilités","Liability")},{id:"liens",label:e("Liens hypertextes","Hyperlinks")},{id:"reclamations",label:e("Traitement des réclamations","Complaints handling")},{id:"loi",label:e("Loi applicable","Governing law")}];return t.jsxs("div",{className:"min-h-screen bg-background",children:[t.jsx(ne,{}),t.jsx("main",{className:"pt-32 pb-24",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx("span",{className:"text-[11px] tracking-[0.2em] uppercase text-primary/70 mb-4 block",children:e("Informations légales","Legal information")}),t.jsx("h1",{className:"font-display text-4xl md:text-5xl text-foreground mb-10 tracking-tight",children:e("Mentions légales","Legal notice")}),t.jsxs("nav",{"aria-label":"Sommaire",className:"mb-12 p-6 rounded-2xl bg-card/60 border border-border/40",children:[t.jsx("p",{className:"text-xs font-medium tracking-widest uppercase text-muted-foreground mb-4",children:e("Sommaire","Contents")}),t.jsx("ul",{className:"grid sm:grid-cols-2 gap-y-2 gap-x-6 text-sm",children:n.map(r=>
760t.jsx("li",{children:t.jsx("a",{href:`#${r.id}`,className:"text-foreground/70 hover:text-primary transition-colors",children:r.label})},r.id))})]}),t.jsx("p",{className:"text-foreground/70 text-[15px] leading-relaxed mb-12 text-justify",children:e("La poursuite de la navigation sur le présent site internet vaut acceptation sans réserve des dispositions et conditions générales d'utilisation qui suivent.","Continued use of this website constitutes unreserved acceptance of the general terms and conditions of use set out below.")}),t.jsxs("article",{className:"space-y-12 text-foreground/80 text-[15px] leading-relaxed [&_p]:text-justify",children:[t.jsxs("section",{id:"editeur",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Éditeur","Publisher")}),t.jsxs("p",{children:[e("Vous êtes actuellement connecté au site internet (ci-après le « Site internet ») de la société ",'You are currently connected to the website (hereinafter the "Website") of '),t.jsx("strong",{children:"Colbr"}),e(", société par actions simplifiée (SAS) au capital social de 408 518,43 €, immatriculée au Registre du Commerce et des Sociétés de Paris sous le numéro 892 957 721 R.C.S. Paris (SIREN 892 957 721 — SIRET siège 892 957 721 00020), numéro individuel d'identification à la TVA FR22892957721, identifiant LEI 89450066YERGBSA3YI71, dont le siège social est situé 128 rue La Boétie, 75008 Paris.",", a French simplified joint-stock company (SAS) with a share capital of €408,518.43, registered with the Paris Trade and Companies Register under number 892 957 721 R.C.S. Paris (SIREN 892 957 721 — head-office SIRET 892 957 721 00020), intra-Community VAT number FR22892957721, LEI 89450066YERGBSA3YI71, with its registered office at 128 rue La Boétie, 75008 Paris, France.")]}),t.jsxs("p",{children:[e("Colbr exerce son activité en qualité de Conseiller en Investissements Financiers (CIF), inscrite au registre unique des intermédiaires tenu par l'ORIAS (","Colbr operates as an Investment Financial Adviser (Conseiller en Investissements Financiers — CIF), listed on the single register of intermediaries maintained by the ORIAS ("),t.jsx("a",{href:"https://www.orias.fr",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"www.orias.fr"}),e(") sous le numéro ",") under number "),t.jsx("strong",{children:"21001069"}),e(", et adhère à ce titre à une association professionnelle agréée par l'Autorité des Marchés Financiers (AMF), placée sous le contrôle de l'AMF et de l'Autorité de Contrôle Prudentiel et de Résolution (ACPR).",", and is a member of a professional association approved by the Autorité des Marchés Financiers (AMF), under the supervision of the AMF and the Autorité de Contrôle Prudentiel et de Résolution (ACPR).")]}),t.jsxs("p",{children:[e("Le directeur de la publication du Site internet est le représentant légal de Colbr. Toute demande peut lui être adressée à : ","The publication director of the Website is the legal representative of Colbr. Any enquiry may be sent to: "),t.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]}),t.jsx("p",{children:e("Coordonnées de l'ACPR — autorité de contrôle :","ACPR — supervisory authority — contact details:")}),t.jsxs("p",{className:"italic text-foreground/70",children:["4 place de Budapest",t.jsx("br",{}),"CS 92 459",t.jsx("br",{}),"75436 Paris Cedex 09"]})]}),t.jsxs("section",{id:"hebergement",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Hébergement","Hosting")}),t.jsxs("p",{children:[e("Le Site est hébergé par ","The Website is hosted by "),t.jsx("strong",{children:"Lovable"}),e(", dont les services d'hébergement sont accessibles via le domaine lovable.app. Pour toute demande relative à l'hébergement, vous pouvez écrire à : ",", whose hosting services are accessible via the lovable.app domain. For any hosting-related enquiry, please write to: "),t.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]}),t.jsxs("section",{id:"acces",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Accès","Access")}),t.jsx("p",{children:e("Le Site internet est destiné à un usage individuel et non commercial. En y accédant, vous vous interdisez d'exploiter les contenus, données ou fonctionnalités qui y figurent à des fins de prospection, de publicité, de démarchage, de campagne politique ou de collecte automatisée, en ce compris l'envoi de communications électroniques non sollicitées.","The Website is intended for individual, non-commercial use. By accessing it, you agree not to use its content, data or features for prospecting, advertising, canvassing, political campaigning or automated harvesting, including the sending of unsolicited electronic communications.")}),t.jsx("p",{children:e("Les contenus publiés sur le Site internet s'adressent en priorité à des résidents fiscaux français. Ils ne constituent ni une offre, ni une sollicitation à destination de personnes situées dans une juridiction où leur diffusion serait illicite ou soumettrait Colbr, ses partenaires ou ses affiliés à une obligation d'enregistrement, d'agrément ou de déclaration locale.","The materials published on the Website are primarily intended for French tax residents. They do not constitute an offer or solicitation aimed at persons located in any jurisdiction where their distribution would be unlawful or would subject Colbr, its partners or affiliates to any local registration, licensing or filing obligation.")}),t.jsx("p",{children:e("Il appartient à chaque visiteur de vérifier qu'il est autorisé, au regard de la loi qui lui est applicable, à consulter le Site internet. Les personnes soumises à une restriction en ce sens sont invitées à quitter le Site internet.","It is the responsibility of each visitor to ensure that, under the laws applicable to them, they are permitted to browse the Website. Persons subject to such a restriction are invited to leave the Website.")})]}),t.jsxs("section",{id:"propriete",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Propriété du Site internet, droits d'auteur et marques","Website ownership, copyright and trademarks")}),t.jsx("p",{children:e("Toutes les marques, photographies, textes, commentaires, illustrations, images animées ou non, séquences vidéo, sons, ainsi que toutes les applications informatiques qui pourraient 
760être utilisées pour faire fonctionner le Site internet et plus généralement tous les éléments reproduits ou utilisés sur le Site internet sont protégés par les lois en vigueur au titre de la propriété intellectuelle.","All trademarks, photographs, texts, comments, illustrations, animated or static images, video sequences, sounds, as well as all software applications that may be used to operate the Website, and more generally all elements reproduced or used on the Website, are protected by applicable intellectual property laws.")}),t.jsx("p",{children:e("Ils sont la propriété pleine et entière de Colbr ou de ses partenaires. Toute reproduction, représentation, utilisation ou adaptation, sous quelque forme que ce soit, de tout ou partie de ces éléments, y compris les applications informatiques, sans l'accord préalable et écrit de Colbr, sont strictement interdites.","They are the full and exclusive property of Colbr or its partners. Any reproduction, representation, use or adaptation, in any form whatsoever, of all or part of these elements, including software applications, without the prior written consent of Colbr, is strictly prohibited.")}),t.jsx("p",{children:e("Le fait pour Colbr de ne pas engager de procédure dès la prise de connaissance de ces utilisations non autorisées ne vaut pas acceptation desdites utilisations et renonciation aux poursuites.","The fact that Colbr does not initiate proceedings upon becoming aware of such unauthorised use shall not constitute acceptance of such use or a waiver of the right to take action.")}),t.jsx("p",{children:e("Vous pouvez, toutefois, rapatrier ou imprimer sur papier des pages et/ou des parties du Site internet, pour votre usage strictement personnel, sous réserve que vous ne supprimiez pas les mentions relatives aux droits d'auteurs ou aux droits de propriété intellectuelle.","You may, however, download or print pages and/or parts of the Website for your strictly personal use, provided that you do not remove any copyright or intellectual property notices.")}),t.jsx("p",{children:e("Le nom « Colbr » constitue une marque protégée. Vous ne pouvez ni reproduire, ni supprimer, ni réutiliser, ni modifier de quelque façon que ce soit les signes distinctifs figurant sur les pages du Site internet.",'The name "Colbr" is a protected trademark. You may not reproduce, remove, reuse or modify in any way the distinctive signs appearing on the pages of the Website.')})]}),t.jsxs("section",{id:"gestion",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Gestion du Site internet","Website management")}),t.jsx("p",{children:e("Pour la bonne gestion du Site internet, Colbr pourra à tout moment :","For the proper management of the Website, Colbr may at any time:")}),t.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[t.jsx("li",{children:e("suspendre, interrompre ou limiter l'accès à tout ou partie du Site internet, réserver l'accès au Site internet, ou à certaines parties du Site internet, à une catégorie déterminée d'utilisateurs ;","suspend, interrupt or restrict access to all or part of the Website, or reserve access to the Website, or to certain parts of the Website, to a specific category of users;")}),t.jsx("li",{children:e("supprimer toute information pouvant en perturber le fonctionnement ou entrant en contravention avec les lois nationales ou internationales ;","remove any information that may disrupt its operation or contravene national or international laws;")}),t.jsx("li",{children:e("suspendre le Site internet afin de procéder à des mises à jour.","suspend the Website in order to carry out updates.")})]})]}),t.jsxs("section",{id:"garanties",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Absence de garanties","Disclaimer of warranties")}),t.jsx("p",{children:e("Les informations publiées sur le Site internet ont une vocation strictement informative et pédagogique. Elles reflètent une analyse à la date de leur publication et ne constituent ni un conseil personnalisé, ni une recommandation d'investissement au sens du règlement (UE) n° 596/2014.","The information published on the Website is provided for informational and educational purposes only. It reflects an analysis as at the date of publication and does not constitute personalised advice or an investment recommendation within the meaning of Regulation (EU) No 596/2014.")}),t.jsx("p",{children:e("Malgré le soin apporté à leur préparation, Colbr ne peut garantir l'exactitude, l'exhaustivité ou l'actualité des informations diffusées sur le Site internet, qui reposent en partie sur des sources externes réputées fiables mais non vérifiées de manière indépendante. Les performances passées ne préjugent pas des performances futures et les investissements présentés comportent des risques, notamment de perte en capital, d'illiquidité et de volatilité.","Despite the care taken in their preparation, Colbr 
760cannot guarantee the accuracy, completeness or timeliness of the information published on the Website, which relies in part on external sources considered reliable but not independently verified. Past performance is not indicative of future results, and the investments presented involve risks, including capital loss, illiquidity and volatility.")})]}),t.jsxs("section",{id:"responsabilites",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Responsabilités","Liability")}),t.jsx("p",{children:e("La responsabilité de Colbr ne peut être engagée en cas de défaillance, panne, difficulté ou interruption de fonctionnement, empêchant l'accès au Site internet ou à une de ses fonctionnalités.","Colbr's liability cannot be engaged in the event of failure, breakdown, difficulty or interruption of operation preventing access to the Website or any of its features.")}),t.jsx("p",{children:e("Le matériel de connexion au Site internet que vous utilisez est sous votre entière responsabilité. Vous devez prendre toutes les mesures appropriées pour protéger votre matériel et vos propres données notamment d'attaques virales par Internet. Vous êtes par ailleurs le seul responsable des sites et données que vous consultez.","The equipment you use to connect to the Website is entirely your responsibility. You must take all appropriate measures to protect your equipment and your own data, in particular against viral attacks via the Internet. You are solely responsible for the sites and data you consult.")}),t.jsx("p",{children:e("Colbr ne pourra être tenu responsable en cas de poursuites judiciaires à votre encontre :","Colbr shall not be held liable in the event of legal proceedings brought against you:")}),t.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[t.jsx("li",{children:e("du fait de l'usage du Site internet ou de tout service accessible via Internet ;","arising from your use of the Website or any service accessible via the Internet;")}),t.jsx("li",{children:e("du fait du non-respect par vous des présentes conditions générales d'utilisation.","arising from your non-compliance with these general terms and conditions of use.")})]}),t.jsx("p",{children:e("Colbr n'est pas responsable des dommages causés à vous-même, à des tiers et/ou à votre équipement du fait de votre connexion ou de votre utilisation du Site internet et vous renoncez à toute action contre lui de ce fait.","Colbr is not responsible for any damage caused to you, to third parties and/or to your equipment as a result of your connection to or use of the Website, and you waive any claim against Colbr in this regard.")}),t.jsx("p",{children:e("Si Colbr venait à faire l'objet d'une procédure amiable ou judiciaire à raison de votre utilisation du Site internet, elle pourra se retourner contre vous pour obtenir indemnisation de tous les préjudices, sommes, condamnations et frais qui pourraient découler de cette procédure.","If Colbr is subject to any amicable or judicial proceedings as a result of your use of the Website, it may seek recourse against you to obtain indemnification for all losses, sums, judgments and costs that may arise from such proceedings.")})]}),t.jsxs("section",{id:"liens",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Liens hypertextes","Hyperlinks")}),t.jsxs("p",{children:[e("La mise en place par vous de tous liens hypertextes vers tout ou partie du Site internet est strictement interdite, sauf autorisation préalable et écrite de Colbr, sollicitée par courriel à l'adresse suivante : ","The establishment by you of any hyperlinks to all or part of the Website is strictly prohibited, except with the prior written authorisation of Colbr, requested by email at the following address: "),t.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]}),t.jsx("p",{children:e("Colbr est libre de refuser cette autorisation sans avoir à justifier de quelque manière que ce soit sa décision. Dans le cas où Colbr accorderait son autorisation, celle-ci n'est dans tous les cas que temporaire et pourra être retirée à tout moment, sans obligation de justification à la charge de Colbr.","Colbr is free to refuse this authorisation without having to justify its decision in any way. Where Colbr grants such authorisation, it is in all cases temporary and may be withdrawn at any time, without any obligation on Colbr to provide reasons.")}),t.jsx("p",{children:e("Dans tous les cas, tout lien devra être retiré sur simple demande de Colbr.","In all cases, any link must be removed upon simple request by Colbr.")}),t.jsx("p",{children:e("Toute information accessible via un lien vers d'autres sites internet n'est pas sous le contrôle de Colbr qui décline toute responsabilité quant à leur contenu.","Any information accessible via a link to other websites is not under the control of Colbr, which disclaims all liability for their content.")})]}),t.jsxs("section",{id:"reclamations",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Traitement des réclamations","Complaints handling")}),t.jsx("p",{children:e("En cas de litige ou de réclamation, les parties contractantes s'engagent à rechercher en premier lieu un arrangement amiable.","In the event of a dispute or complaint, the contracting parties undertake to seek an amicable settlement in the first instance.")}),t.jsx("p",{children:e("Le client pourra présenter sa réclamation à l'adresse suivante :","The client may submit their complaint to the following address:")}
760),t.jsxs("p",{className:"italic text-foreground/70",children:[e("Colbr — Service Réclamation","Colbr — Complaints Department"),t.jsx("br",{}),t.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline not-italic",children:"[email protected]"})]}),t.jsx("p",{children:e("Colbr disposera d'un délai de dix (10) jours pour en accuser réception, puis d'un délai de deux (2) mois à compter de la réception de la réclamation pour y répondre.","Colbr shall have ten (10) days to acknowledge receipt of the complaint, and then two (2) months from receipt of the complaint to respond to it.")}),t.jsx("p",{children:e("À défaut d'arrangement amiable, les parties pourront en second lieu informer le médiateur de la consommation dont les coordonnées sont les suivantes :","Failing an amicable settlement, the parties may in the second instance refer the matter to the consumer mediator, whose contact details are as follows:")}),t.jsx("p",{className:"font-medium text-foreground",children:e("S'agissant d'un litige en lien avec le conseil en investissement :","In respect of a dispute relating to investment advice:")}),t.jsxs("p",{className:"italic text-foreground/70",children:["Autorité des Marchés Financiers",t.jsx("br",{}),e("Médiateur de l'AMF","AMF Mediator"),t.jsx("br",{}),"17 place de la Bourse",t.jsx("br",{}),"75082 Paris Cedex 02",t.jsx("br",{}),t.jsx("a",{href:"https://www.amf-france.org/fr/le-mediateur",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline not-italic",children:"www.amf-france.org/le médiateur"})]}),t.jsx("p",{className:"font-medium text-foreground",children:e("S'agissant d'un litige en lien avec toute autre activité de Colbr :","In respect of a dispute relating to any other activity of Colbr:")}),t.jsxs("p",{className:"italic text-foreground/70",children:["Centre de Médiation et d'Arbitrage de Paris",t.jsx("br",{}),e("Service Médiation de la consommation","Consumer Mediation Department"),t.jsx("br",{}),"39 avenue Franklin D. Roosevelt",t.jsx("br",{}),"75008 Paris",t.jsx("br",{}),t.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline not-italic",children:"[email protected]"})]})]}),t.jsxs("section",{id:"loi",className:"space-y-4 scroll-mt-32",children:[t.jsx("h2",{className:"font-display text-2xl text-foreground",children:e("Loi applicable","Governing law")}),t.jsx("p",{children:e("Le présent Site internet et son contenu sont régis par et interprétés conformément au droit français. Tout litige en découlant ou s'y rapportant sera soumis à la compétence exclusive des tribunaux français.","This Website and its content are governed by and construed in accordance with French law. Any dispute arising out of or in connection therewith shall be subject to the exclusive jurisdiction of the French courts.")})]})]})]})}),t.jsx(re,{})]})},W6e=()=>{const{tr:e}=K(),n=Do();return k.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",n.pathname)},[n.pathname]),t.jsx("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:t.jsxs("div",{className:"text-center",children:[t.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),t.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:e("Page introuvable","Page not found")}),t.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:e("Retourner à l'accueil","Return to home")})]})})},H6e=()=>{const{slug:e}=MO(),{data:n,isLoading:r}=_m({queryKey:["blog-category",e],queryFn:async()=>{if(!e)return null;const{data:c,error:u}=await Oh.from("categories").select("id, name, slug, description").eq("slug",e).maybeSingle();if(u)throw u;return c},enabled:!!e}),{data:i,isLoading:s}=_m({queryKey:["blog-category-posts",n==null?void 0:n.id],queryFn:async()=>{if(!(n!=null&&n.id))return[];const{data:c,error:u}=await Oh.from("posts").select("id, slug, title, excerpt, published_at, reading_time_minutes").eq("category_id",n.id).eq("status","published").order("published_at",{ascending:!1});if(u)throw u;return c??[]},enabled:!!(n!=null&&n.id)}),a=`https://colbr.co/blog/theme/${e}`,o=n?`Actualités ${n.name} | Colbr`:"Actualités | Colbr",l=(n==null?void 0:n.description)??"Analyses et perspectives Colbr sur la gestion de patr
760imoine.";return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:o}),t.jsx("meta",{name:"description",content:l}),t.jsx("link",{rel:"canonical",href:a}),t.jsx("meta",{property:"og:title",content:o}),t.jsx("meta",{property:"og:description",content:l}),t.jsx("meta",{property:"og:type",content:"website"}),t.jsx("meta",{property:"og:url",content:a}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),t.jsx("meta",{name:"twitter:title",content:o}),t.jsx("meta",{name:"twitter:description",content:l})]}),t.jsx(ne,{}),t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," Retour au blog"]}),t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Catégorie"}),r?t.jsx("div",{className:"h-12 w-2/3 bg-border/40 animate-pulse rounded"}):n?t.jsxs(t.Fragment,{children:[t.jsxs("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:["Actualités ",n.name]}),n.description&&t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed max-w-3xl",children:n.description})]}):t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight",children:"Catégorie introuvable"})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs("div",{className:"container max-w-4xl mx-auto px-6",children:[t.jsx(J7,{activeSlug:e??null}),s?t.jsx("p",{className:"text-muted-foreground",children:"Chargement des articles…"}):i&&i.length>0?t.jsx("ul",{className:"divide-y divide-border",children:i.map(c=>t.jsx("li",{className:"py-8",children:t.jsxs(C,{to:`/blog/post/${c.slug}`,className:"group block",children:[t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-3",children:[n==null?void 0:n.name,c.reading_time_minutes?` · ${c.reading_time_minutes} MIN`:""]}),t.jsx("h2",{className:"font-display text-2xl md:text-3xl tracking-tight text-foreground group-hover:text-secondary transition-colors",children:c.title}),c.excerpt&&t.jsx("p",{className:"text-muted-foreground mt-3 leading-relaxed",children:c.excerpt}),t.jsxs("span",{className:"inline-flex items-center gap-2 text-sm text-primary mt-4",children:["Lire l'article",t.jsx(V,{className:"w-4 h-4 transition-transform group-hover:translate-x-1"})]})]})},c.id))}):t.jsx("p",{className:"text-muted-foreground",children:"Aucun article publié dans cette catégorie pour le moment."})]})}),t.jsx(re,{})]})};function G6e(e,n){const r={};return(e[e.length-1]===""?[...e,""]:e).join((r.padRight?" ":"")+","+(r.padLeft===!1?"":" ")).trim()}const K6e=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Q6e=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Y6e={};function JF(e,n){return(Y6e.jsx?Q6e:K6e).test(e)}const J6e=/[ \t\n\f\r]/g;function X6e(e){return typeof e=="object"?e.type==="text"?XF(e.value):!1:XF(e)}function XF(e){return e.replace(J6e,"")===""}class yf{constructor(n,r,i){this.normal=r,this.property=n,i&&(this.space=i)}}yf.prototype.normal={};yf.prototype.property={};yf.prototype.space=void 0;function X7(e,n){const r={},i={};for(const s of e)Object.assign(r,s.property),Object.assign(i,s.normal);return new yf(r,i,n)}function ck(e){return e.toLowerCase()}class fr{constructor(n,r){this.attribute=r,this.property=n}}fr.prototype.attribute="";fr.prototype.booleanish=!1;fr.prototype.boolean=!1;fr.prototype.commaOrSpaceSeparated=!1;fr.prototype.commaSeparated=!1;fr.prototype.defined=!1;fr.prototype.mustUseProperty=!1;fr.prototype.number=!1;fr.prototype.overloadedBoolean=!1;fr.prototype.property="";fr.prototype.spaceSeparated=!1;fr.prototype.space=void 0;let Z6e=0;const qe=xc(),Wt=xc(),uk=xc(),ee=xc(),nt=xc(),Vl=xc(),Nr=xc();function xc(){return 2**++Z6e}const dk=Object.freeze(Object.defineProperty({__proto__:null,boolean:qe,booleanish:Wt,commaOrSpaceSeparated:Nr,commaSeparated:Vl,number:ee,overloadedBoolean:uk,spaceSeparated:nt},Symbol.toStringTag,{value:"Module"})),fw=Object.keys(dk);class UC extends fr{constructor(n,r,i,s){let a=-1;if(super(n,r),ZF(this,"space",s),typeof i=="number")for(;++a<fw.length;){const o=fw[a];ZF(this,fw[a],(i&dk[o])===dk[o])}}}UC.prototype.defined=!0;function ZF(e,n,r){r&&(e[n]=r)}function Kd(e){const n={},r={};for(const[i,s]of Object.entries(e.properties)){const a=new UC(i,e.transform(e.attributes||{},i),s,e.space);e.mustUseProperty&&e.mustUseProperty.includes(i)&&(a.mustUseProperty=!0),n[i]=a,r[ck(i)]=i,r[ck(a.attribute)]=i}
vendor: 4,314 bytes, line 760
760return new yf(n,r,e.space)}const Z7=Kd({properties:{ariaActiveDescendant:null,ariaAtomic:Wt,ariaAutoComplete:null,ariaBusy:Wt,ariaChecked:Wt,ariaColCount:ee,ariaColIndex:ee,ariaColSpan:ee,ariaControls:nt,ariaCurrent:null,ariaDescribedBy:nt,ariaDetails:null,ariaDisabled:Wt,ariaDropEffect:nt,ariaErrorMessage:null,ariaExpanded:Wt,ariaFlowTo:nt,ariaGrabbed:Wt,ariaHasPopup:null,ariaHidden:Wt,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:nt,ariaLevel:ee,ariaLive:null,ariaModal:Wt,ariaMultiLine:Wt,ariaMultiSelectable:Wt,ariaOrientation:null,ariaOwns:nt,ariaPlaceholder:null,ariaPosInSet:ee,ariaPressed:Wt,ariaReadOnly:Wt,ariaRelevant:null,ariaRequired:Wt,ariaRoleDescription:nt,ariaRowCount:ee,ariaRowIndex:ee,ariaRowSpan:ee,ariaSelected:Wt,ariaSetSize:ee,ariaSort:null,ariaValueMax:ee,ariaValueMin:ee,ariaValueNow:ee,ariaValueText:null,role:null},transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()}});function eU(e,n){return n in e?e[n]:n}function tU(e,n){return eU(e,n.toLowerCase())}const eOe=Kd({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Vl,acceptCharset:nt,accessKey:nt,action:null,allow:null,allowFullScreen:qe,allowPaymentRequest:qe,allowUserMedia:qe,alpha:qe,alt:null,as:null,async:qe,autoCapitalize:null,autoComplete:nt,autoFocus:qe,autoPlay:qe,blocking:nt,capture:null,charSet:null,checked:qe,cite:null,className:nt,closedBy:null,colorSpace:null,cols:ee,colSpan:ee,command:null,commandFor:null,content:null,contentEditable:Wt,controls:qe,controlsList:nt,coords:ee|Vl,crossOrigin:null,data:null,dateTime:null,decoding:null,default:qe,defer:qe,dir:null,dirName:null,disabled:qe,download:uk,draggable:Wt,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:qe,formTarget:null,headers:nt,height:ee,hidden:uk,high:ee,href:null,hrefLang:null,htmlFor:nt,httpEquiv:nt,id:null,imageSizes:null,imageSrcSet:null,inert:qe,inputMode:null,integrity:null,is:null,isMap:qe,itemId:null,itemProp:nt,itemRef:nt,itemScope:qe,itemType:nt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:qe,low:ee,manifest:null,max:null,maxLength:ee,media:null,method:null,min:null,minLength:ee,multiple:qe,muted:qe,name:null,nonce:null,noModule:qe,noValidate:qe,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:qe,optimum:ee,pattern:null,ping:nt,placeholder:null,playsInline:qe,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:qe,referrerPolicy:null,rel:nt,required:qe,reversed:qe,rows:ee,rowSpan:ee,sandbox:nt,scope:null,scoped:qe,seamless:qe,selected:qe,shadowRootClonable:qe,shadowRootCustomElementRegistry:qe,shadowRootDelegatesFocus:qe,shadowRootMode:null,shadowRootSerializable:qe,shape:null,size:ee,sizes:null,slot:null,span:ee,spell
760Check:Wt,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ee,step:null,style:null,tabIndex:ee,target:null,title:null,translate:null,type:null,typeMustMatch:qe,useMap:null,value:Wt,width:ee,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:nt,axis:null,background:null,bgColor:null,border:ee,borderColor:null,bottomMargin:ee,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:qe,declare:qe,event:null,face:null,frame:null,frameBorder:null,hSpace:ee,leftMargin:ee,link:null,longDesc:null,lowSrc:null,marginHeight:ee,marginWidth:ee,noResize:qe,noHref:qe,noShade:qe,noWrap:qe,object:null,profile:null,prompt:null,rev:null,rightMargin:ee,rules:null,scheme:null,scrolling:Wt,standby:null,summary:null,text:null,topMargin:ee,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ee,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:qe,disablePictureInPicture:qe,disableRemotePlayback:qe,exportParts:Vl,part:nt,prefix:null,property:null,results:ee,security:null,unselectable:null},space:"html",transform:tU}),tOe=Kd({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav
760-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Nr,accentHeight:ee,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ee,amplitude:ee,arabicForm:null,ascent:ee,attributeName:null,attributeType:null,azimuth:ee,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ee,by:null,calcMode:null,capHeight:ee,className:nt,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:ee,diffuseConstant:ee,direction:null,display:null,dur:null,divisor:ee,dominantBaseline:null,download:qe,dx:null,dy:null,edgeMode:null,editable:null,elevation:ee,enableBackground:null,end:null,event:null,exponent:ee,externalResourcesRequired:null,fill:null,fillOpacity:ee,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Vl,g2:Vl,glyphName:Vl,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ee,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ee,horizOriginX:ee,horizOriginY:ee,id:null,ideographic:ee,
760imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ee,k:ee,k1:ee,k2:ee,k3:ee,k4:ee,kernelMatrix:Nr,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ee,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:ee,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:ee,overlineThickness:ee,paintOrder:null,panose1:null,path:null,pathLength:ee,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:nt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ee,pointsAtY:ee,pointsAtZ:ee,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Nr,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Nr,rev:Nr,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Nr,requiredFeatures:Nr,requiredFonts:Nr,requiredFormats:Nr,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:ee,specularExponent:ee,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ee,strikethroughThickness:ee,string:null,stroke:null,strokeDashArray:Nr,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ee,strokeOpacity:ee,strokeWidth:null,style:null,surfaceScale:ee,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Nr,tabIndex:ee,tableValues:null,target:null,targetX:ee,targetY:ee,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Nr,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ee,underlineThickness:ee,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ee,values:null,vAlphabetic:ee,vMathematical:ee,vectorEffect:null,vHanging:ee,vIdeographic:ee,version:null,vertAdvY:ee,vertOriginX:ee,vertOriginY:ee,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ee,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:eU}),nU=Kd({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}
vendor: 4,819 bytes, lines 760-761
760,space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()}}),rU=Kd({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:tU}),iU=Kd({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()}}),nOe={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},rOe=/[A-Z]/g,e4=/-[a-z]/g,iOe=/^data[-\w.:]+$/i;function sOe(e,n){const r=ck(n);let i=n,s=fr;if(r in e.normal)return e.property[e.normal[r]];if(r.length>4&&r.slice(0,4)==="data"&&iOe.test(n)){if(n.charAt(4)==="-"){const a=n.slice(5).replace(e4,oOe);i="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=n.slice(4);if(!e4.test(a)){let o=a.replace(rOe,aOe);o.charAt(0)!=="-"&&(o="-"+o),n="data"+o}}s=UC}return new s(i,n)}function aOe(e){return"-"+e.toLowerCase()}function oOe(e){return e.charAt(1).toUpperCase()}const lOe=X7([Z7,eOe,nU,rU,iU],"html"),VC=X7([Z7,tOe,nU,rU,iU],"svg");function cOe(e){return e.join(" ").trim()}var WC={},t4=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,uOe=/\n/g,dOe=/^\s*/,pOe=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,mOe=/^:\s*/,hOe=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,fOe=/^[;\s]*/,gOe=/^\s+|\s+$/g,xOe=`
761`,n4="/",r4="*",xl="",vOe="comment",bOe="declaration";function yOe(e,n){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];n=n||{};var r=1,i=1;function s(g){var f=g.match(uOe);f&&(r+=f.length);var x=g.lastIndexOf(xOe);i=~x?g.length-x:i+g.length}function a(){var g={line:r,column:i};return function(f){return f.position=new o(g),u(),f}}function o(g){this.start=g,this.end={line:r,column:i},this.source=n.source}o.prototype.content=e;function l(g){var f=new Error(n.source+":"+r+":"+i+": "+g);if(f.reason=g,f.filename=n.source,f.line=r,f.column=i,f.source=e,!n.silent)throw f}function c(g){var f=g.exec(e);if(f){var x=f[0];return s(x),e=e.slice(x.length),f}}function u(){c(dOe)}function d(g){var f;for(g=g||[];f=p();)f!==!1&&g.push(f);return g}function p(){var g=a();if(!(n4!=e.charAt(0)||r4!=e.charAt(1))){for(var f=2;xl!=e.charAt(f)&&(r4!=e.charAt(f)||n4!=e.charAt(f+1));)++f;if(f+=2,xl===e.charAt(f-1))return l("End of comment missing");var x=e.slice(2,f-2);return i+=2,s(x),e=e.slice(f),i+=2,g({type:vOe,comment:x})}}function m(){var g=a(),f=c(pOe);if(f){if(p(),!c(mOe))return l("property missing ':'");var x=c(hOe),v=g({type:bOe,property:i4(f[0].replace(t4,xl)),value:x?i4(x[0].replace(t4,xl)):xl});return c(fOe),v}}function h(){var g=[];d(g);for(var f;f=m();)f!==!1&&(g.push(f),d(g));return g}return u(),h()}function i4(e){return e?e.replace(gOe,xl):xl}var jOe=yOe,wOe=lo&&lo.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(WC,"__esModule",{value:!0});WC.default=kOe;const NOe=wOe(jOe);function kOe(e,n){let r=null;if(!e||typeof e!="string")return r;const i=(0,NOe.default)(e),s=typeof n=="function";return i.forEach(a=>{if(a.type!=="declaration")return;const{property:o,value:l}=a;s?n(o,l,a):l&&(r=r||{},r[o]=l)}),r}var Yy={};Object.defineProperty(Yy,"__esModule",{value:!0});Yy.camelCase=void 0;var qOe=/^--[a-zA-Z0-9_-]+$/,SOe=/-([a-z])/g,COe=/^[^-]+$/,POe=/^-(webkit|moz|ms|o|khtml)-/,EOe=/^-(ms)-/,TOe=function(e){return!e||COe.test(e)||qOe.test(e)},IOe=function(e,n){return n.toUpperCase()},s4=function(e,n){return"".concat(n,"-")},AOe=function(e,n){return n===void 0&&(n={}),TOe(e)?e:(e=e.toLowerCase(),n.reactCompat?e=e.replace(EOe,s4):e=e.replace(POe,s4),e.replace(SOe,IOe))};Yy.camelCase=AOe;var LOe=lo&&lo.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},FOe=LOe(WC),_Oe=Yy;function pk(e,n){var r={};return!e||typeof e!="string"||(0,FOe.default)(e,function(i,s){i&&s&&(r[(0,_Oe.camelCase)(i,n)]=s)}),r}pk.default=pk;var OOe=pk;const ROe=Ue(OOe),sU=aU("end"),HC=aU("start");function aU(e){return n;function n(r){const i=r&&r.position&&r.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function DOe(e){const n=HC(e),r=sU(e);if(n&&r)return{start:n,end:r}}function mm(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?a4(e.position):"start"in e||"end"in e?a4(e):"line"in e||"column"in e?mk(e):""}function mk(e){return o4(e&&e.line)+":"+o4(e&&e.column)}function a4(e){return mk(e&&e.start)+"-"+mk(e&&e.end)}function o4(e){return e&&typeof e=="number"?e:1}
vendor: 1,927 bytes, line 761
761class Rn extends Error{constructor(n,r,i){super(),typeof r=="string"&&(i=r,r=void 0);let s="",a={},o=!1;if(r&&("line"in r&&"column"in r?a={place:r}:"start"in r&&"end"in r?a={place:r}:"type"in r?a={ancestors:[r],place:r.position}:a={...r}),typeof n=="string"?s=n:!a.cause&&n&&(o=!0,s=n.message,a.cause=n),!a.ruleId&&!a.source&&typeof i=="string"){const c=i.indexOf(":");c===-1?a.ruleId=i:(a.source=i.slice(0,c),a.ruleId=i.slice(c+1))}if(!a.place&&a.ancestors&&a.ancestors){const c=a.ancestors[a.ancestors.length-1];c&&(a.place=c.position)}const l=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=s,this.line=l?l.line:void 0,this.name=mm(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=o&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Rn.prototype.file="";Rn.prototype.name="";Rn.prototype.reason="";Rn.prototype.message="";Rn.prototype.stack="";Rn.prototype.column=void 0;Rn.prototype.line=void 0;Rn.prototype.ancestors=void 0;Rn.prototype.cause=void 0;Rn.prototype.fatal=void 0;Rn.prototype.place=void 0;Rn.prototype.ruleId=void 0;Rn.prototype.source=void 0;const GC={}.hasOwnProperty,MOe=new Map,$Oe=/[A-Z]/g,BOe=new Set(["table","tbody","thead","tfoot","tr"]),zOe=new Set(["td","th"]),oU="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function UOe(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const r=n.filePath||void 0;let i;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=JOe(r,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");
vendor: 7,111 bytes, line 761
761if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=YOe(r,n.jsx,n.jsxs)}const s={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:i,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?VC:lOe,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},a=lU(s,e,void 0);return a&&typeof a!="string"?a:s.create(e,s.Fragment,{children:a||void 0},void 0)}function lU(e,n,r){if(n.type==="element")return VOe(e,n,r);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return WOe(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return GOe(e,n,r);if(n.type==="mdxjsEsm")return HOe(e,n);if(n.type==="root")return KOe(e,n,r);if(n.type==="text")return QOe(e,n)}function VOe(e,n,r){const i=e.schema;let s=i;n.tagName.toLowerCase()==="svg"&&i.space==="html"&&(s=VC,e.schema=s),e.ancestors.push(n);const a=uU(e,n.tagName,!1),o=XOe(e,n);let l=QC(e,n);return BOe.has(n.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!X6e(c):!0})),cU(e,o,a,n),KC(o,l),e.ancestors.pop(),e.schema=i,e.create(n,a,o,r)}function WOe(e,n){if(n.data&&n.data.estree&&e.evaluater){const i=n.data.estree.body[0];return i.type,e.evaluater.evaluateExpression(i.expression)}Rh(e,n.position)}function HOe(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);Rh(e,n.position)}function GOe(e,n,r){const i=e.schema;let s=i;n.name==="svg"&&i.space==="html"&&(s=VC,e.schema=s),e.ancestors.push(n);const a=n.name===null?e.Fragment:uU(e,n.name,!0),o=ZOe(e,n),l=QC(e,n);return cU(e,o,a,n),KC(o,l),e.ancestors.pop(),e.schema=i,e.create(n,a,o,r)}function KOe(e,n,r){const i={};return KC(i,QC(e,n)),e.create(n,e.Fragment,i,r)}function QOe(e,n){return n.value}function cU(e,n,r,i){typeof r!="string"&&r!==e.Fragment&&e.passNode&&(n.node=i)}function KC(e,n){if(n.length>0){const r=n.length>1?n:n[0];r&&(e.children=r)}}function YOe(e,n,r){return i;function i(s,a,o,l){const u=Array.isArray(o.children)?r:n;return l?u(a,o,l):u(a,o)}}function JOe(e,n){return r;function r(i,s,a,o){const l=Array.isArray(a.children),c=HC(i);return n(s,a,o,l,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function XOe(e,n){const r={};let i,s;for(s in n.properties)if(s!=="children"&&GC.call(n.properties,s)){const a=eRe(e,s,n.properties[s]);if(a){const[o,l]=a;e.tableCellAlignToStyle&&o==="align"&&typeof l=="string"&&zOe.has(n.tagName)?i=l:r[o]=l}}if(i){const a=r.style||(r.style={});a[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return r}function ZOe(e,n){const r={};for(const i of n.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&e.evaluater){const a=i.data.estree.body[0];a.type;const o=a.expression;o.type;const l=o.properties[0];l.type,Object.assign(r,e.evaluater.evaluateExpression(l.argument))}else Rh(e,n.position);else{const s=i.name;let a;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&e.evaluater){const l=i.value.data.estree.body[0];l.type,a=e.evaluater.evaluateExpression(l.expression)}else Rh(e,n.position);else a=i.value===null?!0:i.value;r[s]=a}return r}function QC(e,n){const r=[];let i=-1;const s=e.passKeys?new Map:MOe;for(;++i<n.children.length;){const a=n.children[i];let o;if(e.passKeys){const c=a.type==="element"?a.tagName:a.type==="mdxJsxFlowElement"||a.type==="mdxJsxTextElement"?a.name:void 0;if(c){const u=s.get(c)||0;o=c+"-"+u,s.set(c,u+1)}}const l=lU(e,a,o);l!==void 0&&r.push(l)}return r}function eRe(e,n,r){const i=sOe(e.schema,n);if(!(r==null||typeof r=="number"&&Number.isNaN(r))){if(Array.isArray(r)&&(r=i.commaSeparated?G6e(r):cOe(r)),i.property==="style"){let s=typeof r=="object"?r:tRe(e,String(r));return e.stylePropertyNameCase==="css"&&(s=nRe(s)),["style",s]}return[e.elementAttributeNameCase==="react"&&i.space?nOe[i.property]||i.property:i.attribute,r]}}function tRe(e,n){try{return ROe(n,{reactCompat:!0})}catch(r){if(e.ignoreInvalidStyle)return{};const i=r,s=new Rn("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:i,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw s.file=e.filePath||void 0,s.url=oU+"#cannot-parse-style-attribute",s}}function uU(e,n,r){let i;if(!r)i={type:"Literal",value:n};else if(n.includes(".")){const s=n.split(".");let a=-1,o;for(;++a<s.length;){const l=JF(s[a])?{type:"Identifier",name:s[a]}:{type:"Literal",value:s[a]};o=o?{type:"MemberExpression",object:o,property:l,computed:!!(a&&l.type==="Literal"),optional:!1}:l}i=o}else i=JF(n)&&!/^[a-z]/.test(n)?{type:"Identifier",name:n}:{type:"Literal",value:n};if(i.type==="Literal"){const s=i.value;return GC.call(e.components,s)?e.components[s]:s}if(e.evaluater)return e.evaluater.evaluateExpression(i);Rh(e)}function Rh(e,n){const r=new Rn("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:n,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw r.file=e.filePath||void 0,r.url=oU+"#cannot-handle-mdx-estrees-without-createevaluater",r}function nRe(e){const n={};let r;for(r in e)GC.call(e,r)&&(n[rRe(r)]=e[r]);return n}function rRe(e){let n=e.replace($Oe,iRe);return n.slice(0,3)==="ms-"&&(n="-"+n),n}function iRe(e){return"-"+e.toLowerCase()}const gw={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},sRe={};function YC(e,n){const r=sRe,i=typeof r.includeImageAlt=="boolean"?r.includeImageAlt:!0,s=typeof r.includeHtml=="boolean"?r.includeHtml:!0;return dU(e,i,s)}function dU(e,n,r){if(aRe(e)){if("value"in e)return e.type==="html"&&!r?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return l4(e.children,n,r)}return Array.isArray(e)?l4(e,n,r):""}function l4(e,n,r){const i=[];let s=-1;for(;++s<e.length;)i[s]=dU(e[s],n,r);return i.join("")}function aRe(e){return!!(e&&typeof e=="object")}const c4=document.createElement("i");function JC(e){const n="&"+e+";";c4.innerHTML=n;const r=c4.textContent;return r.charCodeAt(r.length-1)===59&&e!=="semi"||r===n?!1:r}function Fr(e,n,r,i){const s=e.length;let a=0,o;if(n<0?n=-n>s?0:s+n:n=n>s?s:n,r=r>0?r:0,i.length<1e4)o=Array.from(i),o.unshift(n,r),e.splice(...o);else for(r&&e.splice(n,r);a<i.length;)o=i.slice(a,a+1e4),o.unshift(n,0),e.splice(...o),a+=1e4,n+=1e4}function ri(e,n){return e.length>0?(Fr(e,e.length,0,n),e):n}const u4={}.hasOwnProperty;function pU(e){const n={};let r=-1;for(;++r<e.length;)oRe(n,e[r]);return n}function oRe(e,n){let r;for(r in n){const s=(u4.call(e,r)?e[r]:void 0)||(e[r]={}),a=n[r];let o;if(a)for(o in a){u4.call(s,o)||(s[o]=[]);const l=a[o];lRe(s[o],Array.isArray(l)?l:l?[l]:[])}}}function lRe(e,n){let r=-1;const i=[];for(;++r<n.length;)(n[r].add==="after"?e:i).push(n[r]);Fr(e,0,0,i)}
vendor: 10,155 bytes, line 761
761function mU(e,n){const r=Number.parseInt(e,n);return r<9||r===11||r>13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||(r&65535)===65535||(r&65535)===65534||r>1114111?"�":String.fromCodePoint(r)}function Ui(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Vn=Ho(/[A-Za-z]/),_n=Ho(/[\dA-Za-z]/),cRe=Ho(/[#-'*+\--9=?A-Z^-~]/);function fb(e){return e!==null&&(e<32||e===127)}const hk=Ho(/\d/),uRe=Ho(/[\dA-Fa-f]/),dRe=Ho(/[!-/:-@[-`{-~]/);function ve(e){return e!==null&&e<-2}function st(e){return e!==null&&(e<0||e===32)}function Ae(e){return e===-2||e===-1||e===32}const Jy=Ho(new RegExp("\\p{P}|\\p{S}","u")),oc=Ho(/\s/);function Ho(e){return n;function n(r){return r!==null&&r>-1&&e.test(String.fromCharCode(r))}}function Qd(e){const n=[];let r=-1,i=0,s=0;for(;++r<e.length;){const a=e.charCodeAt(r);let o="";if(a===37&&_n(e.charCodeAt(r+1))&&_n(e.charCodeAt(r+2)))s=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){const l=e.charCodeAt(r+1);a<56320&&l>56319&&l<57344?(o=String.fromCharCode(a,l),s=1):o="�"}else o=String.fromCharCode(a);o&&(n.push(e.slice(i,r),encodeURIComponent(o)),i=r+s+1,o=""),s&&(r+=s,s=0)}return n.join("")+e.slice(i)}function De(e,n,r,i){const s=i?i-1:Number.POSITIVE_INFINITY;let a=0;return o;function o(c){return Ae(c)?(e.enter(r),l(c)):n(c)}function l(c){return Ae(c)&&a++<s?(e.consume(c),l):(e.exit(r),n(c))}}const pRe={tokenize:mRe};function mRe(e){const n=e.attempt(this.parser.constructs.contentInitial,i,s);let r;return n;function i(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),De(e,n,"linePrefix")}function s(l){return e.enter("paragraph"),a(l)}function a(l){const c=e.enter("chunkText",{contentType:"text",previous:r});return r&&(r.next=c),r=c,o(l)}function o(l){if(l===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(l);return}return ve(l)?(e.consume(l),e.exit("chunkText"),a):(e.consume(l),o)}}const hRe={tokenize:fRe},d4={tokenize:gRe};function fRe(e){const n=this,r=[];let i=0,s,a,o;return l;function l(y){if(i<r.length){const N=r[i];return n.containerState=N[1],e.attempt(N[0].continuation,c,u)(y)}return u(y)}function c(y){if(i++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,s&&b();const N=n.events.length;let j=N,w;for(;j--;)if(n.events[j][0]==="exit"&&n.events[j][1].type==="chunkFlow"){w=n.events[j][1].end;break}v(i);let q=N;for(;q<n.events.length;)n.events[q][1].end={...w},q++;return Fr(n.events,j+1,0,n.events.slice(N)),n.events.length=q,u(y)}return l(y)}function u(y){if(i===r.length){if(!s)return m(y);if(s.currentConstruct&&s.currentConstruct.concrete)return g(y);n.interrupt=!!(s.currentConstruct&&!s._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(d4,d,p)(y)}function d(y){return s&&b(),v(i),m(y)}function p(y){return n.parser.lazy[n.now().line]=i!==r.length,o=n.now().offset,g(y)}function m(y){return n.containerState={},e.attempt(d4,h,g)(y)}function h(y){return i++,r.push([n.currentConstruct,n.containerState]),m(y)}function g(y){if(y===null){s&&b(),v(0),e.consume(y);return}return s=s||n.parser.flow(n.now()),e.enter("chunkFlow",{_tokenizer:s,contentType:"flow",previous:a}),f(y)}function f(y){if(y===null){x(e.exit("chunkFlow"),!0),v(0),e.consume(y);return}return ve(y)?(e.consume(y),x(e.exit("chunkFlow")),i=0,n.interrupt=void 0,l):(e.consume(y),f)}function x(y,N){const j=n.sliceStream(y);if(N&&j.push(null),y.previous=a,a&&(a.next=y),a=y,s.defineSkip(y.start),s.write(j),n.parser.lazy[y.start.line]){let w=s.events.length;for(;w--;)if(s.events[w][1].start.offset<o&&(!s.events[w][1].end||s.events[w][1].end.offset>o))return;const q=n.events.length;let P=q,T,E;for(;P--;)if(n.events[P][0]==="exit"&&n.events[P][1].type==="chunkFlow"){if(T){E=n.events[P][1].end;break}T=!0}for(v(i),w=q;w<n.events.length;)n.events[w][1].end={...E},w++;Fr(n.events,P+1,0,n.events.slice(q)),n.events.length=w}}function v(y){let N=r.length;for(;N-- >y;){const j=r[N];n.containerState=j[1],j[0].exit.call(n,e)}r.length=y}function b(){s.write([null]),a=void 0,s=void 0,n.containerState._closeFlow=void 0}}function gRe(e,n,r){return De(e,e.attempt(this.parser.constructs.document,n,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function xd(e){if(e===null||st(e)||oc(e))return 1;if(Jy(e))return 2}function Xy(e,n,r){const i=[];let s=-1;for(;++s<e.length;){const a=e[s].resolveAll;a&&!i.includes(a)&&(n=a(n,r),i.push(a))}return n}const fk={name:"attention",resolveAll:xRe,tokenize:vRe};function xRe(e,n){let r=-1,i,s,a,o,l,c,u,d;for(;++r<e.length;)if(e[r][0]==="enter"&&e[r][1].type==="attentionSequence"&&e[r][1]._close){for(i=r;i--;)if(e[i][0]==="exit"&&e[i][1].type==="attentionSequence"&&e[i][1]._open&&n.sliceSerialize(e[i][1]).charCodeAt(0)===n.sliceSerialize(e[r][1]).charCodeAt(0)){if((e[i][1]._close||e[r][1]._open)&&(e[r][1].end.offset-e[r][1].start.offset)%3&&!((e[i][1].end.offset-e[i][1].start.offset+e[r][1].end.offset-e[r][1].start.offset)%3))continue;c=e[i][1].end.offset-e[i][1].start.offset>1&&e[r][1].end.offset-e[r][1].start.offset>1?2:1;const p={...e[i][1].end},m={...e[r][1].start};p4(p,-c),p4(m,c),o={type:c>1?"strongSequence":"emphasisSequence",start:p,end:{...e[i][1].end}},l={type:c>1?"strongSequence":"emphasisSequence",start:{...e[r][1].start},end:m},a={type:c>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[r][1].start}},s={type:c>1?"strong":"emphasis",start:{...o.start},end:{...l.end}},e[i][1].end={...o.start},e[r][1].start={...l.end},u=[],e[i][1].end.offset-e[i][1].start.offset&&(u=ri(u,[["enter",e[i][1],n],["exit",e[i][1],n]])),u=ri(u,[["enter",s,n],["enter",o,n],["exit",o,n],["enter",a,n]]),u=ri(u,Xy(n.parser.constructs.insideSpan.null,e.slice(i+1,r),n)),u=ri(u,[["exit",a,n],["enter",l,n],["exit",l,n],["exit",s,n]]),e[r][1].end.offset-e[r][1].start.offset?(d=2,u=ri(u,[["enter",e[r][1],n],["exit",e[r][1],n]])):d=0,Fr(e,i-1,r-i+3,u),r=i+u.length-d-2;break}}for(r=-1;++r<e.length;)e[r][1].type==="attentionSequence"&&(e[r][1].type="data");return e}function vRe(e,n){const r=this.parser.constructs.attentionMarkers.null,i=this.previous,s=xd(i);let a;return o;function o(c){return a=c,e.enter("attentionSequence"),l(c)}function l(c){if(c===a)return e.consume(c),l;const u=e.exit("attentionSequence"),d=xd(c),p=!d||d===2&&s||r.includes(c),m=!s||s===2&&d||r.includes(i);return u._open=!!(a===42?p:p&&(s||!m)),u._close=!!(a===42?m:m&&(d||!p)),n(c)}}function p4(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}const bRe={name:"autolink",tokenize:yRe};function yRe(e,n,r){let i=0;return s;function s(h){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(h){return Vn(h)?(e.consume(h),o):h===64?r(h):u(h)}function o(h){return h===43||h===45||h===46||_n(h)?(i=1,l(h)):u(h)}function l(h){return h===58?(e.consume(h),i=0,c):(h===43||h===45||h===46||_n(h))&&i++<32?(e.consume(h),l):(i=0,u(h))}function c(h){return h===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),n):h===null||h===32||h===60||fb(h)?r(h):(e.consume(h),c)}function u(h){return h===64?(e.consume(h),d):cRe(h)?(e.consume(h),u):r(h)}function d(h){return _n(h)?p(h):r(h)}function p(h){return h===46?(e.consume(h),i=0,d):h===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),n):m(h)}function m(h){if((h===45||_n(h))&&i++<63){const g=h===45?m:p;return e.consume(h),g}return r(h)}}const jf={partial:!0,tokenize:jRe};function jRe(e,n,r){return i;function i(a){return Ae(a)?De(e,s,"linePrefix")(a):s(a)}function s(a){return a===null||ve(a)?n(a):r(a)}}const hU={continuation:{tokenize:NRe},exit:kRe,name:"blockQuote",tokenize:wRe};function wRe(e,n,r){const i=this;return s;function s(o){if(o===62){const l=i.containerState;return l.open||(e.enter("blockQuote",{_container:!0}),l.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),a}return r(o)}function a(o){return Ae(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(o))}}function NRe(e,n,r){const i=this;return s;function s(o){return Ae(o)?De(e,a,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):a(o)}function a(o){return e.attempt(hU,n,r)(o)}}function kRe(e){e.exit("blockQuote")}const fU={name:"characterEscape",tokenize:qRe};function qRe(e,n,r){return i;function i(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),s}function s(a){return dRe(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):r(a)}}const gU={name:"characterReference",tokenize:SRe};function SRe(e,n,r){const i=this;let s=0,a,o;return l;function l(p){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(p),e.exit("characterReferenceMarker"),c}function c(p){return p===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(p),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),a=31,o=_n,d(p))}function u(p){return p===88||p===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(p),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=uRe,d):(e.enter("characterReferenceValue"),a=7,o=hk,d(p))}function d(p){if(p===59&&s){const m=e.exit("characterReferenceValue");return o===_n&&!JC(i.sliceSerialize(m))?r(p):(e.enter("characterReferenceMarker"),e.consume(p),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return o(p)&&s++<a?(e.consume(p),d):r(p)}}const m4={partial:!0,tokenize:PRe},h4={concrete:!0,name:"codeFenced",tokenize:CRe};function CRe(e,n,r){const i=this,s={partial:!0,tokenize:j};let a=0,o=0,l;return c;function c(w){return u(w)}function u(w){const q=i.events[i.events.length-1];return a=q&&q[1].type==="linePrefix"?q[2].sliceSerialize(q[1],!0).length:0,l=w,e.enter("co
761deFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),d(w)}function d(w){return w===l?(o++,e.consume(w),d):o<3?r(w):(e.exit("codeFencedFenceSequence"),Ae(w)?De(e,p,"whitespace")(w):p(w))}function p(w){return w===null||ve(w)?(e.exit("codeFencedFence"),i.interrupt?n(w):e.check(m4,f,N)(w)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),m(w))}function m(w){return w===null||ve(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),p(w)):Ae(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),De(e,h,"whitespace")(w)):w===96&&w===l?r(w):(e.consume(w),m)}function h(w){return w===null||ve(w)?p(w):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),g(w))}function g(w){return w===null||ve(w)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),p(w)):w===96&&w===l?r(w):(e.consume(w),g)}function f(w){return e.attempt(s,N,x)(w)}function x(w){return e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),v}function v(w){return a>0&&Ae(w)?De(e,b,"linePrefix",a+1)(w):b(w)}function b(w){return w===null||ve(w)?e.check(m4,f,N)(w):(e.enter("codeFlowValue"),y(w))}function y(w){return w===null||ve(w)?(e.exit("codeFlowValue"),b(w)):(e.consume(w),y)}function N(w){return e.exit("codeFenced"),n(w)}function j(w,q,P){let T=0;return E;function E(M){return w.enter("lineEnding"),w.consume(M),w.exit("lineEnding"),A}function A(M){return w.enter("codeFencedFence"),Ae(M)?De(w,_,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):_(M)}function _(M){return M===l?(w.enter("codeFencedFenceSequence"),D(M)):P(M)}function D(M){return M===l?(T++,w.consume(M),D):T>=o?(w.exit("codeFencedFenceSequence"),Ae(M)?De(w,R,"whitespace")(M):R(M)):P(M)}function R(M){return M===null||ve(M)?(w.exit("codeFencedFence"),q(M)):P(M)}}}function PRe(e,n,r){const i=this;return s;function s(o){return o===null?r(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a)}function a(o){return i.parser.lazy[i.now().line]?r(o):n(o)}}const xw={name:"codeIndented",tokenize:TRe},ERe={partial:!0,tokenize:IRe};function TRe(e,n,r){const i=this;return s;function s(u){return e.enter("codeIndented"),De(e,a,"linePrefix",5)(u)}function a(u){const d=i.events[i.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?o(u):r(u)}function o(u){return u===null?c(u):ve(u)?e.attempt(ERe,o,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||ve(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),l)}function c(u){return e.exit("codeIndented"),n(u)}}function IRe(e,n,r){const i=this;return s;function s(o){return i.parser.lazy[i.now().line]?r(o):ve(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):De(e,a,"linePrefix",5)(o)}function a(o){const l=i.events[i.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?n(o):ve(o)?s(o):r(o)}}const ARe={name:"codeText",previous:FRe,resolve:LRe,tokenize:_Re};function LRe(e){let n=e.length-4,r=3,i,s;if((e[r][1].type==="lineEnding"||e[r][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(i=r;++i<n;)if(e[i][1].type==="codeTextData"){e[r][1].type="codeTextPadding",e[n][1].type="codeTextPadding",r+=2,n-=2;break}}for(i=r-1,n++;++i<=n;)s===void 0?i!==n&&e[i][1].type!=="lineEnding"&&(s=i):(i===n||e[i][1].type==="lineEnding")&&(e[s][1].type="codeTextData",i!==s+2&&(e[s][1].end=e[i-1][1].end,e.splice(s+2,i-s-2),n-=i-s-2,i=s+2),s=void 0);return e}function FRe(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function _Re(e,n,r){let i=0,s,a;return o;function o(p){return e.enter("codeText"),e.enter("codeTextSequence"),l(p)}function l(p){return p===96?(e.consume(p),i++,l):(e.exit("codeTextSequence"),c(p))}function c(p){return p===null?r(p):p===32?(e.enter("space"),e.consume(p),e.exit("space"),c):p===96?(a=e.enter("codeTextSequence"),s=0,d(p)):ve(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),c):(e.enter("codeTextData"),u(p))}function u(p){return p===null||p===32||p===96||ve(p)?(e.exit("codeTextData"),c(p)):(e.consume(p),u)}function d(p){return p===96?(e.consume(p),s++,d):s===i?(e.exit("codeTextSequence"),e.exit("codeText"),n(p)):(a.type="codeTextData",u(p))}}class ORe{constructor(n){this.left=n?[...n]:[],this.right=[]}get(n){if(n<0||n>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return n<this.left.length?this.left[n]:this.right[this.right.length-n+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(n,r){const i=r??Number.POSITIVE_INFINITY;return i<this.left.length?this.left.slice(n,i):n>this.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(n,r,i){const s=r||0;this.setCursor(Math.trunc(n));const a=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return i&&Ap(this.left,i),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),Ap(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),Ap(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n<this.left.length){const r=this.left.splice(n,Number.POSITIVE_INFINITY);Ap(this.right,r.reverse())}else{const r=this.right.splice(this.left.length+this.right.length-n,Number.POSITIVE_INFINITY);Ap(this.left,r.reverse())}}}function Ap(e,n){let r=0;if(n.length<1e4)e.push(...n);else for(;r<n.length;)e.push(...n.slice(r,r+1e4)),r+=1e4}function xU(e){const n={};let r=-1,i,s,a,o,l,c,u;const d=new ORe(e);for(;++r<d.length;){for(;r in n;)r=n[r];if(i=d.get(r),r&&i[1].type==="chunkFlow"&&d.get(r-1)[1].type==="listItemPrefix"&&(c=i[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type==="lineEndingBlank"&&(a+=2),a<c.length&&c[a][1].type==="content"))for(;++a<c.length&&c[a][1].type!=="content";)c[a][1].type==="chunkText"&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(i[0]==="enter")i[1].contentType&&(Object.assign(n,RRe(d,r)),r=n[r],u=!0);else if(i[1]._container){for(a=r,s=void 0;a--;)if(o=d.get(a),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank")o[0]==="enter"&&(s&&(d.get(s)[1].type="lineEndingBlank"),o[1].type="lineEnding",s=a);else if(!(o[1].type==="linePrefix"||o[1].type==="listItemIndent"))break;s&&(i[1].end={...d.get(s)[1].start},l=d.slice(s,r),l.unshift(i),d.splice(s,r-s+1,l))}}return Fr(e,0,Number.POSITIVE_INFINITY,d.slice(0)),!u}function RRe(e,n){const r=e.get(n)[1],i=e.get(n)[2];let s=n-1;const a=[];let o=r._tokenizer;o||(o=i.parser[r.contentType](r.start),r._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));const l=o.events,c=[],u={};let d,p,m=-1,h=r,g=0,f=0;const x=[f];for(;h;){for(;e.get(++s)[1]!==h;);a.push(s),h._tokenizer||(d=i.sliceStream(h),h.next||d.push(null),p&&o.defineSki
vendor: 22,986 bytes, line 761
761p(h.start),h._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(d),h._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),p=h,h=h.next}for(h=r;++m<l.length;)l[m][0]==="exit"&&l[m-1][0]==="enter"&&l[m][1].type===l[m-1][1].type&&l[m][1].start.line!==l[m][1].end.line&&(f=m+1,x.push(f),h._tokenizer=void 0,h.previous=void 0,h=h.next);for(o.events=[],h?(h._tokenizer=void 0,h.previous=void 0):x.pop(),m=x.length;m--;){const v=l.slice(x[m],x[m+1]),b=a.pop();c.push([b,b+v.length-1]),e.splice(b,2,v)}for(c.reverse(),m=-1;++m<c.length;)u[g+c[m][0]]=g+c[m][1],g+=c[m][1]-c[m][0]-1;return u}const DRe={resolve:$Re,tokenize:BRe},MRe={partial:!0,tokenize:zRe};function $Re(e){return xU(e),e}function BRe(e,n){let r;return i;function i(l){return e.enter("content"),r=e.enter("chunkContent",{contentType:"content"}),s(l)}function s(l){return l===null?a(l):ve(l)?e.check(MRe,o,a)(l):(e.consume(l),s)}function a(l){return e.exit("chunkContent"),e.exit("content"),n(l)}function o(l){return e.consume(l),e.exit("chunkContent"),r.next=e.enter("chunkContent",{contentType:"content",previous:r}),r=r.next,s}}function zRe(e,n,r){const i=this;return s;function s(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),De(e,a,"linePrefix")}function a(o){if(o===null||ve(o))return r(o);const l=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?n(o):e.interrupt(i.parser.constructs.flow,r,n)(o)}}function vU(e,n,r,i,s,a,o,l,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return p;function p(v){return v===60?(e.enter(i),e.enter(s),e.enter(a),e.consume(v),e.exit(a),m):v===null||v===32||v===41||fb(v)?r(v):(e.enter(i),e.enter(o),e.enter(l),e.enter("chunkString",{contentType:"string"}),f(v))}function m(v){return v===62?(e.enter(a),e.consume(v),e.exit(a),e.exit(s),e.exit(i),n):(e.enter(l),e.enter("chunkString",{contentType:"string"}),h(v))}function h(v){return v===62?(e.exit("chunkString"),e.exit(l),m(v)):v===null||v===60||ve(v)?r(v):(e.consume(v),v===92?g:h)}function g(v){return v===60||v===62||v===92?(e.consume(v),h):h(v)}function f(v){return!d&&(v===null||v===41||st(v))?(e.exit("chunkString"),e.exit(l),e.exit(o),e.exit(i),n(v)):d<u&&v===40?(e.consume(v),d++,f):v===41?(e.consume(v),d--,f):v===null||v===32||v===40||fb(v)?r(v):(e.consume(v),v===92?x:f)}function x(v){return v===40||v===41||v===92?(e.consume(v),f):f(v)}}function bU(e,n,r,i,s,a){const o=this;let l=0,c;return u;function u(h){return e.enter(i),e.enter(s),e.consume(h),e.exit(s),e.enter(a),d}function d(h){return l>999||h===null||h===91||h===93&&!c||h===94&&!l&&"_hiddenFootnoteSupport"in o.parser.constructs?r(h):h===93?(e.exit(a),e.enter(s),e.consume(h),e.exit(s),e.exit(i),n):ve(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),p(h))}function p(h){return h===null||h===91||h===93||ve(h)||l++>999?(e.exit("chunkString"),d(h)):(e.consume(h),c||(c=!Ae(h)),h===92?m:p)}function m(h){return h===91||h===92||h===93?(e.consume(h),l++,p):p(h)}}function yU(e,n,r,i,s,a){let o;return l;function l(m){return m===34||m===39||m===40?(e.enter(i),e.enter(s),e.consume(m),e.exit(s),o=m===40?41:m,c):r(m)}function c(m){return m===o?(e.enter(s),e.consume(m),e.exit(s),e.exit(i),n):(e.enter(a),u(m))}function u(m){return m===o?(e.exit(a),c(o)):m===null?r(m):ve(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),De(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===o||m===null||ve(m)?(e.exit("chunkString"),u(m)):(e.consume(m),m===92?p:d)}function p(m){return m===o||m===92?(e.consume(m),d):d(m)}}function hm(e,n){let r;return i;function i(s){return ve(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),r=!0,i):Ae(s)?De(e,i,r?"linePrefix":"lineSuffix")(s):n(s)}}const URe={name:"definition",tokenize:WRe},VRe={partial:!0,tokenize:HRe};function WRe(e,n,r){const i=this;let s;return a;function a(h){return e.enter("definition"),o(h)}function o(h){return bU.call(i,e,l,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function l(h){return s=Ui(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),c):r(h)}function c(h){return st(h)?hm(e,u)(h):u(h)}function u(h){return vU(e,d,r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function d(h){return e.attempt(VRe,p,p)(h)}function p(h){return Ae(h)?De(e,m,"whitespace")(h):m(h)}function m(h){return h===null||ve(h)?(e.exit("definition"),i.parser.defined.push(s),n(h)):r(h)}}function HRe(e,n,r){return i;function i(l){return st(l)?hm(e,s)(l):r(l)}function s(l){return yU(e,a,r,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function a(l){return Ae(l)?De(e,o,"whitespace")(l):o(l)}function o(l){return l===null||ve(l)?n(l):r(l)}}const GRe={name:"hardBreakEscape",tokenize:KRe};function KRe(e,n,r){return i;function i(a){return e.enter("hardBreakEscape"),e.consume(a),s}function s(a){return ve(a)?(e.exit("hardBreakEscape"),n(a)):r(a)}}const QRe={name:"headingAtx",resolve:YRe,tokenize:JRe};function YRe(e,n){let r=e.length-2,i=3,s,a;return e[i][1].type==="whitespace"&&(i+=2),r-2>i&&e[r][1].type==="whitespace"&&(r-=2),e[r][1].type==="atxHeadingSequence"&&(i===r-1||r-4>i&&e[r-2][1].type==="whitespace")&&(r-=i+1===r?2:4),r>i&&(s={type:"atxHeadingText",start:e[i][1].start,end:e[r][1].end},a={type:"chunkText",start:e[i][1].start,end:e[r][1].end,contentType:"text"},Fr(e,i,r-i+1,[["enter",s,n],["enter",a,n],["exit",a,n],["exit",s,n]])),e}function JRe(e,n,r){let i=0;return s;function s(d){return e.enter("atxHeading"),a(d)}function a(d){return e.enter("atxHeadingSequence"),o(d)}function o(d){return d===35&&i++<6?(e.consume(d),o):d===null||st(d)?(e.exit("atxHeadingSequence"),l(d)):r(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||ve(d)?(e.exit("atxHeading"),n(d)):Ae(d)?De(e,l,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),l(d))}function u(d){return d===null||d===35||st(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const XRe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],f4=["pre","script","style","textarea"],ZRe={concrete:!0,name:"htmlFlow",resolveTo:nDe,tokenize:rDe},eDe={partial:!0,tokenize:sDe},tDe={partial:!0,tokenize:iDe};function nDe(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function rDe(e,n,r){const i=this;let s,a,o,l,c;return u;function u(F){return d(F)}function d(F){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(F),p}function p(F){return F===33?(e.consume(F),m):F===47?(e.consume(F),a=!0,f):F===63?(e.consume(F),s=3,i.interrupt?n:I):Vn(F)?(e.consume(F),o=String.fromCharCode(F),x):r(F)}function m(F){return F===45?(e.consume(F),s=2,h):F===91?(e.consume(F),s=5,l=0,g):Vn(F)?(e.consume(F),s=4,i.interrupt?n:I):r(F)}function h(F){return F===45?(e.consume(F),i.interrupt?n:I):r(F)}function g(F){const ae="CDATA[";return F===ae.charCodeAt(l++)?(e.consume(F),l===ae.length?i.interrupt?n:_:g):r(F)}function f(F){return Vn(F)?(e.consume(F),o=String.fromCharCode(F),x):r(F)}function x(F){if(F===null||F===47||F===62||st(F)){const ae=F===47,ge=o.toLowerCase();return!ae&&!a&&f4.includes(ge)?(s=1,i.interrupt?n(F):_(F)):XRe.includes(o.toLowerCase())?(s=6,ae?(e.consume(F),v):i.interrupt?n(F):_(F)):(s=7,i.interrupt&&!i.parser.lazy[i.now().line]?r(F):a?b(F):y(F))}return F===45||_n(F)?(e.consume(F),o+=String.fromCharCode(F),x):r(F)}function v(F){return F===62?(e.consume(F),i.interrupt?n:_):r(F)}function b(F){return Ae(F)?(e.consume(F),b):E(F)}function y(F){return F===47?(e.consume(F),E):F===58||F===95||Vn(F)?(e.consume(F),N):Ae(F)?(e.consume(F),y):E(F)}function N(F){return F===45||F===46||F===58||F===95||_n(F)?(e.consume(F),N):j(F)}function j(F){return F===61?(e.consume(F),w):Ae(F)?(e.consume(F),j):y(F)}function w(F){return F===null||F===60||F===61||F===62||F===96?r(F):F===34||F===39?(e.consume(F),c=F,q):Ae(F)?(e.consume(F),w):P(F)}function q(F){return F===c?(e.consume(F),c=null,T):F===null||ve(F)?r(F):(e.consume(F),q)}function P(F){return F===null||F===34||F===39||F===47||F===60||F===61||F===62||F===96||st(F)?j(F):(e.consume(F),P)}function T(F){return F===47||F===62||Ae(F)?y(F):r(F)}function E(F){return F===62?(e.consume(F),A):r(F)}function A(F){return F===null||ve(F)?_(F):Ae(F)?(e.consume(F),A):r(F)}function _(F){return F===45&&s===2?(e.consume(F),U):F===60&&s===1?(e.consume(F),z):F===62&&s===4?(e.consume(F),Y):F===63&&s===3?(e.consume(F),I):F===93&&s===5?(e.consume(F),$):ve(F)&&(s===6||s===7)?(e.exit("htmlFlowData"),e.check(eDe,W,D)(F)):F===null||ve(F)?(e.exit("htmlFlowData"),D(F)):(e.consume(F),_)}function D(F){return e.check(tDe,R,W)(F)}function R(F){return e.enter("lineEnding"),e.consume(F),e.exit("lineEnding"),M}function M(F){return F===null||ve(F)?D(F):(e.enter("htmlFlowData"),_(F))}function U(F){return F===45?(e.consume(F),I):_(F)}function z(F){return F===47?(e.consume(F),o="",O):_(F)}function O(F){if(F===62){const ae=o.toLowerCase();return f4.includes(ae)?(e.consume(F),Y):_(F)}return Vn(F)&&o.length<8?(e.consume(F),o+=String.fromCharCode(F),O):_(F)}function $(F){return F===93?(e.consume(F),I):_(F)}function I(F){return F===62?(e.consume(F),Y):F===45&&s===2?(e.consume(F),I):_(F)}function Y(F){return F===null||ve(F)?(e.exit("htmlFlowData"),W(F)):(e.consume(F),Y)}function W(F){return e.exit("htmlFlow"),n(F)}}function iDe(e,n,r){const i=this;return s;function s(o){return ve(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):r(o)}function a(o){return i.parser.lazy[i.now().line]?r(o):n(o)}}function sDe(e,n,r){return i;function i(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),e.attempt(jf,n,r)}}const aDe={name:"htmlText",tokenize:oDe};function oDe(e,n,r){const i=this;let s,a,o;return l;function l(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),c}function c(I){return I===33?(e.consume(I),u):I===47?(e.consume(I),j):I===63?(e.consume(I),y):Vn(I)?(e.consume(I),P):r(I)}function u(I){return I===45?(e.consume(I),d):I===91?(e.consume(I),a=0,g):Vn(I)?(e.consume(I),b):r(I)}function d(I){return I===45?(e.consume(I),h):r(I)}function p(I){return I===null?r(I):I===45?(e.consume(I),m):ve(I)?(o=p,z(I)):(e.consume(I),p)}function m(I){return I===45?(e.consume(I),h):p(I)}function h(I){return I===62?U(I):I===45?m(I):p(I)}function g(I){const Y="CDATA[";return I===Y.charCodeAt(a++)?(e.consume(I),a===Y.length?f:g):r(I)}function f(I){return I===null?r(I):I===93?(e.consume(I),x):ve(I)?(o=f,z(I)):(e.consume(I),f)}function x(I){return I===93?(e.consume(I),v):f(I)}function v(I){return I===62?U(I):I===93?(e.consume(I),v):f(I)}function b(I){return I===null||I===62?U(I):ve(I)?(o=b,z(I)):(e.consume(I),b)}function y(I){return I===null?r(I):I===63?(e.consume(I),N):ve(I)?(o=y,z(I)):(e.consume(I),y)}function N(I){return I===62?U(I):y(I)}function j(I){return Vn(I)?(e.consume(I),w):r(I)}function w(I){return I===45||_n(I)?(e.consume(I),w):q(I)}function q(I){return ve(I)?(o=q,z(I)):Ae(I)?(e.consume(I),q):U(I)}function P(I){return I===45||_n(I)?(e.consume(I),P):I===47||I===62||st(I)?T(I):r(I)}function T(I){return I===47?(e.consume(I),U):I===58||I===95||Vn(I)?(e.consume(I),E):ve(I)?(o=T,z(I)):Ae(I)?(e.consume(I),T):U(I)}function E(I){return I===45||I===46||I===58||I===95||_n(I)?(e.consume(I),E):A(I)}function A(I){return I===61?(e.consume(I),_):ve(I)?(o=A,z(I)):Ae(I)?(e.consume(I),A):T(I)}function _(I){return I===null||I===60||I===61||I===62||I===96?r(I):I===34||I===39?(e.consume(I),s=I,D):ve(I)?(o=_,z(I)):Ae(I)?(e.consume(I),_):(e.consume(I),R)}function D(I){return I===s?(e.consume(I),s=void 0,M):I===null?r(I):ve(I)?(o=D,z(I)):(e.consume(I),D)}function R(I){return I===null||I===34||I===39||I===60||I===61||I===96?r(I):I===47||I===62||st(I)?T(I):(e.consume(I),R)}function M(I){return I===47||I===62||st(I)?T(I):r(I)}function U(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),n):r(I)}function z(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),O}function O(I){return Ae(I)?De(e,$,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):$(I)}function $(I){return e.enter("htmlTextData"),o(I)}}const XC={name:"labelEnd",resolveAll:dDe,resolveTo:pDe,tokenize:mDe},lDe={tokenize:hDe},cDe={tokenize:fDe},uDe={tokenize:gDe};function dDe(e){let n=-1;const r=[];for(;++n<e.length;){const i=e[n][1];if(r.push(e[n]),i.type==="labelImage"||i.type==="labelLink"||i.type==="labelEnd"){const s=i.type==="labelImage"?4:2;i.type="data",n+=s}}return e.length!==r.length&&Fr(e,0,e.length,r),e}function pDe(e,n){let r=e.length,i=0,s,a,o,l;for(;r--;)if(s=e[r][1],a){if(s.type==="link"||s.type==="labelLink"&&s._inactive)break;e[r][0]==="enter"&&s.type==="labelLink"&&(s._inactive=!0)}else if(o){if(e[r][0]==="enter"&&(s.type==="labelImage"||s.type==="labelLink")&&!s._balanced&&(a=r,s.type!=="labelLink")){i=2;break}}else s.type==="labelEnd"&&(o=r);const c={type:e[a][1].type==="labelLink"?"link":"image",start:{...e[a][1].start},end:{...e[e.length-1][1].end}},u={type:"label",start:{...e[a][1].start},end:{...e[o][1].end}},d={type:"labelText",start:{...e[a+i+2][1].end},end:{...e[o-2][1].start}};return l=[["enter",c,n],["enter",u,n]],l=ri(l,e.slice(a+1,a+i+3)),l=ri(l,[["enter",d,n]]),l=ri(l,Xy(n.parser.constructs.insideSpan.null,e.slice(a+i+4,o-3),n)),l=ri(l,[["exit",d,n],e[o-2],e[o-1],["exit",u,n]]),l=ri(l,e.slice(o+1)),l=ri(l,[["exit",c,n]]),Fr(e,a,e.length,l),e}function mDe(e,n,r){const i=this;let s=i.events.length,a,o;for(;s--;)if((i.events[s][1].type==="labelImage"||i.events[s][1].type==="labelLink")&&!i.events[s][1]._balanced){a=i.events[s][1];break}return l;function l(m){return a?a._inactive?p(m):(o=i.parser.defined.includes(Ui(i.sliceSerialize({start:a.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),c):r(m)}function c(m){return m===40?e.attempt(lDe,d,o?d:p)(m):m===91?e.attempt(cDe,d,o?u:p)(m):o?d(m):p(m)}function u(m){return e.attempt(uDe,d,p)(m)}function d(m){return n(m)}function p(m){return a._balanced=!0,r(m)}}function hDe(e,n,r){return i;function i(p){return e.enter("resource"),e.enter("resourceMarker"),e.consume(p),e.exit("resourceMarker"),s}function s(p){return st(p)?hm(e,a)(p):a(p)}function a(p){return p===41?d(p):vU(e,o,l,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(p)}function o(p){return st(p)?hm(e,c)(p):d(p)}function l(p){return r(p)}function c(p){return p===34||p===39||p===40?yU(e,u,r,"resourceTitle","resourceTitleMarker","resourceTitleString")(p):d(p)}function u(p){return st(p)?hm(e,d)(p):d(p)}function d(p){return p===41?(e.enter("resourceMarker"),e.consume(p),e.exit("resourceMarker"),e.exit("resource"),n):r(p)}}function fDe(e,n,r){const i=this;return s;function s(l){return bU.call(i,e,a,o,"reference","referenceMarker","referenceString")(l)}function a(l){return i.parser.defined.includes(Ui(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)))?n(l):r(l)}function o(l){return r(l)}}function gDe(e,n,r){return i;function i(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),s}function s(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),n):r(a)}}const xDe={name:"labelStartImage",resolveAll:XC.resolveAll,tokenize:vDe};function vDe(e,n,r){const i=this;return s;function s(l){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(l),e.exit("labelImageMarker"),a}function a(l){return l===91?(e.enter("labelMarker"),e.consume(l),e.exit("labelMarker"),e.exit("labelImage"),o):r(l)}function o(l){return l===94&&"_hiddenFootnoteSupport"in i.parser.constructs?r(l):n(l)}}const bDe={name:"labelStartLink",resolveAll:XC.resolveAll,tokenize:yDe};function yDe(e,n,r){const i=this;return s;function s(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),a}function a(o){return o===94&&"_hiddenFootnoteSupport"in i.parser.constructs?r(o):n(o)}}const vw={name:"lineEnding",tokenize:jDe};function jDe(e,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),De(e,n,"linePrefix")}}const vx={name:"thematicBreak",tokenize:wDe};function wDe(e,n,r){let i=0,s;return a;function a(u){return e.enter("thematicBreak"),o(u)}function o(u){return s=u,l(u)}function l(u){return u===s?(e.enter("thematicBreakSequence"),c(u)):i>=3&&(u===null||ve(u))?(e.exit("thematicBreak"),n(u)):r(u)}function c(u){return u===s?(e.consume(u),i++,c):(e.exit("thematicBreakSequence"),Ae(u)?De(e,l,"whitespace")(u):l(u))}}const er={continuation:{tokenize:SDe},exit:PDe,name:"list",tokenize:qDe},NDe={partial:!0,tokenize:EDe},kDe={partial:!0,tokenize:CDe};function qDe(e,n,r){const i=this,s=i.events[i.events.length-1];let a=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,o=0;return l;function l(h){const g=i.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(g==="listUnordered"?!i.containerState.marker||h===i.containerState.marker:hk(h)){if(i.containerState.type||(i.containerState.type=g,e.enter(g,{_container:!0})),g==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(vx,r,u)(h):u(h);if(!i.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(h)}return r(h)}function c(h){return hk(h)&&++o<10?(e.consume(h),c):(!i.interrupt||o<2)&&(i.containerState.marker?h===i.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):r(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||h,e.check(jf,i.interrupt?r:d,e.attempt(NDe,m,p))}function d(h){return i.containerState.initialBlankLine=!0,a++,m(h)}function p(h){return Ae(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),m):r(h)}function m(h){return i.containerState.size=a+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(h)}}function SDe(e,n,r){const i=this;return i.containerState._closeFlow=void 0,e.check(jf,s,a);function s(l){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,De(e,n,"listItemIndent",i.containerState.size+1)(l)}function a(l){return i.containerState.furtherBlankLines||!Ae(l)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,o(l)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(kDe,n,o)(l))}function o(l){return i.containerState._closeFlow=!0,i.interrupt=void 0,De(e,e.attempt(er,n,r),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function CDe(e,n,r){const i=this;return De(e,s,"listItemIndent",i.containerState.size+1);function s(a){const o=i.events[i.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===i.containerState.size?n(a):r(a)}}function PDe(e){e.exit(this.containerState.type)}function EDe(e,n,r){const i=this;return De(e,s,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(a){const o=i.events[i.events.length-1];return!Ae(a)&&o&&o[1].type==="listItemPrefixWhitespace"?n(a):r(a)}}const g4={name:"setextUnderline",resolveTo:TDe,tokenize:IDe};function TDe(e,n){let r=e.length,i,s,a;for(;r--;)if(e[r][0]==="enter"){if(e[r][1].type==="content"){i=r;break}e[r][1].type==="paragraph"&&(s=r)}else e[r][1].type==="content"&&e.splice(r,1),!a&&e[r][1].type==="definition"&&(a=r);const o={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[s][1].type="setextHeadingText",a?(e.splice(s,0,["enter",o,n]),e.splice(a+1,0,["exit",e[i][1],n]),e[i][1].end={...e[a][1].end}):e[i][1]=o,e.push(["exit",o,n]),e}function IDe(e,n,r){const i=this;let s;return a;function a(u){let d=i.events.length,p;for(;d--;)if(i.events[d][1].type!=="lineEnding"&&i.events[d][1].type!=="linePrefix"&&i.events[d][1].type!=="content"){p=i.events[d][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||p)?(e.enter("setextHeadingLine"),s=u,o(u)):r(u)}function o(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===s?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),Ae(u)?De(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||ve(u)?(e.exit("setextHeadingLine"),n(u)):r(u)}}const ADe={tokenize:LDe};function LDe(e){const n=this,r=e.attempt(jf,i,e.attempt(this.parser.constructs.flowInitial,s,De(e,e.attempt(this.parser.constructs.flow,s,e.attempt(DRe,s)),"linePrefix")));return r;function i(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),n.currentConstruct=void 0,r}function s(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n.currentConstruct=void 0,r}}const FDe={resolveAll:wU()},_De=jU("string"),ODe=jU("text");function jU(e){return{resolveAll:wU(e==="text"?RDe:void 0),tokenize:n};function n(r){const i=this,s=this.parser.constructs[e],a=r.attempt(s,o,l);return o;function o(d){return u(d)?a(d):l(d)}function l(d){if(d===null){r.consume(d);return}return r.enter("data"),r.consume(d),c}function c(d){return u(d)?(r.exit("data"),a(d)):(r.consume(d),c)}function u(d){if(d===null)return!0;const p=s[d];let m=-1;if(p)for(;++m<p.length;){const h=p[m];if(!h.previous||h.previous.call(i,i.previous))return!0}return!1}}}function wU(e){return n;function n(r,i){let s=-1,a;for(;++s<=r.length;)a===void 0?r[s]&&r[s][1].type==="data"&&(a=s,s++):(!r[s]||r[s][1].type!=="data")&&(s!==a+2&&(r[a][1].end=r[s-1][1].end,r.splice(a+2,s-a-2),s=a+2),a=void 0);return e?e(r,i):r}}function RDe(e,n){let r=0;for(;++r<=e.length;)if((r===e.length||e[r][1].type==="lineEnding")&&e[r-1][1].type==="data"){const i=e[r-1][1],s=n.sliceStream(i);let a=s.length,o=-1,l=0,c;for(;a--;){const u=s[a];if(typeof u=="string"){for(o=u.length;u.charCodeAt(o-1)===32;)l++,o--;if(o)break;o=-1}else if(u===-2)c=!0,l++;else if(u!==-1){a++;break}}
vendor: 4,524 bytes, lines 761-763
761if(n._contentTypeTextTrailing&&r===e.length&&(l=0),l){const u={type:r===e.length||c||l<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:a?o:i.start._bufferIndex+o,_index:i.start._index+a,line:i.end.line,column:i.end.column-l,offset:i.end.offset-l},end:{...i.end}};i.end={...u.start},i.start.offset===i.end.offset?Object.assign(i,u):(e.splice(r,0,["enter",u,n],["exit",u,n]),r+=2)}r++}return e}const DDe={42:er,43:er,45:er,48:er,49:er,50:er,51:er,52:er,53:er,54:er,55:er,56:er,57:er,62:hU},MDe={91:URe},$De={[-2]:xw,[-1]:xw,32:xw},BDe={35:QRe,42:vx,45:[g4,vx],60:ZRe,61:g4,95:vx,96:h4,126:h4},zDe={38:gU,92:fU},UDe={[-5]:vw,[-4]:vw,[-3]:vw,33:xDe,38:gU,42:fk,60:[bRe,aDe],91:bDe,92:[GRe,fU],93:XC,95:fk,96:ARe},VDe={null:[fk,FDe]},WDe={null:[42,95]},HDe={null:[]},GDe=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:WDe,contentInitial:MDe,disable:HDe,document:DDe,flow:BDe,flowInitial:$De,insideSpan:VDe,string:zDe,text:UDe},Symbol.toStringTag,{value:"Module"}));function KDe(e,n,r){let i={_bufferIndex:-1,_index:0,line:r&&r.line||1,column:r&&r.column||1,offset:r&&r.offset||0};const s={},a=[];let o=[],l=[];const c={attempt:q(j),check:q(w),consume:b,enter:y,exit:N,interrupt:q(w,{interrupt:!0})},u={code:null,containerState:{},defineSkip:f,events:[],now:g,parser:e,previous:null,sliceSerialize:m,sliceStream:h,write:p};let d=n.tokenize.call(u,c);return n.resolveAll&&a.push(n),u;function p(A){return o=ri(o,A),x(),o[o.length-1]!==null?[]:(P(n,0),u.events=Xy(a,u.events,u),u.events)}function m(A,_){return YDe(h(A),_)}function h(A){return QDe(o,A)}function g(){const{_bufferIndex:A,_index:_,line:D,column:R,offset:M}=i;return{_bufferIndex:A,_index:_,line:D,column:R,offset:M}}function f(A){s[A.line]=A.column,E()}function x(){let A;for(;i._index<o.length;){const _=o[i._index];if(typeof _=="string")for(A=i._index,i._bufferIndex<0&&(i._bufferIndex=0);i._index===A&&i._bufferIndex<_.length;)v(_.charCodeAt(i._bufferIndex));else v(_)}}function v(A){d=d(A)}function b(A){ve(A)?(i.line++,i.column=1,i.offset+=A===-3?2:1,E()):A!==-1&&(i.column++,i.offset++),i._bufferIndex<0?i._index++:(i._bufferIndex++,i._bufferIndex===o[i._index].length&&(i._bufferIndex=-1,i._index++)),u.previous=A}function y(A,_){const D=_||{};return D.type=A,D.start=g(),u.events.push(["enter",D,u]),l.push(D),D}function N(A){const _=l.pop();return _.end=g(),u.events.push(["exit",_,u]),_}function j(A,_){P(A,_.from)}function w(A,_){_.restore()}function q(A,_){return D;function D(R,M,U){let z,O,$,I;return Array.isArray(R)?W(R):"tokenize"in R?W([R]):Y(R);function Y(be){return Ne;function Ne(Me){const te=Me!==null&&be[Me],me=Me!==null&&be.null,fe=[...Array.isArray(te)?te:te?[te]:[],...Array.isArray(me)?me:me?[me]:[]];return W(fe)(Me)}}function W(be){return z=be,O=0,be.length===0?U:F(be[O])}function F(be){return Ne;function Ne(Me){return I=T(),$=be,be.partial||(u.currentConstruct=be),be.name&&u.parser.constructs.disable.null.includes(be.name)?ge():be.tokenize.call(_?Object.assign(Object.create(u),_):u,c,ae,ge)(Me)}}function ae(be){return A($,I),M}function ge(be){return I.restore(),++O<z.length?F(z[O]):U}}}function P(A,_){A.resolveAll&&!a.includes(A)&&a.push(A),A.resolve&&Fr(u.events,_,u.events.length-_,A.resolve(u.events.slice(_),u)),A.resolveTo&&(u.events=A.resolveTo(u.events,u))}function T(){const A=g(),_=u.previous,D=u.currentConstruct,R=u.events.length,M=Array.from(l);return{from:R,restore:U};function U(){i=A,u.previous=_,u.currentConstruct=D,u.events.length=R,l=M,E()}}function E(){i.line in s&&i.column<2&&(i.column=s[i.line],i.offset+=s[i.line]-1)}}function QDe(e,n){const r=n.start._index,i=n.start._bufferIndex,s=n.end._index,a=n.end._bufferIndex;let o;if(r===s)o=[e[r].slice(i,a)];else{if(o=e.slice(r,s),i>-1){const l=o[0];typeof l=="string"?o[0]=l.slice(i):o.shift()}a>0&&o.push(e[s].slice(0,a))}return o}function YDe(e,n){let r=-1;const i=[];let s;for(;++r<e.length;){const a=e[r];let o;if(typeof a=="string")o=a;else switch(a){case-5:{o="\r";break}case-4:{o=`
762`;break}case-3:{o=`\r
763`;break}case-2:{o=n?" ":"	";break}case-1:{if(!n&&s)continue;o=" ";break}default:o=String.fromCharCode(a)}s=a===-2,i.push(o)}return i.join("")}function JDe(e){const i={constructs:pU([GDe,...(e||{}).extensions||[]]),content:s(pRe),defined:[],document:s(hRe),flow:s(ADe),lazy:{},string:s(_De),text:s(ODe)};return i;function s(a){return o;function o(l){return KDe(i,a,l)}}}function XDe(e){for(;!xU(e););return e}const x4=/[\0\t\n\r]/g;function ZDe(){let e=1,n="",r=!0,i;return s;function s(a,o,l){const c=[];let u,d,p,m,h;
vendor: 11,256 bytes, line 763
763for(a=n+(typeof a=="string"?a.toString():new TextDecoder(o||void 0).decode(a)),p=0,n="",r&&(a.charCodeAt(0)===65279&&p++,r=void 0);p<a.length;){if(x4.lastIndex=p,u=x4.exec(a),m=u&&u.index!==void 0?u.index:a.length,h=a.charCodeAt(m),!u){n=a.slice(p);break}if(h===10&&p===m&&i)c.push(-3),i=void 0;else switch(i&&(c.push(-5),i=void 0),p<m&&(c.push(a.slice(p,m)),e+=m-p),h){case 0:{c.push(65533),e++;break}case 9:{for(d=Math.ceil(e/4)*4,c.push(-2);e++<d;)c.push(-1);break}case 10:{c.push(-4),e=1;break}default:i=!0,e=1}p=m+1}return l&&(i&&c.push(-5),n&&c.push(n),c.push(null)),c}}const eMe=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function tMe(e){return e.replace(eMe,nMe)}function nMe(e,n,r){if(n)return n;if(r.charCodeAt(0)===35){const s=r.charCodeAt(1),a=s===120||s===88;return mU(r.slice(a?2:1),a?16:10)}return JC(r)||e}const NU={}.hasOwnProperty;function rMe(e,n,r){return n&&typeof n=="object"&&(r=n,n=void 0),iMe(r)(XDe(JDe(r).document().write(ZDe()(e,n,!0))))}function iMe(e){const n={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(jn),autolinkProtocol:T,autolinkEmail:T,atxHeading:a(at),blockQuote:a(me),characterEscape:T,characterReference:T,codeFenced:a(fe),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(fe,o),codeText:a(Q,o),codeTextData:T,data:T,codeFlowValue:T,definition:a($e),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(Ee),hardBreakEscape:a(tt),hardBreakTrailing:a(tt),htmlFlow:a(_t,o),htmlFlowData:T,htmlText:a(_t,o),htmlTextData:T,image:a(yn),label:o,link:a(jn),listItem:a(Dn),listItemValue:m,listOrdered:a(Yi,p),listUnordered:a(Yi),paragraph:a(Br),reference:F,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(at),strong:a(gr),thematicBreak:a(bc)},exit:{atxHeading:c(),atxHeadingSequence:j,autolink:c(),autolinkEmail:te,autolinkProtocol:Me,blockQuote:c(),characterEscapeValue:E,characterReferenceMarkerHexadecimal:ge,characterReferenceMarkerNumeric:ge,characterReferenceValue:be,characterReference:Ne,codeFenced:c(x),codeFencedFence:f,codeFencedFenceInfo:h,codeFencedFenceMeta:g,codeFlowValue:E,codeIndented:c(v),codeText:c(M),codeTextData:E,data:E,definition:c(),definitionDestinationString:N,definitionLabelString:b,definitionTitleString:y,emphasis:c(),hardBreakEscape:c(_),hardBreakTrailing:c(_),htmlFlow:c(D),htmlFlowData:E,htmlText:c(R),htmlTextData:E,image:c(z),label:$,labelText:O,lineEnding:A,link:c(U),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:ae,resourceDestinationString:I,resourceTitleString:Y,resource:W,setextHeading:c(P),setextHeadingLineSequence:q,setextHeadingText:w,strong:c(),thematicBreak:c()}};kU(n,(e||{}).mdastExtensions||[]);const r={};return i;function i(H){let se={type:"root",children:[]};const ke={stack:[se],tokenStack:[],config:n,enter:l,exit:u,buffer:o,resume:d,data:r},Te=[];let Ve=-1;for(;++Ve<H.length;)if(H[Ve][1].type==="listOrdered"||H[Ve][1].type==="listUnordered")if(H[Ve][0]==="enter")Te.push(Ve);else{const xr=Te.pop();Ve=s(H,xr,Ve)}for(Ve=-1;++Ve<H.length;){const xr=n[H[Ve][0]];NU.call(xr,H[Ve][1].type)&&xr[H[Ve][1].type].call(Object.assign({sliceSerialize:H[Ve][2].sliceSerialize},ke),H[Ve][1])}if(ke.tokenStack.length>0){const xr=ke.tokenStack[ke.tokenStack.length-1];(xr[1]||v4).call(ke,void 0,xr[0])}for(se.position={start:Ba(H.length>0?H[0][1].start:{line:1,column:1,offset:0}),end:Ba(H.length>0?H[H.length-2][1].end:{line:1,column:1,offset:0})},Ve=-1;++Ve<n.transforms.length;)se=n.transforms[Ve](se)||se;return se}function s(H,se,ke){let Te=se-1,Ve=-1,xr=!1,Ji,vr,zr,ka;for(;++Te<=ke;){const Bt=H[Te];switch(Bt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Bt[0]==="enter"?Ve++:Ve--,ka=void 0;break}case"lineEndingBlank":{Bt[0]==="enter"&&(Ji&&!ka&&!Ve&&!zr&&(zr=Te),ka=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:ka=void 0}if(!Ve&&Bt[0]==="enter"&&Bt[1].type==="listItemPrefix"||Ve===-1&&Bt[0]==="exit"&&(Bt[1].type==="listUnordered"||Bt[1].type==="listOrdered")){if(Ji){let qa=Te;for(vr=void 0;qa--;){const hi=H[qa];if(hi[1].type==="lineEnding"||hi[1].type==="lineEndingBlank"){if(hi[0]==="exit")continue;vr&&(H[vr][1].type="lineEndingBlank",xr=!0),hi[1].type="lineEnding",vr=qa}else if(!(hi[1].type==="linePrefix"||hi[1].type==="blockQuotePrefix"||hi[1].type==="blockQuotePrefixWhitespace"||hi[1].type==="blockQuoteMarker"||hi[1].type==="listItemIndent"))break}zr&&(!vr||zr<vr)&&(Ji._spread=!0),Ji.end=Object.assign({},vr?H[vr][1].start:Bt[1].end),H.splice(vr||Te,0,["exit",Ji,Bt[2]]),Te++,ke++}if(Bt[1].type==="listItemPrefix"){const qa={type:"listItem",_spread:!1,start:Object.assign({},Bt[1].start),end:void 0};Ji=qa,H.splice(Te,0,["enter",qa,Bt[2]]),Te++,ke++,zr=void 0,ka=!0}}}return H[se][1]._spread=xr,ke}function a(H,se){return ke;function ke(Te){l.call(this,H(Te),Te),se&&se.call(this,Te)}}function o(){this.stack.push({type:"fragment",children:[]})}function l(H,se,ke){this.stack[this.stack.length-1].children.push(H),this.stack.push(H),this.tokenStack.push([se,ke||void 0]),H.position={start:Ba(se.start),end:void 0}}function c(H){return se;function se(ke){H&&H.call(this,ke),u.call(this,ke)}}function u(H,se){const ke=this.stack.pop(),Te=this.tokenStack.pop();if(Te)Te[0].type!==H.type&&(se?se.call(this,H,Te[0]):(Te[1]||v4).call(this,H,Te[0]));else throw new Error("Cannot close `"+H.type+"` ("+mm({start:H.start,end:H.end})+"): it’s not open");ke.position.end=Ba(H.end)}function d(){return YC(this.stack.pop())}function p(){this.data.expectingFirstListItemValue=!0}function m(H){if(this.data.expectingFirstListItemValue){const se=this.stack[this.stack.length-2];se.start=Number.parseInt(this.sliceSerialize(H),10),this.data.expectingFirstListItemValue=void 0}}function h(){const H=this.resume(),se=this.stack[this.stack.length-1];se.lang=H}function g(){const H=this.resume(),se=this.stack[this.stack.length-1];se.meta=H}function f(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function x(){const H=this.resume(),se=this.stack[this.stack.length-1];se.value=H.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function v(){const H=this.resume(),se=this.stack[this.stack.length-1];se.value=H.replace(/(\r?\n|\r)$/g,"")}function b(H){const se=this.resume(),ke=this.stack[this.stack.length-1];ke.label=se,ke.identifier=Ui(this.sliceSerialize(H)).toLowerCase()}function y(){const H=this.resume(),se=this.stack[this.stack.length-1];se.title=H}function N(){const H=this.resume(),se=this.stack[this.stack.length-1];se.url=H}function j(H){const se=this.stack[this.stack.length-1];if(!se.depth){const ke=this.sliceSerialize(H).length;se.depth=ke}}function w(){this.data.setextHeadingSlurpLineEnding=!0}function q(H){const se=this.stack[this.stack.length-1];se.depth=this.sliceSerialize(H).codePointAt(0)===61?1:2}function P(){this.data.setextHeadingSlurpLineEnding=void 0}function T(H){const ke=this.stack[this.stack.length-1].children;let Te=ke[ke.length-1];(!Te||Te.type!=="text")&&(Te=vc(),Te.position={start:Ba(H.start),end:void 0},ke.push(Te)),this.stack.push(Te)}function E(H){const se=this.stack.pop();se.value+=this.sliceSerialize(H),se.position.end=Ba(H.end)}function A(H){const se=this.stack[this.stack.length-1];if(this.data.atHardBreak){const ke=se.children[se.children.length-1];ke.position.end=Ba(H.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&n.canContainEols.includes(se.type)&&(T.call(this,H),E.call(this,H))}function _(){this.data.atHardBreak=!0}function D(){const H=this.resume(),se=this.stack[this.stack.length-1];se.value=H}function R(){const H=this.resume(),se=this.stack[this.stack.length-1];se.value=H}function M(){const H=this.resume(),se=this.stack[this.stack.length-1];se.value=H}function U(){const H=this.stack[this.stack.length-1];if(this.data.inReference){const se=this.data.referenceType||"shortcut";H.type+="Reference",H.referenceType=se,delete H.url,delete H.title}else delete H.identifier,delete H.label;this.data.referenceType=void 0}function z(){const H=this.stack[this.stack.length-1];if(this.data.inReference){const se=this.data.referenceType||"shortcut";H.type+="Reference",H.referenceType=se,delete H.url,delete H.title}else delete H.identifier,delete H.label;this.data.referenceType=void 0}function O(H){const se=this.sliceSerialize(H),ke=this.stack[this.stack.length-2];ke.label=tMe(se),ke.identifier=Ui(se).toLowerCase()}function $(){const H=this.stack[this.stack.length-1],se=this.resume(),ke=this.stack[this.stack.length-1];if(this.data.inReference=!0,ke.type==="link"){const Te=H.children;ke.children=Te}else ke.alt=se}function I(){const H=this.resume(),se=this.stack[this.stack.length-1];se.url=H}function Y(){const H=this.resume(),se=this.stack[this.stack.length-1];se.title=H}function W(){this.data.inReference=void 0}function F(){this.data.referenceType="collapsed"}function ae(H){const se=this.resume(),ke=this.stack[this.stack.length-1];ke.label=se,ke.identifier=Ui(this.sliceSerialize(H)).toLowerCase(),this.data.referenceType="full"}function ge(H){this.data.characterReferenceType=H.type}function be(H){const se=this.sliceSerialize(H),ke=this.data.characterReferenceType;let Te;ke?(Te=mU(se,ke==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Te=JC(se);const Ve=this.stack[this.stack.length-1];Ve.value+=Te}function Ne(H){const se=this.stack.pop();se.position.end=Ba(H.end)}function Me(H){E.call(this,H);const se=this.stack[this.stack.length-1];se.url=this.sliceSerialize(H)}function te(H){E.call(this,H);const se=this.stack[this.stack.length-1];se.url="mailto:"+this.sliceSerialize(H)}function me(){return{type:"blockquote",children:[]}}function fe(){return{type:"code",lang:null,meta:null,value:""}}function Q(){return{type:"inlineCode",value:""}}function $e(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Ee(){return{type:"emphasis",children:[]}}function at(){return{type:"heading",depth:0,children:[]}}function tt(){return{type:"break"}}function _t(){return{type:"html",value:""}}function yn(){return{type:"image",title:null,url:"",alt:null}}function jn(){return{type:"link",title:null,url:"",children:[]}}function Yi(H){return{type:"list",ordered:H.type==="listOrdered",start:null,spread:H._spread,children:[]}}function Dn(H){return{type:"listItem",spread:H._spread,checked:null,children:[]}}function Br(){return{type:"paragraph",children:[]}}function gr(){return{type:"strong",children:[]}}function vc(){return{type:"text",value:""}}function bc(){return{type:"thematicBreak"}}}function Ba(e){return{line:e.line,column:e.column,offset:e.offset}}function kU(e,n){let r=-1;for(;++r<n.length;){const i=n[r];Array.isArray(i)?kU(e,i):sMe(e,i)}}function sMe(e,n){let r;for(r in n)if(NU.call(n,r))switch(r){case"canContainEols":{const i=n[r];i&&e[r].push(...i);break}case"transforms":{const i=n[r];i&&e[r].push(...i);break}case"enter":case"exit":{const i=n[r];i&&Object.assign(e[r],i);break}}}function v4(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+mm({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+mm({start:n.start,end:n.end}
vendor: 5,171 bytes, lines 763-767
763)+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+mm({start:n.start,end:n.end})+") is still open")}function aMe(e){const n=this;n.parser=r;function r(i){return rMe(i,{...n.data("settings"),...e,extensions:n.data("micromarkExtensions")||[],mdastExtensions:n.data("fromMarkdownExtensions")||[]})}}function oMe(e,n){const r={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,r),e.applyData(n,r)}function lMe(e,n){const r={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,r),[e.applyData(n,r),{type:"text",value:`
764`}]}function cMe(e,n){const r=n.value?n.value+`
765`:"",i={},s=n.lang?n.lang.split(/\s+/):[];s.length>0&&(i.className=["language-"+s[0]]);let a={type:"element",tagName:"code",properties:i,children:[{type:"text",value:r}]};return n.meta&&(a.data={meta:n.meta}),e.patch(n,a),a=e.applyData(n,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(n,a),a}function uMe(e,n){const r={type:"element",tagName:"del",properties:{},children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function dMe(e,n){const r={type:"element",tagName:"em",properties:{},children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function pMe(e,n){const r=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(n.identifier).toUpperCase(),s=Qd(i.toLowerCase()),a=e.footnoteOrder.indexOf(i);let o,l=e.footnoteCounts.get(i);l===void 0?(l=0,e.footnoteOrder.push(i),o=e.footnoteOrder.length):o=a+1,l+=1,e.footnoteCounts.set(i,l);const c={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+s,id:r+"fnref-"+s+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(n,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(n,u),e.applyData(n,u)}function mMe(e,n){const r={type:"element",tagName:"h"+n.depth,properties:{},children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function hMe(e,n){if(e.options.allowDangerousHtml){const r={type:"raw",value:n.value};return e.patch(n,r),e.applyData(n,r)}}function qU(e,n){const r=n.referenceType;let i="]";if(r==="collapsed"?i+="[]":r==="full"&&(i+="["+(n.label||n.identifier)+"]"),n.type==="imageReference")return[{type:"text",value:"!["+n.alt+i}];const s=e.all(n),a=s[0];a&&a.type==="text"?a.value="["+a.value:s.unshift({type:"text",value:"["});const o=s[s.length-1];return o&&o.type==="text"?o.value+=i:s.push({type:"text",value:i}),s}function fMe(e,n){const r=String(n.identifier).toUpperCase(),i=e.definitionById.get(r);if(!i)return qU(e,n);const s={src:Qd(i.url||""),alt:n.alt};i.title!==null&&i.title!==void 0&&(s.title=i.title);const a={type:"element",tagName:"img",properties:s,children:[]};return e.patch(n,a),e.applyData(n,a)}function gMe(e,n){const r={src:Qd(n.url)};n.alt!==null&&n.alt!==void 0&&(r.alt=n.alt),n.title!==null&&n.title!==void 0&&(r.title=n.title);const i={type:"element",tagName:"img",properties:r,children:[]};return e.patch(n,i),e.applyData(n,i)}function xMe(e,n){const r={type:"text",value:n.value.replace(/\r?\n|\r/g," ")};e.patch(n,r);const i={type:"element",tagName:"code",properties:{},children:[r]};return e.patch(n,i),e.applyData(n,i)}function vMe(e,n){const r=String(n.identifier).toUpperCase(),i=e.definitionById.get(r);if(!i)return qU(e,n);const s={href:Qd(i.url||"")};i.title!==null&&i.title!==void 0&&(s.title=i.title);const a={type:"element",tagName:"a",properties:s,children:e.all(n)};return e.patch(n,a),e.applyData(n,a)}function bMe(e,n){const r={href:Qd(n.url)};n.title!==null&&n.title!==void 0&&(r.title=n.title);const i={type:"element",tagName:"a",properties:r,children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function yMe(e,n,r){const i=e.all(n),s=r?jMe(r):SU(n),a={},o=[];if(typeof n.checked=="boolean"){const d=i[0];let p;d&&d.type==="element"&&d.tagName==="p"?p=d:(p={type:"element",tagName:"p",properties:{},children:[]},i.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:n.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let l=-1;for(;++l<i.length;){const d=i[l];(s||l!==0||d.type!=="element"||d.tagName!=="p")&&o.push({type:"text",value:`
766`}),d.type==="element"&&d.tagName==="p"&&!s?o.push(...d.children):o.push(d)}const c=i[i.length-1];c&&(s||c.type!=="element"||c.tagName!=="p")&&o.push({type:"text",value:`
767`});const u={type:"element",tagName:"li",properties:a,children:o};return e.patch(n,u),e.applyData(n,u)}function jMe(e){let n=!1;if(e.type==="list"){n=e.spread||!1;const r=e.children;let i=-1;for(;!n&&++i<r.length;)n=SU(r[i])}return n}function SU(e){const n=e.spread;return n??e.children.length>1}function wMe(e,n){const r={},i=e.all(n);let s=-1;for(typeof n.start=="number"&&n.start!==1&&(r.start=n.start);++s<i.length;){const o=i[s];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){r.className=["contains-task-list"];break}}const a={type:"element",tagName:n.ordered?"ol":"ul",properties:r,children:e.wrap(i,
vendor: 2,628 bytes, line 767
767!0)};return e.patch(n,a),e.applyData(n,a)}function NMe(e,n){const r={type:"element",tagName:"p",properties:{},children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function kMe(e,n){const r={type:"root",children:e.wrap(e.all(n))};return e.patch(n,r),e.applyData(n,r)}function qMe(e,n){const r={type:"element",tagName:"strong",properties:{},children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}function SMe(e,n){const r=e.all(n),i=r.shift(),s=[];if(i){const o={type:"element",tagName:"thead",properties:{},children:e.wrap([i],!0)};e.patch(n.children[0],o),s.push(o)}if(r.length>0){const o={type:"element",tagName:"tbody",properties:{},children:e.wrap(r,!0)},l=HC(n.children[1]),c=sU(n.children[n.children.length-1]);l&&c&&(o.position={start:l,end:c}),s.push(o)}const a={type:"element",tagName:"table",properties:{},children:e.wrap(s,!0)};return e.patch(n,a),e.applyData(n,a)}function CMe(e,n,r){const i=r?r.children:void 0,a=(i?i.indexOf(n):1)===0?"th":"td",o=r&&r.type==="table"?r.align:void 0,l=o?o.length:n.children.length;let c=-1;const u=[];for(;++c<l;){const p=n.children[c],m={},h=o?o[c]:void 0;h&&(m.align=h);let g={type:"element",tagName:a,properties:m,children:[]};p&&(g.children=e.all(p),e.patch(p,g),g=e.applyData(p,g)),u.push(g)}const d={type:"element",tagName:"tr",properties:{},children:e.wrap(u,!0)};return e.patch(n,d),e.applyData(n,d)}function PMe(e,n){const r={type:"element",tagName:"td",properties:{},children:e.all(n)};return e.patch(n,r),e.applyData(n,r)}const b4=9,y4=32;function EMe(e){const n=String(e),r=/\r?\n|\r/g;let i=r.exec(n),s=0;const a=[];for(;i;)a.push(j4(n.slice(s,i.index),s>0,!0),i[0]),s=i.index+i[0].length,i=r.exec(n);return a.push(j4(n.slice(s),s>0,!1)),a.join("")}function j4(e,n,r){let i=0,s=e.length;if(n){let a=e.codePointAt(i);for(;a===b4||a===y4;)i++,a=e.codePointAt(i)}if(r){let a=e.codePointAt(s-1);for(;a===b4||a===y4;)s--,a=e.codePointAt(s-1)}return s>i?e.slice(i,s):""}function TMe(e,n){const r={type:"text",value:EMe(String(n.value))};return e.patch(n,r),e.applyData(n,r)}function IMe(e,n){const r={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(n,r),e.applyData(n,r)}const AMe={blockquote:oMe,break:lMe,code:cMe,delete:uMe,emphasis:dMe,footnoteReference:pMe,heading:mMe,html:hMe,imageReference:fMe,image:gMe,inlineCode:xMe,linkReference:vMe,link:bMe,listItem:yMe,list:wMe,paragraph:NMe,root:kMe,strong:qMe,table:SMe,tableCell:PMe,tableRow:CMe,text:TMe,thematicBreak:IMe,toml:Bg,yaml:Bg,definition:Bg,footnoteDefinition:Bg};function Bg(){}const CU=-1,Zy=0,fm=1,gb=2,ZC=3,eP=4,tP=5,nP=6,PU=7,EU=8,TU=typeof self=="object"?self:globalThis,w4=(e,n)=>
vendor: 5,422 bytes, lines 767-769
767{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new TU[e](n)},LMe=(e,n)=>{const r=(s,a)=>(e.set(a,s),s),i=s=>{if(e.has(s))return e.get(s);const[a,o]=n[s];switch(a){case Zy:case CU:return r(o,s);case fm:{const l=r([],s);for(const c of o)l.push(i(c));return l}case gb:{const l=r({},s);for(const[c,u]of o)l[i(c)]=i(u);return l}case ZC:return r(new Date(o),s);case eP:{const{source:l,flags:c}=o;return r(new RegExp(l,c),s)}case tP:{const l=r(new Map,s);for(const[c,u]of o)l.set(i(c),i(u));return l}case nP:{const l=r(new Set,s);for(const c of o)l.add(i(c));return l}case PU:{const{name:l,message:c}=o;return r(typeof TU[l]=="function"?w4(l,c):new Error(c),s)}case EU:return r(BigInt(o),s);case"BigInt":return r(Object(BigInt(o)),s);case"ArrayBuffer":return r(new Uint8Array(o).buffer,o);case"DataView":{const{buffer:l}=new Uint8Array(o);return r(new DataView(l),o)}}return r(w4(a,o),s)};return i},N4=e=>LMe(new Map,e)(0),gl="",{toString:FMe}={},{keys:_Me}=Object,Lp=e=>{const n=typeof e;if(n!=="object"||!e)return[Zy,n];const r=FMe.call(e).slice(8,-1);switch(r){case"Array":return[fm,gl];case"Object":return[gb,gl];case"Date":return[ZC,gl];case"RegExp":return[eP,gl];case"Map":return[tP,gl];case"Set":return[nP,gl];case"DataView":return[fm,r]}return r.includes("Array")?[fm,r]:e instanceof Error?[PU,e.name||"Error"]:[gb,r]},zg=([e,n])=>e===Zy&&(n==="function"||n==="symbol"),OMe=(e,n,r,i)=>{const s=(o,l)=>{const c=i.push(o)-1;return r.set(l,c),c},a=o=>{if(r.has(o))return r.get(o);let[l,c]=Lp(o);switch(l){case Zy:{let d=o;switch(c){case"bigint":l=EU,d=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return s([CU],o)}return s([l,d],o)}case fm:{if(c){let m=o;return c==="DataView"?m=new Uint8Array(o.buffer):c==="ArrayBuffer"&&(m=new Uint8Array(o)),s([c,[...m]],o)}const d=[],p=s([l,d],o);for(const m of o)d.push(a(m));return p}case gb:{if(c)switch(c){case"BigInt":return s([c,o.toString()],o);case"Boolean":case"Number":case"String":return s([c,o.valueOf()],o)}if(n&&"toJSON"in o)return a(o.toJSON());const d=[],p=s([l,d],o);for(const m of _Me(o))(e||!zg(Lp(o[m])))&&d.push([a(m),a(o[m])]);return p}case ZC:return s([l,isNaN(o.getTime())?gl:o.toISOString()],o);case eP:{const{source:d,flags:p}=o;return s([l,{source:d,flags:p}],o)}case tP:{const d=[],p=s([l,d],o);for(const[m,h]of o)(e||!(zg(Lp(m))||zg(Lp(h))))&&d.push([a(m),a(h)]);return p}case nP:{const d=[],p=s([l,d],o);for(const m of o)(e||!zg(Lp(m)))&&d.push(a(m));return p}}const{message:u}=o;return s([l,{name:c,message:u}],o)};return a},k4=(e,{json:n,lossy:r}={})=>{const i=[];return OMe(!(n||r),!!n,new Map,i)(e),i},xb=typeof structuredClone=="function"?(e,n)=>n&&("json"in n||"lossy"in n)?N4(k4(e,n)):structuredClone(e):(e,n)=>N4(k4(e,n));function RMe(e,n){const r=[{type:"text",value:"↩"}];return n>1&&r.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(n)}]}),r}function DMe(e,n){return"Back to reference "+(e+1)+(n>1?"-"+n:"")}function MMe(e){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=e.options.footnoteBackContent||RMe,i=e.options.footnoteBackLabel||DMe,s=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let c=-1;for(;++c<e.footnoteOrder.length;){const u=e.footnoteById.get(e.footnoteOrder[c]);if(!u)continue;const d=e.all(u),p=String(u.identifier).toUpperCase(),m=Qd(p.toLowerCase());let h=0;const g=[],f=e.footnoteCounts.get(p);for(;f!==void 0&&++h<=f;){g.length>0&&g.push({type:"text",value:" "});let b=typeof r=="string"?r:r(c,h);typeof b=="string"&&(b={type:"text",value:b}),g.push({type:"element",tagName:"a",properties:{href:"#"+n+"fnref-"+m+(h>1?"-"+h:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(c,h),className:["data-footnote-backref"]},children:Array.isArray(b)?b:[b]})}const x=d[d.length-1];if(x&&x.type==="element"&&x.tagName==="p"){const b=x.children[x.children.length-1];b&&b.type==="text"?b.value+=" ":x.children.push({type:"text",value:" "}),x.children.push(...g)}else d.push(...g);const v={type:"element",tagName:"li",properties:{id:n+"fn-"+m},children:e.wrap(d,!0)};e.patch(u,v),l.push(v)}if(l.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...xb(o),id:"footnote-label"},children:[{type:"text",value:s}]},{type:"text",value:`
768`},{type:"element",tagName:"ol",properties:{},children:e.wrap(l,!0)},{type:"text",value:`
769`}]}}const e0=function(e){if(e==null)return UMe;if(typeof e=="function")return t0(e);if(typeof e=="object")return Array.isArray(e)?$Me(e):BMe(e);if(typeof e=="string")return zMe(e);throw new Error("Expected function, string, or object as test")};function $Me(e){const n=[];let r=-1;for(;++r<e.length;)n[r]=e0(e[r]);return t0(i);function i(...s){let a=-1;for(;++a<n.length;)if(n[a].apply(this,s))return!0;return!1}}function BMe(e){const n=e;return t0(r);function r(i){const s=i;let a;for(a in e)if(s[a]!==n[a])return!1;return!0}}function zMe(e){return t0(n);function n(r){return r&&r.type===e}}function t0(e){return n;function n(r,i,s){return!!(VMe(r)&&e.call(this,r,typeof i=="number"?i:void 0,s||void 0))}}function UMe(){return!0}
vendor: 4,172 bytes, lines 769-773
769function VMe(e){return e!==null&&typeof e=="object"&&"type"in e}const IU=[],WMe=!0,gk=!1,HMe="skip";function AU(e,n,r,i){let s;typeof n=="function"&&typeof r!="function"?(i=r,r=n):s=n;const a=e0(s),o=i?-1:1;l(e,void 0,[])();function l(c,u,d){const p=c&&typeof c=="object"?c:{};if(typeof p.type=="string"){const h=typeof p.tagName=="string"?p.tagName:typeof p.name=="string"?p.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(c.type+(h?"<"+h+">":""))+")"})}return m;function m(){let h=IU,g,f,x;if((!n||a(c,u,d[d.length-1]||void 0))&&(h=GMe(r(c,d)),h[0]===gk))return h;if("children"in c&&c.children){const v=c;if(v.children&&h[0]!==HMe)for(f=(i?v.children.length:-1)+o,x=d.concat(v);f>-1&&f<v.children.length;){const b=v.children[f];if(g=l(b,f,x)(),g[0]===gk)return g;f=typeof g[1]=="number"?g[1]:f+o}}return h}}}function GMe(e){return Array.isArray(e)?e:typeof e=="number"?[WMe,e]:e==null?IU:[e]}function rP(e,n,r,i){let s,a,o;typeof n=="function"&&typeof r!="function"?(a=void 0,o=n,s=r):(a=n,o=r,s=i),AU(e,a,l,s);function l(c,u){const d=u[u.length-1],p=d?d.children.indexOf(c):void 0;return o(c,p,d)}}const xk={}.hasOwnProperty,KMe={};function QMe(e,n){const r=n||KMe,i=new Map,s=new Map,a=new Map,o={...AMe,...r.handlers},l={all:u,applyData:JMe,definitionById:i,footnoteById:s,footnoteCounts:a,footnoteOrder:[],handlers:o,one:c,options:r,patch:YMe,wrap:ZMe};return rP(e,function(d){if(d.type==="definition"||d.type==="footnoteDefinition"){const p=d.type==="definition"?i:s,m=String(d.identifier).toUpperCase();p.has(m)||p.set(m,d)}}),l;function c(d,p){const m=d.type,h=l.handlers[m];if(xk.call(l.handlers,m)&&h)return h(l,d,p);if(l.options.passThrough&&l.options.passThrough.includes(m)){if("children"in d){const{children:f,...x}=d,v=xb(x);return v.children=l.all(d),v}return xb(d)}return(l.options.unknownHandler||XMe)(l,d,p)}function u(d){const p=[];if("children"in d){const m=d.children;let h=-1;for(;++h<m.length;){const g=l.one(m[h],d);if(g){if(h&&m[h-1].type==="break"&&(!Array.isArray(g)&&g.type==="text"&&(g.value=q4(g.value)),!Array.isArray(g)&&g.type==="element")){const f=g.children[0];f&&f.type==="text"&&(f.value=q4(f.value))}Array.isArray(g)?p.push(...g):p.push(g)}}}return p}}function YMe(e,n){e.position&&(n.position=DOe(e))}function JMe(e,n){let r=n;if(e&&e.data){const i=e.data.hName,s=e.data.hChildren,a=e.data.hProperties;if(typeof i=="string")if(r.type==="element")r.tagName=i;else{const o="children"in r?r.children:[r];r={type:"element",tagName:i,properties:{},children:o}}r.type==="element"&&a&&Object.assign(r.properties,xb(a)),"children"in r&&r.children&&s!==null&&s!==void 0&&(r.children=s)}return r}function XMe(e,n){const r=n.data||{},i="value"in n&&!(xk.call(r,"hProperties")||xk.call(r,"hChildren"))?{type:"text",value:n.value}:{type:"element",tagName:"div",properties:{},children:e.all(n)};return e.patch(n,i),e.applyData(n,i)}function ZMe(e,n){const r=[];let i=-1;for(n&&r.push({type:"text",value:`
770`});++i<e.length;)i&&r.push({type:"text",value:`
771`}),r.push(e[i]);return n&&e.length>0&&r.push({type:"text",value:`
772`}),r}function q4(e){let n=0,r=e.charCodeAt(n);for(;r===9||r===32;)n++,r=e.charCodeAt(n);return e.slice(n)}function S4(e,n){const r=QMe(e,n),i=r.one(e,void 0),s=MMe(r),a=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return s&&a.children.push({type:"text",value:`
773`},s),a}function e8e(e,n){return e&&"run"in e?async function(r,i){const s=S4(r,{file:i,...n});await e.run(s,i)}:function(r,i){return S4(r,{file:i,...e||n})}}function C4(e){if(e)throw e}var bx=Object.prototype.hasOwnProperty,LU=Object.prototype.toString,P4=Object.defineProperty,E4=Object.getOwnPropertyDescriptor,T4=function(n){return typeof Array.isArray=="function"?Array.isArray(n):LU.call(n)==="[object Array]"},I4=function(n){if(!n||LU.call(n)!=="[object Object]")return!1;var r=bx.call(n,"constructor"),i=n.constructor&&n.constructor.prototype&&bx.call(n.constructor.prototype,"isPrototypeOf");if(n.constructor&&!r&&!i)return!1;var s;for(s in n);return typeof s>"u"||bx.call(n,s)},A4=function(n,r){P4&&r.name==="__proto__"?P4(n,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):n[r.name]=r.newValue}
vendor: 16,704 bytes, line 773
773,L4=function(n,r){if(r==="__proto__")if(bx.call(n,r)){if(E4)return E4(n,r).value}else return;return n[r]},t8e=function e(){var n,r,i,s,a,o,l=arguments[0],c=1,u=arguments.length,d=!1;for(typeof l=="boolean"&&(d=l,l=arguments[1]||{},c=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});c<u;++c)if(n=arguments[c],n!=null)for(r in n)i=L4(l,r),s=L4(n,r),l!==s&&(d&&s&&(I4(s)||(a=T4(s)))?(a?(a=!1,o=i&&T4(i)?i:[]):o=i&&I4(i)?i:{},A4(l,{name:r,newValue:e(d,o,s)})):typeof s<"u"&&A4(l,{name:r,newValue:s}));return l};const bw=Ue(t8e);function vk(e){if(typeof e!="object"||e===null)return!1;const n=Object.getPrototypeOf(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function n8e(){const e=[],n={run:r,use:i};return n;function r(...s){let a=-1;const o=s.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);l(null,...s);function l(c,...u){const d=e[++a];let p=-1;if(c){o(c);return}for(;++p<s.length;)(u[p]===null||u[p]===void 0)&&(u[p]=s[p]);s=u,d?r8e(d,l)(...u):o(null,...u)}}function i(s){if(typeof s!="function")throw new TypeError("Expected `middelware` to be a function, not "+s);return e.push(s),n}}function r8e(e,n){let r;return i;function i(...o){const l=e.length>o.length;let c;l&&o.push(s);try{c=e.apply(this,o)}catch(u){const d=u;if(l&&r)throw d;return s(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(a,s):c instanceof Error?s(c):a(c))}function s(o,...l){r||(r=!0,n(o,...l))}function a(o){s(null,o)}}const ns={basename:i8e,dirname:s8e,extname:a8e,join:o8e,sep:"/"};function i8e(e,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');wf(e);let r=0,i=-1,s=e.length,a;if(n===void 0||n.length===0||n.length>e.length){for(;s--;)if(e.codePointAt(s)===47){if(a){r=s+1;break}}else i<0&&(a=!0,i=s+1);return i<0?"":e.slice(r,i)}if(n===e)return"";let o=-1,l=n.length-1;for(;s--;)if(e.codePointAt(s)===47){if(a){r=s+1;break}}else o<0&&(a=!0,o=s+1),l>-1&&(e.codePointAt(s)===n.codePointAt(l--)?l<0&&(i=s):(l=-1,i=o));return r===i?i=o:i<0&&(i=e.length),e.slice(r,i)}function s8e(e){if(wf(e),e.length===0)return".";let n=-1,r=e.length,i;for(;--r;)if(e.codePointAt(r)===47){if(i){n=r;break}}else i||(i=!0);return n<0?e.codePointAt(0)===47?"/":".":n===1&&e.codePointAt(0)===47?"//":e.slice(0,n)}function a8e(e){wf(e);let n=e.length,r=-1,i=0,s=-1,a=0,o;for(;n--;){const l=e.codePointAt(n);if(l===47){if(o){i=n+1;break}continue}r<0&&(o=!0,r=n+1),l===46?s<0?s=n:a!==1&&(a=1):s>-1&&(a=-1)}return s<0||r<0||a===0||a===1&&s===r-1&&s===i+1?"":e.slice(s,r)}function o8e(...e){let n=-1,r;for(;++n<e.length;)wf(e[n]),e[n]&&(r=r===void 0?e[n]:r+"/"+e[n]);return r===void 0?".":l8e(r)}function l8e(e){wf(e);const n=e.codePointAt(0)===47;let r=c8e(e,!n);return r.length===0&&!n&&(r="."),r.length>0&&e.codePointAt(e.length-1)===47&&(r+="/"),n?"/"+r:r}function c8e(e,n){let r="",i=0,s=-1,a=0,o=-1,l,c;for(;++o<=e.length;){if(o<e.length)l=e.codePointAt(o);else{if(l===47)break;l=47}if(l===47){if(!(s===o-1||a===1))if(s!==o-1&&a===2){if(r.length<2||i!==2||r.codePointAt(r.length-1)!==46||r.codePointAt(r.length-2)!==46){if(r.length>2){if(c=r.lastIndexOf("/"),c!==r.length-1){c<0?(r="",i=0):(r=r.slice(0,c),i=r.length-1-r.lastIndexOf("/")),s=o,a=0;continue}}else if(r.length>0){r="",i=0,s=o,a=0;continue}}n&&(r=r.length>0?r+"/..":"..",i=2)}else r.length>0?r+="/"+e.slice(s+1,o):r=e.slice(s+1,o),i=o-s-1;s=o,a=0}else l===46&&a>-1?a++:a=-1}return r}function wf(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const u8e={cwd:d8e};function d8e(){return"/"}function bk(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function p8e(e){if(typeof e=="string")e=new URL(e);else if(!bk(e)){const n=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw n.code="ERR_INVALID_ARG_TYPE",n}if(e.protocol!=="file:"){const n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return m8e(e)}function m8e(e){if(e.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const n=e.pathname;let r=-1;for(;++r<n.length;)if(n.codePointAt(r)===37&&n.codePointAt(r+1)===50){const i=n.codePointAt(r+2);if(i===70||i===102){const s=new TypeError("File URL path must not include encoded / characters");throw s.code="ERR_INVALID_FILE_URL_PATH",s}}return decodeURIComponent(n)}const yw=["history","path","basename","stem","extname","dirname"];class FU{constructor(n){let r;n?bk(n)?r={path:n}:typeof n=="string"||h8e(n)?r={value:n}:r=n:r={},this.cwd="cwd"in r?"":u8e.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i<yw.length;){const a=yw[i];a in r&&r[a]!==void 0&&r[a]!==null&&(this[a]=a==="history"?[...r[a]]:r[a])}let s;for(s in r)yw.includes(s)||(this[s]=r[s])}get basename(){return typeof this.path=="string"?ns.basename(this.path):void 0}set basename(n){ww(n,"basename"),jw(n,"basename"),this.path=ns.join(this.dirname||"",n)}get dirname(){return typeof this.path=="string"?ns.dirname(this.path):void 0}set dirname(n){F4(this.basename,"dirname"),this.path=ns.join(n||"",this.basename)}get extname(){return typeof this.path=="string"?ns.extname(this.path):void 0}set extname(n){if(jw(n,"extname"),F4(this.dirname,"extname"),n){if(n.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(n.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=ns.join(this.dirname,this.stem+(n||""))}get path(){return this.history[this.history.length-1]}set path(n){bk(n)&&(n=p8e(n)),ww(n,"path"),this.path!==n&&this.history.push(n)}get stem(){return typeof this.path=="string"?ns.basename(this.path,this.extname):void 0}set stem(n){ww(n,"stem"),jw(n,"stem"),this.path=ns.join(this.dirname||"",n+(this.extname||""))}fail(n,r,i){const s=this.message(n,r,i);throw s.fatal=!0,s}info(n,r,i){const s=this.message(n,r,i);return s.fatal=void 0,s}message(n,r,i){const s=new Rn(n,r,i);return this.path&&(s.name=this.path+":"+s.name,s.file=this.path),s.fatal=!1,this.messages.push(s),s}toString(n){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(n||void 0).decode(this.value)}}function jw(e,n){if(e&&e.includes(ns.sep))throw new Error("`"+n+"` cannot be a path: did not expect `"+ns.sep+"`")}function ww(e,n){if(!e)throw new Error("`"+n+"` cannot be empty")}function F4(e,n){if(!e)throw new Error("Setting `"+n+"` requires `path` to be set too")}function h8e(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const f8e=function(e){const i=this.constructor.prototype,s=i[e],a=function(){return s.apply(a,arguments)};return Object.setPrototypeOf(a,i),a},g8e={}.hasOwnProperty;class iP extends f8e{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=n8e()}copy(){const n=new iP;let r=-1;for(;++r<this.attachers.length;){const i=this.attachers[r];n.use(...i)}return n.data(bw(!0,{},this.namespace)),n}data(n,r){return typeof n=="string"?arguments.length===2?(qw("data",this.frozen),this.namespace[n]=r,this):g8e.call(this.namespace,n)&&this.namespace[n]||void 0:n?(qw("data",this.frozen),this.namespace=n,this):this.namespace}freeze(){if(this.frozen)return this;const n=this;for(;++this.freezeIndex<this.attachers.length;){const[r,...i]=this.attachers[this.freezeIndex];if(i[0]===!1)continue;i[0]===!0&&(i[0]=void 0);const s=r.call(n,...i);typeof s=="function"&&this.transformers.use(s)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(n){this.freeze();const r=Ug(n),i=this.parser||this.Parser;return Nw("parse",i),i(String(r),r)}process(n,r){const i=this;return this.freeze(),Nw("process",this.parser||this.Parser),kw("process",this.compiler||this.Compiler),r?s(void 0,r):new Promise(s);function s(a,o){const l=Ug(n),c=i.parse(l);i.run(c,l,function(d,p,m){if(d||!p||!m)return u(d);const h=p,g=i.stringify(h,m);b8e(g)?m.value=g:m.result=g,u(d,m)});function u(d,p){d||!p?o(d):a?a(p):r(void 0,p)}}}processSync(n){let r=!1,i;return this.freeze(),Nw("processSync",this.parser||this.Parser),kw("processSync",this.compiler||this.Compiler),this.process(n,s),O4("processSync","process",r),i;function s(a,o){r=!0,C4(a),i=o}}run(n,r,i){_4(n),this.freeze();const s=this.transformers;return!i&&typeof r=="function"&&(i=r,r=void 0),i?a(void 0,i):new Promise(a);function a(o,l){const c=Ug(r);s.run(n,c,u);function u(d,p,m){const h=p||n;d?l(d):o?o(h):i(void 0,h,m)}}}runSync(n,r){let i=!1,s;return this.run(n,r,a),O4("runSync","run",i),s;function a(o,l){C4(o),s=l,i=!0}}stringify(n,r){this.freeze();const i=Ug(r),s=this.compiler||this.Compiler;return kw("stringify",s),_4(n),s(n,i)}use(n,...r){const i=this.attachers,s=this.namespace;if(qw("use",this.frozen),n!=null)if(typeof n=="function")c(n,r);else if(typeof n=="object")Array.isArray(n)?l(n):o(n);else throw new TypeError("Expected usable value, not `"+n+"`");return this;function a(u){if(typeof u=="function")c(u,[]);else if(typeof u=="object")if(Array.isArray(u)){const[d,...p]=u;c(d,p)}else o(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function o(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");l(u.plugins),u.settings&&(s.settings=bw(!0,s.settings,u.settings))}function l(u){let d=-1;if(u!=null)if(Array.isArray(u))for(;++d<u.length;){const p=u[d];a(p)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function c(u,d){let p=-1,m=-1;for(;++p<i.length;)if(i[p][0]===u){m=p;break}if(m===-1)i.push([u,...d]);else if(d.length>0){let[h,...g]=d;const f=i[m][1];vk(f)&&vk(h)&&(h=bw(!0,f,h)),i[m]=[u,h,...g]}}}}const x8e=new iP().freeze();function Nw(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function kw(e,n){if(typeof n!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function qw(e,n){if(n)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function _4(e){if(!vk(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function O4(e,n,r){if(!r)throw new Error("`"+e+"` finished async. Use `"+n+"` instead")}function Ug(e){return v8e(e)?e:new FU(e)}function v8e(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function b8e(e){return typeof e=="string"||y8e(e)}function y8e(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const j8e="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",R4=[],D4={allowDangerousHtml:!0},w8e=/^(https?|ircs?|mailto|xmpp)$/i,N8e=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function k8e(e){const n=q8e(e),r=S8e(e);return C8e(n.runSync(n.parse(r),r),e)}function q8e(e){const n=e.rehypePlugins||R4,r=e.remarkPlugins||R4,i=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...D4}:D4;return x8e().use(aMe).use(r).use(e8e,i).use(n)}function S8e(e){const n=e.children||"",r=new FU;return typeof n=="string"&&(r.value=n),r}function C8e(e,n){const r=n.allowedElements,i=n.allowElement,s=n.components,a=n.disallowedElements,o=n.skipHtml,l=n.unwrapDisallowed,c=n.urlTransform||P8e;for(const d of N8e)Object.hasOwn(n,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+j8e+d.id,void 0);return rP(e,u),UOe(e,{Fragment:t.Fragment,components:s,ignoreInvalidStyle:!0,jsx:t.jsx,jsxs:t.jsxs,passKeys:!0,passNode:!0});function u(d,p,m){if(d.type==="raw"&&m&&typeof p=="number")return o?m.children.splice(p,1):m.children[p]={type:"text",value:d.value},p;if(d.type==="element"){let h;for(h in gw)if(Object.hasOwn(gw,h)&&Object.hasOwn(d.properties,h)){const g=d.properties[h],f=gw[h];(f===null||f.includes(d.tagName))&&(d.properties[h]=c(String(g||""),h,d))}}if(d.type==="element"){let h=r?!r.includes(d.tagName):a?a.includes(d.tagName):!1;if(!h&&i&&typeof p=="number"&&(h=!i(d,p,m)),h&&m&&typeof p=="number")return l&&d.children?m.children.splice(p,1,...d.children):m.children.splice(p,1),p}}}function P8e(e){const n=e.indexOf(":"),r=e.indexOf("?"),i=e.indexOf("#"),s=e.indexOf("/");return n===-1||s!==-1&&n>s||r!==-1&&n>r||i!==-1&&n>i||w8e.test(e.slice(0,n))?e:""}function M4(e,n){const r=String(e);if(typeof n!="string")throw new TypeError("Expected character");let i=0,s=r.indexOf(n);for(;s!==-1;)i++,s=r.indexOf(n,s+n.length);return i}function E8e(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function T8e(e,n,r){const s=e0((r||{}).ignore||[]),a=I8e(n);let o=-1;for(;++o<a.length;)AU(e,"text",l);function l(u,d){let p=-1,m;for(;++p<d.length;){const h=d[p],g=m?m.children:void 0;if(s(h,g?g.indexOf(h):void 0,m))return;m=h}if(m)return c(u,d)}function c(u,d){const p=d[d.length-1],m=a[o][0],h=a[o][1];let g=0;const x=p.children.indexOf(u);let v=!1,b=[];m.lastIndex=0;let y=m.exec(u.value);for(;y;){const N=y.index,j={index:y.index,input:y.input,stack:[...d,u]};let w=h(...y,j);if(typeof w=="string"&&(w=w.length>0?{type:"text",value:w}:void 0),w===!1?m.lastIndex=N+1:(g!==N&&b.push({type:"text",value:u.value.slice(g,N)}),Array.isArray(w)?b.push(...w):w&&b.push(w),g=N+y[0].length,v=!0),!m.global)break;y=m.exec(u.value)}return v?(g<u.value.length&&b.push({type:"text",value:u.value.slice(g)}),p.children.splice(x,1,...b)):b=[u],x+b.length}}function I8e(e){const n=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const r=!e[0]||Array.isArray(e[0])?e:[e];let i=-1;for(;++i<r.length;){const s=r[i];n.push([A8e(s[0]),L8e(s[1])])}return n}function A8e(e){return typeof e=="string"?new RegExp(E8e(e),"g"):e}function L8e(e){return typeof e=="function"?e:function(){return e}}const Sw="phrasing",Cw=["autolink","link","image","label"];function F8e(){return{transforms:[B8e],enter:{literalAutolink:O8e,literalAutolinkEmail:Pw,literalAutolinkHttp:Pw,literalAutolinkWww:Pw},exit:{literalAutolink:$8e,literalAutolinkEmail:M8e,literalAutolinkHttp:R8e,literalAutolinkWww:D8e}}}function _8e(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Sw,notInConstruct:Cw},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Sw,notInConstruct:Cw},{character:":",before:"[ps]",after:"\\/",inConstruct:Sw,notInConstruct:Cw}]}}function O8e(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Pw(e){this.config.enter.autolinkProtocol.call(this,e)}function R8e(e){this.config.exit.autolinkProtocol.call(this,e)}function D8e(e){this.config.exit.data.call(this,e);const n=this.stack[this.stack.length-1];n.type,n.url="http://"+this.sliceSerialize(e)}function M8e(e){this.config.exit.autolinkEmail.call(this,e)}function $8e(e){this.exit(e)}function B8e(e){T8e(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,z8e],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),U8e]],{ignore:["link","linkReference"]})}function z8e(e,n,r,i,s){let a="";if(!_U(s)||(/^w/i.test(n)&&(r=n+r,n="",a="http://"),!V8e(r)))return!1;const o=W8e(r+i);if(!o[0])return!1;const l={type:"link",title:null,url:a+n+o[0],children:[{type:"text",value:n+o[0]}]};return o[1]?[l,{type:"text",value:o[1]}]:l}
vendor: 5,306 bytes, lines 773-777
773function U8e(e,n,r,i){return!_U(i,!0)||/[-\d_]$/.test(r)?!1:{type:"link",title:null,url:"mailto:"+n+"@"+r,children:[{type:"text",value:n+"@"+r}]}}function V8e(e){const n=e.split(".");return!(n.length<2||n[n.length-1]&&(/_/.test(n[n.length-1])||!/[a-zA-Z\d]/.test(n[n.length-1]))||n[n.length-2]&&(/_/.test(n[n.length-2])||!/[a-zA-Z\d]/.test(n[n.length-2])))}function W8e(e){const n=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!n)return[e,void 0];e=e.slice(0,n.index);let r=n[0],i=r.indexOf(")");const s=M4(e,"(");let a=M4(e,")");for(;i!==-1&&s>a;)e+=r.slice(0,i+1),r=r.slice(i+1),i=r.indexOf(")"),a++;return[e,r]}function _U(e,n){const r=e.input.charCodeAt(e.index-1);return(e.index===0||oc(r)||Jy(r))&&(!n||r!==47)}OU.peek=e$e;function H8e(){this.buffer()}function G8e(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function K8e(){this.buffer()}function Q8e(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Y8e(e){const n=this.resume(),r=this.stack[this.stack.length-1];r.type,r.identifier=Ui(this.sliceSerialize(e)).toLowerCase(),r.label=n}function J8e(e){this.exit(e)}function X8e(e){const n=this.resume(),r=this.stack[this.stack.length-1];r.type,r.identifier=Ui(this.sliceSerialize(e)).toLowerCase(),r.label=n}function Z8e(e){this.exit(e)}function e$e(){return"["}function OU(e,n,r,i){const s=r.createTracker(i);let a=s.move("[^");const o=r.enter("footnoteReference"),l=r.enter("reference");return a+=s.move(r.safe(r.associationId(e),{after:"]",before:a})),l(),o(),a+=s.move("]"),a}function t$e(){return{enter:{gfmFootnoteCallString:H8e,gfmFootnoteCall:G8e,gfmFootnoteDefinitionLabelString:K8e,gfmFootnoteDefinition:Q8e},exit:{gfmFootnoteCallString:Y8e,gfmFootnoteCall:J8e,gfmFootnoteDefinitionLabelString:X8e,gfmFootnoteDefinition:Z8e}}}function n$e(e){let n=!1;return e&&e.firstLineBlank&&(n=!0),{handlers:{footnoteDefinition:r,footnoteReference:OU},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function r(i,s,a,o){const l=a.createTracker(o);let c=l.move("[^");const u=a.enter("footnoteDefinition"),d=a.enter("label");return c+=l.move(a.safe(a.associationId(i),{before:c,after:"]"})),d(),c+=l.move("]:"),i.children&&i.children.length>0&&(l.shift(4),c+=l.move((n?`
774`:" ")+a.indentLines(a.containerFlow(i,l.current()),n?RU:r$e))),u(),c}}function r$e(e,n,r){return n===0?e:RU(e,n,r)}function RU(e,n,r){return(r?"":"    ")+e}const i$e=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];DU.peek=c$e;function s$e(){return{canContainEols:["delete"],enter:{strikethrough:o$e},exit:{strikethrough:l$e}}}function a$e(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:i$e}],handlers:{delete:DU}}}function o$e(e){this.enter({type:"delete",children:[]},e)}function l$e(e){this.exit(e)}function DU(e,n,r,i){const s=r.createTracker(i),a=r.enter("strikethrough");let o=s.move("~~");return o+=r.containerPhrasing(e,{...s.current(),before:o,after:"~"}),o+=s.move("~~"),a(),o}function c$e(){return"~"}function u$e(e){return e.length}function d$e(e,n){const r=n||{},i=(r.align||[]).concat(),s=r.stringLength||u$e,a=[],o=[],l=[],c=[];let u=0,d=-1;for(;++d<e.length;){const f=[],x=[];let v=-1;for(e[d].length>u&&(u=e[d].length);++v<e[d].length;){const b=p$e(e[d][v]);if(r.alignDelimiters!==!1){const y=s(b);x[v]=y,(c[v]===void 0||y>c[v])&&(c[v]=y)}f.push(b)}o[d]=f,l[d]=x}let p=-1;if(typeof i=="object"&&"length"in i)for(;++p<u;)a[p]=$4(i[p]);else{const f=$4(i);for(;++p<u;)a[p]=f}p=-1;const m=[],h=[];for(;++p<u;){const f=a[p];let x="",v="";f===99?(x=":",v=":"):f===108?x=":":f===114&&(v=":");let b=r.alignDelimiters===!1?1:Math.max(1,c[p]-x.length-v.length);const y=x+"-".repeat(b)+v;r.alignDelimiters!==!1&&(b=x.length+b+v.length,b>c[p]&&(c[p]=b),h[p]=b),m[p]=y}o.splice(1,0,m),l.splice(1,0,h),d=-1;const g=[];for(;++d<o.length;){const f=o[d],x=l[d];p=-1;const v=[];for(;++p<u;){const b=f[p]||"";let y="",N="";if(r.alignDelimiters!==!1){const j=c[p]-(x[p]||0),w=a[p];w===114?y=" ".repeat(j):w===99?j%2?(y=" ".repeat(j/2+.5),N=" ".repeat(j/2-.5)):(y=" ".repeat(j/2),N=y):N=" ".repeat(j)}r.delimiterStart!==!1&&!p&&v.push("|"),r.padding!==!1&&!(r.alignDelimiters===!1&&b==="")&&(r.delimiterStart!==!1||p)&&v.push(" "),r.alignDelimiters!==!1&&v.push(y),v.push(b),r.alignDelimiters!==!1&&v.push(N),r.padding!==!1&&v.push(" "),(r.delimiterEnd!==!1||p!==u-1)&&v.push("|")}g.push(r.delimiterEnd===!1?v.join("").replace(/ +$/,""):v.join(""))}return g.join(`
775`)}function p$e(e){return e==null?"":String(e)}function $4(e){const n=typeof e=="string"?e.codePointAt(0):0;return n===67||n===99?99:n===76||n===108?108:n===82||n===114?114:0}function m$e(e,n,r,i){const s=r.enter("blockquote"),a=r.createTracker(i);a.move("> "),a.shift(2);const o=r.indentLines(r.containerFlow(e,a.current()),h$e);return s(),o}function h$e(e,n,r){return">"+(r?"":" ")+e}function f$e(e,n){return B4(e,n.inConstruct,!0)&&!B4(e,n.notInConstruct,!1)}function B4(e,n,r){if(typeof n=="string"&&(n=[n]),!n||n.length===0)return r;let i=-1;for(;++i<n.length;)if(e.includes(n[i]))return!0;return!1}function z4(e,n,r,i){let s=-1;for(;++s<r.unsafe.length;)if(r.unsafe[s].character===`
776`&&f$e(r.stack,r.unsafe[s]))return/[ \t]/.test(i.before)?"":" ";return`\\
777`}function g$e(e,n){const r=String(e);let i=r.indexOf(n),s=i,a=0,o=0;
vendor: 10,926 bytes, lines 777-786
777if(typeof n!="string")throw new TypeError("Expected substring");for(;i!==-1;)i===s?++a>o&&(o=a):a=1,s=i+n.length,i=r.indexOf(n,s);return o}function x$e(e,n){return!!(n.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function v$e(e){const n=e.options.fence||"`";if(n!=="`"&&n!=="~")throw new Error("Cannot serialize code with `"+n+"` for `options.fence`, expected `` ` `` or `~`");return n}function b$e(e,n,r,i){const s=v$e(r),a=e.value||"",o=s==="`"?"GraveAccent":"Tilde";if(x$e(e,r)){const p=r.enter("codeIndented"),m=r.indentLines(a,y$e);return p(),m}const l=r.createTracker(i),c=s.repeat(Math.max(g$e(a,s)+1,3)),u=r.enter("codeFenced");let d=l.move(c);if(e.lang){const p=r.enter(`codeFencedLang${o}`);d+=l.move(r.safe(e.lang,{before:d,after:" ",encode:["`"],...l.current()})),p()}if(e.lang&&e.meta){const p=r.enter(`codeFencedMeta${o}`);d+=l.move(" "),d+=l.move(r.safe(e.meta,{before:d,after:`
778`,encode:["`"],...l.current()})),p()}return d+=l.move(`
779`),a&&(d+=l.move(a+`
780`)),d+=l.move(c),u(),d}function y$e(e,n,r){return(r?"":"    ")+e}function sP(e){const n=e.options.quote||'"';if(n!=='"'&&n!=="'")throw new Error("Cannot serialize title with `"+n+"` for `options.quote`, expected `\"`, or `'`");return n}function j$e(e,n,r,i){const s=sP(r),a=s==='"'?"Quote":"Apostrophe",o=r.enter("definition");let l=r.enter("label");const c=r.createTracker(i);let u=c.move("[");return u+=c.move(r.safe(r.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),l(),!e.url||/[\0- \u007F]/.test(e.url)?(l=r.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(r.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=r.enter("destinationRaw"),u+=c.move(r.safe(e.url,{before:u,after:e.title?" ":`
781`,...c.current()}))),l(),e.title&&(l=r.enter(`title${a}`),u+=c.move(" "+s),u+=c.move(r.safe(e.title,{before:u,after:s,...c.current()})),u+=c.move(s),l()),o(),u}function w$e(e){const n=e.options.emphasis||"*";if(n!=="*"&&n!=="_")throw new Error("Cannot serialize emphasis with `"+n+"` for `options.emphasis`, expected `*`, or `_`");return n}function Dh(e){return"&#x"+e.toString(16).toUpperCase()+";"}function vb(e,n,r){const i=xd(e),s=xd(n);return i===void 0?s===void 0?r==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}MU.peek=N$e;function MU(e,n,r,i){const s=w$e(r),a=r.enter("emphasis"),o=r.createTracker(i),l=o.move(s);let c=o.move(r.containerPhrasing(e,{after:s,before:l,...o.current()}));const u=c.charCodeAt(0),d=vb(i.before.charCodeAt(i.before.length-1),u,s);d.inside&&(c=Dh(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=vb(i.after.charCodeAt(0),p,s);m.inside&&(c=c.slice(0,-1)+Dh(p));const h=o.move(s);return a(),r.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},l+c+h}function N$e(e,n,r){return r.options.emphasis||"*"}function k$e(e,n){let r=!1;return rP(e,function(i){if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return r=!0,gk}),!!((!e.depth||e.depth<3)&&YC(e)&&(n.options.setext||r))}function q$e(e,n,r,i){const s=Math.max(Math.min(6,e.depth||1),1),a=r.createTracker(i);if(k$e(e,r)){const d=r.enter("headingSetext"),p=r.enter("phrasing"),m=r.containerPhrasing(e,{...a.current(),before:`
782`,after:`
783`});return p(),d(),m+`
784`+(s===1?"=":"-").repeat(m.length-(Math.max(m.lastIndexOf("\r"),m.lastIndexOf(`
785`))+1))}const o="#".repeat(s),l=r.enter("headingAtx"),c=r.enter("phrasing");a.move(o+" ");let u=r.containerPhrasing(e,{before:"# ",after:`
786`,...a.current()});return/^[\t ]/.test(u)&&(u=Dh(u.charCodeAt(0))+u.slice(1)),u=u?o+" "+u:o,r.options.closeAtx&&(u+=" "+o),c(),l(),u}$U.peek=S$e;function $U(e){return e.value||""}function S$e(){return"<"}BU.peek=C$e;function BU(e,n,r,i){const s=sP(r),a=s==='"'?"Quote":"Apostrophe",o=r.enter("image");let l=r.enter("label");const c=r.createTracker(i);let u=c.move("![");return u+=c.move(r.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=r.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(r.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=r.enter("destinationRaw"),u+=c.move(r.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),l(),e.title&&(l=r.enter(`title${a}`),u+=c.move(" "+s),u+=c.move(r.safe(e.title,{before:u,after:s,...c.current()})),u+=c.move(s),l()),u+=c.move(")"),o(),u}function C$e(){return"!"}zU.peek=P$e;function zU(e,n,r,i){const s=e.referenceType,a=r.enter("imageReference");let o=r.enter("label");const l=r.createTracker(i);let c=l.move("![");const u=r.safe(e.alt,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),o();const d=r.stack;r.stack=[],o=r.enter("reference");const p=r.safe(r.associationId(e),{before:c,after:"]",...l.current()});return o(),r.stack=d,a(),s==="full"||!u||u!==p?c+=l.move(p+"]"):s==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function P$e(){return"!"}UU.peek=E$e;function UU(e,n,r){let i=e.value||"",s="`",a=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(i);)s+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++a<r.unsafe.length;){const o=r.unsafe[a],l=r.compilePattern(o);let c;if(o.atBreak)for(;c=l.exec(i);){let u=c.index;i.charCodeAt(u)===10&&i.charCodeAt(u-1)===13&&u--,i=i.slice(0,u)+" "+i.slice(c.index+1)}}return s+i+s}function E$e(){return"`"}function VU(e,n){const r=YC(e);return!!(!n.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(r===e.url||"mailto:"+r===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}WU.peek=T$e;function WU(e,n,r,i){const s=sP(r),a=s==='"'?"Quote":"Apostrophe",o=r.createTracker(i);let l,c;if(VU(e,r)){const d=r.stack;r.stack=[],l=r.enter("autolink");let p=o.move("<");return p+=o.move(r.containerPhrasing(e,{before:p,after:">",...o.current()})),p+=o.move(">"),l(),r.stack=d,p}l=r.enter("link"),c=r.enter("label");let u=o.move("[");return u+=o.move(r.containerPhrasing(e,{before:u,after:"](",...o.current()})),u+=o.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=r.enter("destinationLiteral"),u+=o.move("<"),u+=o.move(r.safe(e.url,{before:u,after:">",...o.current()})),u+=o.move(">")):(c=r.enter("destinationRaw"),u+=o.move(r.safe(e.url,{before:u,after:e.title?" ":")",...o.current()}))),c(),e.title&&(c=r.enter(`title${a}`),u+=o.move(" "+s),u+=o.move(r.safe(e.title,{before:u,after:s,...o.current()})),u+=o.move(s),c()),u+=o.move(")"),l(),u}function T$e(e,n,r){return VU(e,r)?"<":"["}HU.peek=I$e;function HU(e,n,r,i){const s=e.referenceType,a=r.enter("linkReference");let o=r.enter("label");const l=r.createTracker(i);let c=l.move("[");const u=r.containerPhrasing(e,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),o();const d=r.stack;r.stack=[],o=r.enter("reference");const p=r.safe(r.associationId(e),{before:c,after:"]",...l.current()});return o(),r.stack=d,a(),s==="full"||!u||u!==p?c+=l.move(p+"]"):s==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function I$e(){return"["}function aP(e){const n=e.options.bullet||"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bullet`, expected `*`, `+`, or `-`");return n}function A$e(e){const n=aP(e),r=e.options.bulletOther;if(!r)return n==="*"?"-":"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(r===n)throw new Error("Expected `bullet` (`"+n+"`) and `bulletOther` (`"+r+"`) to be different");return r}function L$e(e){const n=e.options.bulletOrdered||".";if(n!=="."&&n!==")")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOrdered`, expected `.` or `)`");return n}function GU(e){const n=e.options.rule||"*";if(n!=="*"&&n!=="-"&&n!=="_")throw new Error("Cannot serialize rules with `"+n+"` for `options.rule`, expected `*`, `-`, or `_`");return n}function F$e(e,n,r,i){const s=r.enter("list"),a=r.bulletCurrent;let o=e.ordered?L$e(r):aP(r);const l=e.ordered?o==="."?")":".":A$e(r);let c=n&&r.bulletLastUsed?o===r.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&d&&(!d.children||!d.children[0])&&r.stack[r.stack.length-1]==="list"&&r.stack[r.stack.length-2]==="listItem"&&r.stack[r.stack.length-3]==="list"&&r.stack[r.stack.length-4]==="listItem"&&r.indexStack[r.indexStack.length-1]===0&&r.indexStack[r.indexStack.length-2]===0&&r.indexStack[r.indexStack.length-3]===0&&(c=!0),GU(r)===o&&d){let p=-1;for(;++p<e.children.length;){const m=e.children[p];if(m&&m.type==="listItem"&&m.children&&m.children[0]&&m.children[0].type==="thematicBreak"){c=!0;break}}}}c&&(o=l),r.bulletCurrent=o;const u=r.containerFlow(e,i);return r.bulletLastUsed=o,r.bulletCurrent=a,s(),u}function _$e(e){const n=e.options.listItemIndent||"one";if(n!=="tab"&&n!=="one"&&n!=="mixed")throw new Error("Cannot serialize items with `"+n+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return n}function O$e(e,n,r,i){const s=_$e(r);let a=r.bulletCurrent||aP(r);n&&n.type==="list"&&n.ordered&&(a=(typeof n.start=="number"&&n.start>-1?n.start:1)+(r.options.incrementListMarker===!1?0:n.children.indexOf(e))+a);let o=a.length+1;(s==="tab"||s==="mixed"&&(n&&n.type==="list"&&n.spread||e.spread))&&(o=Math.ceil(o/4)*4);const l=r.createTracker(i);l.move(a+" ".repeat(o-a.length)),l.shift(o);const c=r.enter("listItem"),u=r.indentLines(r.containerFlow(e,l.current()),d);return c(),u;function d(p,m,h){return m?(h?"":" ".repeat(o))+p:(h?a:a+" ".repeat(o-a.length))+p}}function R$e(e,n,r,i){const s=r.enter("paragraph"),a=r.enter("phrasing"),o=r.containerPhrasing(e,i);return a(),s(),o}const D$e=e0(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function M$e(e,n,r,i){return(e.children.some(function(o){return D$e(o)})?r.containerPhrasing:r.containerFlow).call(r,e,i)}function $$e(e){const n=e.options.strong||"*";if(n!=="*"&&n!=="_")throw new Error("Cannot serialize strong with `"+n+"` for `options.strong`, expected `*`, or `_`");return n}KU.peek=B$e;function KU(e,n,r,i){const s=$$e(r),a=r.enter("strong"),o=r.createTracker(i),l=o.move(s+s);let c=o.move(r.containerPhrasing(e,{after:s,before:l,...o.current()}));const u=c.charCodeAt(0),d=vb(i.before.charCodeAt(i.before.length-1),u,s);d.inside&&(c=Dh(u)+c.slice(1));const p=c.charCodeAt(c.length-1),m=vb(i.after.charCodeAt(0),p,s);m.inside&&(c=c.slice(0,-1)+Dh(p));const h=o.move(s+s);return a(),r.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},l+c+h}function B$e(e,n,r){return r.options.strong||"*"}
vendor: 13,920 bytes, lines 786-788
786function z$e(e,n,r,i){return r.safe(e.value,i)}function U$e(e){const n=e.options.ruleRepetition||3;if(n<3)throw new Error("Cannot serialize rules with repetition `"+n+"` for `options.ruleRepetition`, expected `3` or more");return n}function V$e(e,n,r){const i=(GU(r)+(r.options.ruleSpaces?" ":"")).repeat(U$e(r));return r.options.ruleSpaces?i.slice(0,-1):i}const QU={blockquote:m$e,break:z4,code:b$e,definition:j$e,emphasis:MU,hardBreak:z4,heading:q$e,html:$U,image:BU,imageReference:zU,inlineCode:UU,link:WU,linkReference:HU,list:F$e,listItem:O$e,paragraph:R$e,root:M$e,strong:KU,text:z$e,thematicBreak:V$e};function W$e(){return{enter:{table:H$e,tableData:U4,tableHeader:U4,tableRow:K$e},exit:{codeText:Q$e,table:G$e,tableData:Ew,tableHeader:Ew,tableRow:Ew}}}function H$e(e){const n=e._align;this.enter({type:"table",align:n.map(function(r){return r==="none"?null:r}),children:[]},e),this.data.inTable=!0}function G$e(e){this.exit(e),this.data.inTable=void 0}function K$e(e){this.enter({type:"tableRow",children:[]},e)}function Ew(e){this.exit(e)}function U4(e){this.enter({type:"tableCell",children:[]},e)}function Q$e(e){let n=this.resume();this.data.inTable&&(n=n.replace(/\\([\\|])/g,Y$e));const r=this.stack[this.stack.length-1];r.type,r.value=n,this.exit(e)}function Y$e(e,n){return n==="|"?n:e}function J$e(e){const n=e||{},r=n.tableCellPadding,i=n.tablePipeAlign,s=n.stringLength,a=r?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
787`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[	 :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:m,table:o,tableCell:c,tableRow:l}};function o(h,g,f,x){return u(d(h,f,x),h.align)}function l(h,g,f,x){const v=p(h,f,x),b=u([v]);return b.slice(0,b.indexOf(`
788`))}function c(h,g,f,x){const v=f.enter("tableCell"),b=f.enter("phrasing"),y=f.containerPhrasing(h,{...x,before:a,after:a});return b(),v(),y}function u(h,g){return d$e(h,{align:g,alignDelimiters:i,padding:r,stringLength:s})}function d(h,g,f){const x=h.children;let v=-1;const b=[],y=g.enter("table");for(;++v<x.length;)b[v]=p(x[v],g,f);return y(),b}function p(h,g,f){const x=h.children;let v=-1;const b=[],y=g.enter("tableRow");for(;++v<x.length;)b[v]=c(x[v],h,g,f);return y(),b}function m(h,g,f){let x=QU.inlineCode(h,g,f);return f.stack.includes("tableCell")&&(x=x.replace(/\|/g,"\\$&")),x}}function X$e(){return{exit:{taskListCheckValueChecked:V4,taskListCheckValueUnchecked:V4,paragraph:eBe}}}function Z$e(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:tBe}}}function V4(e){const n=this.stack[this.stack.length-2];n.type,n.checked=e.type==="taskListCheckValueChecked"}function eBe(e){const n=this.stack[this.stack.length-2];if(n&&n.type==="listItem"&&typeof n.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const i=r.children[0];if(i&&i.type==="text"){const s=n.children;let a=-1,o;for(;++a<s.length;){const l=s[a];if(l.type==="paragraph"){o=l;break}}o===r&&(i.value=i.value.slice(1),i.value.length===0?r.children.shift():r.position&&i.position&&typeof i.position.start.offset=="number"&&(i.position.start.column++,i.position.start.offset++,r.position.start=Object.assign({},i.position.start)))}}this.exit(e)}function tBe(e,n,r,i){const s=e.children[0],a=typeof e.checked=="boolean"&&s&&s.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",l=r.createTracker(i);a&&l.move(o);let c=QU.listItem(e,n,r,{...i,...l.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),c;function u(d){return d+o}}function nBe(){return[F8e(),t$e(),s$e(),W$e(),X$e()]}function rBe(e){return{extensions:[_8e(),n$e(e),a$e(),J$e(e),Z$e()]}}const iBe={tokenize:uBe,partial:!0},YU={tokenize:dBe,partial:!0},JU={tokenize:pBe,partial:!0},XU={tokenize:mBe,partial:!0},sBe={tokenize:hBe,partial:!0},ZU={name:"wwwAutolink",tokenize:lBe,previous:t9},e9={name:"protocolAutolink",tokenize:cBe,previous:n9},Na={name:"emailAutolink",tokenize:oBe,previous:r9},Cs={};function aBe(){return{text:Cs}}let ol=48;for(;ol<123;)Cs[ol]=Na,ol++,ol===58?ol=65:ol===91&&(ol=97);Cs[43]=Na;Cs[45]=Na;Cs[46]=Na;Cs[95]=Na;Cs[72]=[Na,e9];Cs[104]=[Na,e9];Cs[87]=[Na,ZU];Cs[119]=[Na,ZU];function oBe(e,n,r){const i=this;let s,a;return o;function o(p){return!yk(p)||!r9.call(i,i.previous)||oP(i.events)?r(p):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),l(p))}function l(p){return yk(p)?(e.consume(p),l):p===64?(e.consume(p),c):r(p)}function c(p){return p===46?e.check(sBe,d,u)(p):p===45||p===95||_n(p)?(a=!0,e.consume(p),c):d(p)}function u(p){return e.consume(p),s=!0,c}function d(p){return a&&s&&Vn(i.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),n(p)):r(p)}}function lBe(e,n,r){const i=this;return s;function s(o){return o!==87&&o!==119||!t9.call(i,i.previous)||oP(i.events)?r(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(iBe,e.attempt(YU,e.attempt(JU,a),r),r)(o))}function a(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),n(o)}}function cBe(e,n,r){const i=this;let s="",a=!1;return o;function o(p){return(p===72||p===104)&&n9.call(i,i.previous)&&!oP(i.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),s+=String.fromCodePoint(p),e.consume(p),l):r(p)}function l(p){if(Vn(p)&&s.length<5)return s+=String.fromCodePoint(p),e.consume(p),l;if(p===58){const m=s.toLowerCase();if(m==="http"||m==="https")return e.consume(p),c}return r(p)}function c(p){return p===47?(e.consume(p),a?u:(a=!0,c)):r(p)}function u(p){return p===null||fb(p)||st(p)||oc(p)||Jy(p)?r(p):e.attempt(YU,e.attempt(JU,d),r)(p)}function d(p){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),n(p)}}function uBe(e,n,r){let i=0;return s;function s(o){return(o===87||o===119)&&i<3?(i++,e.consume(o),s):o===46&&i===3?(e.consume(o),a):r(o)}function a(o){return o===null?r(o):n(o)}}function dBe(e,n,r){let i,s,a;return o;function o(u){return u===46||u===95?e.check(XU,c,l)(u):u===null||st(u)||oc(u)||u!==45&&Jy(u)?c(u):(a=!0,e.consume(u),o)}function l(u){return u===95?i=!0:(s=i,i=void 0),e.consume(u),o}function c(u){return s||i||!a?r(u):n(u)}}function pBe(e,n){let r=0,i=0;return s;function s(o){return o===40?(r++,e.consume(o),s):o===41&&i<r?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(XU,n,a)(o):o===null||st(o)||oc(o)?n(o):(e.consume(o),s)}function a(o){return o===41&&i++,e.consume(o),s}}function mBe(e,n,r){return i;function i(l){return l===33||l===34||l===39||l===41||l===42||l===44||l===46||l===58||l===59||l===63||l===95||l===126?(e.consume(l),i):l===38?(e.consume(l),a):l===93?(e.consume(l),s):l===60||l===null||st(l)||oc(l)?n(l):r(l)}function s(l){return l===null||l===40||l===91||st(l)||oc(l)?n(l):i(l)}function a(l){return Vn(l)?o(l):r(l)}function o(l){return l===59?(e.consume(l),i):Vn(l)?(e.consume(l),o):r(l)}}function hBe(e,n,r){return i;function i(a){return e.consume(a),s}function s(a){return _n(a)?r(a):n(a)}}function t9(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||st(e)}function n9(e){return!Vn(e)}function r9(e){return!(e===47||yk(e))}function yk(e){return e===43||e===45||e===46||e===95||_n(e)}function oP(e){let n=e.length,r=!1;for(;n--;){const i=e[n][1];if((i.type==="labelLink"||i.type==="labelImage")&&!i._balanced){r=!0;break}if(i._gfmAutolinkLiteralWalkedInto){r=!1;break}}return e.length>0&&!r&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const fBe={tokenize:NBe,partial:!0};function gBe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:yBe,continuation:{tokenize:jBe},exit:wBe}},text:{91:{name:"gfmFootnoteCall",tokenize:bBe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:xBe,resolveTo:vBe}}}}function xBe(e,n,r){const i=this;let s=i.events.length;const a=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let o;for(;s--;){const c=i.events[s][1];if(c.type==="labelImage"){o=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!o||!o._balanced)return r(c);const u=Ui(i.sliceSerialize({start:o.end,end:i.now()}));return u.codePointAt(0)!==94||!a.includes(u.slice(1))?r(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),n(c))}}function vBe(e,n){let r=e.length;for(;r--;)if(e[r][1].type==="labelImage"&&e[r][0]==="enter"){e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},l=[e[r+1],e[r+2],["enter",i,n],e[r+3],e[r+4],["enter",s,n],["exit",s,n],["enter",a,n],["enter",o,n],["exit",o,n],["exit",a,n],e[e.length-2],e[e.length-1],["exit",i,n]];return e.splice(r,e.length-r+1,...l),e}function bBe(e,n,r){const i=this,s=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a=0,o;return l;function l(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),c}function c(p){return p!==94?r(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(p){if(a>999||p===93&&!o||p===null||p===91||st(p))return r(p);if(p===93){e.exit("chunkString");const m=e.exit("gfmFootnoteCallString");return s.includes(Ui(i.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),n):r(p)}return st(p)||(o=!0),a++,e.consume(p),p===92?d:u}function d(p){return p===91||p===92||p===93?(e.consume(p),a++,u):u(p)}}function yBe(e,n,r){const i=this,s=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a,o=0,l;return c;function c(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):r(g)}function d(g){if(o>999||g===93&&!l||g===null||g===91||st(g))return r(g);if(g===93){e.exit("chunkString");const f=e.exit("gfmFootnoteDefinitionLabelString");return a=Ui(i.sliceSerialize(f)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return st(g)||(l=!0),o++,e.consume(g),g===92?p:d}function p(g){return g===91||g===92||g===93?(e.consume(g),o++,d):d(g)}function m(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),s.includes(a)||s.push(a),De(e,h,"gfmFootnoteDefinitionWhitespace")):r(g)}function h(g){return n(g)}}function jBe(e,n,r){return e.check(jf,n,e.attempt(fBe,n,r))}function wBe(e){e.exit("gfmFootnoteDefinition")}function NBe(e,n,r){const i=this;return De(e,s,"gfmFootnoteDefinitionIndent",5);function s(a){const o=i.events[i.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?n(a):r(a)}}function kBe(e){let r=(e||{}).singleTilde;const i={name:"strikethrough",tokenize:a,resolveAll:s};return r==null&&(r=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function s(o,l){let c=-1;for(;++c<o.length;)if(o[c][0]==="enter"&&o[c][1].type==="strikethroughSequenceTemporary"&&o[c][1]._close){let u=c;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[c][1].end.offset-o[c][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[c][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[c][1].end)},p={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[c][1].start)},m=[["enter",d,l],["enter",o[u][1],l],["exit",o[u][1],l],["enter",p,l]],h=l.parser.constructs.insideSpan.null;h&&Fr(m,m.length,0,Xy(h,o.slice(u+1,c),l)),Fr(m,m.length,0,[["exit",p,l],["enter",o[c][1],l],["exit",o[c][1],l],["exit",d,l]]),Fr(o,u-1,c-u+3,m),c=u+m.length-2;break}}for(c=-1;++c<o.length;)o[c][1].type==="strikethroughSequenceTemporary"&&(o[c][1].type="data");return o}function a(o,l,c){const u=this.previous,d=this.events;let p=0;return m;function m(g){return u===126&&d[d.length-1][1].type!=="characterEscape"?c(g):(o.enter("strikethroughSequenceTemporary"),h(g))}function h(g){const f=xd(u);if(g===126)return p>1?c(g):(o.consume(g),p++,h);if(p<2&&!r)return c(g);const x=o.exit("strikethroughSequenceTemporary"),v=xd(g);return x._open=!v||v===2&&!!f,x._close=!f||f===2&&!!v,l(g)}}}class qBe{constructor(){this.map=[]}add(n,r,i){SBe(this,n,r,i)}consume(n){if(this.map.sort(function(a,o){return a[0]-o[0]}),this.map.length===0)return;let r=this.map.length;const i=[];for(;r>0;)r-=1,i.push(n.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),n.length=this.map[r][0];i.push(n.slice()),n.length=0;let s=i.pop();for(;s;){for(const a of s)n.push(a);s=i.pop()}this.map.length=0}}function SBe(e,n,r,i){let s=0;if(!(r===0&&i.length===0)){for(;s<e.map.length;){if(e.map[s][0]===n){e.map[s][1]+=r,e.map[s][2].push(...i);return}s+=1}e.map.push([n,r,i])}}function CBe(e,n){let r=!1;const i=[];for(;n<e.length;){const s=e[n];if(r){if(s[0]==="enter")s[1].type==="tableContent"&&i.push(e[n+1][1].type==="tableDelimiterMarker"?"left"
vendor: 4,360 bytes, line 788
788:"none");else if(s[1].type==="tableContent"){if(e[n-1][1].type==="tableDelimiterMarker"){const a=i.length-1;i[a]=i[a]==="left"?"center":"right"}}else if(s[1].type==="tableDelimiterRow")break}else s[0]==="enter"&&s[1].type==="tableDelimiterRow"&&(r=!0);n+=1}return i}function PBe(){return{flow:{null:{name:"table",tokenize:EBe,resolveAll:TBe}}}}function EBe(e,n,r){const i=this;let s=0,a=0,o;return l;function l(E){let A=i.events.length-1;for(;A>-1;){const R=i.events[A][1].type;if(R==="lineEnding"||R==="linePrefix")A--;else break}const _=A>-1?i.events[A][1].type:null,D=_==="tableHead"||_==="tableRow"?w:c;return D===w&&i.parser.lazy[i.now().line]?r(E):D(E)}function c(E){return e.enter("tableHead"),e.enter("tableRow"),u(E)}function u(E){return E===124||(o=!0,a+=1),d(E)}function d(E){return E===null?r(E):ve(E)?a>1?(a=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(E),e.exit("lineEnding"),h):r(E):Ae(E)?De(e,d,"whitespace")(E):(a+=1,o&&(o=!1,s+=1),E===124?(e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),p(E)))}function p(E){return E===null||E===124||st(E)?(e.exit("data"),d(E)):(e.consume(E),E===92?m:p)}function m(E){return E===92||E===124?(e.consume(E),p):p(E)}function h(E){return i.interrupt=!1,i.parser.lazy[i.now().line]?r(E):(e.enter("tableDelimiterRow"),o=!1,Ae(E)?De(e,g,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E):g(E))}function g(E){return E===45||E===58?x(E):E===124?(o=!0,e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),f):j(E)}function f(E){return Ae(E)?De(e,x,"whitespace")(E):x(E)}function x(E){return E===58?(a+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(E),e.exit("tableDelimiterMarker"),v):E===45?(a+=1,v(E)):E===null||ve(E)?N(E):j(E)}function v(E){return E===45?(e.enter("tableDelimiterFiller"),b(E)):j(E)}function b(E){return E===45?(e.consume(E),b):E===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(E),e.exit("tableDelimiterMarker"),y):(e.exit("tableDelimiterFiller"),y(E))}function y(E){return Ae(E)?De(e,N,"whitespace")(E):N(E)}function N(E){return E===124?g(E):E===null||ve(E)?!o||s!==a?j(E):(e.exit("tableDelimiterRow"),e.exit("tableHead"),n(E)):j(E)}function j(E){return r(E)}function w(E){return e.enter("tableRow"),q(E)}function q(E){return E===124?(e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),q):E===null||ve(E)?(e.exit("tableRow"),n(E)):Ae(E)?De(e,q,"whitespace")(E):(e.enter("data"),P(E))}function P(E){return E===null||E===124||st(E)?(e.exit("data"),q(E)):(e.consume(E),E===92?T:P)}function T(E){return E===92||E===124?(e.consume(E),P):P(E)}}function TBe(e,n){let r=-1,i=!0,s=0,a=[0,0,0,0],o=[0,0,0,0],l=!1,c=0,u,d,p;const m=new qBe;for(;++r<e.length;){const h=e[r],g=h[1];h[0]==="enter"?g.type==="tableHead"?(l=!1,c!==0&&(W4(m,n,c,u,d),d=void 0,c=0),u={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},m.add(r,0,[["enter",u,n]])):g.type==="tableRow"||g.type==="tableDelimiterRow"?(i=!0,p=void 0,a=[0,0,0,0],o=[0,r+1,0,0],l&&(l=!1,d={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},m.add(r,0,[["enter",d,n]])),s=g.type==="tableDelimiterRow"?2:d?3:1):s&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")?(i=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],p=Vg(m,n,a,s,void 0,p),a=[0,0,0,0]),o[2]=r)):g.type==="tableCellDivider"&&(i?i=!1:(a[1]!==0&&(o[0]=o[1],p=Vg(m,n,a,s,void 0,p)),a=o,o=[a[1],r,0,0])):g.type==="tableHead"?(l=!0,c=r):g.type==="tableRow"||g.type==="tableDelimiterRow"?(c=r,a[1]!==0?(o[0]=o[1],p=Vg(m,n,a,s,r,p)):o[1]!==0&&(p=Vg(m,n,o,s,r,p)),s=0):s&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")&&(o[3]=r)}for(c!==0&&W4(m,n,c,u,d),m.consume(n.events),r=-1;++r<n.events.length;){const h=n.events[r];h[0]==="enter"&&h[1].type==="table"&&(h[1]._align=CBe(n.events,r))}return e}function Vg(e,n,r,i,s,a){const o=i===1?"tableHeader":i===2?"tableDelimiter":"tableData",l="tableContent";r[0]!==0&&(a.end=Object.assign({},Mc(n.events,r[0])),e.add(r[0],0,[["exit",a,n]]));const c=Mc(n.events,r[1]);if(a={type:o,start:Object.assign({},c),end:Object.assign({},c)},e.add(r[1],0,[["enter",a,n]]),r[2]!==0){const u=Mc(n.events,r[2]),d=Mc(n.events,r[3]),p={type:l,start:Object.assign({},u),end:Object.assign({},d)};
788if(e.add(r[2],0,[["enter",p,n]]),i!==2){const m=n.events[r[2]],h=n.events[r[3]];if(m[1].end=Object.assign({},h[1].end),m[1].type="chunkText",m[1].contentType="text",r[3]>r[2]+1){const g=r[2]+1,f=r[3]-r[2]-1;e.add(g,f,[])}}e.add(r[3]+1,0,[["exit",p,n]])}return s!==void 0&&(a.end=Object.assign({},Mc(n.events,s)),e.add(s,0,[["exit",a,n]]),a=void 0),a}function W4(e,n,r,i,s){const a=[],o=Mc(n.events,r);s&&(s.end=Object.assign({},o),a.push(["exit",s,n])),i.end=Object.assign({},o),a.push(["exit",i,n]),e.add(r+1,0,a)}function Mc(e,n){const r=e[n],i=r[0]==="enter"?"start":"end";return r[1][i]}const IBe={name:"tasklistCheck",tokenize:LBe};function ABe(){return{text:{91:IBe}}}function LBe(e,n,r){const i=this;return s;function s(c){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?r(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),a)}function a(c){return st(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),o):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),o):r(c)}function o(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):r(c)}function l(c){return ve(c)?n(c):Ae(c)?e.check({tokenize:FBe},n,r)(c):r(c)}}function FBe(e,n,r){return De(e,i,"whitespace");function i(s){return s===null?r(s):n(s)}}function _Be(e){return pU([aBe(),gBe(),kBe(e),PBe(),ABe()])}const OBe={};function RBe(e){const n=this,r=e||OBe,i=n.data(),s=i.micromarkExtensions||(i.micromarkExtensions=[]),a=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),o=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);s.push(_Be(r)),a.push(nBe()),o.push(rBe(r))}function DBe(e){const n=e.split(`
789`),r=[],i=new Map;for(const s of n){const a=/^(#{2,3})\s+(.+?)\s*#*\s*$/.exec(s);if(!a)continue;const o=a[1].length,l=a[2].trim();let c=i9(l);if(!c)continue;const u=i.get(c)??0;i.set(c,u+1);const d=u===0?c:`${c}-${u}`;r.push({id:d,text:l,level:o})}return r}function i9(e){return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-")}const MBe=({items:e})=>{const[n,r]=k.useState(null);return k.useEffect(()=>{if(e.length===0)return;const i=new IntersectionObserver(a=>{const o=a.filter(l=>l.isIntersecting).sort((l,c)=>l.boundingClientRect.top-c.boundingClientRect.top);o[0]&&r(o[0].target.id)},{rootMargin:"-96px 0px -70% 0px",threshold:[0,1]});return e.map(a=>document.getElementById(a.id)).filter(a=>a!==null).forEach(a=>i.observe(a)),()=>i.disconnect()},[e]),e.length<2?null:t.jsxs("nav",{"aria-label":"Sommaire de l'article",className:"not-prose sticky top-28 hidden lg:block max-h-[calc(100vh-8rem)] overflow-y-auto pr-4",children:[t.jsx("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:"Sommaire"}),t.jsx("ul",{className:"space-y-2 text-sm border-l border-border",children:e.map(i=>t.jsx("li",{className:i.level===3?"pl-6":"pl-4",children:t.jsx("a",{href:`#${i.id}`,className:`block py-1 -ml-px border-l-2 transition-colors ${n===i.id?"border-secondary text-foreground font-medium":"border-transparent text-muted-foreground hover:text-foreground"}`,children:i.text})},i.id))})]})},$Be=()=>{const{slug:e}=MO(),{data:n,isLoading:r}=_m({queryKey:["blog-post",e],queryFn:async()=>{if(!e)return null;const{data:p,error:m}=await Oh.from("posts").select("id, slug, title, excerpt, body_markdown, cover_image_url, published_at, reading_time_minutes, category:categories(name, slug)").eq("slug",e).eq("status","published").maybeSingle();if(m)throw m;return p},enabled:!!e}),i=k.useMemo(()=>n?DBe(n.body_markdown):[],[n]),s=`https://colbr.co/blog/post/${e}`,a=n?`${n.title} | Colbr`:"Article | Colbr",o=(n==null?void 0:n.excerpt)??"Analyse Colbr sur la gestion de patrimoine.",l=n?{"@context":"https://schema.org","@type":"Article",headline:n.title,description:o,url:s,mainEntityOfPage:{"@type":"WebPage","@id":s},inLanguage:"fr-FR",...n.published_at?{datePublished:n.published_at,dateModified:n.published_at}:{},...n.cover_image_url?{image:[n.cover_image_url]}:{},...n.category?{articleSection:n.category.name}:{},author:{"@type":"Organization",name:"Colbr",url:"https://colbr.co"},publisher:{"@type":"Organization",name:"Colbr",url:"https://colbr.co"}}:null,c=new Map,u=p=>{const m=i9(p),h=c.get(m)??0;return c.set(m,h+1),h===0?m:`${m}-${h}`},d=p=>typeof p=="string"?p:typeof p=="number"?String(p):Array.isArray(p)?p.map(d).join(""):p&&typeof p=="object"&&"props"in p?d(p.props.children):"";return t.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[t.jsxs($r,{children:[t.jsx("title",{children:a}),t.jsx("meta",{name:"description",content:o}),t.jsx("link",{rel:"canonical",href:s}),t.jsx("meta",{property:"og:title",content:a}),t.jsx("meta",{property:"og:description",content:o}),t.jsx("meta",{property:"og:type",content:"article"}),t.jsx("meta",{property:"og:url",content:s}),(n==null?void 0:n.cover_image_url)&&t.jsx("meta",{property:"og:image",content:n.cover_image_url}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),t.jsx("meta",{name:"twitter:title",content:a}),t.jsx("meta",{name:"twitter:description",content:o}),l&&t.jsx("script",{type:"application/ld+json",children:JSON.stringify(l)})]}),t.jsx(ne,{}),r?t.jsx("section",{className:"pt-32 pb-20",children:t.jsx("div",{className:"container max-w-3xl mx-auto px-6",children:t.jsx("p",{className:"text-muted-foreground",children:"Chargement…"})})}):n?t.jsxs(t.Fragment,{children:[t.jsx("section",{className:"pt-32 pb-12 bg-muted",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsxs(C,{to:"/blog",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-8",children:[t.jsx(pe,{className:"w-4 h-4"})," Retour au blog"]}),t.jsxs("p",{className:"text-[11px] tracking-[0.25em] uppercase text-secondary mb-4",children:[n.category?t.jsx(C,{to:`/blog/theme/${n.category.slug}`,className:"hover:text-foreground transition-colors",children:n.category.name}):"Article",n.reading_time_minutes?` · ${n.reading_time_minutes} MIN`:""]}),t.jsx("h1",{className:"font-display text-3xl md:text-5xl tracking-tight text-foreground leading-tight",children:n.title}),n.excerpt&&t.jsx("p",{className:"text-base md:text-lg text-muted-foreground mt-6 leading-relaxed",children:n.excerpt})]})}),t.jsx("section",{className:"py-20 bg-background",children:t.jsxs("div",{className:"container max-w-6xl mx-auto px-6 grid grid-cols-1 lg:grid-cols-[220px_minmax(0,1fr)] gap-10",children:[t.jsx("aside",{children:t.jsx(MBe,{items:i})}),t.jsx("article",{className:"prose-article max-w-3xl space-y-6 text-[15px] md:text-base text-foreground
789/90 leading-relaxed text-justify",children:t.jsx(k8e,{remarkPlugins:[RBe],components:{h2:({children:p})=>t.jsx("h2",{id:u(d(p)),className:"font-display text-2xl md:text-3xl tracking-tight text-foreground pt-6 text-left scroll-mt-28",children:p}),h3:({children:p})=>t.jsx("h3",{id:u(d(p)),className:"font-display text-xl md:text-2xl tracking-tight text-foreground pt-4 text-left scroll-mt-28",children:p}),a:({href:p,children:m})=>t.jsx("a",{href:p,className:"text-primary underline-offset-4 hover:underline",children:m})},children:n.body_markdown})})]})})]}):t.jsx("section",{className:"pt-32 pb-20",children:t.jsxs("div",{className:"container max-w-3xl mx-auto px-6",children:[t.jsx("h1",{className:"font-display text-3xl",children:"Article introuvable"}),t.jsx(C,{to:"/blog",className:"text-primary underline mt-6 inline-block",children:"Retour au blog"})]})}),t.jsx(re,{})]})},BBe="https://meetings-eu1.hubspot.com/gustav-sonden/rencontre?embed=true",zBe=()=>{const[e,n]=k.useState(!1),{tr:r}=K();return k.useEffect(()=>{const i=s=>{const a=s.target;if(!a)return;const o=a.closest("a, button");if(!o)return;const l=o.getAttribute("href")||"";(o.dataset.meeting==="true"||l==="#rdv"||l.endsWith("#rdv"))&&(s.preventDefault(),n(!0))};return document.addEventListener("click",i),()=>document.removeEventListener("click",i)},[]),t.jsx(C8,{open:e,onOpenChange:n,children:t.jsxs(ES,{className:"max-w-4xl w-[95vw] p-0 overflow-hidden",children:[t.jsx(E8,{className:"px-6 pt-6 pb-2",children:t.jsx(TS,{className:"font-display text-xl tracking-tight",children:r("Prendre rendez-vous avec un expert Colbr","Book a meeting with a Colbr expert")})}),t.jsx("div",{className:"px-2 pb-2",children:e&&t.jsx("iframe",{src:BBe,title:r("Prise de rendez-vous","Schedule a meeting"),style:{minHeight:"70vh",width:"100%",border:0},allow:"fullscreen"})})]})})},Tw="colbr_booking_popup_dismissed_at",UBe=5,VBe=12e3,WBe=.45,Iw=[.16,1,.3,1],HBe=()=>{const[e,n]=k.useState(!1),{tr:r}=K(),i=k.useCallback(()=>{try{const o=localStorage.getItem(Tw);if(!o)return!0;const l=parseInt(o,10);return Number.isNaN(l)?!0:(Date.now()-l)/(1e3*60*60*24)>=UBe}catch{return!0}},[]),s=k.useCallback(()=>{try{localStorage.setItem(Tw,Date.now().toString())}catch{}n(!1)},[]);k.useEffect(()=>{if(!i())return;let o=!1;const l=()=>{o||(o=!0,n(!0),p())},c=()=>{const m=window.scrollY,h=document.documentElement.scrollHeight-window.innerHeight;h>0&&m/h>=WBe&&l()},u=m=>{window.innerWidth<1024||m.clientY<=0&&l()},d=window.setTimeout(l,VBe);window.addEventListener("scroll",c,{passive:!0}),document.documentElement.addEventListener("mouseleave",u);function p(){window.clearTimeout(d),window.removeEventListener("scroll",c),document.documentElement.removeEventListener("mouseleave",u)}return p},[i]),k.useEffect(()=>{if(!e)return;const o=document.body.style.overflow;document.body.style.overflow="hidden";const l=c=>c.key==="Escape"&&s();return document.addEventListener("keydown",l),()=>{document.body.style.overflow=o,document.removeEventListener("keydown",l)}},[e,s]);const a=()=>{try{localStorage.setItem(Tw,Date.now().toString())}catch{}n(!1),window.setTimeout(()=>{const o=document.createElement("a");o.href="#rdv",o.setAttribute("data-meeting","true"),document.body.appendChild(o),o.click(),o.remove()},220)};return t.jsx(cx,{children:e&&t.jsxs(S.div,{className:"fixed inset-0 z-[100] flex items-end sm:items-center justify-center p-4 sm:p-6",initial:{opacity:0}
789,animate:{opacity:1},exit:{opacity:0},transition:{duration:.3,ease:Iw},role:"dialog","aria-modal":"true","aria-labelledby":"booking-popup-title",children:[t.jsx(S.button,{type:"button","aria-label":r("Fermer","Close"),onClick:s,className:"absolute inset-0 bg-foreground/40 backdrop-blur-sm",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3,ease:Iw}}),t.jsxs(S.div,{className:"relative w-full max-w-[520px] rounded-3xl bg-card border border-border/60 shadow-[0_30px_80px_-20px_hsl(225_64%_12%/0.35)] overflow-hidden",initial:{opacity:0,y:24,scale:.96,filter:"blur(6px)"},animate:{opacity:1,y:0,scale:1,filter:"blur(0px)"},exit:{opacity:0,y:16,scale:.97,filter:"blur(4px)"},transition:{duration:.5,ease:Iw},children:[t.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-signature opacity-80"}),t.jsx("div",{className:"absolute -top-24 -right-24 w-56 h-56 rounded-full bg-gradient-signature opacity-[0.08] blur-3xl pointer-events-none"}),t.jsx("button",{type:"button",onClick:s,"aria-label":r("Fermer la fenêtre","Close window"),className:"absolute top-4 right-4 w-9 h-9 inline-flex items-center justify-center rounded-full text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:t.jsx(Cd,{className:"w-4 h-4"})}),t.jsxs("div",{className:"px-7 sm:px-10 pt-10 sm:pt-12 pb-8 sm:pb-10",children:[t.jsx("span",{className:"inline-block text-[10px] sm:text-[11px] tracking-[0.25em] uppercase text-primary/70 mb-5",children:r("Entretien privé · 30 min","Private meeting · 30 min")}),t.jsxs("h2",{id:"booking-popup-title",className:"font-display text-2xl sm:text-[32px] leading-[1.15] tracking-tight text-foreground mb-4",children:[r("Et si on en parlait","Let's talk for"),t.jsx("br",{className:"hidden sm:block"})," ",r("30 minutes ?","30 minutes.")]}),t.jsx("p",{className:"text-[15px] leading-relaxed text-muted-foreground mb-8",children:r("Un échange simple pour comprendre vos besoins, voir ce qui est possible, et identifier rapidement les meilleures opportunités.","A straightforward conversation to understand your needs, explore what's possible, and quickly identify the best opportunities.")}),t.jsxs("button",{type:"button",onClick:a,className:"group w-full inline-flex items-center justify-center gap-2 rounded-full bg-foreground text-background px-7 py-4 text-sm font-medium tracking-wide transition-all duration-300 hover:bg-foreground
789/90 hover:shadow-lg active:scale-[0.99]",children:[r("Réserver mon appel","Book my call"),t.jsx(V,{className:"w-4 h-4 transition-transform duration-300 group-hover:translate-x-0.5"})]}),t.jsx("p",{className:"text-center text-xs text-muted-foreground mt-4",children:r("Aucun engagement — juste une discussion utile.","No commitment — just a useful conversation.")}),t.jsxs("div",{className:"mt-6 flex items-center justify-center gap-4 sm:gap-5 text-[11px] text-muted-foreground/80",children:[t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx(ZQ,{className:"w-3 h-3"})," ",r("Réponse rapide","Fast reply")]}),t.jsx("span",{className:"w-1 h-1 rounded-full bg-border"}),t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx(XQ,{className:"w-3 h-3"})," ",r("Call visio","Video call")]}),t.jsx("span",{className:"w-1 h-1 rounded-full bg-border"}),t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx(Sd,{className:"w-3 h-3"})," 30 minutes"]})]}),t.jsx("div",{className:"mt-8 pt-6 border-t border-border/60",children:t.jsx("p",{className:"text-center text-[11px] tracking-wide text-muted-foreground/70",children:r("Déjà utilisé par des entreprises ambitieuses.","Already trusted by ambitious companies.")})})]})]})]},"booking-popup")})},GBe=new CH,KBe=()=>t.jsx(AH,{client:GBe,children:t.jsxs(jX,{children:[t.jsx(_Y,{}),t.jsx(yK,{}),t.jsxs(MG,{children:[t.jsx(gre,{}),t.jsx(bre,{}),t.jsx(zBe,{}),t.jsx(HBe,{}),t.jsx("main",{children:t.jsxs(AG,{children:[t.jsx(X,{path:"/",element:t.jsx(fre,{})}),t.jsx(X,{path:"/gestion-privee",element:t.jsx(yre,{})}),t.jsx(X,{path:"/family-office",element:t.jsx(_ie,{})}),t.jsx(X,{path:"/family-office/gouvernance-familiale",element:t.jsx(Oie,{})}),t.jsx(X,{path:"/scpi/nominatif",element:t.jsx(mIe,{})}),t.jsx(X,{path:"/gestion-privee/apport-cession-150-0-b-ter",element:t.jsx(hIe,{})}),t.jsx(X,{path:"/essentiel",element:t.jsx(Rie,{})}),t.jsx(X,{path:"/assurance-vie",element:t.jsx(mse,{})}),t.jsx(X,{path:"/colbr-life",element:t.jsx(Rse,{})}),t.jsx(X,{path:"/assurance-vie-mineur",element:t.jsx(Dse,{})}),t.jsx(X,{path:"/plan-epargne-retraite",element:t.jsx($se,{})}),t.jsx(X,{path:"/plan-epargne-actions",element:t.jsx(Bse,{})}),t.jsx(X,{path:"/compte-titres",element:t.jsx(Vse,{})}),t.jsx(X,{path:"/suisse",element:t.jsx(Gse,{})}),t.jsx(X,{path:"/credit-lombard",element:t.jsx(Xse,{})}),t.jsx(X,{path:"/credit-hypothecaire",element:t.jsx(eae,{})}),t.jsx(X,{path:"/financements-complexes",element:t.jsx(tae,{})}),t.jsx(X,{path:"/private-equity",element:t.jsx(KTe,{})}),t.jsx(X,{path:"/scpi",element:t.jsx(pIe,{})}),t.jsx(X,{path:"/simulateur-credit-scpi",element:t.jsx(gIe,{})}),t.jsx(X,{path:"/art",element:t.jsx(O0,{to:"/club-deal#art",replace:!0})}),t.jsx(X,{path:"/club-deal",element:t.jsx(rAe,{})}),t.jsx(X,{path:"/crypto",element:t.jsx(aAe,{})}),t.jsx(X,{path:"/assurance-vie-luxembourgeoise",element:t.jsx(fAe,{})}),t.jsx(X,{path:"/produits-structures",element:t.jsx(jAe,{})}),t.jsx(X,{path:"/girardin",element:t.jsx(CAe,{})}),t.jsx(X,{path:"/newsletter",element:t.jsx(AAe,{})}),t.jsx(X,{path:"/denormandie",element:t.jsx(_Ae,{})}),t.jsx(X,{path:"/dispositifs-fiscaux",element:t.jsx(OAe,{})}),t.jsx(X,{path:"/fcpi",element:t.jsx(MAe,{})}),t.jsx(X,{path:"/groupement-forestier",element:t.jsx(zAe,{})}),t.jsx(X,{path:"/impot-declaration",element:t.jsx(UAe,{})}),t.jsx(X,{path:"/ingenierie-patrimoniale",element:t.jsx(VAe,{})}),t.jsx(X,{path:"/fiscalite",element:t.jsx(O0,{to:"/impot-declaration",replace:!0})}),t.jsx(X,{path:"/interventions-medias",element:t.jsx(xLe,{})}),t.jsx(X,{path:"/equipe",element:t.jsx(k5e,{})}),t.jsx(X,{path:"/qui-sommes-nous",element:t.jsx(O0,{to:"/equipe",replace:!0})}),t.jsx(X,{path:"/blog",element:t.jsx(M4e,{})}),t.jsx(X,{path:"/blog/theme/:slug",element:t.jsx(H6e,{})}),t.jsx(X,{path:"/blog/post/:slug",element:t.jsx($Be,{})}),t.jsx(X,{path:"/blog/perspectives-2025",element:t.jsx(B4e,{})}),t.jsx(X,{path:"/blog/perspectives-2026",element:t.jsx(U4e,{})}),t.jsx(X,{path:"/blog/transmission-anticiper",element:t.jsx(W4e,{})}),t.jsx(X,{path:"/blog/pe-secondaires",element:t.jsx(G4e,{})}),t.jsx(X,{path:"/blog/scpi-2025",element:t.jsx(Q4e,{})}),t.jsx(X,{path:"/blog/av-luxembourg",element:t.jsx(J4e,{})}),t.jsx(X,{path:"/blog/produits-structures",element:t.jsx(Z4e,{})}),t.jsx(X,{path:"/blog/art-actif-patrimonial",element:t.jsx(e_e,{})}),t.jsx(X,{path:"/blog/fcpi-defiscaliser-innovation",element:t.jsx(t_e,{})}),t.jsx(X,{path:"/blog/av-luxembourg-vs-france",element:t.jsx(r_e,{})}),t.jsx(X,{path:"/blog/triangle-securite-luxembourgeois",element:t.jsx(s_e,{})}),t.jsx(X,{path:"/blog/fonds-interne-dedie",element:t.jsx(o_e,{})}),t.jsx(X,{path:"/blog/credit-lombard-luxembourgeois",element:t.jsx(c_e,{})}),t.jsx(X,{path:"/blog/transfert-assurance-vie-luxembourg",element:t.jsx(d_e,{})}),t.jsx(X,{path:"/blog/demembrement-propriete",element:t.jsx(m_e,{})}),t.jsx(X,{path:"/blog/donation-partage",element:t.jsx(f_e,{})}),t.jsx(X,{path:"/blog/scpi-europeennes",element:t.jsx(x_e,{})}),t.jsx(X,{path:"/blog/pea-actions-long-terme",element:t.jsx(b_e,{})}),t.jsx(X,{path:"/blog/club-deal",element:t.jsx(j_e,{})}),t.jsx(X,{path:"/blog/girardin-industriel",element:t.jsx(N_e,{})}),t.jsx(X,{path:"/blog/gfi-foret-actif-patrimonial",element:t.jsx(q_e,{})}),t.jsx(X,{path:"/blog/denormandie-ancien-renove",element:t.jsx(C_e,{})}),t.jsx(X,{path:"/blog/courbe-en-j",element:t.jsx(E_e,{})}),t.jsx(X,{path:"/blog/holding-patrimoniale",element:t.jsx(I_e,{})}),t.jsx(X,{path:"/blog/apport-cession-150-0-b-ter",element:t.jsx(L_e,{})}),t.jsx(X,{path:"/blog/per-outil-fiscal",element:t.jsx(__e,{})}),t.jsx(X,{path:"/blog/banquiers-vs-avocats",element:t.jsx(R_e,{})}),t.jsx(X,{path:"/blog/coordination-banque-privee",element:t.jsx(M_e,{})}),t.jsx(X,{path:"/blog/patrimoine-structure-dediee",element:t.jsx(B_e,{})}),t.jsx(X,{path:"/blog/transmission-sans-diviser-famille",element:t.jsx(U_e,{})}),t.jsx(X,{path:"/blog/confidentialite-uhnw",element:t.jsx(W_e,{})}),t.jsx(X,{path:"/blog/fiscalite-internationale",element:t.jsx(G_e,{})}),t.jsx(X,{path:"/blog/patrimoines-multigenerationnels",element:t.jsx(Q_e,{})}),t.jsx(X,{path:"/blog/family-office-complexite",element:t.jsx(J_e,{})}),t.jsx(X,{path:"/blog/quitter-france",element:t.jsx(Z_e,{})}),t.jsx(X,{path:"/blog/expatrie-ue",element:t.jsx(t6e,{})}),t.jsx(X,{path:"/blog/angles-morts-fiscaux-expat",element:t.jsx(r6e,{})}),t.jsx(X,{path:"/blog/conventions-fiscales-belgique-espagne-portugal",element:t.jsx(s6e,{})}),t.jsx(X,{path:"/blog/rupture-conseiller-expat",element:t.jsx(o6e,{})}),t.jsx(X,{path:"/blog/portugal-ifici-apres-rnh",element:t.jsx(c6e,{})}),t.jsx(X,{path:"/blog/beckham-law-espagne",element:t.jsx(d6e,{})}),t.jsx(X,{path:"/blog/contrat-luxembourgeois-colonne-vertebrale",element:t.jsx(m6e,{})}),t.jsx(X,{path:"/blog/flat-tax-italie",element:t.jsx(f6e,{})}),t.jsx(X,{path:"/blog/gustav-sonden-next-gen-patrimoine",element:t.jsx(v6e,{})}),t.jsx(X,{path:"/blog/meilleurs-cgp-france-2026-leaders-league",element:t.jsx(I6e,{})}),t.jsx(X,{path:"/blog/gustav-sonden-bourdin",element:t.jsx(F6e,{})}),t.jsx(X,{path:"/blog/forfait-fiscal-suisse",element:t.jsx(O6e,{})}),t.jsx(X,{path:"/blog/apport-cession-150-0-b-ter-loi-finances-2026",element:t.jsx(D6e,{})}),t.jsx(X,{path:"/blog/investir-scpi",element:t.jsx(M6e,{})}),t.jsx(X,{path:"/blog/investir-jeune",element:t.jsx($6e,{})}),t.jsx(X,{path:"/blog/payer-moins-impots",element:t.jsx(B6e,{})}),t.jsx(X,{path:"/blog/avantages-per",element:t.jsx(z6e,{})}),t.jsx(X,{path:"/confidentialite",element:t.jsx(U6e,{})}),t.jsx(X,{path:"/mentions-legales",element:t.jsx(V6e,{})}),t.jsx(X,{path:"*",element:t.jsx(W6e,{})})]})})]})]})});hO(document.getElementById("root")).render(t.jsx(jO,{children:t.jsx(Xne,{children:t.jsx(KBe,{})})}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.