diff --git a/.gitignore b/.gitignore index a9bc9e8cc..ded3eb6cb 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ package-lock.json yarn-error.log flow-typed/ cypress/videos -cypress/screenshots \ No newline at end of file +cypress/screenshots diff --git a/dist/engine.js b/dist/engine.js new file mode 100644 index 000000000..5c581f2f1 --- /dev/null +++ b/dist/engine.js @@ -0,0 +1,39 @@ +!function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Syso=e():o.Syso=e()}(window,function(){return function(o){function e(e){for(var t,a,m=e[0],s=e[1],u=0,c=[];u=arguments.length)?r=e[u]:(r=arguments[m],m+=1),a[u]=r,n(r)||(s-=1),u+=1}return s<=0?t.apply(this,a):i(s,p(o,a,t))}}var L=u(function(o,e){return 1===o?a(e):i(o,p(o,[],e))});function d(o){return function e(t,m,s){switch(arguments.length){case 0:return e;case 1:return n(t)?e:u(function(e,n){return o(t,e,n)});case 2:return n(t)&&n(m)?e:n(t)?u(function(e,t){return o(e,m,t)}):n(m)?u(function(e,n){return o(t,e,n)}):a(function(e){return o(t,m,e)});default:return n(t)&&n(m)&&n(s)?e:n(t)&&n(m)?u(function(e,t){return o(e,t,s)}):n(t)&&n(s)?u(function(e,t){return o(e,m,t)}):n(m)&&n(s)?u(function(e,n){return o(t,e,n)}):n(t)?a(function(e){return o(e,m,s)}):n(m)?a(function(e){return o(t,e,s)}):n(s)?a(function(e){return o(t,m,e)}):o(t,m,s)}}}var E=d(function(o,e,t){if(e>=t.length||e<-t.length)return t;var n=(e<0?t.length:0)+e,a=c(t);return a[n]=o(t[n]),a}),C=Array.isArray||function(o){return null!=o&&o.length>=0&&"[object Array]"===Object.prototype.toString.call(o)};function l(o){return"function"==typeof o["@@transducer/step"]}function A(o,e,t){return function(){if(0===arguments.length)return t();var n=Array.prototype.slice.call(arguments,0),a=n.pop();if(!C(a)){for(var m=0;mo?e:o});function O(o,e){for(var t=0,n=e.length,a=Array(n);t0&&(o.hasOwnProperty(0)&&o.hasOwnProperty(o.length-1)))))}),T=function(){function o(o){this.f=o}return o.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},o.prototype["@@transducer/result"]=function(o){return o},o.prototype["@@transducer/step"]=function(o,e){return this.f(o,e)},o}();function U(o){return new T(o)}var _=u(function(o,e){return i(o.length,function(){return o.apply(e,arguments)})});function h(o,e,t){for(var n=t.next();!n.done;){if((e=o["@@transducer/step"](e,n.value))&&e["@@transducer/reduced"]){e=e["@@transducer/value"];break}n=t.next()}return o["@@transducer/result"](e)}function b(o,e,t,n){return o["@@transducer/result"](t[n](_(o["@@transducer/step"],o),e))}var y="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function v(o,e,t){if("function"==typeof o&&(o=U(o)),I(t))return function(o,e,t){for(var n=0,a=t.length;n=0;)B(e=G[t],o)&&!w(n,e)&&(n[n.length]=e),t-=1;return n}:function(o){return Object(o)!==o?[]:Object.keys(o)}),x=u(A(["fantasy-land/map","map"],g,function(o,e){switch(Object.prototype.toString.call(e)){case"[object Function]":return L(e.length,function(){return o.call(this,e.apply(this,arguments))});case"[object Object]":return v(function(t,n){return t[n]=o(e[n]),t},{},Y(e));default:return O(o,e)}})),F=u(function(o,e){for(var t=e,n=0;n1){var m=!eo(n)&&B(a,n)?n[a]:oo(e[1])?[]:{};t=o(Array.prototype.slice.call(e,1),t,m)}if(oo(a)&&C(n)){var s=[].concat(n);return s[a]=t,s}return $(a,t,n)}),no=u(function(o,e){switch(o){case 0:return function(){return e.call(this)};case 1:return function(o){return e.call(this,o)};case 2:return function(o,t){return e.call(this,o,t)};case 3:return function(o,t,n){return e.call(this,o,t,n)};case 4:return function(o,t,n,a){return e.call(this,o,t,n,a)};case 5:return function(o,t,n,a,m){return e.call(this,o,t,n,a,m)};case 6:return function(o,t,n,a,m,s){return e.call(this,o,t,n,a,m,s)};case 7:return function(o,t,n,a,m,s,u){return e.call(this,o,t,n,a,m,s,u)};case 8:return function(o,t,n,a,m,s,u,r){return e.call(this,o,t,n,a,m,s,u,r)};case 9:return function(o,t,n,a,m,s,u,r,c){return e.call(this,o,t,n,a,m,s,u,r,c)};case 10:return function(o,t,n,a,m,s,u,r,c,i){return e.call(this,o,t,n,a,m,s,u,r,c,i)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}});function ao(o){return"[object Function]"===Object.prototype.toString.call(o)}var mo=u(function(o,e){var t=L(o,e);return L(o,function(){return v(Q,x(t,arguments[0]),Array.prototype.slice.call(arguments,1))})}),so=a(function(o){return mo(o.length,o)}),uo=a(function(o){return L(o.length,o)});function ro(o){return function e(t){for(var n,a,m,s=[],u=0,r=t.length;u=0;){if(t[m]===o)return n[m]===e;m-=1}switch(a){case"Map":return o.size===e.size&&ho(o.entries(),e.entries(),t.concat([o]),n.concat([e]));case"Set":return o.size===e.size&&ho(o.values(),e.values(),t.concat([o]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var s=Y(o);if(s.length!==Y(e).length)return!1;var u=t.concat([o]),r=n.concat([e]);for(m=s.length-1;m>=0;){var c=s[m];if(!B(c,e)||!bo(e[c],o[c],u,r))return!1;m-=1}return!0}var yo=u(function(o,e){return bo(o,e,[],[])});function vo(o,e,t){var n,a;if("function"==typeof o.indexOf)switch(typeof e){case"number":if(0===e){for(n=1/e;t=0}function go(o){return'"'+o.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var Bo=function(o){return(o<10?"0":"")+o},Do="function"==typeof Date.prototype.toISOString?function(o){return o.toISOString()}:function(o){return o.getUTCFullYear()+"-"+Bo(o.getUTCMonth()+1)+"-"+Bo(o.getUTCDate())+"T"+Bo(o.getUTCHours())+":"+Bo(o.getUTCMinutes())+":"+Bo(o.getUTCSeconds())+"."+(o.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};function Po(o){return function(){return!o.apply(this,arguments)}}function Vo(o,e){for(var t=0,n=e.length,a=[];t":o(n,a)},a=function(o,e){return O(function(e){return go(e)+": "+n(o[e])},e.slice().sort())};switch(Object.prototype.toString.call(e)){case"[object Arguments]":return"(function() { return arguments; }("+O(n,e).join(", ")+"))";case"[object Array]":return"["+O(n,e).concat(a(e,Yo(function(o){return/^\d+$/.test(o)},Y(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof e?"new Boolean("+n(e.valueOf())+")":e.toString();case"[object Date]":return"new Date("+(isNaN(e.valueOf())?n(NaN):go(Do(e)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof e?"new Number("+n(e.valueOf())+")":1/e==-1/0?"-0":e.toString(10);case"[object String]":return"object"==typeof e?"new String("+n(e.valueOf())+")":go(e);case"[object Undefined]":return"undefined";default:if("function"==typeof e.toString){var m=e.toString();if("[object Object]"!==m)return m}return"{"+a(e,Y(e)).join(", ")+"}"}}(o,[])}),Fo=u(function(o,e){if(C(o)){if(C(e))return o.concat(e);throw new TypeError(xo(e)+" is not an array")}if(N(o)){if(N(e))return o+e;throw new TypeError(xo(e)+" is not a string")}if(null!=o&&ao(o["fantasy-land/concat"]))return o["fantasy-land/concat"](e);if(null!=o&&ao(o.concat))return o.concat(e);throw new TypeError(xo(o)+' does not have a method named "concat" or "fantasy-land/concat"')}),ko=a(function(o){return i(W(R,0,x(function(o){return o[0].length},o)),function(){for(var e=0;e10)throw new Error("Constructor with greater than ten arguments");return 0===o?function(){return new e}:uo(no(o,function(o,t,n,a,m,s,u,r,c,i){switch(arguments.length){case 1:return new e(o);case 2:return new e(o,t);case 3:return new e(o,t,n);case 4:return new e(o,t,n,a);case 5:return new e(o,t,n,a,m);case 6:return new e(o,t,n,a,m,s);case 7:return new e(o,t,n,a,m,s,u);case 8:return new e(o,t,n,a,m,s,u,r);case 9:return new e(o,t,n,a,m,s,u,r,c);case 10:return new e(o,t,n,a,m,s,u,r,c,i)}}))}),Wo=u(Mo),qo=u(function(o,e){return L(W(R,0,j("length",e)),function(){var t=arguments,n=this;return o.apply(n,O(function(o){return o.apply(n,t)},e))})}),Zo=function(){function o(o,e,t,n){this.valueFn=o,this.valueAcc=e,this.keyFn=t,this.xf=n,this.inputs={}}return o.prototype["@@transducer/init"]=f.init,o.prototype["@@transducer/result"]=function(o){var e;for(e in this.inputs)if(B(e,this.inputs)&&(o=this.xf["@@transducer/step"](o,this.inputs[e]))["@@transducer/reduced"]){o=o["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](o)},o.prototype["@@transducer/step"]=function(o,e){var t=this.keyFn(e);return this.inputs[t]=this.inputs[t]||[t,this.valueAcc],this.inputs[t][1]=this.valueFn(this.inputs[t][1],e),o},o}(),Xo=p(4,[],A([],p(4,[],function(o,e,t,n){return new Zo(o,e,t,n)}),function(o,e,t,n){return v(function(n,a){var m=t(a);return n[m]=o(B(m,n)?n[m]:e,a),n},{},n)})),Ko=Xo(function(o,e){return o+1},0),Qo=u(function(o,e){return null==e||e!=e?o:e}),Jo=d(function(o,e,t){var n=o(e),a=o(t);return n>a?-1:n0?(this.n-=1,o):this.xf["@@transducer/step"](o,e)},o}(),me=u(A(["drop"],u(function(o,e){return new ae(o,e)}),function(o,e){return lo(Math.max(0,o),1/0,e)})),se=function(){function o(o,e){this.xf=e,this.n=o,this.i=0}return o.prototype["@@transducer/init"]=f.init,o.prototype["@@transducer/result"]=f.result,o.prototype["@@transducer/step"]=function(o,e){this.i+=1;var t=0===this.n?o:this.xf["@@transducer/step"](o,e);return this.n>=0&&this.i>=this.n?S(t):t},o}(),ue=u(A(["take"],u(function(o,e){return new se(o,e)}),function(o,e){return lo(0,o<0?1/0:o,e)}));var re=function(){function o(o,e){this.xf=e,this.pos=0,this.full=!1,this.acc=new Array(o)}return o.prototype["@@transducer/init"]=f.init,o.prototype["@@transducer/result"]=function(o){return this.acc=null,this.xf["@@transducer/result"](o)},o.prototype["@@transducer/step"]=function(o,e){return this.full&&(o=this.xf["@@transducer/step"](o,this.acc[this.pos])),this.store(e),o},o.prototype.store=function(o){this.acc[this.pos]=o,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},o}(),ce=u(A([],u(function(o,e){return new re(o,e)}),function(o,e){return ue(o=0?e.length-o:0,e)}),Se=u(function o(e,t){var n,a,m,s={};for(a in t)m=typeof(n=e[a]),s[a]="function"===m?n(t[a]):n&&"object"===m?o(n,t[a]):t[a];return s}),fe=function(){function o(o,e){this.xf=e,this.f=o,this.found=!1}return o.prototype["@@transducer/init"]=f.init,o.prototype["@@transducer/result"]=function(o){return this.found||(o=this.xf["@@transducer/step"](o,void 0)),this.xf["@@transducer/result"](o)},o.prototype["@@transducer/step"]=function(o,e){return this.f(e)&&(this.found=!0,o=S(this.xf["@@transducer/step"](o,e))),o},o}(),Re=u(A(["find"],u(function(o,e){return new fe(o,e)}),function(o,e){for(var t=0,n=e.length;te}),ye=u(function(o,e){return o>=e}),ve=u(B),Me=Le(0);function ge(o){return o}var Be=a(ge);function De(o,e,t){var n,a=typeof o;switch(a){case"string":case"number":return 0===o&&1/o==-1/0?!!t._items["-0"]||(e&&(t._items["-0"]=!0),!1):null!==t._nativeSet?e?(n=t._nativeSet.size,t._nativeSet.add(o),t._nativeSet.size===n):t._nativeSet.has(o):a in t._items?o in t._items[a]||(e&&(t._items[a][o]=!0),!1):(e&&(t._items[a]={},t._items[a][o]=!0),!1);case"boolean":if(a in t._items){var m=o?1:0;return!!t._items[a][m]||(e&&(t._items[a][m]=!0),!1)}return e&&(t._items[a]=o?[!1,!0]:[!0,!1]),!1;case"function":return null!==t._nativeSet?e?(n=t._nativeSet.size,t._nativeSet.add(o),t._nativeSet.size===n):t._nativeSet.has(o):a in t._items?!!Mo(o,t._items[a])||(e&&t._items[a].push(o),!1):(e&&(t._items[a]=[o]),!1);case"undefined":return!!t._items[a]||(e&&(t._items[a]=!0),!1);case"object":if(null===o)return!!t._items.null||(e&&(t._items.null=!0),!1);default:return(a=Object.prototype.toString.call(o))in t._items?!!Mo(o,t._items[a])||(e&&t._items[a].push(o),!1):(e&&(t._items[a]=[o]),!1)}}var Pe=function(){function o(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return o.prototype.add=function(o){return!De(o,!0,this)},o.prototype.has=function(o){return De(o,!1,this)},o}(),Ve=u(function(o,e){for(var t,n,a=new Pe,m=[],s=0;se.length?(t=o,n=e):(t=e,n=o),Ge(Vo(Te(Mo)(t),n))});var we="function"==typeof Object.assign?Object.assign:function(o){if(null==o)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(o),t=1,n=arguments.length;t=0;)e=o(t[n],e),n-=1;return e}),Rt=a(S),Ot=u(function(o,e){var t,n=Number(e),a=0;if(n<0||isNaN(n))throw new RangeError("n must be a non-negative number");for(t=new Array(n);aa?1:0})}),Ut=u(function(o,e){return Array.prototype.slice.call(e,0).sort(function(e,t){for(var n=0,a=0;0===n&&a0&&void 0!==arguments[0]?arguments[0]:"store",t=arguments[1]||e+"Subscription",a=function(o){function a(t,n){!function(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a);var m=function(o,e){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?o:e}(this,o.call(this,t,n));return m[e]=t.store,m}return function(o,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(o,e):o.__proto__=e)}(a,o),a.prototype.getChildContext=function(){var o;return(o={})[e]=this[e],o[t]=null,o},a.prototype.render=function(){return n.Children.only(this.props.children)},a}(n.Component);return a.propTypes={store:u.isRequired,children:m.a.element.isRequired},a.childContextTypes=((o={})[e]=u.isRequired,o[t]=s,o),a}(),c=t(60),i=t.n(c),p=t(19),L=t.n(p);var d=null,E={notify:function(){}};var C=function(){function o(e,t,n){!function(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),this.store=e,this.parentSub=t,this.onStateChange=n,this.unsubscribe=null,this.listeners=E}return o.prototype.addNestedSub=function(o){return this.trySubscribe(),this.listeners.subscribe(o)},o.prototype.notifyNestedSubs=function(){this.listeners.notify()},o.prototype.isSubscribed=function(){return Boolean(this.unsubscribe)},o.prototype.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.onStateChange):this.store.subscribe(this.onStateChange),this.listeners=function(){var o=[],e=[];return{clear:function(){e=d,o=d},notify:function(){for(var t=o=e,n=0;n1&&void 0!==arguments[1]?arguments[1]:{},m=a.getDisplayName,r=void 0===m?function(o){return"ConnectAdvanced("+o+")"}:m,c=a.methodName,p=void 0===c?"connectAdvanced":c,d=a.renderCountProp,E=void 0===d?void 0:d,R=a.shouldHandleStateChanges,O=void 0===R||R,N=a.storeKey,I=void 0===N?"store":N,T=a.withRef,U=void 0!==T&&T,_=function(o,e){var t={};for(var n in o)e.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);return t}(a,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef"]),h=I+"Subscription",b=A++,y=((e={})[I]=u,e[h]=s,e),v=((t={})[h]=s,t);return function(e){L()("function"==typeof e,"You must pass a component to the function returned by "+p+". Instead received "+JSON.stringify(e));var t=e.displayName||e.name||"Component",a=r(t),m=l({},_,{getDisplayName:r,methodName:p,renderCountProp:E,shouldHandleStateChanges:O,storeKey:I,withRef:U,displayName:a,wrappedComponentName:t,WrappedComponent:e}),s=function(t){function s(o,e){!function(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}(this,s);var n=function(o,e){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?o:e}(this,t.call(this,o,e));return n.version=b,n.state={},n.renderCount=0,n.store=o[I]||e[I],n.propsMode=Boolean(o[I]),n.setWrappedInstance=n.setWrappedInstance.bind(n),L()(n.store,'Could not find "'+I+'" in either the context or props of "'+a+'". Either wrap the root component in a , or explicitly pass "'+I+'" as a prop to "'+a+'".'),n.initSelector(),n.initSubscription(),n}return function(o,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(o,e):o.__proto__=e)}(s,t),s.prototype.getChildContext=function(){var o,e=this.propsMode?null:this.subscription;return(o={})[h]=e||this.context[h],o},s.prototype.componentDidMount=function(){O&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},s.prototype.componentWillReceiveProps=function(o){this.selector.run(o)},s.prototype.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},s.prototype.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=f,this.store=null,this.selector.run=f,this.selector.shouldComponentUpdate=!1},s.prototype.getWrappedInstance=function(){return L()(U,"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the "+p+"() call."),this.wrappedInstance},s.prototype.setWrappedInstance=function(o){this.wrappedInstance=o},s.prototype.initSelector=function(){var e=o(this.store.dispatch,m);this.selector=function(o,e){var t={run:function(n){try{var a=o(e.getState(),n);(a!==t.props||t.error)&&(t.shouldComponentUpdate=!0,t.props=a,t.error=null)}catch(o){t.shouldComponentUpdate=!0,t.error=o}}};return t}(e,this.store),this.selector.run(this.props)},s.prototype.initSubscription=function(){if(O){var o=(this.propsMode?this.props:this.context)[h];this.subscription=new C(this.store,o,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},s.prototype.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(S)):this.notifyNestedSubs()},s.prototype.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},s.prototype.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},s.prototype.addExtraProps=function(o){if(!(U||E||this.propsMode&&this.subscription))return o;var e=l({},o);return U&&(e.ref=this.setWrappedInstance),E&&(e[E]=this.renderCount++),this.propsMode&&this.subscription&&(e[h]=this.subscription),e},s.prototype.render=function(){var o=this.selector;if(o.shouldComponentUpdate=!1,o.error)throw o.error;return Object(n.createElement)(e,this.addExtraProps(o.props))},s}(n.Component);return s.WrappedComponent=e,s.displayName=a,s.childContextTypes=v,s.contextTypes=y,s.propTypes=y,i()(s,e)}}var O=Object.prototype.hasOwnProperty;function N(o,e){return o===e?0!==o||0!==e||1/o==1/e:o!=o&&e!=e}function I(o,e){if(N(o,e))return!0;if("object"!=typeof o||null===o||"object"!=typeof e||null===e)return!1;var t=Object.keys(o),n=Object.keys(e);if(t.length!==n.length)return!1;for(var a=0;a=0||Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);return t}(e,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),s=t(o,m),u=n(o,m),r=a(o,m);return(m.pure?D:B)(s,u,r,o,m)}var V=Object.assign||function(o){for(var e=1;e=0;n--){var a=e[n](o);if(a)return a}return function(e,n){throw new Error("Invalid value of type "+typeof o+" for "+t+" argument when connecting component "+n.wrappedComponentName+".")}}function H(o,e){return o===e}var w=function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=o.connectHOC,t=void 0===e?R:e,n=o.mapStateToPropsFactories,a=void 0===n?y:n,m=o.mapDispatchToPropsFactories,s=void 0===m?b:m,u=o.mergePropsFactories,r=void 0===u?g:u,c=o.selectorFactory,i=void 0===c?P:c;return function(o,e,n){var m=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},u=m.pure,c=void 0===u||u,p=m.areStatesEqual,L=void 0===p?H:p,d=m.areOwnPropsEqual,E=void 0===d?I:d,C=m.areStatePropsEqual,l=void 0===C?I:C,A=m.areMergedPropsEqual,S=void 0===A?I:A,f=function(o,e){var t={};for(var n in o)e.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);return t}(m,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),R=G(o,a,"mapStateToProps"),O=G(e,s,"mapDispatchToProps"),N=G(n,r,"mergeProps");return t(i,V({methodName:"connect",getDisplayName:function(o){return"Connect("+o+")"},shouldHandleStateChanges:Boolean(o),initMapStateToProps:R,initMapDispatchToProps:O,initMergeProps:N,pure:c,areStatesEqual:L,areOwnPropsEqual:E,areStatePropsEqual:l,areMergedPropsEqual:S},f))}}();t.d(e,"a",function(){return r}),t.d(e,!1,function(){}),t.d(e,!1,function(){return R}),t.d(e,"b",function(){return w})},100:function(o,e,t){"use strict";e.a=function(o,e){for(var t=-1,n=null==o?0:o.length,a=Array(n);++t Une cotisation sociale peut ne concerner que les salariés au statut cadre. Elle ne sera pas à verser pour un non cadre\n\nLa formule de calcul peut donc être ignorée, quel que soit son montant.\n\nPeut être accompagnée du mécanisme 'non applicable si'.\n"},"non applicable si":{description:"Décide si la règle n'est applicable pour la situation saisie.\n\n> Un contrat CDD peut entraîner une majoration spécifique. Cette majoration est 'non applicable si' le contrat est un CDI.\n\nLa formule de calcul peut donc être ignorée, quel que soit son montant.\n\nPeut être accompagnée du mécanisme 'applicable si'.\n"},"barème":{type:"numeric",description:"C'est un barème en taux marginaux, mécanisme de calcul connu son utilisation dans le calcul de l'impôt sur le revenu.\nL'assiette est décomposée en plusieurs tranches, qui sont multipliées par un taux spécifique.\nLes tranches sont très souvent exprimées sous forme de facteurs (par exemple [1, 2, 4]) d'une variable que l'on appelle multiplicateur, par exemple le plafond de la sécurité sociale.\n"},"complément":{type:"numeric",description:"Complète une base pour atteindre un seuil minimal\n"},composantes:{type:"numeric",description:"Beaucoup de cotisations sont composées de deux parties qui partage la méthode de calcul mais diffèrent par des paramètres différents.\n\nPour ne pas définir deux variables presque redondantes, on utilise le mécanisme de composante. Il se comportera comme une somme dans les calculs, mais son affichage sur les pages /règle sera adapté.\n\nIl est même possible, pour les mécanismes `barème` et `multiplication` de garder en commun un paramètre comme l'assiette, puis de déclarer des composantes pour le taux.\n\n> L'example le plus courant de composantes, c'est la distinction part employeur, part salarié (ex. retraite AGIRC).\n"},"allègement":{type:"numeric",description:"Permet de réduire le montant d'une variable. \nTrès utilisé dans le contexte des impôts. \n"}}},11:function(o,e,t){"use strict";(function(o){t.d(e,"c",function(){return a}),t.d(e,"b",function(){return m}),t.d(e,"a",function(){return s});var n=t(1);!function(){var e=t(3).enterModule;e&&e(o)}();var a=function(o){return o&&o.nodeValue},m=function(o){return void 0==o||1==o},s=Object(n.d)(Object(n.cb)(a,Object(n.s)(null)));!function(){var e=t(3).default,n=t(3).leaveModule;e&&(e.register(a,"val","/root/syso/source/engine/traverse-common-functions.js"),e.register(m,"undefOrTrue","/root/syso/source/engine/traverse-common-functions.js"),e.register(s,"anyNull","/root/syso/source/engine/traverse-common-functions.js"),n(o))}()}).call(this,t(6)(o))},112:function(o,e,t){"use strict";var n=t(0),a=t(118),m=t(2),s=t.n(m),u=t(19),r=t.n(u),c=t(10),i=Object.assign||function(o){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);return t}(t,["asyncError","asyncValidating","onBlur","onChange","onDrop","onDragStart","dirty","dispatch","onFocus","form","format","initial","parse","pristine","props","state","submitError","submitFailed","submitting","syncError","syncWarning","validate","value","_value","warn"])),v=U||s||N,M=_,g=function(o,t){if(null===t)return o;var n=null==o?"":o;return t?t(o,e):n}(h,A);return{input:function(o,e,t,n){var a=e.value;return"checkbox"===o?i({},e,{checked:!!a}):"radio"===o?i({},e,{checked:n(a,t),value:t}):"select-multiple"===o?i({},e,{value:a||[]}):"file"===o?i({},e,{value:a||void 0}):e}(y.type,{name:e,onBlur:r,onChange:c,onDragStart:L,onDrop:p,onFocus:C,value:g},b,m),meta:i({},a(O),{active:!(!O||!n(O,"active")),asyncValidating:u,autofilled:!(!O||!n(O,"autofilled")),dirty:d,dispatch:E,error:v,form:l,initial:S,warning:M,invalid:!!v,pristine:f,submitting:!!T,submitFailed:!!I,touched:!(!O||!n(O,"touched")),valid:!v,visited:!(!O||!n(O,"visited"))}),custom:i({},y,R)}},L=t(124),d=function(o,e){if(Object(L.a)(o)){if(!e&&o.nativeEvent&&void 0!==o.nativeEvent.text)return o.nativeEvent.text;if(e&&void 0!==o.nativeEvent)return o.nativeEvent.text;var t=o,n=t.target,a=n.type,m=n.value,s=n.checked,u=n.files,r=t.dataTransfer;return"checkbox"===a?!!s:"file"===a?u||r&&r.files:"select-multiple"===a?function(o){var e=[];if(o)for(var t=0;t=0||Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);return t}function N(o,e){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?o:e}var I=["_reduxForm"],T=function(o){return o&&"object"===(void 0===o?"undefined":R(o))},U=function(o){return o&&"function"==typeof o},_=function(o){T(o)&&U(o.preventDefault)&&o.preventDefault()},h=function(o,e){if(T(o)&&T(o.dataTransfer)&&U(o.dataTransfer.getData))return o.dataTransfer.getData(e)},b=function(o,e,t){T(o)&&T(o.dataTransfer)&&U(o.dataTransfer.setData)&&o.dataTransfer.setData(e,t)},y=function(o){var e=o.deepEqual,t=o.getIn,a=function(t){function a(){var o,e,t;!function(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,m=Array(n),s=0;s=0&&r.splice(e,1)}function E(o){var e=document.createElement("style");return o.attrs.type="text/css",C(e,o.attrs),L(o,e),e}function C(o,e){Object.keys(e).forEach(function(t){o.setAttribute(t,e[t])})}function l(o,e){var t,n,a,m;if(e.transform&&o.css){if(!(m=e.transform(o.css)))return function(){};o.css=m}if(e.singleton){var r=u++;t=s||(s=E(e)),n=S.bind(null,t,r,!1),a=S.bind(null,t,r,!0)}else o.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(t=function(o){var e=document.createElement("link");return o.attrs.type="text/css",o.attrs.rel="stylesheet",C(e,o.attrs),L(o,e),e}(e),n=function(o,e,t){var n=t.css,a=t.sourceMap,m=void 0===e.convertToAbsoluteUrls&&a;(e.convertToAbsoluteUrls||m)&&(n=c(n));a&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */");var s=new Blob([n],{type:"text/css"}),u=o.href;o.href=URL.createObjectURL(s),u&&URL.revokeObjectURL(u)}.bind(null,t,e),a=function(){d(t),t.href&&URL.revokeObjectURL(t.href)}):(t=E(e),n=function(o,e){var t=e.css,n=e.media;n&&o.setAttribute("media",n);if(o.styleSheet)o.styleSheet.cssText=t;else{for(;o.firstChild;)o.removeChild(o.firstChild);o.appendChild(document.createTextNode(t))}}.bind(null,t),a=function(){d(t)});return n(o),function(e){if(e){if(e.css===o.css&&e.media===o.media&&e.sourceMap===o.sourceMap)return;n(o=e)}else a()}}o.exports=function(o,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=a()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var t=p(o,e);return i(t,e),function(o){for(var a=[],m=0;m non applicable",situation:{"contrat salarié . CDD . motif":"classique . saisonnier","assiette cotisations sociales":2300},"valeur attendue":null}]},{espace:"contrat salarié . CDD",nom:"compensation pour congés non pris","indemnité":{destinataire:"salarié","dû par":"employeur"},description:"Le salarié en CDD bénéficie des mêmes droits à congés payés que le salarié en CDI. Il acquiert et prend ses congés payés dans les mêmes conditions.\n\nIl est cependant courant que le salarié ne puisse pas prendre tous ses congés avant le terme de son contrat, il bénéficie alors d'une indemnité compensatrice de congés payés versée par l'employeur.\n","non applicable si":{"une de ces conditions":["type de contrat != 'CDD'","événement . poursuite du CDD en CDI"]},formule:{"le maximum de":[{description:'Méthode "du dixième"',note:"Ce mode de calcul sera le plus souvent favorable au salarié lorsque celui-ci a accompli des heures supplémentaires.",multiplication:{assiette:"salaire . brut de base + prime de fin de contrat",taux:"10%",facteur:"congés non pris / jours de congés légaux"}},{description:'Méthode "maintien du salaire"',note:"Cette méthode sera le plus souvent favorable au salarié lorsque celui-ci a bénéficié d’une augmentation de salaire.","référence":"https://www.service-public.fr/particuliers/vosdroits/F33359",multiplication:{assiette:"salaire . brut de base + prime de fin de contrat",taux:"congés non pris / durée contrat",facteur:"1 / 21"}}]},exemples:[{nom:"pas de congés non pris",situation:{"salaire . brut de base":2300,"prime de fin de contrat":0,"congés non pris":0,"durée contrat":12},"valeur attendue":0},{nom:"10 jours non pris",situation:{"type de contrat":"CDD","salaire . brut de base":2300,"prime de fin de contrat":0,"congés non pris":10,"durée contrat":12},"valeur attendue":92},{nom:"3 jours non pris",situation:{"type de contrat":"CDD","salaire . brut de base":2300,"prime de fin de contrat":0,"congés non pris":3,"durée contrat":6},"valeur attendue":55.21}],note:"\nÀ noter, la loi El Khomri modifie l'article L3141-12:\n- avant : Les congés peuvent être pris dès l'ouverture des droits [...]\n- maintenant : Les congés peuvent être pris dès l’embauche [...]\n","références":{"Fiche service-public.gouv.fr":"https://www.service-public.fr/particuliers/vosdroits/F2931","Code du travail - Article L3141-24":"https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006072050&idArticle=LEGIARTI000006902661&dateTexte=&categorieLien=cid","Congés payés et contrat CDD":"https://www.easycdd.com/LEGISLATION-CDD/L-embauche-le-suivi-du-contrat-CDD-les-incidents-frequents/Conges-payes-et-contrat-CDD","assiette de l'indemnité, circulaire drt 18 du 30 octobre 1990":"http://conseillerdusalarie.free.fr/Docs/TextesFrance/19901030Circulaire_DRT_90_18_du_30_octobre_1990_CDD_Travail_temporaire.htm"}},{espace:"contrat salarié . CDD",nom:"prime de fin de contrat","indemnité":{destinataire:"salarié"},alias:"prime de précarité",description:"Somme versée en fin de CDD comme compensation de précarité.",note:"Attention, les exceptions sont légion. Conventions collectives...\n\n- Dans les faits, les CDD Senior perçoivent une indemnité d’un montant équivalent à l’indemnité de précarité : [line](https://www.easycdd.com/LEGISLATION-CDD/Fin-ou-rupture-du-contrat-CDD/La-prime-de-precarite/La-prime-de-precarite-n-est-pas-due-si)\n","non applicable si":{"une de ces conditions":["type de contrat != 'CDD'","événement . poursuite du CDD en CDI","événement . refus CDI avantageux","événement . rupture anticipée salarié","événement . rupture pour faute grave ou force majeure","événement . rupture pendant période essai","motif . classique . usage","motif . classique . saisonnier","motif . complément formation","motif . contrat aidé","contrat jeune vacances"]},formule:{multiplication:{assiette:"salaire . brut de base",taux:"10%"}},exemples:[{nom:"salaire médian",situation:{"type de contrat":"CDD","salaire . brut de base":2300,motif:"classique . accroissement activité"},"valeur attendue":230},{nom:"CDD d'usage -> non applicable",situation:{motif:"classique . usage","salaire . brut de base":2300},"valeur attendue":null}],"références":{"Code du travail - Article L1243-8":"https://www.legifrance.gouv.fr/affichCode.do?idSectionTA=LEGISCTA000006189459&cidTexte=LEGITEXT000006072050","Fiche Fin du CDD":"https://www.service-public.fr/particuliers/vosdroits/F40","Fiche La prime de précarité est-elle due":"https://www.service-public.fr/particuliers/vosdroits/F803","Le travail saisonnier":"http://travail-emploi.gouv.fr/droit-du-travail/contrats-et-carriere/contrats-de-travail/article/le-travail-saisonnier","La prime de précarité n'est pas due si":"https://www.easycdd.com/LEGISLATION-CDD/Fin-ou-rupture-du-contrat-CDD/La-prime-de-precarite/La-prime-de-precarite-n-est-pas-due-si","Poursuite de l'activité après la fin du CDD":"https://www.easycdd.com/LEGISLATION-CDD/Fin-ou-rupture-du-contrat-CDD/Poursuite-de-l-activite-apres-la-fin-du-contrat-CDD"}},{espace:"contrat salarié . CDD",nom:"majoration chômage",cotisation:{"dû par":"employeur",type:"majoration",destinataire:"URSSAF",branche:"assurance chômage"},description:"Majoration des contributions patronales d’assurance chômage pour les contrats à durée déterminée courts (CDD). A priori jusqu’au 31 mars 2019.","non applicable si":"événement . poursuite du CDD en CDI","applicable si":{"toutes ces conditions":["type de contrat = 'CDD'","durée contrat <= 3","motif . classique . usage"]},formule:{multiplication:{assiette:"assiette cotisations sociales",plafond:"4 * plafond sécurité sociale",taux:"0.5%"}},exemples:[{nom:"salaire médian, accroissement d'activité, contrat de 1 mois",situation:{"événement":"non","type de contrat":"CDD","assiette cotisations sociales":2300,motif:"classique . accroissement activité","durée contrat":1},"valeur attendue":0},{nom:"salaire médian, motif CDD usage, contrat de 1 mois",situation:{"événement":"non","type de contrat":"CDD","assiette cotisations sociales":2300,motif:"classique . usage","durée contrat":1,"plafond sécurité sociale":3269},"valeur attendue":11.5},{nom:"durée de contrat de 4 mois -> non applicable",situation:{"assiette cotisations sociales":2300,"durée contrat":4},"valeur attendue":null}],"références":{"La majoration de la contribution chômage":"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/lassurance-chomage-et-lags/la-majoration-de-la-contribution.html","Circulaire Unédic":"http://www.unedic.org/sites/default/files/ci201317_1.pdf"},note:'- L\'URSSAF liste à la fois des conditions pour "Les CDD concernés par l’application de la majoration" et pour "Les contrats de travail exclus de la majoration". Un doute persiste : difficile de savoir si les premières suffisent au calcul (donc que les deuxièmes sont là pour enlever les doutes) ou si les deuxièmes peuvent faire exception...\n'},{espace:"contrat salarié",nom:"ATMP",titre:"Cotisation Accidents du Travail et Maladies Professionnelles",description:"Cotisation due au titre des Accidents du Travail et Maladies Professionnelles.",cotisation:{"dû par":"employeur",branche:"accidents du travail / maladies professionnelles",destinataire:"URSSAF",responsable:"CARSAT"},formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"ATMP . taux collectif ATMP / 100"}}},{espace:"contrat salarié . ATMP",nom:"taux collectif ATMP",titre:"Taux collectif ATMP",question:"Quel taux Accidents du Travail et Maladies Professionnelles s'applique à l'entreprise ?",description:"Les entreprises de moins de 20 salariés sont assujetties à ce taux collectif. Pour les entreprises plus importantes,\nce taux est modulé (jusqu'à 150 salariés) voire individualisé (au-delà). L'entreprise peut consulter le taux qui la\nconcerne en ligne sur [net-entreprise](http://www.net-entreprises.fr/html/compte-accident-travail.htm).\n",format:"pourcentage",suggestions:"atmp-2017","par défaut":2.22},{espace:"contrat salarié . CDD",nom:"événement",titre:"Événement de contrat",question:"Pensez-vous être confronté à l'un de ces événements au cours du contrat ?",description:"Certains événements impactent fortement les obligations du CDD.\n\n> Par exemple, dans l'hypothèse d'une poursuite du CDD en CDI, aucune majoration ou indemnité sur le CDD ne sera à verser.\n","non applicable si":"type de contrat != 'CDD'",formule:{"une possibilité":["poursuite du CDD en CDI","refus CDI avantageux","rupture anticipée salarié","rupture pour faute grave ou force majeure","rupture pendant période essai"]},"par défaut":"non"},{espace:"contrat salarié . CDD . événement",nom:"poursuite du CDD en CDI",titre:"Poursuite du CDD en CDI",description:"En fin de contrat, le CDD est reconduit en CDI sans interruption.",formule:"contrat salarié . CDD . événement = 'poursuite du CDD en CDI'"},{espace:"contrat salarié . CDD . événement",nom:"refus CDI avantageux",titre:"Refus d'un CDI avantageux",description:"Le salarié, au terme du CDD, refuse une reconduction en CDI pour un emploi similaire, et une rémunération au moins aussi avantageuse.",formule:"contrat salarié . CDD . événement = 'refus CDI avantageux'"},{espace:"contrat salarié . CDD . événement",nom:"rupture anticipée salarié",titre:"Rupture anticipée du salarié",description:"Rupture anticipée du contrat à l'initiative du salarié.",formule:"contrat salarié . CDD . événement = 'rupture anticipée salarié'"},{espace:"contrat salarié . CDD . événement",nom:"rupture pour faute grave ou force majeure",titre:"Rupture pour faute grave ou force majeure",formule:"contrat salarié . CDD . événement = 'rupture pour faute grave ou force majeure'"},{espace:"contrat salarié . CDD . événement",nom:"rupture pendant période essai",titre:"Rupture pendant la période d'essai",formule:"contrat salarié . CDD . événement = 'rupture pendant période essai'"},{espace:"contrat salarié . CDD",nom:"motif",titre:"Motif de recours",question:"Quel est le motif de recours au CDD ?",description:"Le CDD est un contrat d'exception: son recours doit être autorisé par l'un des motifs spécifiés dans la loi.\n","non applicable si":"type de contrat != 'CDD'",formule:{"une possibilité":{"choix obligatoire":"oui","possibilités":["classique","contrat aidé","complément formation","issue d'apprentissage"]}},"par défaut":"classique . usage","références":{"Code du travail - Articles L1242-1 à 4":"https://www.legifrance.gouv.fr/affichCode.do;jsessionid=E318966AA9DEB9E32465297F15B04D86.tpdila20v_1?idSectionTA=LEGISCTA000006195639&cidTexte=LEGITEXT000006072050&dateTexte=20170420","le recours au CDD":"http://www.entreprises.cci-paris-idf.fr/web/reglementation/developpement-entreprise/droit-social/le-recours-au-cdd","embaucher en CDD":"https://www.service-public.fr/particuliers/vosdroits/F34","les cas de recours au CDD":"https://www.easycdd.com/LEGISLATION-CDD/Avant-de-rediger-un-contrat-CDD/Les-cas-de-recours-au-contrat-CDD"}},{espace:"contrat salarié . CDD . motif",nom:"classique",titre:"motifs classiques",formule:{"une possibilité":["remplacement","accroissement activité","saisonnier","usage","mission"]},"références":{"Code du travail - Article L1242-2":"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=714D2E2B814371F4F1D5AA88472CD621.tpdila20v_1?idArticle=LEGIARTI000033024658&cidTexte=LEGITEXT000006072050&dateTexte=20170420"},"par défaut":"usage"},{espace:"contrat salarié . CDD . motif . classique",nom:"saisonnier",titre:"Saisonnier",formule:"contrat salarié . CDD . motif = 'classique . saisonnier'",description:"Emplois à caractère saisonnier, dont les tâches sont appelées à se répéter chaque année selon une périodicité à peu près fixe, en fonction du rythme des saisons ou des modes de vie collectifs."},{espace:"contrat salarié . CDD . motif . classique",nom:"accroissement activité",titre:"Accroissement temporaire d'activité",formule:"contrat salarié . CDD . motif = 'classique . accroissement activité'",description:"Accroissement temporaire de l'activité de l'entreprise"},{espace:"contrat salarié . CDD . motif . classique",nom:"remplacement",titre:"Contrat de remplacement",formule:"contrat salarié . CDD . motif = 'classique . remplacement'",description:"Nous regroupons dans cette catégorie les cas suivants.\n\n- Remplacement d'un salarié en cas :\n - D'absence ;\n - De passage provisoire à temps partiel, conclu par avenant à son contrat de travail ou par échange écrit entre ce salarié et son employeur ;\n - De suspension de son contrat de travail ;\n - De départ définitif précédant la suppression de son poste de travail après consultation du comité d'entreprise ou, à défaut, des délégués du personnel, s'il en existe ;\n - D'attente de l'entrée en service effective du salarié recruté par contrat à durée indéterminée appelé à le remplacer ;\n\n- Remplacement d'un chef d'entreprise artisanale, industrielle ou commerciale, d'une personne exerçant une profession libérale, de son conjoint participant effectivement à l'activité de l'entreprise à titre professionnel et habituel ou d'un associé non salarié d'une société civile professionnelle, d'une société civile de moyens d'une société d'exercice libéral ou de toute autre personne morale exerçant une profession libérale ;\n\n- Remplacement du chef d'une exploitation agricole ou d'une entreprise mentionnée aux 1° à 4° de l'article L. 722-1 du code rural et de la pêche maritime, d'un aide familial, d'un associé d'exploitation, ou de leur conjoint mentionné à l'article L. 722-10 du même code dès lors qu'il participe effectivement à l'activité de l'exploitation agricole ou de l'entreprise ;\n"},{espace:"contrat salarié . CDD . motif . classique",nom:"mission",titre:"Contrat de mission",formule:"contrat salarié . CDD . motif = 'classique . mission'",description:"> Aussi appelé contrat à objet défini.\n\nRecrutement d'ingénieurs et de cadres, au sens des conventions collectives, en vue de la réalisation d'un objet défini lorsqu'un accord de branche étendu ou, à défaut, un accord d'entreprise le prévoit et qu'il définit :\n\n- Les nécessités économiques auxquelles ces contrats sont susceptibles d'apporter une réponse adaptée ;\n- Les conditions dans lesquelles les salariés sous contrat à durée déterminée à objet défini bénéficient de garanties relatives à l'aide au reclassement, à la validation des acquis de l'expérience, à la priorité de réembauche et à l'accès à la formation professionnelle continue et peuvent, au cours du délai de prévenance, mobiliser les moyens disponibles pour organiser la suite de leur parcours professionnel ;\n- Les conditions dans lesquelles les salariés sous contrat à durée déterminée à objet défini ont priorité d'accès aux emplois en contrat à durée indéterminée dans l'entreprise.\n"},{espace:"contrat salarié . CDD . motif . classique",nom:"usage",titre:"Contrat d'usage",alias:"motif extra",formule:"contrat salarié . CDD . motif = 'classique . usage'",description:"Emplois pour lesquels, dans certains secteurs d'activité définis par décret ou par convention ou accord collectif de travail étendu, il est d'usage constant de ne pas recourir au contrat de travail à durée indéterminée en raison de la nature de l'activité exercée et du caractère par nature temporaire de ces emplois ;","références":{"Embauche en contrat d'extra":"https://www.service-public.fr/professionnels-entreprises/vosdroits/F33693"},"formule-futur":{contrainte:{variable:"entreprise . secteur activité","possibilités":["Déménagement","Services à la personne","Hôtellerie, restauration","Centre de loisirs et de vacances","Activité foraine","Sport professionnel","Enseignement","Spectacle","Action culturelle","Audiovisuel, production cinématographique, édition phonographique","Exploitation forestière","Réparation navale","Information","Enquêtes, sondages","Entreposage et stockage de la viande","Bâtiment et travaux publics pour les chantiers à l'étranger","Coopération, assistance technique d'ingénierie et de recherche à l'étranger","Recherche scientifique dans le cadre d'un accord international (convention, arrangement administratif)","Assistance technique ou logistique dans les institutions internationales ou dans l'Union européenne prévu par les traités"]}}},{espace:"contrat salarié . CDD . motif",nom:"complément formation",titre:"Complément de formation professionnelle",formule:"contrat salarié . CDD . motif = 'complément formation'",description:"L'employeur s'engage, pour une durée et dans des conditions déterminées par décret, à assurer un complément de formation professionnelle au salarié.","références":{"Code du travail - Article L1242-3":"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=714D2E2B814371F4F1D5AA88472CD621.tpdila20v_1?idArticle=LEGIARTI000006901196&cidTexte=LEGITEXT000006072050&dateTexte=20170420","Code du travail - Décret D1242-3":"https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000018537448&cidTexte=LEGITEXT000006072050"}},{espace:"contrat salarié . CDD . motif",nom:"issue d'apprentissage",titre:"À l'issue d'un contrat d'apprentissage",formule:"contrat salarié . CDD . motif = 'issue d'apprentissage'",description:"A l'issue d'un contrat d'apprentissage, un contrat de travail à durée déterminée peut être conclu lorsque l'apprenti doit satisfaire aux obligations du service national dans un délai de moins d'un an après l'expiration du contrat d'apprentissage.\n","références":{"Code du travail - Article L1242-4":"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=714D2E2B814371F4F1D5AA88472CD621.tpdila20v_1?idArticle=LEGIARTI000028498598&cidTexte=LEGITEXT000006072050&dateTexte=20170420"}},{espace:"contrat salarié . CDD . motif",nom:"contrat aidé",titre:"Contrat aidé (CUI, alternance, ...)",formule:"contrat salarié . CDD . motif = 'contrat aidé'","références":{"Code du travail - Article L1242-3":"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=714D2E2B814371F4F1D5AA88472CD621.tpdila20v_1?idArticle=LEGIARTI000006901196&cidTexte=LEGITEXT000006072050&dateTexte=20170420"}},{espace:"contrat salarié",nom:"CDD",titre:"Contrat à durée déterminée",description:"Contrat de travail pour lequel un employeur peut recruter un salarié pour une durée déterminée, car la cause de cette détermination, de la date ou échéance de fin de contrat est prévue explicitement par le Code du travail.","référence":"https://fr.wikipedia.org/wiki/Contrat_de_travail_à_durée_déterminée_en_France","par défaut":"non"},{espace:"contrat salarié . CDD",nom:"durée contrat",titre:"durée du contrat",question:"Quelle est la durée du contrat ?","sous-question":"[Cliquez ici](https://www.service-public.fr/professionnels-entreprises/vosdroits/F31211) pour connaître la durée maximale d'un CDD.\n","références":{"Durée maximale d'un CDD (service-public.fr)":"https://www.service-public.fr/professionnels-entreprises/vosdroits/F31211"},format:"mois",suggestions:{"18 mois":18,"1 an":12,"6 mois":6,"3 mois":3},"par défaut":1},{espace:"contrat salarié . CDD",nom:"congés non pris",titre:"Congés non pris",question:"Combien de jours ouvrés de congés ne seront pas pris ?",description:"Combien de jours de congés ne pourront être pris par l'employé, du fait de la durée de son CDD. En jours ouvrés, par rapport aux 25 jours de congés légaux pour un contrat de douze mois.",format:"jours",suggestions:{"3 / 25":3,"10 / 25":10},"par défaut":0},{espace:"contrat salarié . CDD",nom:"contrat jeune vacances",titre:"Contrat jeune vacances",question:"Est-ce un contrat jeune vacances ?",description:"Aussi appelé CDD vendanges. Contrat conclu avec un jeune pendant ses vacances scolaires ou universitaires.",note:"Ce n'est pas un motif de CDD.","par défaut":"non"},{espace:"contrat salarié . CDD",nom:"indemnités salarié CDD",description:"Cotisations employeur spécifiques au CDD",formule:{somme:["prime de fin de contrat","compensation pour congés non pris"]}},{espace:"contrat salarié . CDD",nom:"surcoût",titre:"Dont surcoût CDD",description:"Le contrat à durée déterminée exige que l'employeur verse, au salarié ou aux organismes sociaux, certaines compensations\nfinancières en contrepartie de la souplesse apportée par ce contrat; elles sont au nombre de 4.\n\nCertaines sont versées en\nfin de contrat, d'autres avec chaque salaire mensuel; elles sont ici ramenées à leur coût mensuel.\n",formule:{somme:["indemnités salarié CDD","CIF","majoration chômage"]},exemples:[{nom:"exemple 1",situation:{"indemnités salarié CDD":100,CIF:100,"majoration chômage":90,"prime de fin de contrat":60.4,"compensation pour congés non pris":39.6},"valeur attendue":290}]},{espace:"contrat salarié . CDD",nom:"surcoût CDD",simulateur:{objectifs:["salaire . net","coût du travail","CDD . surcoût"],titre:"Simulateur CDD","sous-titre":"Découvrir le surcoût employeur du CDD par rapport au CDI",introduction:{notes:[{"icône":"fa-handshake-o",texte:"Vous avez embauché ou vous réfléchissez à l'embauche d'un salarié en CDD.",titre:"Votre situation"},{"icône":"fa-balance-scale",texte:"Votre contrat ne peut donc avoir ni pour objet ni pour effet de pourvoir durablement un emploi lié à l'activité normale et permanente de l'entreprise.",titre:"Votre obligation"}]},"hypothèses":{"contrat salarié . type de contrat":"CDD"}}},{nom:"contrat salarié",description:"Le contrat qui lie une entreprise (via son établissement) à un individu, qui est alors son salarié.\n\nLe contrat n'est en fait pas nécessaire dans le droit français, il est possible d'employer quelqu'un sans contrat par exemple dans les cas suivants:\n- Particuliers employeurs : Plus de 8 heures par semaine ou de plus de 4 semaines consécutives dans l'année.\n- CDI : La signature d’un contrat de travail n’est pas obligatoire dans certains cas. C’est le cas du Contrat de travail à Durée Indéterminée, considéré comme la forme normale et générale de la relation de travail entre un salarié et un employeur (Art. L1221-2 du Code du travail).\n"},{espace:"contrat salarié",nom:"type de contrat",titre:"Type de contrat",question:"Quelle est la nature du contrat de travail ?",formule:{"une possibilité":{"choix obligatoire":"oui","possibilités":["CDI","CDD"]}},"par défaut":"CDI"},{espace:"contrat salarié . type de contrat",nom:"CDD",description:"Le contrat de travail prévoit explicitement une date de fin.",formule:"contrat salarié . type de contrat = 'CDD'"},{espace:"contrat salarié . type de contrat",nom:"CDI",description:"Le contrat de travail ne mentionne pas de date de fin, ou n'a pas été établi.",formule:"contrat salarié . type de contrat = 'CDI'"},{espace:"contrat salarié",nom:"assiette cotisations sociales",titre:"Assiette des cotisations sociales",description:"L'assiette des cotisations sociales est la base de calcul d'un grand nombre de cotisations sur le travail salarié. Elle comprend notamment les rémunérations en espèces (salaire de base, indemnité, primes...) et les avantages en nature (logement, véhicule...).\n","référence":"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/la-base-de-calcul.html",formule:{somme:["salaire . brut de base","indemnités salarié"]}},{espace:"contrat salarié . salaire",nom:"brut de base",titre:"Salaire brut de base","résumé":"Inscrit dans le contrat de travail",type:"salaire",question:"Quel est le salaire de base mensuel ?",description:"C'est le salaire *brut* régulier inscrit dans le contrat de travail. Il ne change jamais entre les mois et ne peut pas être modifié sans signature des deux partis.\n\nIl ne comprend pas les indemnités, avantages sociaux, avantages en nature et primes...\n",format:"euros",suggestions:{"salaire médian":2300,SMIC:1500},"contrôles":[{si:"brut de base < 300",message:"Entrez un salaire mensuel",niveau:"bloquant"}],formule:{inversion:{question:"Quel est le salaire mensuel ?",titre:"salaire",avec:["salaire . net à payer","salaire . total"]}},"références":{"Le salaire. Fixation et paiement":"http://travail-emploi.gouv.fr/droit-du-travail/remuneration-et-participation-financiere/remuneration/article/le-salaire-fixation-et-paiement"}},{espace:"contrat salarié . salaire",nom:"brut",titre:"Salaire brut",description:"C'est le salaire effectif après prise en compte des avantages salariaux et indemnités, ramenés au mois.\n",format:"euros",formule:{somme:["salaire . brut de base","indemnités salarié","avantages en nature . montant"]}},{espace:"contrat salarié",nom:"avantages sociaux",description:"Ce sont les avantages sociaux payés par l'employeur. Ils sont spécifique à l'entreprise, et fourni par des structure privées (mutuelle, assurance...). Ils sont soumis à l'impots sur le revenus.\n",format:"euros",formule:{somme:["prévoyance obligatoire cadre","complémentaire santé (employeur)"]}},{espace:"contrat salarié",nom:"avantages en nature",titre:"Avantages en nature",description:"Les avantages en nature sont constitués par la fourniture par l’employeur à ses salariés d’un bien ou service. La mise à disposition peut être gratuite ou moyennant une participation du salarié inférieure à leur valeur réelle\n",note:"Les tickets restaurants ne sont pas considéré comme un avantage en nature mais comme un remboursement de frais.\n",question:"Le salarié reçoit-il des avantages en nature (logement, véhicule, téléphone, réductions...) ?","par défaut":"non"},{espace:"contrat salarié . avantages en nature",nom:"montant",titre:"Avantages en nature (montant)",description:"Les avantages en nature sont soumis aux cotisations et à l'impot sur le revenu. Ils sont pris en compte pour vérifier que le salaire minimum est atteint.\n",question:"Quel est le montant mensuel des avantages en nature ?","applicable si":"contrat salarié . avantages en nature",suggestions:{nourriture:80,"véhicule":260},format:"euros","par défaut":0},{espace:"contrat salarié",nom:"indemnités salarié",formule:"CDD . indemnités salarié CDD"},{espace:"contrat salarié",nom:"statut cadre",titre:"Statut cadre",question:"Le salarié a-t-il le statut cadre ?",description:"Notion mal définie mais reconnue par les conventions collectives et déterminant l'appartenance à une caise de retraite de base spécifique","par défaut":"non"},{espace:"contrat salarié",nom:"plafond sécurité sociale temps plein",description:"Le plafond de Sécurité sociale est le montant maximum des rémunérations ou gains à prendre en compte pour le calcul de certaines cotisations.",formule:3311,"références":{"arrêté":"https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000036171732"}},{espace:"contrat salarié",nom:"plafond sécurité sociale",formule:"plafond sécurité sociale temps plein * quotité de travail"},{espace:"contrat salarié",nom:"smic mensuel temps plein",formule:1498.47},{espace:"contrat salarié",nom:"smic mensuel",formule:"smic mensuel temps plein * quotité de travail"},{espace:"contrat salarié",nom:"cotisations salariales",format:"euros",formule:{somme:["vieillesse (salarié)","ARRCO (salarié)","AGIRC (salarié)","GMP (salarié)","AGFF (salarié)","CSG","CRDS","cotisation exceptionnelle temporaire (salarié)","chômage (salarié)","APEC (salarié)","complémentaire santé (salarié)"]}},{espace:"contrat salarié",nom:"cotisations patronales",format:"euros",formule:{somme:["maladie (employeur)","ATMP","prévoyance obligatoire cadre","complémentaire santé (employeur)","médecine du travail","vieillesse (employeur)","ARRCO (employeur)","AGIRC (employeur)","GMP (employeur)","AGFF (employeur)","cotisation exceptionnelle temporaire (employeur)","allocations familiales","chômage (employeur)","APEC (employeur)","AGS","FNAL","participation effort de construction","contribution au dialogue social","formation professionnelle","versement transport","taxe d'apprentissage","taxe sur les salaires","CDD . majoration chômage","CDD . CIF","forfait social"]}},{espace:"contrat salarié . salaire",nom:"net",titre:"Salaire net",type:"salaire",description:"Le salaire brut moins les cotisations sociales. \n\nCette somme peut varier en fonction de décisions politiques (augmentation ou diminution des cotisations) alors que le salaire brut est contractuel: pour le changer, il faut signer un avenant au contrat.\n",format:"euros",formule:"salaire . brut - cotisations salariales"},{espace:"contrat salarié . salaire",nom:"net imposable",titre:"Salaire net imposable",type:"salaire",format:"euros",description:"Le salaire net ajusté des cotisations déductibles et avantages sociaux imposables. C'est la base utilisée pour calculer l'impot sur le revenu.\n",formule:{somme:["salaire . net","avantages sociaux","CSG (non déductible)","CRDS"]}},{espace:"contrat salarié . salaire",nom:"net à payer",titre:"Salaire net à payer",type:"salaire",format:"euros",question:"Quel est le salaire net mensuel ?","résumé":"Touché par le salarié tous les mois",description:"C'est le montant que le salarié touche à la fin du mois.\n",formule:"salaire . net - avantages en nature . montant","contrôles":[{si:"net à payer < 200",message:"Entrez un salaire mensuel",niveau:"bloquant"}]},{espace:"contrat salarié",nom:"coût du travail",description:"C'est ce que l'employeur devra réellement payer au total au salarié et aux organismes de collecte, en tenant compte\ndes aides et subventions qui lui sont reversées: c'est donc le coût social total réel du travail pour l'employeur.\n",formule:"salaire . total - aides employeur",format:"euros"},{espace:"contrat salarié . salaire",nom:"total",titre:"Salaire chargé",question:"Quel est le salaire mensuel chargé ?","résumé":"À verser par l'employeur tous les mois",type:"salaire",format:"euros",description:"C'est le salaire brut, plus les cotisations patronales, moins les réductions de cotisations sociales.\n\nC'est le total que l'employeur doit verser mensuellement pour employer un salarié.\n\n> C'est donc aussi une mesure de la valeur apportée par le salarié à l'entreprise : l'employeur est prêt à verser cette somme en contrepartie du travail fourni.\n\nDes [aides différées](/règle/aides employeur) peuvent venir diminuer ce montant.\n",formule:"salaire . total sans réduction - réductions de cotisations","contrôles":[{si:"total < 400",message:"Entrez un salaire mensuel",niveau:"bloquant"}]},{espace:"contrat salarié",nom:"réductions de cotisations",format:"euros",formule:"réduction générale + exonération JEI"},{espace:"contrat salarié . salaire",nom:"total sans réduction",type:"salaire",formule:{somme:["salaire . brut","cotisations patronales"]}},{espace:"contrat salarié",nom:"aides employeur","résumé":"Pour l'employeur, différées dans le temps",description:"Ces aides sont appelées différées, car elles ne consistent pas en une simple réduction des cotisations mensuelles : elles interviendront a posteriori par exemple sous forme de crédit d'impôt.\n",formule:{somme:["CICE","CITS"]}},{espace:"contrat salarié",nom:"salaire",simulateur:{objectifs:["salaire . net","coût du travail"],titre:"Simulateur de coût d'embauche","sous-titre":"Découvrir le coût d'embauche et le salaire réel"}},{espace:"contrat salarié",nom:"jours de congés légaux",description:"Jours ouvrés de congés acquis légalement par tout salarié pour l'année ou le contrat dans le cas d'un CDD.",formule:{multiplication:{facteur:2.083,variations:[{si:"type de contrat = 'CDD'",assiette:"CDD . durée contrat"},{si:"type de contrat = 'CDI'",assiette:12}]}},"références":{fiche:"https://www.service-public.fr/particuliers/vosdroits/F2258"}},{espace:"contrat salarié",nom:"régime alsace moselle","par défaut":"non"},{nom:"entreprise",description:"Le contrat lie une entreprise, identifiée par un code SIREN, et un employé.\n"},{espace:"entreprise",nom:"effectif",question:"Quel est l'effectif de l'entreprise ?",description:"De nombreuses cotisations patronales varient selon l'effectif de l'entreprise.\n",format:"nombre",suggestions:{1:1,20:20,50:50,1000:1e3},"par défaut":1},{espace:"entreprise",nom:"ratio alternants",formule:"ratio alternants saisi / 100"},{espace:"entreprise",nom:"ratio alternants saisi",question:"Quelle est la fraction de contrats d'alternance dans l'effectif moyen de l'entreprise ?",titre:"Fraction d'alternants",description:"Cette fraction détermine la contribution supplémentaire pour l'apprentissage pour les entreprises concernées.\n",format:"pourcentage",suggestions:{1:1,5:5},"par défaut":0},{espace:"entreprise",nom:"association non lucrative",description:"L'entreprise est une association non lucrative",question:"S'agit-il d'une association à but non lucratif ?","par défaut":"non"},{nom:"établissement",description:"Le salarié travaille dans un établissement de l'entreprise, identifié par un code SIRET.\n"},{espace:"établissement",nom:"code postal",titre:"Code postal de l'établissement",question:"Quel est le code postal de la commune de l'établissement ?",description:"Lorsqu'une entreprise dispose de plusieurs établissements, certaines cotisations sont\ncalculées à l'échelle de l'établissement et sont fonction de règlementations locales.\n",format:"nombre",suggestions:"utilisation d'une API","par défaut":"non"},{espace:"établissement",nom:"code commune",titre:"Code commune de l'établissement",question:"Dans quelle commune l'établissement est-il implanté ?",description:"Lorsqu'une entreprise dispose de plusieurs établissements, certaines cotisations sont\ncalculées à l'échelle de l'établissement et sont fonction de règlementations locales.\n",format:"nombre",suggestions:"utilisation d'une API","par défaut":29019},{espace:"établissement",nom:"commune",titre:"Commune de l'établissement",question:"Dans quelle commune l'établissement est-il implanté ?",description:"Lorsqu'une entreprise dispose de plusieurs établissements, certaines cotisations sont\ncalculées à l'échelle de l'établissement et sont fonction de règlementations locales.\n",format:"texte","par défaut":"non"},{espace:"contrat salarié",nom:"temps partiel",question:"Le contrat est-il à temps partiel ?",description:"Deux contrats au même salaire, l'un à temps partiel, l'autre à temps complet, peuvent donner lieu à des montants de cotisation différents.\n\nPar exemple pour les cotisations plafonnées ou les exonérations dépendant du SMIC.\n","par défaut":"non"},{espace:"contrat salarié",nom:"heures par semaine",question:"Quel est le nombre d'heures travaillées par semaine dans le cadre du temps partiel ?",format:"nombre","par défaut":35},{espace:"contrat salarié",nom:"quotité de travail",description:"Temps de travail en proportion du temps complet légal.",formule:{multiplication:{assiette:1,variations:[{si:"temps partiel",taux:"heures par semaine / 35"},{si:"≠ temps partiel",taux:1}]}}},{espace:"contrat salarié",nom:"CICE",aide:{type:"avantage fiscal","thème":"aide bas salaires","démarches":"non"},description:"Crédit d'impôt pour la compétitivité et l'emploi\n","références":{calcul:"https://www.service-public.fr/professionnels-entreprises/vosdroits/F31326"},"non applicable si":{"une de ces conditions":["assiette cotisations sociales > plafond cice","entreprise . association non lucrative"]},formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"6%"}},exemples:[{nom:"SMIC",situation:{"assiette cotisations sociales":2300,"entreprise . association non lucrative":"non"},"valeur attendue":138},{nom:"Non applicable si association",situation:{"assiette cotisations sociales":2300,"entreprise . association non lucrative":"oui"},"valeur attendue":0}]},{espace:"contrat salarié",nom:"plafond cice",formule:"multiplicateur cice * smic mensuel"},{espace:"contrat salarié",nom:"multiplicateur cice",formule:2.5},{espace:"contrat salarié . CITS",nom:"non abattu",formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"4%"}}},{espace:"contrat salarié . CITS",nom:"abattement mensuel par salarié",formule:{multiplication:{assiette:"entreprise . taxe sur les salaires . abattement associations",taux:"1 / entreprise . effectif",facteur:"1 / 12"}},note:"Cette variable révèle deux lacunes de notre modélisation :\n - on ne peut pas spécifier plusieurs salariés à l'entreprise, et donc calculer correctement le CITS. On fait donc comme si l'unique salarié simulé était le salarié type, multiplié.\n - on ne gère pas la conversion entre les périodes temporelles.\nOn les résoud en exploitant à tort les capacités du mécanisme multiplication.\n"},{espace:"contrat salarié",nom:"CITS",titre:"Crédit d'impôt de taxe sur les salaire",aide:{type:"avantage fiscal","thème":"aide bas salaires","démarches":"non"},description:"La loi de finances pour 2017 instaure, au bénéfice des associations et organismes sans but lucratif (OSBL),\nun dispositif de crédit d'impôt de taxe sur les salaires (CITS).\n","références":{fiche:"https://www.service-public.fr/associations/vosdroits/F34066"},"applicable si":"entreprise . association non lucrative","non applicable si":"assiette cotisations sociales > plafond",note:"Le CITS est un crédit sur la taxe sur les salaires. Celle-ci est abattue de ~20k. Le CITS est lui-même abattu de ~20k ! Quel intérêt, pourquoi ne pas simplement supprimer l'abattement initial ? Parce que dans certains cas, une entreprise d'un salarié au SMIC, 4% des rémunérations annuelles < abattement de 20k. Donc le crédit est nul. Donc la taxe sur les salaires reste abattue comme initialement prévu.",formule:{"allègement":{assiette:"non abattu",abattement:"abattement mensuel par salarié"}},exemples:[{nom:"Petite association, non applicable car taxe sur les salaires nulle (car abattue)",situation:{"assiette cotisations sociales":2300,"entreprise . association non lucrative":"oui"},"valeur attendue":0},{nom:"Applicable",situation:{"entreprise . association non lucrative":"oui","assiette cotisations sociales":3e3,"entreprise . effectif":50},"valeur attendue":85.82},{nom:"Non applicable car rémunération trop forte",situation:{"entreprise . association non lucrative":"oui","assiette cotisations sociales":4e3,"entreprise . effectif":50},"valeur attendue":0},{nom:"Non applicable si organisme lucratif",situation:{"entreprise . association non lucrative":"non","assiette cotisations sociales":2300},"valeur attendue":0}]},{espace:"contrat salarié . CITS",nom:"plafond",formule:"multiplicateur * smic mensuel"},{espace:"contrat salarié . CITS",nom:"multiplicateur",formule:2.5},{espace:"contrat salarié",nom:"statut JEI",titre:"Statut JEI",question:"Profitez-vous du statut Jeune Entreprise Innovante pour cette embauche ?",description:"Le statut de jeune entreprise innovante (JEI) a été créé par la loi de finances pour 2004 et permet aux PME de moins de 8 ans consacrant 15% au moins de leurs charges à de la Recherche et Développement de bénéficier de certaines exonérations.\n","par défaut":"non"},{espace:"contrat salarié",nom:"exonération JEI",aide:{type:"réduction de cotisations","démarches":"non"},description:"Exonération pour les jeunes entreprises innovantes (JEI).\n","références":{description:"https://www.service-public.fr/professionnels-entreprises/vosdroits/F31188",calcul:"https://www.urssaf.fr/portail/home/employeur/beneficier-dune-exoneration/exonerations-ou-aides-liees-au-s/jeunes-entreprises-innovantes/quelle-exoneration.html",cumuls:"https://www.legisocial.fr/actualites-sociales/2068-comment-declarer-les-cotisations-dallocations-familiales-si-lentreprise-beneficie-du-regime-jei.html"},"applicable si":"statut JEI",formule:{"le minimum de":[1634.39,{somme:["allocations familiales","maladie (employeur)","vieillesse (employeur)"]}]}},{espace:"contrat salarié",nom:"réduction générale",aide:{type:"réduction de cotisations","thème":"aide bas salaires","démarches":"non"},alias:"réduction fillon",description:"Dans le cadre du pacte de responsabilité et de solidarité, le dispositif zéro cotisation Urssaf permet à l'employeur d'un salarié au Smic de ne plus payer aucune cotisation, hormis l'assurance chômage. Le montant de l'allègement est égal au produit de la rémunération annuelle brute par un coefficient. Il n'y a pas de formalité particulière à effectuer.\n","références":{description:"https://www.service-public.fr/professionnels-entreprises/vosdroits/F24542",calcul:"https://www.urssaf.fr/portail/home/employeur/beneficier-dune-exoneration/exonerations-generales/la-reduction-generale.html",cumuls:"https://www.legisocial.fr/actualites-sociales/2068-comment-declarer-les-cotisations-dallocations-familiales-si-lentreprise-beneficie-du-regime-jei.html"},"non applicable si":{"une de ces conditions":["assiette cotisations sociales > plafond réduction générale","statut JEI"]},formule:{"le minimum de":["assiette réduction générale","réduction générale constante - réduction générale variable"]},exemples:[{nom:"Maximale dans le cas d'un SMIC",situation:{"assiette cotisations sociales":1498.47},"valeur attendue":421.69},{nom:"Nulle au-dessus du plafond",situation:{"assiette cotisations sociales":2398},"valeur attendue":0}]},{espace:"contrat salarié",nom:"réduction générale constante",formule:"coefficient réduction générale * plafond réduction générale"},{espace:"contrat salarié",nom:"réduction générale variable",formule:"coefficient réduction générale * assiette cotisations sociales"},{espace:"contrat salarié",nom:"coefficient réduction générale",formule:{multiplication:{assiette:"10 / 6",variations:[{si:"entreprise . effectif < 20",taux:.2814,plafond:"plafond sécurité sociale"},{si:"entreprise . effectif >= 20",taux:.2854}]}}},{espace:"contrat salarié",nom:"assiette réduction générale",formule:{somme:["allocations familiales","FNAL (employeur)","maladie (employeur)","vieillesse (employeur)","assiette ATMP réduction générale"]}},{espace:"contrat salarié",nom:"assiette ATMP réduction générale",formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"0.84%"}},note:"En pratique, l'ATMP est toujours supérieure à 0.84%","références":{"Code de la sécurité sociale - Article D241-2-4":"https://www.legifrance.gouv.fr/affichCodeArticle.do;?cidTexte=LEGITEXT000006073189&idArticle=LEGIARTI000036467594"}},{espace:"contrat salarié",nom:"plafond réduction générale",formule:"multiplicateur réduction générale * smic mensuel"},{espace:"contrat salarié",nom:"multiplicateur réduction générale",formule:1.6},{espace:"contrat salarié",nom:"AGFF",cotisation:{branche:"retraite","type de retraite":"complémentaire",destinataire:"AGFF"},description:"Cotisation de retraite complémentaire\n(Association pour la Gestion du Fonds de Financement de l’AGIRC et de l’ARRCO).\n","référence":"http://www.agirc-arrco.fr/entreprises/gerer-les-salaries/calcul-des-cotisations/",formule:{"barème":{assiette:"assiette cotisations sociales","multiplicateur des tranches":"plafond sécurité sociale",composantes:[{attributs:{"dû par":"employeur"},variations:[{si:"≠ statut cadre",tranches:[{"en-dessous de":1,taux:"1.2%"},{de:1,"à":3,taux:"1.3%"},{"au-dessus de":3,taux:"0%"}]},{si:"statut cadre",tranches:[{"en-dessous de":1,taux:"1.2%"},{de:1,"à":8,taux:"1.3%"},{"au-dessus de":8,taux:"0%"}]}]},{attributs:{"dû par":"salarié"},variations:[{si:"≠ statut cadre",tranches:[{"en-dessous de":1,taux:"0.8%"},{de:1,"à":3,taux:"0.9%"},{"au-dessus de":3,taux:"0%"}]},{si:"statut cadre",tranches:[{"en-dessous de":1,taux:"0.8%"},{de:1,"à":8,taux:"0.9%"},{"au-dessus de":8,taux:"0%"}]}]}]}}},{espace:"contrat salarié",nom:"GMP",cotisation:{branche:"retraite","type de retraite":"complémentaire",destinataire:"AGIRC"},description:"Les salariés relevant du régime Agirc qui n'ont pas un salaire suffisant pour\natteindre le nombre minimum de 120 points Agirc,\nont la garantie de les obtenir en contrepartie d'une cotisation forfaitaire.\n","applicable si":"statut cadre",formule:{"complément":{composantes:[{attributs:{"dû par":"employeur"},cible:"AGIRC (employeur)",montant:"45.11 * quotité de travail"},{attributs:{"dû par":"salarié"},cible:"AGIRC (salarié)",montant:"27.60 * quotité de travail"}]}},note:'Le mécanisme de complément de la cotisation AGIRC nous évite d\'avoir à utiliser le "salaire charnière"',"références":{"calcul des cotisations":"http://www.agirc-arrco.fr/entreprises/gerer-les-salaries/calcul-des-cotisations/","circulaire 2017 -07-DT":"https://www.agirc-arrco.fr/fileadmin/agircarrco/documents/circulaires/agirc_arrco/2017/201710dt_parametres_Agirc-Arrco.pdf"}},{espace:"contrat salarié",nom:"AGIRC",cotisation:{branche:"retraite","type de retraite":"complémentaire",destinataire:"AGIRC"},description:"Cotisation de retraite complémentaire cadre. Complète le régime ARRCO, gérée par l'AGIRC (Association Générale des Institutions de Retraite des Cadres)\n","applicable si":"statut cadre",formule:{"barème":{assiette:"assiette cotisations sociales","multiplicateur des tranches":"plafond sécurité sociale",composantes:[{attributs:{"dû par":"employeur"},tranches:[{"en-dessous de":1,taux:"0%"},{de:1,"à":8,taux:"12.75%"},{"au-dessus de":8,taux:"0%"}]},{attributs:{"dû par":"salarié"},tranches:[{"en-dessous de":1,taux:"0%"},{de:1,"à":8,taux:"7.8%"},{"au-dessus de":8,taux:"0%"}]}]}},note:"Il existe une tranche C, de 4 à 8 fois la base, sur laquelle la répartition des cotisations est décidée au sein de l’entreprise jusqu’à 20 %. De 20 % à 20,30 %, la répartition est la suivante : 66,67 % à la charge du salarié et 33,33 % pour l’employeur.\n","références":{"calcul des cotisations":"http://www.agirc-arrco.fr/entreprises/gerer-les-salaries/calcul-des-cotisations/","garantie minimale de points":"http://www.journaldunet.com/management/pratique/primes-et-avantages/5079/gmp-2016-la-garantie-minimale-de-points-calcul-et-montant.html"}},{espace:"contrat salarié",nom:"AGS",description:"Cotisation au Régime de Garantie des Salaires",cotisation:{"dû par":"employeur",branche:"assurance chômage"},references:{calcul:"https://www.service-public.fr/professionnels-entreprises/vosdroits/F31409"},formule:{multiplication:{assiette:"assiette cotisations sociales",plafond:"4 * plafond sécurité sociale",taux:"0.15%"}}},{espace:"contrat salarié",nom:"allocations familiales",cotisation:{"dû par":"employeur",branche:"famille"},"références":{calcul:"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-cotisation-dallocations-famil.html"},formule:"cotisation allocations familiales - réduction allocations familiales"},{espace:"contrat salarié",nom:"cotisation allocations familiales",formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"5.25%"}}},{espace:"contrat salarié",nom:"réduction allocations familiales",titre:"Réduction des allocations familiales","applicable si":{"toutes ces conditions":["assiette cotisations sociales < plafond réduction allocations familiales","≠ statut JEI"]},formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"1.8%"}}},{espace:"contrat salarié",nom:"plafond réduction allocations familiales",titre:"Plafond de la réduction des allocations familiales",formule:"smic mensuel * 3.5"},{espace:"contrat salarié",nom:"APEC",cotisation:{branche:"assurance chômage","type de retraite":"complémentaire",destinataire:"APEC"},description:"Cotisation chômage complémentaire cadre, pour le fonctionnement de l'APEC\n(Association Pour l’Emploi des Cadres)\n","références":{"chiffres clés":"http://www.agirc-arrco.fr/l-agirc-et-larrco/chiffres-cles"},"applicable si":"statut cadre",formule:{"barème":{assiette:"assiette cotisations sociales","multiplicateur des tranches":"plafond sécurité sociale",composantes:[{attributs:{"dû par":"employeur"},tranches:[{"en-dessous de":4,taux:"0.036%"},{"au-dessus de":4,taux:"0%"}]},{attributs:{"dû par":"salarié"},tranches:[{"en-dessous de":4,taux:"0.024%"},{"au-dessus de":4,taux:"0%"}]}]}}},{espace:"contrat salarié",nom:"ARRCO",cotisation:{branche:"retraite","type de retraite":"complémentaire",destinataire:"ARRCO"},description:"Cotisation de retraite complémentaire pour tous les salariés du secteur privé, gérée par l'Association pour le Régime de Retraite Complémentaire des salariés.\n","références":{"calcul des cotisations":"http://www.agirc-arrco.fr/entreprises/gerer-les-salaries/calcul-des-cotisations/"},formule:{"barème":{assiette:"assiette cotisations sociales","multiplicateur des tranches":"plafond sécurité sociale",composantes:[{attributs:{"dû par":"employeur"},variations:[{si:"statut cadre",tranches:[{"en-dessous de":1,taux:"4.65%"},{"au-dessus de":1,taux:"0%"}]},{si:"≠ statut cadre",tranches:[{"en-dessous de":1,taux:"4.65%"},{de:1,"à":3,taux:"12.15%"},{"au-dessus de":3,taux:"0%"}]}]},{attributs:{"dû par":"salarié"},variations:[{si:"statut cadre",tranches:[{"en-dessous de":1,taux:"3.1%"},{"au-dessus de":1,taux:"0%"}]},{si:"≠ statut cadre",tranches:[{"en-dessous de":1,taux:"3.1%"},{de:1,"à":3,taux:"8.1%"},{"au-dessus de":3,taux:"0%"}]}]}]}}},{espace:"contrat salarié",nom:"chômage",cotisation:{branche:"assurance chômage",destinataire:"Pôle emploi"},description:"Cotisation d’assurance chômage","références":{calcul:"http://www.pole-emploi.fr/employeur/taux-des-contributions-de-l-assurance-chomage-et-cotisations-ags-@/article.jspz?id=61567",urssaf:"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/lassurance-chomage-et-lags/les-taux.html","changements 2017":"https://www.urssaf.fr/portail/home/actualites/toute-lactualite-employeur/contributions-patronales-dassura.html"},formule:{multiplication:{assiette:"assiette cotisations sociales",plafond:"4 * plafond sécurité sociale",composantes:[{attributs:{"dû par":"employeur"},taux:"4%"},{attributs:{"dû par":"employeur",composante:"contribution exceptionnelle temporaire"},description:"Instaurée le 1er octobre 2017, applicable jusqu’au 30 septembre 2020 au plus tard.\n",taux:"0.05%"},{attributs:{"dû par":"salarié"},taux:"0.95%"}]}},exemples:[{nom:"SMIC",situation:{"assiette cotisations sociales":1500},"valeur attendue":75},{nom:"Haut salaire",situation:{"assiette cotisations sociales":2e4},"valeur attendue":662.2}]},{espace:"contrat salarié",nom:"complémentaire santé",cotisation:{branche:"santé"},"références":{"Complémentaire santé d'entreprise":"https://www.service-public.fr/particuliers/vosdroits/F20739"},formule:{multiplication:{assiette:"forfait complémentaire santé",composantes:[{attributs:{"dû par":"employeur"},taux:"50%"},{attributs:{"dû par":"salarié"},taux:"50%"}]}},exemples:[{nom:"forfait à 40€",situation:{"forfait complémentaire santé":40},"valeur attendue":40}]},{espace:"contrat salarié",nom:"forfait complémentaire santé",titre:"Forfait de complémentaire santé entreprise",question:"Quel est le montant mensuel total (salarié et employeur) de la complémentaire santé entreprise ?",description:"L'employeur a l'obligation de proposer une offre de complémentaire santé. Il doit prendre en charge la moitié du montant,\nce que nous avons retenu pour cette simulation, ou davantage. Le montant est libre, tant qu'elle couvre un panier légal de soins.\n","références":{"les obligations de l'employeur":"https://www.service-public.fr/professionnels-entreprises/vosdroits/F33754"},format:"euros","par défaut":40,suggestions:{basique:40,"élevé":100}},{espace:"contrat salarié",nom:"contribution au dialogue social",cotisation:{"dû par":"employeur",collecteur:"URSSAF"},description:"Contribution patronale destinée à abonder un fonds paritaire dédié au financement des organisations syndicales et des organisations professionnelles d’employeurs.\n\nAnciennement 'contribution patronale au financement des organisations syndicales'\n","références":["https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-contribution-patronale-au-dia.html","https://www.service-public.fr/professionnels-entreprises/vosdroits/F33308"],formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"0.016%"}}},{espace:"contrat salarié",nom:"cotisation exceptionnelle temporaire",acronyme:"CET",cotisation:{branche:"retraite","type de retraite":"complémentaire",destinataire:"AGIRC"},description:"Cotisation de solidarité pour le régime Agirc, elle ne donne pas de points supplémentaires au salarié.\n","références":{calcul:"http://www.agirc-arrco.fr/entreprises/gerer-les-salaries/calcul-des-cotisations/"},"applicable si":"statut cadre",formule:{multiplication:{assiette:"assiette cotisations sociales",plafond:"8 * plafond sécurité sociale",composantes:[{attributs:{"dû par":"employeur"},taux:"0.22%"},{attributs:{"dû par":"salarié"},taux:"0.13%"}]}}},{espace:"contrat salarié",note:"Cette assiette est complexe, cette version n'est qu'une simplification.",nom:"assiette CSG","références":{calcul:"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-csg-crds/les-revenus-salariaux-soumis-a-l.html",abattement:"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-csg-crds/abattement-et-deductions/les-revenus-exclus-de-labattemen.html"},formule:{somme:["assiette CSG abattue","prévoyance obligatoire cadre","complémentaire santé (employeur)"]}},{espace:"contrat salarié",nom:"assiette CSG abattue",formule:{"barème":{assiette:"assiette cotisations sociales","multiplicateur des tranches":"plafond sécurité sociale",tranches:[{"en-dessous de":4,taux:"98.25%"},{"au-dessus de":4,taux:"100%"}]}}},{espace:"contrat salarié",nom:"CSG",cotisation:{"impôt":"oui","dû par":"salarié"},description:"Contribution sociale généralisée.\nPrélèvement obligatoire qui participe au financement de la sécurité sociale.\n",formule:{multiplication:{assiette:"assiette CSG",composantes:[{attributs:{"impôt sur le revenu":"déductible"},taux:"2.4%"},{attributs:{"impôt sur le revenu":"non déductible"},taux:"6.8%"}]}},exemples:[{nom:"CSG cadre",situation:{"assiette cotisations sociales":1500,"forfait complémentaire santé":40,"statut cadre":"oui"},"valeur attendue":139.495},{nom:"CSG non cadre",situation:{"assiette cotisations sociales":1500,"forfait complémentaire santé":40},"valeur attendue":137.425}]},{espace:"contrat salarié",nom:"CRDS",cotisation:{"impôt":"oui","dû par":"salarié"},description:"Contribution pour le remboursement de la dette sociale",formule:{multiplication:{assiette:"assiette CSG",taux:"0.5%"}}},{espace:"contrat salarié",nom:"FNAL",titre:"Contribution au Fonds National d’Aide au Logement",description:"Le fonds national d’aide au logement (Fnal) est une contribution due par tous les employeurs, quelle que soit la taille de l’entreprise.\n\nCette contribution assure le financement de l’allocation logement.\n",cotisation:{"dû par":"employeur",destinataire:"URSSAF",branche:"logement"},"références":{calcul:"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-contribution-au-fonds-nationa.html"},formule:{multiplication:{assiette:"assiette cotisations sociales",variations:[{si:"entreprise . effectif < 20",taux:"0.1%",plafond:"plafond sécurité sociale"},{si:"entreprise . effectif >= 20",taux:"0.5%"}]}},exemples:[{nom:"SMIC",situation:{"assiette cotisations sociales":1500,"entreprise . effectif":10},"valeur attendue":1.5}]},{espace:"contrat salarié",nom:"formation professionnelle",cotisation:{"dû par":"employeur",collecteur:"OPCA",branche:"formation"},formule:{multiplication:{assiette:"assiette cotisations sociales",variations:[{si:"entreprise . effectif >= 11",taux:"1%"},{si:"entreprise . effectif < 11",taux:"0.55%"}]}}},{espace:"contrat salarié",nom:"maladie",cotisation:{branche:"santé","dû par":"employeur"},description:"Cotisations de la branche maladie","références":{fiche:"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-cotisation-maladie---maternit.html","Décret n° 2017-1891 relatif au taux des cotisations d'assurance maladie":"https://www.legifrance.gouv.fr/eli/decret/2017/12/30/CPAS1732212D/jo/texte"},formule:{multiplication:{assiette:"assiette cotisations sociales",composantes:[{attributs:{composante:"maladie, maternité, invalidité, décès"},taux:"13%"},{attributs:{composante:"Contribution Solidarité Autonomie","abbréviation":"CSA"},"références":["https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-contribution-solidarite-auton.html","https://www.service-public.fr/professionnels-entreprises/vosdroits/F32872"],taux:"0.3%"}]}}},{espace:"contrat salarié",nom:"médecine du travail",alias:"santé au travail",cotisation:{"dû par":"employeur",branche:"santé"},"références":{fiche:"http://travail-emploi.gouv.fr/emploi/maintien-dans-l-emploi/prevention-et-maintien-dans-l-emploi-10705/services-de-sante-au-travail-sst","question au sénat":"http://www.senat.fr/questions/base/2005/qSEQ050919275.html","rapport officiel, page 6":"http://www.ladocumentationfrançaise.fr/var/storage/rapports-publics/074000708.pdf"},description:"L'employeur a l'obligation d'organiser un service de santé au travail, en adhérant à un service interentreprises, ou en créant un service interne.\n\nDans le cas de l'adhésion à un service, le montant de cette cotisation n'est pas défini par la loi, mais il doit être proportionnel au nombre d'employés. Nous avons choisi un montant indicatif (voir les références) ajusté avec l'inflation depuis 2007.\n",formule:"80 / 12"},{espace:"contrat salarié",nom:"participation effort de construction",titre:"Participation à l'effort de construction",alias:"Dispositif du 1 % logement",acronyme:"PEEC",description:"Participation des employeurs à l'effort de construction",cotisation:{branche:"logement","dû par":"employeur","impôt":"oui"},"références":{fiche:"https://www.service-public.fr/professionnels-entreprises/vosdroits/F22583"},note:'L\'employeur a le choix entre verser cet impôt à un "organisme du 1 % patronal" agréé, investir la somme dans le logement de ses salariés, ou accorder à eux et leur famille des prêts de construction à taux réduit.\n',"applicable si":"entreprise . effectif >= 20",formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"0.45%"}}},{espace:"contrat salarié",nom:"prévoyance obligatoire cadre",titre:"Prévoyance obligatoire pour les cadres",cotisation:{"dû par":"employeur",branche:"santé"},"références":{minimum:"http://www.axios.fr/150-tranche-a-evitez-une-erreur-a-160-000-euros"},"applicable si":"statut cadre",formule:{multiplication:{assiette:"assiette cotisations sociales",plafond:"plafond sécurité sociale",taux:"1.5%"}}},{espace:"contrat salarié",nom:"taxe d'apprentissage",cotisation:{destinataire:"Organisme Collecteur de Taxe d'Apprentissage (OCTA)",branche:"formation","dû par":"employeur"},description:"La taxe d'apprentissage permet de financer par les entreprises les dépenses de l'apprentissage et des formations technologiques et professionnelles","références":{description:"https://www.service-public.fr/professionnels-entreprises/vosdroits/F22574",csa:"http://www.opcalia.com/employeurs/financer-la-formation-et-lapprentissage/taxe-dapprentissage/contribution-supplementaire-a-lapprentissage-csa/"},note:"Taxe complexe, comportant notamment des exonérations non prises en compte ici.","non applicable si":"entreprise . association non lucrative",formule:{somme:["taxe d'apprentissage de base","contribution supplémentaire à l'apprentissage"]}},{espace:"contrat salarié",nom:"taxe d'apprentissage de base",formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"0.68%"}}},{espace:"contrat salarié",nom:"contribution supplémentaire à l'apprentissage","non applicable si":{"une de ces conditions":["entreprise . effectif < 250","entreprise . ratio alternants >= 5%"]},formule:{multiplication:{assiette:"assiette cotisations sociales",variations:[{si:"taxe d'apprentissage . csa au taux majoré",taux:"0.6%"},{si:"entreprise . ratio alternants < 1%",taux:"0.4%"},{si:"entreprise . ratio alternants < 2%",taux:"0.2%"},{si:"entreprise . ratio alternants < 3%",taux:"0.1%"},{si:"entreprise . ratio alternants < 5%",taux:"0.05%"}]}}},{espace:"contrat salarié . taxe d'apprentissage",nom:"csa au taux majoré",titre:"CSA au taux majoré",formule:{"toutes ces conditions":["entreprise . effectif >= 2000","entreprise . ratio alternants < 1%"]}},{espace:"contrat salarié . taxe sur les salaires",nom:"assiette",formule:{somme:["assiette cotisations sociales","prévoyance obligatoire cadre","complémentaire santé (employeur)"]},"références":{assiette:"http://bofip.impots.gouv.fr/bofip/6690-PGP.html"}},{espace:"contrat salarié . taxe sur les salaires",nom:"barème annuel","références":{"barème":"https://www.service-public.fr/professionnels-entreprises/vosdroits/F22576"},formule:{"barème":{assiette:"assiette * 12",tranches:[{"en-dessous de":7721,taux:"4.25%"},{de:7721,"à":15417,taux:"8.5%"},{de:15417,"à":152279,taux:"13.6%"},{"au-dessus de":152279,taux:"0%"}]}},exemples:[{nom:"salaire médian",situation:{assiette:2300},"valeur attendue":2639.16}]},{espace:"entreprise . taxe sur les salaires",nom:"barème annuel",formule:"contrat salarié . taxe sur les salaires . barème annuel * effectif"},{espace:"entreprise . taxe sur les salaires",nom:"abattement associations",formule:20507},{espace:"entreprise",nom:"taxe sur les salaires",formule:{"allègement":{assiette:"barème annuel",franchise:1200,"décote":{plafond:2040,taux:"75%"},abattement:"abattement associations"}},note:"Attention : l'abattement n'est valable que pour les organismes à but non lucratif.\nIl n'est pas conditionné ici car on réserve pour l'instant la taxe sur les salaires aux associations 1901\n"},{espace:"contrat salarié . taxe sur les salaires",nom:"montant annuel",formule:"entreprise . taxe sur les salaires / entreprise . effectif"},{espace:"contrat salarié",nom:"taxe sur les salaires",taxe:{"dû par":"employeur"},description:"La taxe sur les salaires en France est un impôt progressif créé en 1948 que certains employeurs doivent acquitter sur les salaires qu'ils distribuent.","applicable si":"entreprise . association non lucrative",formule:"montant annuel / 12",note:"Cette implémentation de la taxe sur les salaires est spécifique aux associations à but non lucratif, elle est donc largement simplifiée. Plein d'autres organisations sont concernées, en fonction de la TVA qu'elles paient. Les associations y sont assujetties automatiquement.",exemples:[{nom:"non applicable par défaut",situation:{"salaire . brut de base":2300},"valeur attendue":0},{nom:"association non lucrative unipersonnelle",situation:{"entreprise . association non lucrative":"oui","salaire . brut de base":2300,"entreprise . effectif":1},"valeur attendue":0},{nom:"association non lucrative",situation:{"entreprise . association non lucrative":"oui","salaire . brut de base":2300,"entreprise . effectif":10,"forfait complémentaire santé":0},"valeur attendue":49}],"références":{fiche:"https://www.service-public.fr/professionnels-entreprises/vosdroits/F22576"}},{espace:"contrat salarié",nom:"versement transport",description:"Contribution sur les salaires destinée au financement des transports publics.","non applicable si":"entreprise . effectif < 11",cotisation:{branche:"transport","dû par":"employeur"},formule:{multiplication:{assiette:"assiette cotisations sociales",taux:"établissement . taux du versement transport"}},"références":{wikipedia:"https://fr.wikipedia.org/wiki/Versement_transport"}},{espace:"établissement",nom:"taux du versement transport","données":"taux_versement_transport",formule:{"sélection":{"données":"taux du versement transport",cherche:"code commune",dans:"codeCommune",composantes:[{nom:"aot",renvoie:"aot"},{nom:"smt",renvoie:"smt"}]}}},{espace:"contrat salarié",nom:"vieillesse",cotisation:{branche:"retraite",collecteur:"URSSAF",destinataire:"CNAV"},description:"Cotisation au régime de retraite de base des salariés.",formule:{multiplication:{assiette:"assiette cotisations sociales",composantes:[{attributs:{"dû par":"salarié"},composantes:[{nom:"non plafonnée",taux:"0.4%"},{nom:"plafonnée",plafond:"plafond sécurité sociale",taux:"6.90%"}]},{attributs:{"dû par":"employeur"},composantes:[{nom:"non plafonnée",taux:"1.9%"},{nom:"plafonnée",plafond:"plafond sécurité sociale",taux:"8.55%"}]}]}},exemples:[{nom:"SMIC",situation:{"assiette cotisations sociales":1500},"valeur attendue":266.25},{nom:"Salaire élevé",situation:{"assiette cotisations sociales":8e3},"valeur attendue":695.55}]},{espace:"contrat salarié",nom:"forfait social",titre:"Forfait social",description:"Le forfait social est une contribution versée par l'employeur. Elle est prélevée sur les rémunérations ou gains non soumis aux cotisations et contributions sociales, mais assujettis à la CSG.\n",cotisation:{branche:"retraite",collecteur:"URSSAF",destinataire:"CNAV","dû par":"employeur"},"références":{"Fiche URSSAF":"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/le-forfait-social.html","Fiche service-public.fr":"https://www.service-public.fr/professionnels-entreprises/vosdroits/F31532","Code du travail - Article L137-15":"https://www.legifrance.gouv.fr/affichCode.do?idSectionTA=LEGISCTA000019950196&cidTexte=LEGITEXT000006073189"},formule:{multiplication:{assiette:"forfait social . assiette taux huit",taux:"8%"}}},{espace:"contrat salarié . forfait social",nom:"assiette taux huit",titre:"Assiette du forfait social au taux de 8%",description:"Assiette comprenant les rémunérations et les gains sur lesquelles s'appliquent la contribution du forfait social au taux de 8%.\n","références":{"Fiche urssaf":"https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/le-forfait-social/le-forfait-social-au-taux-de-8.html"},"non applicable si":"entreprise . effectif < 11",formule:{somme:["complémentaire santé (employeur)","prévoyance obligatoire cadre"]}}]},14:function(o,e,t){"use strict";(function(o){t.d(e,"e",function(){return d}),t.d(e,"i",function(){return S}),t.d(e,"f",function(){return f}),t.d(e,"k",function(){return O}),t.d(e,"j",function(){return T}),t.d(e,"d",function(){return _}),t.d(e,"a",function(){return b}),t.d(e,"b",function(){return v}),t.d(e,"g",function(){return B}),t.d(e,"h",function(){return D}),t.d(e,"c",function(){return P});var n=t(82),a=t(8),m=t(53),s=t(1),u=t(135),r=t(15);function c(o){for(var e=1;e"}]},{name:"ComparisonOperator",symbols:[{literal:"<"}]},{name:"ComparisonOperator$string$1",symbols:[{literal:">"},{literal:"="}],postprocess:function(o){return o.join("")}},{name:"ComparisonOperator",symbols:["ComparisonOperator$string$1"]},{name:"ComparisonOperator$string$2",symbols:[{literal:"<"},{literal:"="}],postprocess:function(o){return o.join("")}},{name:"ComparisonOperator",symbols:["ComparisonOperator$string$2"]},{name:"ComparisonOperator",symbols:[{literal:"="}]},{name:"ComparisonOperator$string$3",symbols:[{literal:"!"},{literal:"="}],postprocess:function(o){return o.join("")}},{name:"ComparisonOperator",symbols:["ComparisonOperator$string$3"]},{name:"NegatedVariable",symbols:[{literal:"≠"},"_","Variable"],postprocess:function(o){return{category:"negatedVariable",variable:o[2]}}},{name:"FilteredVariable",symbols:["Variable","_","Filter"],postprocess:function(o){return{category:"filteredVariable",filter:o[2],variable:o[0]}}},{name:"Filter",symbols:[{literal:"("},"VariableFragment",{literal:")"}],postprocess:function(o){return o[1]}},{name:"ModifiedVariable",symbols:["Variable","_","Modifier"],postprocess:function(o){return{category:"modifiedVariable",modifier:o[2],variable:o[0]}}},{name:"Modifier",symbols:[{literal:"["},"TemporalModifier",{literal:"]"}],postprocess:function(o){return o[1][0]}},{name:"TemporalModifier$string$1",symbols:[{literal:"a"},{literal:"n"},{literal:"n"},{literal:"u"},{literal:"e"},{literal:"l"}],postprocess:function(o){return o.join("")}},{name:"TemporalModifier",symbols:["TemporalModifier$string$1"]},{name:"TemporalModifier$string$2",symbols:[{literal:"m"},{literal:"e"},{literal:"n"},{literal:"s"},{literal:"u"},{literal:"e"},{literal:"l"}],postprocess:function(o){return o.join("")}},{name:"TemporalModifier",symbols:["TemporalModifier$string$2"]},{name:"TemporalModifier$string$3",symbols:[{literal:"j"},{literal:"o"},{literal:"u"},{literal:"r"},{literal:" "},{literal:"o"},{literal:"u"},{literal:"v"},{literal:"r"},{literal:"é"}],postprocess:function(o){return o.join("")}},{name:"TemporalModifier",symbols:["TemporalModifier$string$3"],postprocess:e},{name:"CalcExpression",symbols:["Term","_","ArithmeticOperator","_","Term"],postprocess:function(o){return{category:"calcExpression",operator:o[2],explanation:[o[0],o[4]],type:"numeric"}}},{name:"Term",symbols:["Variable"],postprocess:e},{name:"Term",symbols:["FilteredVariable"],postprocess:e},{name:"Term",symbols:["number"],postprocess:e},{name:"Term",symbols:["percentage"],postprocess:e},{name:"ArithmeticOperator",symbols:[{literal:"+"}],postprocess:e},{name:"ArithmeticOperator",symbols:[{literal:"-"}],postprocess:e},{name:"ArithmeticOperator",symbols:[{literal:"*"}],postprocess:e},{name:"ArithmeticOperator",symbols:[{literal:"/"}],postprocess:e},{name:"Variable$ebnf$1",symbols:[]},{name:"Variable$ebnf$1$subexpression$1",symbols:["_","Dot","_","VariableFragment"],postprocess:function(o){return o[3]}},{name:"Variable$ebnf$1",symbols:["Variable$ebnf$1","Variable$ebnf$1$subexpression$1"],postprocess:function(o){return o[0].concat([o[1]])}},{name:"Variable",symbols:["VariableFragment","Variable$ebnf$1"],postprocess:function(o){return{category:"variable",fragments:[o[0]].concat(t(o[1])),type:"numeric | boolean"}}},{name:"Constant$ebnf$1",symbols:[/[ .'a-zA-Z\u00C0-\u017F ]/]},{name:"Constant$ebnf$1",symbols:["Constant$ebnf$1",/[ .'a-zA-Z\u00C0-\u017F ]/],postprocess:function(o){return o[0].concat([o[1]])}},{name:"Constant",symbols:[{literal:"'"},"Constant$ebnf$1",{literal:"'"}],postprocess:function(o){return{category:"value",type:"string",nodeValue:o[1].join("")}}},{name:"VariableFragment$ebnf$1",symbols:[]},{name:"VariableFragment$ebnf$1$subexpression$1",symbols:["_","VariableWord"],postprocess:function(o){return" "+o[1]}},{name:"VariableFragment$ebnf$1",symbols:["VariableFragment$ebnf$1","VariableFragment$ebnf$1$subexpression$1"],postprocess:function(o){return o[0].concat([o[1]])}},{name:"VariableFragment",symbols:["VariableWord","VariableFragment$ebnf$1"],postprocess:function(o){return o[0]+o[1].join("")}},{name:"VariableWord$ebnf$1",symbols:[]},{name:"VariableWord$ebnf$1",symbols:["VariableWord$ebnf$1",/['a-zA-Z\u00C0-\u017F]/],postprocess:function(o){return o[0].concat([o[1]])}},{name:"VariableWord",symbols:[/[a-zA-Z\u00C0-\u017F]/,"VariableWord$ebnf$1"],postprocess:function(o){return o[0]+o[1].join("")}},{name:"Dot",symbols:[/[\.]/],postprocess:function(o){return null}},{name:"_",symbols:[/[\s]/],postprocess:function(o){return null}},{name:"number$ebnf$1",symbols:[/[0-9]/]},{name:"number$ebnf$1",symbols:["number$ebnf$1",/[0-9]/],postprocess:function(o){return o[0].concat([o[1]])}},{name:"number$ebnf$2$subexpression$1$ebnf$1",symbols:[/[0-9]/]},{name:"number$ebnf$2$subexpression$1$ebnf$1",symbols:["number$ebnf$2$subexpression$1$ebnf$1",/[0-9]/],postprocess:function(o){return o[0].concat([o[1]])}},{name:"number$ebnf$2$subexpression$1",symbols:[/[\.]/,"number$ebnf$2$subexpression$1$ebnf$1"]},{name:"number$ebnf$2",symbols:["number$ebnf$2$subexpression$1"],postprocess:e},{name:"number$ebnf$2",symbols:[],postprocess:function(o){return null}},{name:"number",symbols:["number$ebnf$1","number$ebnf$2"],postprocess:function(o){return{category:"value",nodeValue:parseFloat(o[0].join("")+(o[1]?o[1][0]+o[1][1].join(""):""))}}},{name:"percentage$ebnf$1",symbols:[/[0-9]/]},{name:"percentage$ebnf$1",symbols:["percentage$ebnf$1",/[0-9]/],postprocess:function(o){return o[0].concat([o[1]])}},{name:"percentage$ebnf$2$subexpression$1$ebnf$1",symbols:[/[0-9]/]},{name:"percentage$ebnf$2$subexpression$1$ebnf$1",symbols:["percentage$ebnf$2$subexpression$1$ebnf$1",/[0-9]/],postprocess:function(o){return o[0].concat([o[1]])}},{name:"percentage$ebnf$2$subexpression$1",symbols:[/[\.]/,"percentage$ebnf$2$subexpression$1$ebnf$1"]},{name:"percentage$ebnf$2",symbols:["percentage$ebnf$2$subexpression$1"],postprocess:e},{name:"percentage$ebnf$2",symbols:[],postprocess:function(o){return null}},{name:"percentage",symbols:["percentage$ebnf$1","percentage$ebnf$2",/[\%]/],postprocess:function(o){return{category:"percentage",nodeValue:parseFloat(o[0].join("")+(o[1]?o[1][0]+o[1][1].join(""):""))/100}}}],ParserStart:"main"};void 0!==o&&void 0!==o.exports?o.exports=n:window.grammar=n}()},147:function(o,e,t){"use strict";var n=function(o){};o.exports=function(o,e,t,a,m,s,u,r){if(n(e),!o){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var i=[t,a,m,s,u,r],p=0;(c=new Error(e.replace(/%s/g,function(){return i[p++]}))).name="Invariant Violation"}throw c.framesToPop=1,c}}},148:function(o,e,t){"use strict";o.exports={}},149:function(o,e,t){"use strict";function n(o){return function(){return o}}var a=function(){};a.thatReturns=n,a.thatReturnsFalse=n(!1),a.thatReturnsTrue=n(!0),a.thatReturnsNull=n(null),a.thatReturnsThis=function(){return this},a.thatReturnsArgument=function(o){return o},o.exports=a},15:function(o,e,t){"use strict";function n(o,e){return o===e}function a(o){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,t=null,a=null;return function(){return function(o,e,t){if(null===e||null===t||e.length!==t.length)return!1;for(var n=e.length,a=0;a1?e-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:s;if("object"!=typeof o)throw new Error("createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof o);var t=Object.keys(o);return e(t.map(function(e){return o[e]}),function(){for(var o=arguments.length,e=Array(o),n=0;n1&&void 0!==arguments[1]?arguments[1]:"",t=o&&o.split("/")||[],m=e&&e.split("/")||[],s=o&&n(o),u=e&&n(e),r=s||u;if(o&&n(o)?m=t:t.length&&(m.pop(),m=m.concat(t)),!m.length)return"/";var c=void 0;if(m.length){var i=m[m.length-1];c="."===i||".."===i||""===i}else c=!1;for(var p=0,L=m.length;L>=0;L--){var d=m[L];"."===d?a(m,L):".."===d?(a(m,L),p++):p&&(a(m,L),p--)}if(!r)for(;p--;p)m.unshift("..");!r||""===m[0]||m[0]&&n(m[0])||m.unshift("");var E=m.join("/");return c&&"/"!==E.substr(-1)&&(E+="/"),E}},151:function(o,e,t){"use strict";t.r(e);var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};e.default=function o(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e))return Array.isArray(t)&&e.length===t.length&&e.every(function(e,n){return o(e,t[n])});var a=void 0===e?"undefined":n(e);if(a!==(void 0===t?"undefined":n(t)))return!1;if("object"===a){var m=e.valueOf(),s=t.valueOf();if(m!==e||s!==t)return o(m,s);var u=Object.keys(e),r=Object.keys(t);return u.length===r.length&&u.every(function(n){return o(e[n],t[n])})}return!1}},16:function(o,e,t){"use strict";function n(o){if(Array.isArray(o)){for(var e=0,t=Array(o.length);e=n.length)return t;var m=n[a],s=o(e&&(Array.isArray(e)?e[Number(m)]:e[m]),t,n,a+1);if(!e){if(isNaN(m))return r({},m,s);var c=[];return c[parseInt(m,10)]=s,c}if(Array.isArray(e)){var i=[].concat(e);return i[parseInt(m,10)]=s,i}return u({},e,r({},m,s))}(o,t,Object(m.a)(e),0)},i=t(85),p=t(0),L=t.n(p),d=function(o,e){return o===e||(o||e?(!o||!e||o._error===e._error)&&((!o||!e||o._warning===e._warning)&&(!L.a.isValidElement(o)&&!L.a.isValidElement(e)&&void 0)):(null===o||void 0===o||""===o)===(null===e||void 0===e||""===e))},E=function(o,e){return Object(i.a)(o,e,d)},C=Object.assign||function(o){for(var e=1;e2?t-2:0),a=2;a For example, in the event of a continuation of the fixed-term contract as a permanent contrat, no increase or compensation on the fixed-term contract will be required.","description.fr":"Certains événements impactent fortement les obligations du CDD.\n\n> Par exemple, dans l'hypothèse d'une poursuite du CDD en CDI, aucune majoration ou indemnité sur le CDD ne sera à verser.\n"},"contrat salarié . CDD . événement . poursuite du CDD en CDI":{"titre.en":"Fixed-term contract continued as permanent","titre.fr":"Poursuite du CDD en CDI","description.en":"At the end of the fixed-term contract, without interruption, a permanent contract is signed.","description.fr":"En fin de contrat, le CDD est reconduit en CDI sans interruption."},"contrat salarié . CDD . événement . refus CDI avantageux":{"titre.en":"Refusal of a favourable permanent contract","titre.fr":"Refus d'un CDI avantageux","description.en":"The employee, at the end of the fixed-term contract, refuses a renewal on an open-ended contract for a similar job, with a remuneration at least as advantageous.","description.fr":"Le salarié, au terme du CDD, refuse une reconduction en CDI pour un emploi similaire, et une rémunération au moins aussi avantageuse."},"contrat salarié . CDD . événement . rupture anticipée salarié":{"titre.en":"Early termination by the employee","titre.fr":"Rupture anticipée par le salarié","description.en":"Early termination of the contract at the initiative of the employee.","description.fr":"Rupture anticipée du contrat à l'initiative du salarié."},"contrat salarié . CDD . événement . rupture pour faute grave ou force majeure":{"titre.en":"Breaking for serious misconduct or force majeure","titre.fr":"Rupture pour faute grave ou force majeure"},"contrat salarié . CDD . événement . rupture pendant période essai":{"titre.en":"Breaking during the trial period","titre.fr":"Rupture pendant la période d'essai"},"contrat salarié . CDD . motif":{"titre.en":"Reason for appeal","titre.fr":"Motif de recours","question.en":"What is the reason for using a fixed-term contract?","question.fr":"Quel est le motif de recours au CDD ?","description.en":"The CDD is an exceptional contract: the reason for its use must be one of those specified in the law.","description.fr":"Le CDD est un contrat d'exception : son recours doit être autorisé par l'un des motifs spécifiés dans la loi.\n"},"contrat salarié . CDD . motif . classique":{"titre.en":"classic reasons","titre.fr":"motifs classiques"},"contrat salarié . CDD . motif . classique . saisonnier":{"titre.en":"Seasonal","titre.fr":"Saisonnier","description.en":"Seasonal jobs, the tasks of which are to be repeated each year at a roughly fixed frequency, according to the rhythm of the seasons or the collective way of life.","description.fr":"Emplois à caractère saisonnier, dont les tâches sont appelées à se répéter chaque année selon une périodicité à peu près fixe, en fonction du rythme des saisons ou des modes de vie collectifs."},"contrat salarié . CDD . motif . classique . accroissement activité":{"titre.en":"Temporary increase of activity","titre.fr":"Accroissement temporaire d'activité","description.en":"Temporary increase in business activity","description.fr":"Accroissement temporaire de l'activité de l'entreprise"},"contrat salarié . CDD . motif . classique . remplacement":{"titre.en":"Replacement contract","titre.fr":"Contrat de remplacement","description.en":"Replacement of an employee. A list of precise cases is defined by the law.","description.fr":"Remplacement"},"contrat salarié . CDD . motif . classique . mission":{"titre.en":"Mission contract","titre.fr":"Contrat de mission","description.en":"> Also called a defined object contract.\nRecruitment of engineers and executives, within the meaning of collective agreements, to achieve a defined purpose when a collective agreement authorizes its use.","description.fr":"> Aussi appelé contrat à objet défini.\nRecrutement d'ingénieurs et de cadres, au sens des conventions collectives, en vue de la réalisation d'un objet défini lorsqu'un accord de droit conventionnel le prévoit. \n"},"contrat salarié . CDD . motif . classique . usage":{"titre.en":"Customary contract","titre.fr":"Contrat d'usage","description.en":"Jobs for which, in certain sectors of activity defined by decree or by collective agreement, a permanent contract is generally not used because of the nature of the activity carried out and the temporary nature of these jobs.","description.fr":"Emplois pour lesquels, dans certains secteurs d'activité définis par décret ou par convention ou accord collectif de travail étendu, il est d'usage constant de ne pas recourir au contrat de travail à durée indéterminée en raison de la nature de l'activité exercée et du caractère par nature temporaire de ces emplois ;"},"contrat salarié . CDD . motif . complément formation":{"titre.en":"Complementary professional training provided by the employer","titre.fr":"Complément de formation professionnelle assuré par l'employeur","description.en":"The employer undertakes, for a period and under conditions determined by decree, to provide additional professional training to the employee.","description.fr":"L'employeur s'engage, pour une durée et dans des conditions déterminées par décret, à assurer un complément de formation professionnelle au salarié."},"contrat salarié . CDD . motif . issue d'apprentissage":{"titre.en":"End of an apprenticeship contract","titre.fr":"À l'issue d'un contrat d'apprentissage","description.en":"At the end of an apprenticeship contract, a fixed-term employment contract may be concluded when the apprentice has to fulfill the obligations of the national service within a period of less than one year after the expiry of the contract.","description.fr":"A l'issue d'un contrat d'apprentissage, un contrat de travail à durée déterminée peut être conclu lorsque l'apprenti doit satisfaire aux obligations du service national dans un délai de moins d'un an après l'expiration du contrat d'apprentissage.\n"},"contrat salarié . CDD . motif . contrat aidé":{"titre.en":"Aided contract (CUI, work-study , ...)","titre.fr":"Contrat aidé (CUI, alternance, ...)"},"contrat salarié . CDD . durée contrat":{"titre.en":"contract duration","titre.fr":"durée du contrat","question.en":"What is the duration of the contract?","question.fr":"Quelle est la durée du contrat ?","sous-question.en":"[Click here] (https://www.service-public.fr/professionnels-entreprises/vosdroits/F31211) to know the maximum duration of a fixed-term contract.","sous-question.fr":"[Cliquez ici](https://www.service-public.fr/professionnels-entreprises/vosdroits/F31211) pour connaître la durée maximale d'un CDD.\n",suggestions:{"18 mois":"18 months","1 an":"1 year","6 mois":"6 months","3 mois":"3 months"}},"contrat salarié . CDD . congés non pris":{"titre.en":"Untaken paid leave","titre.fr":"Congés non pris","question.en":"How many working days of paid leave will not be taken?","question.fr":"Combien de jours ouvrés de congés ne seront pas pris ?","description.en":"How many days of paid leave the employee will not be able to take, given the length of his / her fixed term contract. In working days, compared to 25 days of legal leave for a twelve-month contract.","description.fr":"Combien de jours de congés ne pourront être pris par l'employé, du fait de la durée de son CDD. En jours ouvrés, par rapport aux 25 jours de congés légaux pour un contrat de douze mois."},"contrat salarié . CDD . contrat jeune vacances":{"titre.en":"Young holiday contract","titre.fr":"Contrat jeune vacances","question.en":"Is it a young holiday contract?","question.fr":"Est-ce un contrat jeune vacances ?","description.en":'Also called "harvest contract". Contract concluded with a young person during his school or university holidays.',"description.fr":"Aussi appelé CDD vendanges. Contrat conclu avec un jeune pendant ses vacances scolaires ou universitaires."},"contrat salarié . CDD . cotisations employeur CDD":{"description.en":"Employer contributions specific to the fixed-term contract","description.fr":"Cotisations employeur spécifiques au CDD","titre.en":"fixed-term contract employer contributions","titre.fr":"cotisations employeur CDD"},"contrat salarié . CDD . indemnités salarié CDD":{"description.en":"Employer contributions specific to the fixed-term contract","description.fr":"Cotisations employeur spécifiques au CDD","titre.en":"fixed-term contrat employee compensations","titre.fr":"indemnités salarié CDD"},"contrat salarié . CDD . surcoût":{"titre.en":"Of which additional cost CDD","titre.fr":"Dont surcoût CDD","description.en":"The fixed-term contract (CDD) requires the employer to pay some additional employee and social contributions in return for the flexibility provided by this contract.\nSome are paid at the end of the contract, others with each monthly salary; Here, all of them are reduced to their monthly cost.","description.fr":"Le contrat à durée déterminée exige que l'employeur verse, au salarié ou aux organismes sociaux, certaines compensations\nfinancières en contrepartie de la souplesse apportée par ce contrat; elles sont au nombre de 4.\n\nCertaines sont versées en\nfin de contrat, d'autres avec chaque salaire mensuel; elles sont ici ramenées à leur coût mensuel.\n"},"contrat salarié . CDD . surcoût CDD":{"titre.en":"additional fixed-term contract cost","titre.fr":"surcoût CDD"},"contrat salarié":{"description.en":'The contract that binds a company (via its establishment) to an individual, who is then his employee.\nThe contract is actually not necessary in French law. The CDI, permanent contract, is considered the default form of the employment relationship between an employee and an employer (Article L1221-2 of the Labor Code)."\n',"description.fr":"Le contrat qui lie une entreprise (via son établissement) à un individu, qui est alors son salarié.\n\nLe contrat n'est en fait pas nécessaire dans le droit français, il est possible d'employer quelqu'un sans contrat par exemple dans ces cas:\n - particuliers employeurs : plus de 8 heures par semaine ou de plus de 4 semaines consécutives dans l'année.\n - cdi: La signature d’un contrat de travail n’est pas obligatoire dans certains cas. C’est le cas du Contrat de travail à Durée Indéterminée, considéré comme la forme normale et générale de la relation de travail entre un salarié et un employeur (Art. L1221-2 du Code du travail).\n","titre.en":"employment contract","titre.fr":"contrat salarié"},"contrat salarié . type de contrat":{"titre.en":"Type of contract","titre.fr":"Type de contrat","question.en":"What is the nature of the employment contract?","question.fr":"Quelle est la nature du contrat de travail ?"},"contrat salarié . type de contrat . CDD":{"description.en":"The employment contract explicitly provides for an end date.","description.fr":"Le contrat de travail prévoit explicitement une date de fin.","titre.en":"Fixed term (CDD)","titre.fr":"CDD"},"contrat salarié . type de contrat . CDI":{"description.en":"The employment contract does not mention an end date, or it has not been established : the law makes it a permanent contract by default.","description.fr":"Le contrat de travail ne mentionne pas de date de fin, ou n'a pas été établi.","titre.en":"Permanent (CDI)","titre.fr":"CDI"},"contrat salarié . assiette cotisations sociales":{"description.en":"This is the basis for computing a large number of contributions on salaries. It includes cash compensation (base salary, compensations, bonuses ...) and benefits in kind (housing, vehicle, ...).","description.fr":"L'assiette des cotisations sociales est la base de calcul d'un grand nombre de cotisations sur le travail salarié. Elle comprend notamment les rémunérations en espèces (salaire de base, indemnité, primes...) et les avantages en nature (logement, véhicule...).\n","titre.en":"base for the social contributions","titre.fr":"assiette cotisations sociales"},"contrat salarié . salaire . brut de base":{"titre.en":"Gross salary","titre.fr":"Salaire brut","résumé.en":"Written in the employment contract.","résumé.fr":"Le salaire inscrit dans le contrat de travail.","question.en":"What is the monthly gross salary?","question.fr":"Quel est le salaire brut mensuel ?","description.en":"This is the negociated salary written on the employment contract in France. It normally includes bonuses computed on a monthly basis.\nIt does not include employee benefits whether direct (monetary sums added to the base pay such as medical or housing allowances) or indirect (benefits conveyed in non-monetary forms such as food coupons, but whose value is added to the pay slip as part of taxable income).","description.fr":"C'est le salaire *brut* régulier inscrit dans le contrat de travail. Il peut éventuellement inclure les primes ramenées au mois.\nIl ne comprend pas les indemnités, avantages sociaux, avantages en nature...\n","suggestions.en":{"salaire médian":"median salary",SMIC:"minimum wage (SMIC)"}},"contrat salarié . salaire . brut":{"titre.en":"gross salary with benefits","titre.fr":"salaire brut","description.fr":"C'est le salaire effectif après prise en compte des avantages salariaux et indemnités, ramenés au mois.\n","description.en":"This is the effective base salary, including all benefits, for the purpose of computing social costs.\n"},"contrat salarié . avantages sociaux":{"titre.en":"employee benefits","titre.fr":"social benefits"},"contrat salarié . statut cadre":{"titre.en":"cadre status","titre.fr":"Statut cadre","question.en":'Does the employee have the "cadre" status?',"question.fr":"Le salarié a-t-il le statut cadre ?","description.en":"This status is not well defined but recognized by collective agreements and determining membership in a specific basic pension plan","description.fr":"Notion mal définie mais reconnue par les conventions collectives et déterminant l'appartenance à une caise de retraite de base spécifique"},"contrat salarié . plafond sécurité sociale temps plein":{"titre.en":"Full-time social security ceiling","titre.fr":"plafond sécurité sociale temps plein"},"contrat salarié . plafond sécurité sociale":{"titre.en":"social security ceiling","titre.fr":"plafond sécurité sociale"},"contrat salarié . smic mensuel temps plein":{"titre.en":"monthly full time minimum wage","titre.fr":"smic mensuel temps plein"},"contrat salarié . smic mensuel":{"titre.en":"monthly minimum wage","titre.fr":"smic mensuel"},"contrat salarié . cotisations salariales":{"titre.en":"Employee contributions","titre.fr":"cotisations salariales"},"contrat salarié . cotisations patronales":{"titre.en":"employer contributions","titre.fr":"cotisations patronales"},"contrat salarié . salaire . net":{"titre.en":"Net salary","titre.fr":"Salaire net","question.en":"What is the net salary?","question.fr":"Quel est le salaire net ?","résumé.en":"The amount received monthly by the employee.","résumé.fr":"La somme touchée par le salarié tous les mois.","description.en":"The gross salary minus the social contributions.\nThis amount can vary according to political decisions (increase or decrease in contributions) while the gross salary is contractual: to change it, an amendment to the contract must be signed.\n","description.fr":"Le salaire brut moins les cotisations sociales, c'est ce que le salarié reçoit sur son compte bancaire.\nCette somme peut varier en fonction de décisions politiques (augmentation ou diminution des cotisations) alors que le salaire brut est contractuel: pour le changer, il faut signer un avenant au contrat.\n"},"contrat salarié . salaire . net à payer":{"titre.en":"Net salary due","titre.fr":"Salaire net à payer","résumé.fr":"Touché par le salarié tous les mois","résumé.en":"What the employee actually gets each month","description.fr":"C'est le montant que le salarié touche à la fin du mois.\n","description.en":"It's the amount that the employee gets at the end of each month\n"},"contrat salarié . salaire . net imposable":{"titre.en":"Net taxable salary","titre.fr":"Salaire net imposable","résumé.fr":"Touché par le salarié tous les mois","résumé.en":"What the employee actually gets each month","description.fr":"Le salaire net ajusté des cotisations déductibles et avantages sociaux imposables. C'est la base utilisée pour calculer l'impot sur le revenu.\n","description.en":"The net salary less tax deductible social contributions and more taxable social benefits. It's the basis used to compute income tax.\n"},"contrat salarié . avantages en nature":{"titre.fr":"Avantages en nature","titre.en":"Benefits in kind","description.fr":"Les avantages en nature sont constitués par la fourniture par l’employeur à ses salariés de biens ou services. La mise à disposition peut être gratuite ou moyennant une participation du salarié inférieure à leur valeur réelle\n","description.en":"Benefits in kind consist of the provision by the employer to its employees of goods or services. The provision may be free of charge or with employee participation below their actual value\n","note.fr":"Les tickets restaurants ne sont pas considéré comme un avantage en nature mais comme un remboursement de frais.\n","note.en":"The meal vouchers are not considered as a benefit in kind but as a reimbursement of expenses.\n","question.fr":"Le salarié reçoit-il des avantages en nature (logement, véhicule, téléphone, réductions...) ?","question.en":"Does the employee receive benefits in kind (housing, vehicle, telephone, discounts, etc.)?"},"contrat salarié . avantages en nature . montant":{"titre.fr":"Avantages en nature","titre.en":"Benefits in kind (amount)","description.fr":"Les avantages en nature sont soumis aux cotisations et à l'impot sur le revenu. Ils sont pris en compte pour vérifier que le salaire minimum est atteint.\n","description.en":"Benefits in kind are subject to contributions and income tax. They are taken into account to verify that the minimum wage is reached.\n","question.fr":"Quel est le montant mensuel des avantages en nature ?","question.en":"What is the monthly amount of benefits in kind?"},"contrat salarié . coût du travail":{"description.en":"This is what the employer will actually have to pay to the employee and the collection agencies in total, taking into account grants and subsidies that are paid back to him: this is the actual total social cost of the employee for the employer.","description.fr":"C'est ce que l'employeur devra réellement payer au total au salarié et aux organismes de collecte, en tenant compte\ndes aides et subventions qui lui sont reversées: c'est donc le coût total réel du travail pour l'employeur.\n","titre.en":"labor cost","titre.fr":"coût du travail"},"contrat salarié . salaire . total":{"titre.en":"Total salary","titre.fr":"Salaire total","résumé.en":"Paid monthly by the employer.","résumé.fr":"La somme totale versée par l'employeur tous les mois.","description.en":"It is the gross salary, plus the employer contributions. It is the total that the employer must in principle plan to pay to employ an employee, but in practice certain reductions in contributions and aids may reduce this amount.","description.fr":"C'est le salaire brut, plus les cotisations patronales. C'est le total que l'employeur doit en principe prévoir de verser pour employer un salarié, mais en pratique certaines réductions de cotisation et aides peuvent diminuer cette somme.\n"},"contrat salarié . réductions de cotisations":{"titre.en":"contribution reductions","titre.fr":"réductions de cotisations"},"contrat salarié . salaire . total sans réduction":{"titre.en":"total salary without reduction","titre.fr":"salaire total sans réduction"},"contrat salarié . aides employeur":{"résumé.en":"Deferred aids available to the employer.","résumé.fr":"Les aides différées dont peut bénéficier l'employeur.","titre.en":"deferred employer aids","titre.fr":"aides employeur différées","description.en":"Some aids can be requested by the employer to help hires.\n\nThese aids are deferred : they can for example be given indirectly as a tax credit.\n"},"contrat salarié . salaire":{"titre.en":"salary","titre.fr":"salaire"},"contrat salarié . jours de congés légaux":{"description.en":"Working days of paid leave legally acquired by any employee for the year or the contract in the case of a fixed-term contract.","description.fr":"Jours ouvrés de congés acquis légalement par tout salarié pour l'année ou le contrat dans le cas d'un CDD.","titre.en":"days of legal paid leave","titre.fr":"jours de congés légaux"},"contrat salarié . régime alsace moselle":{"titre.en":"Alsace-Moselle scheme","titre.fr":"régime alsace moselle"},entreprise:{"description.en":"The contract binds a company and an employee","description.fr":"Le contrat lie une entreprise et un employé\n","titre.en":"company","titre.fr":"entreprise"},"entreprise . effectif":{"question.en":"What is the workforce of the company?","question.fr":"Quel est l'effectif de l'entreprise ?","description.en":"Many employer contributions vary according to the size of the company.","description.fr":"De nombreuses cotisations patronales varient selon l'effectif de l'entreprise.\n","titre.en":"workforce","titre.fr":"effectif"},"entreprise . ratio alternants":{"titre.en":"work-study employees ratio","titre.fr":"ratio alternants"},"entreprise . ratio alternants saisi":{"question.en":"What is the fraction of work-study contracts in the average workforce of the company?","question.fr":"Quelle est la fraction de contrats d'alternance dans l'effectif moyen de l'entreprise ?","titre.en":"Fraction of alternants","titre.fr":"Fraction d'alternants","description.en":"This fraction determines the additional contribution for apprenticeship for the companies concerned.","description.fr":"Cette fraction détermine la contribution supplémentaire pour l'apprentissage pour les entreprises concernées.\n"},"entreprise . association non lucrative":{"description.en":"The company is a non-profit organisation","description.fr":"L'entreprise est une association non lucrative","question.en":"Is this a non-profit organisation?","question.fr":"S'agit-il d'une association à but non lucratif ?","titre.en":"non-profit organisation","titre.fr":"association non lucrative"},"établissement . code postal":{"titre.en":"Postal code of the establishment","titre.fr":"Code postal de l'établissement","question.en":"What is the postal code of the establishment?","question.fr":"Quel est le code postal de la commune de l'établissement ?","description.en":"When a company has more than one establishment, certain contributions are\ncalculated at the establishment level and are based on local regulations.","description.fr":"Lorsqu'une entreprise dispose de plusieurs établissements, certaines cotisations sont\ncalculées à l'échelle de l'établissement et sont fonction de règlementations locales.\n"},"établissement . code commune":{"titre.en":"establishment municipality code","titre.fr":"Code commune de l'établissement","question.en":"In which city is the establishment located?","question.fr":"Dans quelle commune l'établissement est-il implanté ?","description.en":"When a company has more than one establishment, certain contributions are\ncalculated at the establishment level and are based on local regulations.","description.fr":"Lorsqu'une entreprise dispose de plusieurs établissements, certaines cotisations sont\ncalculées à l'échelle de l'établissement et sont fonction de règlementations locales.\n"},"établissement . commune":{"titre.en":"City of the establishment","titre.fr":"Commune de l'établissement","question.en":"In which city is the establishment located?","question.fr":"Dans quelle commune l'établissement est-il implanté ?","description.en":"When a company has more than one establishment, certain contributions are\ncalculated at the establishment level and are based on local regulations.","description.fr":"Lorsqu'une entreprise dispose de plusieurs établissements, certaines cotisations sont\ncalculées à l'échelle de l'établissement et sont fonction de règlementations locales.\n"},"contrat salarié . temps partiel":{"question.en":"Is the contract part-time?","question.fr":"Le contrat est-il à temps partiel ?","description.en":"Two contracts with the same salary, with one being part-time, can lead to slightly different social contribution amounts. \nFor example, capped contributions or exemptions depending on the legal minimum wage.","description.fr":"Le temps partiel peut avoir une influence sur les règles.\nPar exemple les cotisations plafonnées ou les exonérations dépendant du SMIC.\n","titre.en":"Part-time","titre.fr":"temps partiel"},"contrat salarié . heures par semaine":{"question.en":"What is the number of hours worked per week?","question.fr":"Quel est le nombre d'heures travaillées par semaine dans le cadre du temps partiel ?","titre.en":"hours per week","titre.fr":"heures par semaine"},"contrat salarié . quotité de travail":{"titre.en":"work rate","description.en":"Time worked in proportion of the legal full-time quantity.","titre.fr":"quotité de travail"},"contrat salarié . CICE":{"description.en":"Competitiveness and Employment Tax Credit (CICE).","description.fr":"Crédit d'impôt pour la compétitivité et l'emploi\n","titre.en":"CICE","titre.fr":"CICE"},"contrat salarié . plafond cice":{"titre.en":"CICE ceiling","titre.fr":"plafond cice"},"contrat salarié . multiplicateur cice":{"titre.en":"CICE multiplier","titre.fr":"multiplicateur cice"},"contrat salarié . CITS . non abattu":{"titre.en":"not abated","titre.fr":"non abattu"},"contrat salarié . CITS . abattement mensuel par salarié":{"titre.en":"monthly deduction per employee","titre.fr":"abattement mensuel par salarié"},"contrat salarié . CITS":{"titre.en":"Tax on salaries credit","titre.fr":"Crédit d'impôt de taxe sur les salaire","description.en":"The Finance Act for 2017 establishes, for the benefit of associations and non-profit organizations (NPOs), a wage tax credit scheme named CITS.","description.fr":"La loi de finances pour 2017 instaure, au bénéfice des associations et organismes sans but lucratif (OSBL),\nun dispositif de crédit d'impôt de taxe sur les salaires (CITS).\n"},"contrat salarié . CITS . plafond":{"titre.en":"ceiling","titre.fr":"plafond"},"contrat salarié . CITS . multiplicateur":{"titre.en":"multiplier","titre.fr":"multiplicateur"},"contrat salarié . statut JEI":{"titre.en":"JEI status","titre.fr":"Statut JEI","question.en":"Do you benefit from the young innovative company status (JEI) for this job?","question.fr":"Profitez-vous du statut Jeune Entreprise Innovante pour cette embauche ?","description.en":"The status of young innovative company (JEI) was created by the Finance Act for 2004 and allows small companies (PME) under 8 years of age, which devote at least 15% of their expenses to Research and Development to benefit from certain exemptions.","description.fr":"Le statut de jeune entreprise innovante (JEI) a été créé par la loi de finances pour 2004 et permet aux PME de moins de 8 ans consacrant 15% au moins de leurs charges à de la Recherche et Développement de bénéficier de certaines exonérations.\n"},"contrat salarié . exonération JEI":{"description.en":"Exemption for the companies that obtained the JEI (young innovative company) status.","description.fr":"Le statut de jeune entreprise innovante (JEI) a été créé par la loi de finances pour 2004 et permet aux PME de moins de 8 ans consacrant 15% au moins de leurs charges à de la Recherche et Développement de bénéficier de certaines exonérations.\n","titre.en":"JEI exemption","titre.fr":"exonération JEI"},"contrat salarié . réduction générale":{"description.en":'As part of the "liability and solidarity pact", the zero-contribution URSSAF scheme allows the employer of an employee with the minimul legal salary (SMIC) to no longer pay any contributions, except for unemployment insurance. The amount of the reduction is equal to the product of the gross annual remuneration by a coefficient. No particular formality is required to obtain apply it.',"description.fr":"Dans le cadre du pacte de responsabilité et de solidarité, le dispositif zéro cotisation Urssaf permet à l'employeur d'un salarié au Smic de ne plus payer aucune cotisation, hormis l'assurance chômage. Le montant de l'allègement est égal au produit de la rémunération annuelle brute par un coefficient. Il n'y a pas de formalité particulière à effectuer.\n","titre.en":"general reduction","titre.fr":"réduction générale"},"contrat salarié . réduction générale constante":{"titre.en":"constant general reduction","titre.fr":"réduction générale constante"},"contrat salarié . réduction générale variable":{"titre.en":"variable general reduction","titre.fr":"réduction générale variable"},"contrat salarié . coefficient réduction générale":{"titre.en":"general reduction coefficient","titre.fr":"coefficient réduction générale"},"contrat salarié . assiette réduction générale":{"titre.en":"general reduction base","titre.fr":"assiette réduction générale"},"contrat salarié . assiette ATMP réduction générale":{"description.en":"When the amount of the general reduction is greater than the amount of these contributions, the reduction is also deducted from the contributions for industrial accidents and occupational diseases up to the limit of 0.90% of the remuneration.","description.fr":"Lorsque le montant de la réduction générale est supérieur au montant de ces cotisations et contributions, la réduction est également imputée sur les cotisations accidents du travail et maladies professionnelles dans la limite de 0,90 % de la rémunération.","titre.en":"general reduction ATMP base","titre.fr":"assiette ATMP réduction générale"},"contrat salarié . plafond réduction générale":{"titre.en":"general reduction ceiling","titre.fr":"plafond réduction générale"},"contrat salarié . multiplicateur réduction générale":{"titre.en":"general reduction multiplier","titre.fr":"multiplicateur réduction générale"},"contrat salarié . AGFF":{"description.en":"Complementary pension contribution (Association for the Management of the Financing Fund of AGIRC and ARRCO).","description.fr":"Cotisation de retraite complémentaire\n(Cotisation pour l'Association pour la Gestion du Fonds de Financement de l’AGIRC et de l’ARRCO)\n","titre.en":"AGFF","titre.fr":"AGFF"},"contrat salarié . GMP":{"description.en":"Employees under the Agirc scheme who do not have a salary sufficient to\nreach the minimum number of 120 Agirc points,\nare guaranteed to obtain them in exchange for a lump sum contribution.","description.fr":"Les salariés relevant du régime Agirc qui n'ont pas un salaire suffisant pour\natteindre le nombre minimum de 120 points Agirc,\nont la garantie de les obtenir en contrepartie d'une cotisation forfaitaire.\n","titre.en":"GMP","titre.fr":"GMP"},"contrat salarié . AGIRC":{"description.en":'Complementary pension contribution for the "cadres". Completes the ARRCO regime, managed by the AGIRC (General Association of Retirement Pensions).',"description.fr":"Cotisation de retraite complémentaire cadre. Complète le régime ARRCO, gérée par l'AGIRC (Association Générale des Institutions de Retraite des Cadres)\n","titre.en":"AGIRC","titre.fr":"AGIRC"},"contrat salarié . AGS":{"description.en":"Contribution to the wage guarantee scheme","description.fr":"Cotisation au Régime de Garantie des Salaires","titre.en":"AGS","titre.fr":"AGS"},"contrat salarié . allocations familiales":{"titre.en":"Family allowances","titre.fr":"allocations familiales"},"contrat salarié . cotisation allocations familiales":{"titre.en":"contribution to the family allowances","titre.fr":"cotisation allocations familiales"},"contrat salarié . réduction allocations familiales":{"titre.en":"reduction of family allowances","titre.fr":"réduction allocations familiales"},"contrat salarié . plafond réduction allocations familiales":{"titre.en":"family allowances reduction ceiling","titre.fr":"plafond réduction allocations familiales"},"contrat salarié . APEC":{"description.en":'Compulsory complementary unemployment contribution, for the operation of the APEC (Association for the Employment of "cadres")',"description.fr":"Cotisation chômage complémentaire cadre, pour le fonctionnement de l'APEC\n(Association Pour l’Emploi des Cadres)\n","titre.en":"APEC","titre.fr":"APEC"},"contrat salarié . ARRCO":{"description.en":"Complementary pension contribution for all employees in the private sector, managed by the Association for the Complementary Pension Plan for Employees","description.fr":"Cotisation de retraite complémentaire pour tous les salariés du secteur privé, gérée par l'Association pour le Régime de Retraite Complémentaire des salariés\n","titre.en":"ARRCO","titre.fr":"ARRCO"},"contrat salarié . chômage":{"description.en":"Unemployment insurance contribution","description.fr":"Cotisation d’assurance chômage","titre.en":"unemployment","titre.fr":"chômage"},"contrat salarié . complémentaire santé":{"titre.en":"Complementary health insurance","titre.fr":"complémentaire santé"},"contrat salarié . forfait complémentaire santé":{"titre.en":"Complementary health insurance plan","titre.fr":"Forfait de complémentaire santé enteprise","question.en":"What is the total monthly amount (employee and employer) of the company's complementary health insurance ?","question.fr":"Quel est le montant mensuel total (salarié et employeur) de la complémentaire santé entreprise ?","description.en":"The employer has the obligation to propose a complementary health insurance plan. More importantly, he has to take in charge at least half of the amount, which is the repartition we chose for this simulation, or more. The plan is free as long as it covers a legal care basket.","description.fr":"L'employeur a l'obligation de proposer une offre de complémentaire santé. Il doit prendre en charge la moitié du montant,\nce que nous avons retenu pour cette simulation, ou davantage. Le montant est libre, tant qu'elle couvre un panier légal de soins.\n","suggestions.en":{basique:"low","élevé":"high"}},"contrat salarié . contribution au dialogue social":{"description.en":"Employers' contribution intended to supplement a joint fund dedicated to the financing of trade union organizations and professional organizations of employers.\n\nFormerly 'employers' contribution to the financing of trade union organizations'","description.fr":"Contribution patronale destinée à abonder un fonds paritaire dédié au financement des organisations syndicales et des organisations professionnelles d’employeurs.\n\nAnciennement 'contribution patronale au financement des organisations syndicales'\n","titre.en":"Contribution to social dialogue","titre.fr":"contribution au dialogue social"},"contrat salarié . cotisation exceptionnelle temporaire":{"description.en":"Solidarity contribution for the Agirc pension scheme, it does not give additional points to the employee.","description.fr":"Cotisation de solidarité pour le régime Agirc, elle ne donne pas de points supplémentaires au salarié.\n","titre.en":"Exceptional and temporary pension contribution","titre.fr":"cotisation exceptionnelle temporaire"},"contrat salarié . assiette CSG":{"titre.en":"CSG base","titre.fr":"assiette CSG"},"contrat salarié . assiette CSG abattue":{"titre.en":"Abated CSG base","titre.fr":"assiette CSG abattue"},"contrat salarié . CSG":{"description.en":"Generalized social contribution.\nCompulsory levy that contributes to the financing of social security.","description.fr":"Contribution sociale généralisée.\nPrélèvement obligatoire qui participe au financement de la sécurité sociale.\n","titre.en":"CSG","titre.fr":"CSG"},"contrat salarié . CRDS":{"description.en":"Contribution for the repayment of the social debt","description.fr":"Contribution pour le remboursement de la dette sociale","titre.en":"CRDS","titre.fr":"CRDS"},"contrat salarié . FNAL":{"titre.en":"Contribution to the National Fund for Housing Assistance","titre.fr":"Contribution au Fonds National d’Aide au Logement"},"contrat salarié . formation professionnelle":{"titre.en":"professional training","titre.fr":"formation professionnelle"},"contrat salarié . maladie":{"description.en":"Contributions to the national health insurance","description.fr":"Cotisations de la branche maladie","titre.en":"health insurance","titre.fr":"maladie"},"contrat salarié . médecine du travail":{"description.en":"The employer has the obligation to organize an occupational health service, by joining a service for businesses, or by creating an internal service.\n\nIn the case of joining a service, the amount of this contribution is not defined by the law, but it must be proportional to the number of employees. We have chosen an indicative amount (see references) adjusted with inflation since 2007.","description.fr":"L'employeur a l'obligation d'organiser un service de santé au travail, en adhérant à un service interentreprises, ou en créant un service interne.\n\nDans le cas de l'adhésion à un service, le montant de cette cotisation n'est pas défini par la loi, mais il doit être proportionnel au nombre d'employés. Nous avons choisi un montant indicatif (voir les références) ajusté avec l'inflation depuis 2007.\n","titre.en":"Occupational Medicine","titre.fr":"médecine du travail"},"contrat salarié . participation effort de construction":{"description.en":"Employer participation in the home building effort","description.fr":"Participation des employeurs à l'effort de construction","titre.en":"Participation to home building","titre.fr":"participation effort de construction"},"contrat salarié . prévoyance obligatoire cadre":{"titre.en":'mandatory life insurance for "cadres"',"titre.fr":"prévoyance obligatoire cadre"},"contrat salarié . taxe d'apprentissage":{"description.en":"The apprenticeship tax enables the financing by companies of the expenses of apprenticeship and technological and professional training ","description.fr":"La taxe d'apprentissage permet de financer par les entreprises les dépenses de l'apprentissage et des formations technologiques et professionnelles","titre.en":"Apprenticeship tax","titre.fr":"taxe d'apprentissage"},"contrat salarié . taxe d'apprentissage de base":{"titre.en":"Basic apprenticeship tax","titre.fr":"taxe d'apprentissage de base"},"contrat salarié . contribution supplémentaire à l'apprentissage":{"titre.en":"Additional contribution to apprenticeship","titre.fr":"contribution supplémentaire à l'apprentissage"},"contrat salarié . taxe d'apprentissage . csa au taux majoré":{"titre.en":"CSA at the higher rate","titre.fr":"csa au taux majoré"},"contrat salarié . taxe sur les salaires . assiette":{"titre.en":"base","titre.fr":"assiette"},"contrat salarié . taxe sur les salaires . barème annuel":{"titre.en":"annual scale","titre.fr":"barème annuel"},"entreprise . taxe sur les salaires . barème annuel":{"titre.en":"annual scale","titre.fr":"barème annuel"},"entreprise . taxe sur les salaires . abattement associations":{"titre.en":"associations abatement","titre.fr":"abattement associations"},"entreprise . taxe sur les salaires":{"titre.en":"tax on salaries","titre.fr":"taxe sur les salaires"},"contrat salarié . taxe sur les salaires . montant annuel":{"titre.en":"annual amount","titre.fr":"montant annuel"},"contrat salarié . taxe sur les salaires":{"description.en":"The tax on salaries in France is a progressive tax created in 1948 that some employers must pay on their employees' salaries.","description.fr":"La taxe sur les salaires en France est un impôt progressif créé en 1948 que certains employeurs doivent acquitter sur les salaires qu'ils distribuent.","titre.en":"tax on salaries","titre.fr":"taxe sur les salaires"},"contrat salarié . versement transport":{"description.en":"Contribution based on the salaries to finance public transports.","description.fr":"Contribution sur les salaires destinée au financement des transports publics.","titre.en":"Transport tax","titre.fr":"versement transport"},"établissement . taux du versement transport":{"titre.en":"Rate of transport tax","titre.fr":"Taux du versement transport"},"contrat salarié . vieillesse":{"description.en":"Contribution to the basic pension plan of employees.","description.fr":"Cotisation au régime de retraite de base des salariés.","titre.en":"Basic pension contribution","titre.fr":"vieillesse"}}},178:function(o,e){o.exports=["cotisation","aide","indemnité","salaire","taxe"]},179:function(module,__webpack_exports__,__webpack_require__){"use strict";(function(module){__webpack_require__.d(__webpack_exports__,"a",function(){return IgnoreStepButton});var Components_utils_HoverDecorator__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(70),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),react_i18next__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4),_IgnoreStepButton_css__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(280),_IgnoreStepButton_css__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_IgnoreStepButton_css__WEBPACK_IMPORTED_MODULE_3__),_dec,_class;function _typeof(o){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}function _classCallCheck(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(o,e){for(var t=0;t=0||Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n]);return t}(this.props,[]);return function(o){i.forEach(function(e){return delete o[e]})}(a),a.className=this.props.inputClassName,a.id=this.state.inputId,a.style=t,s.default.createElement("div",{className:this.props.className,style:e},this.renderStyles(),s.default.createElement("input",n({},a,{ref:this.inputRef})),s.default.createElement("div",{ref:this.sizerRef,style:c},o),this.props.placeholder?s.default.createElement("div",{ref:this.placeHolderSizerRef,style:c},this.props.placeholder):null)}}]),e}();E.propTypes={className:u.default.string,defaultValue:u.default.any,extraWidth:u.default.oneOfType([u.default.number,u.default.string]),id:u.default.string,injectStyles:u.default.bool,inputClassName:u.default.string,inputRef:u.default.func,inputStyle:u.default.object,minWidth:u.default.oneOfType([u.default.number,u.default.string]),onAutosize:u.default.func,onChange:u.default.func,placeholder:u.default.string,placeholderIsMinWidth:u.default.bool,style:u.default.object,value:u.default.any},E.defaultProps={minWidth:1,injectStyles:!0},e.default=E},184:function(module,__webpack_exports__,__webpack_require__){"use strict";(function(module){__webpack_require__.d(__webpack_exports__,"a",function(){return Select});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),_FormDecorator__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(47),react_select__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(72),_SelectOption_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(185),react_select_dist_react_select_css__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(119),react_select_dist_react_select_css__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(react_select_dist_react_select_css__WEBPACK_IMPORTED_MODULE_4__),_Select_css__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(173),_Select_css__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_Select_css__WEBPACK_IMPORTED_MODULE_5__),_dec,_class;function _extends(){return(_extends=Object.assign||function(o){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:[];return 0==t.length?null:function(){var u=Object(a.l)(t),r=Object(n.I)(s)?"oui":Object(a.l)(s);return null==o(u)?e(Object(n.r)(1)(t),[Object(n.M)(t)].concat(m(s))):o(u)==r}()}(e)}},u=function(o,e,t){var n=o(e);return null!=t.format?n:t.formule?t.formule["une possibilité"]?s(o)(Object(a.q)(e)):n:s(o)(Object(a.q)(e))};!function(){var e=t(3).default,n=t(3).leaveModule;e&&(e.register(s,"evaluateBottomUp","/root/syso/source/engine/variables.js"),e.register(u,"evaluateVariable","/root/syso/source/engine/variables.js"),n(o))}()}).call(this,t(6)(o))},188:function(module,__webpack_exports__,__webpack_require__){"use strict";(function(module){var ramda__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__),_evaluation__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(5),_Somme_css__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(289),_Somme_css__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_Somme_css__WEBPACK_IMPORTED_MODULE_3__),_common__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(17);function _typeof(o){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}function _toConsumableArray(o){return _arrayWithoutHoles(o)||_iterableToArray(o)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(o){if(Symbol.iterator in Object(o)||"[object Arguments]"===Object.prototype.toString.call(o))return Array.from(o)}function _arrayWithoutHoles(o){if(Array.isArray(o)){for(var e=0,t=new Array(o.length);e0;){if(u=p-i,Math.abs(C)=m&&Math.abs(d)>Math.abs(E))A=L-p,i===L?(r=A*(l=E/d),c=1-l):(r=(S=E/d)*(A*(c=d/C)*(c-(l=E/C))-(p-i)*(l-1)),c=(c-1)*(l-1)*(S-1)),r>0?c=-c:r=-r,r<.75*A*c-Math.abs(m*c)/2&&r0?m:-m),i=p,d=E,((E=o(p+=s))>0&&C>0||E<0&&C<0)&&(L=i,C=d)}}t.d(e,"a",function(){return n}),function(){var e=t(3).enterModule;e&&e(o)}(),function(){var e=t(3).default,a=t(3).leaveModule;e&&(e.register(n,"uniroot","/root/syso/source/engine/uniroot.js"),a(o))}()}).call(this,t(6)(o))},2:function(o,e,t){o.exports=t(269)()},20:function(o,e,t){"use strict";(function(o){var n=t(10);!function(){var e=t(3).enterModule;e&&e(o)}();var a=function(o){return Object(n.b)(function(o){return{colours:o.themeColours}},{})(o)};e.a=a,function(){var e=t(3).default,n=t(3).leaveModule;e&&(e.register(a,"default","/root/syso/source/components/utils/withColours.js"),n(o))}()}).call(this,t(6)(o))},208:function(o,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(o){return o&&"object"==typeof o&&"default"in o?o.default:o}(t(0)),a=function(o,e){if(!(o instanceof e))throw new TypeError("Cannot call a class as a function")},m=function(o,e){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?o:e},s=function(o){function e(){return a(this,e),m(this,o.apply(this,arguments))}return function(o,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(o,e):o.__proto__=e)}(e,o),e.prototype.render=function(){return n.Children.only(this.props.children)},e}(n.Component);e.AppContainer=s,e.hot=function(){return function(o){return o}},e.areComponentsEqual=function(o,e){return o===e},e.setConfig=function(){},e.cold=function(o){return o}},209:function(o,e,t){"use strict"; +/** @license React v16.4.1 + * react.production.min.js + * + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var n=t(96),a=t(147),m=t(148),s=t(149),u="function"==typeof Symbol&&Symbol.for,r=u?Symbol.for("react.element"):60103,c=u?Symbol.for("react.portal"):60106,i=u?Symbol.for("react.fragment"):60107,p=u?Symbol.for("react.strict_mode"):60108,L=u?Symbol.for("react.profiler"):60114,d=u?Symbol.for("react.provider"):60109,E=u?Symbol.for("react.context"):60110,C=u?Symbol.for("react.async_mode"):60111,l=u?Symbol.for("react.forward_ref"):60112;u&&Symbol.for("react.timeout");var A="function"==typeof Symbol&&Symbol.iterator;function S(o){for(var e=arguments.length-1,t="https://reactjs.org/docs/error-decoder.html?invariant="+o,n=0;nv.length&&v.push(o)}function B(o,e,t,n){var a=typeof o;"undefined"!==a&&"boolean"!==a||(o=null);var m=!1;if(null===o)m=!0;else switch(a){case"string":case"number":m=!0;break;case"object":switch(o.$$typeof){case r:case c:m=!0}}if(m)return t(n,o,""===e?"."+D(o,0):e),1;if(m=0,e=""===e?".":e+":",Array.isArray(o))for(var s=0;s * {\n\tmargin-top: 0.5rem;\n}\n.ui__.button-container > :not(:last-child) {\n\tmargin-right: 0.5rem;\n}\n\n@keyframes push-button-down {\n\tfrom {\n\t\ttransform: translateY(3px);\n\t}\n\tto {\n\t\ttransform: translate3d(0);\n\t}\n}\n\n@keyframes push-button-right {\n\tfrom {\n\t\ttransform: translate3d(5px, 0, 0);\n\t}\n\tto {\n\t\ttransform: translate3d(3px, 0, 0);\n\t}\n}\n","",{version:3,sources:["/root/syso/source/components/ui/Button/button.css"],names:[],mappings:"AAAA;;CAEC,8DAA8D;CAC9D;;AAED;;;CAGC,kBAAkB;CAClB,uBAAuB;CACvB,sBAAsB;CACtB,kBAAkB;CAClB,oBAAoB;CACpB,qBAAqB;CACrB,sBAAsB;CACtB,sBAAsB;CACtB,sBAAsB;CACtB,iBAAiB;CACjB,mBAAmB;CACnB,0BAA0B;CAC1B,kCAAkC;CAClC,oBAAoB;CACpB,gBAAgB;CAChB;;AAED;;;CAGC,gBAAgB;CAChB;;AAED;;;CAGC,aAAa;CACb,oBAAoB;CACpB;AACD;CACC,UAAU;CACV,gCAAgC;CAChC,4BAA4B;CAC5B,UAAU;CACV,yBAAyB;CACzB,qBAAqB;CACrB;;;;;GAKE;CACF;;;;;GAKE;CACF,sBAAsB;CACtB,2BAA2B;CAC3B;AACD;;CAEC,0BAA0B;CAC1B,oBAAoB;CACpB,aAAa;CACb;AACD;;CAEC,kBAAkB;CAClB,sBAAsB;CACtB,mBAAmB;CACnB,gBAAgB;CAChB,uBAAuB;CACvB;AACD;CACC,aAAa;CACb,oBAAoB;CACpB;AACD;CACC,yCAAyC;CACzC,yBAAyB;CACzB,qBAAqB;CACrB,gCAAgC;CAChC,4BAA4B;CAC5B;;AAED;;CAEC,aAAa;CACb,sBAAsB;CACtB,mBAAmB;CACnB,qBAAqB;CACrB,UAAU;CACV;AACD;CACC,2BAA2B;CAC3B,WAAW;CACX,yBAAyB;CACzB,qBAAqB;CACrB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;AACD;CACC,0BAA0B;CAC1B,gCAAgC;CAChC,eAAe;CACf,4BAA4B;CAC5B,oBAAoB;CACpB;;AAED;;CAEC,aAAa;CACb;;AAED;CACC,yBAAyB;CACzB,qBAAqB;CACrB;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,aAAa;CACb,uBAAuB;CACvB,aAAa;CACb;AACD;CACC,aAAa;CACb,2BAA2B;CAC3B;;AAED;CACC,aAAa;CACb;;AAED;CACC,+DAA+D;CAC/D;;AAED;CACC,eAAe;CACf,uBAAuB;CACvB,sBAAsB;CACtB;AACD;CACC,mBAAmB;CACnB;AACD;CACC,qBAAqB;CACrB;;AAED;CACC;EACC,2BAA2B;EAC3B;CACD;EACC,0BAA0B;EAC1B;CACD;;AAED;CACC;EACC,kCAAkC;EAClC;CACD;EACC,kCAAkC;EAClC;CACD",file:"button.css",sourcesContent:[".ui__.inverted-button:active,\n.ui__.button:active {\n\tanimation: push-button-down 0.1s ease-out alternate-reverse 2;\n}\n\n.ui__.button,\n.ui__.inverted-button,\n.ui__.skip-button {\n\tfont-size: 1.1rem;\n\tpadding: 0.6rem 1.2rem;\n\ttext-decoration: none;\n\tborder: 1px solid;\n\t/* outline: none; */\n\tline-height: initial;\n\tdisplay: inline-block;\n\tborder-radius: 0.6rem;\n\ttransition: all 0.15s;\n\tmargin: 0.8rem 0;\n\tmargin-right: 1rem;\n\ttext-transform: uppercase;\n\tfont-family: 'Roboto', sans-serif;\n\tfont-weight: normal;\n\tcursor: pointer;\n}\n\n.ui__.button:last-child,\n.ui__.inverted-button:last-child,\n.ui__.skip-button:last-child {\n\tmargin-right: 0;\n}\n\n.ui__.button:disabled,\n.ui__.inverted-button:disabled,\n.ui__.skip-button:disabled {\n\topacity: 0.7;\n\tcursor: not-allowed;\n}\n.ui__.button {\n\t/* ie11 */\n\tborder-color: rgb(41, 117, 209);\n\tborder-color: var(--colour);\n\t/* ie11 */\n\tcolor: rgb(41, 117, 209);\n\tcolor: var(--colour);\n\tbackground: linear-gradient(\n\t\t50deg,\n\t\trgba(39, 69, 195, 0.87) 5%,\n\t\trgb(41, 117, 209) 50%,\n\t\trgba(255, 255, 255, 0.52) 55%\n\t);\n\tbackground: linear-gradient(\n\t\t50deg,\n\t\trgba(39, 69, 195, 0.87) 5%,\n\t\tvar(--colour) 50%,\n\t\trgba(255, 255, 255, 0.52) 55%\n\t);\n\tbackground-size: 260%;\n\tbackground-position-x: 99%;\n}\n.ui__.button:not(:disabled):hover,\n.ui__.button.selected {\n\tbackground-position-x: 0%;\n\tborder-color: white;\n\tcolor: white;\n}\n.ui__.button.cta,\n.ui__.inverted-button.cta {\n\tmargin: 3rem auto;\n\tdisplay: inline-block;\n\talign-self: center;\n\tfont-size: 120%;\n\tpadding: 0.9rem 1.8rem;\n}\n.ui__.inverted-button {\n\tcolor: white;\n\tborder-color: white;\n}\n.ui__.inverted-button:not(:disabled):hover {\n\tbackground-color: rgba(255, 255, 255, 1);\n\tcolor: rgb(41, 117, 209);\n\tcolor: var(--colour);\n\tborder-color: rgb(41, 117, 209);\n\tborder-color: var(--colour);\n}\n\n.ui__.link-button,\n.ui__.dashed-button {\n\tborder: none;\n\tdisplay: inline-block;\n\tfont-size: inherit;\n\tfont-family: inherit;\n\tmargin: 0;\n}\n.ui__.link-button {\n\ttext-decoration: underline;\n\tpadding: 0;\n\tcolor: rgb(41, 117, 209);\n\tcolor: var(--colour);\n}\n\n.ui__.dashed-button::before {\n\tpadding: 0.8rem 0;\n\tdisplay: block;\n}\n.ui__.dashed-button {\n\tborder-bottom: 1px dashed;\n\tborder-color: rgb(41, 117, 209);\n\tcolor: inherit;\n\tborder-color: var(--colour);\n\tpadding: 0.15em 0em;\n}\n\n.ui__.link-button:not(:disabled):hover,\n.ui__.dashed-button:not(:disabled):hover {\n\topacity: 0.8;\n}\n\n.ui__.button_next {\n\tcolor: rgb(41, 117, 209);\n\tcolor: var(--colour);\n}\n\n.ui__.skip-button {\n\topacity: 0.6;\n\tborder-color: black;\n\tborder: none;\n\tpadding: 0.6rem 0.6rem;\n\tcolor: black;\n}\n.ui__.skip-button:not(:disabled):hover {\n\topacity: 0.8;\n\ttransform: translateX(3px);\n}\n\n.answer-list button.answer:hover {\n\topacity: 0.8;\n}\n\n.ui__.skip-button:active {\n\tanimation: push-button-right 0.1s ease-out alternate-reverse 2;\n}\n\n.ui__.small.button {\n\tfont-size: 80%;\n\tpadding: 0.4rem 0.8rem;\n\tborder-radius: 0.3rem;\n}\n.ui__.button-container > * {\n\tmargin-top: 0.5rem;\n}\n.ui__.button-container > :not(:last-child) {\n\tmargin-right: 0.5rem;\n}\n\n@keyframes push-button-down {\n\tfrom {\n\t\ttransform: translateY(3px);\n\t}\n\tto {\n\t\ttransform: translate3d(0);\n\t}\n}\n\n@keyframes push-button-right {\n\tfrom {\n\t\ttransform: translate3d(5px, 0, 0);\n\t}\n\tto {\n\t\ttransform: translate3d(3px, 0, 0);\n\t}\n}\n"],sourceRoot:""}])},22:function(o,e,t){var n; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var t={}.hasOwnProperty;function a(){for(var o=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:{},e=arguments[1];if(r)throw r;for(var n=!1,a={},m=0;mthis.eventPool.length&&this.eventPool.push(o)}function To(o){o.eventPool=[],o.getPooled=No,o.release=Io}s(Oo.prototype,{preventDefault:function(){this.defaultPrevented=!0;var o=this.nativeEvent;o&&(o.preventDefault?o.preventDefault():"unknown"!=typeof o.returnValue&&(o.returnValue=!1),this.isDefaultPrevented=u.thatReturnsTrue)},stopPropagation:function(){var o=this.nativeEvent;o&&(o.stopPropagation?o.stopPropagation():"unknown"!=typeof o.cancelBubble&&(o.cancelBubble=!0),this.isPropagationStopped=u.thatReturnsTrue)},persist:function(){this.isPersistent=u.thatReturnsTrue},isPersistent:u.thatReturnsFalse,destructor:function(){var o,e=this.constructor.Interface;for(o in e)this[o]=null;for(e=0;e=yo),go=String.fromCharCode(32),Bo={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Do=!1;function Po(o,e){switch(o){case"keyup":return-1!==ho.indexOf(e.keyCode);case"keydown":return 229!==e.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Vo(o){return"object"==typeof(o=o.detail)&&"data"in o?o.data:null}var Go=!1;var Ho={eventTypes:Bo,extractEvents:function(o,e,t,n){var a=void 0,m=void 0;if(bo)o:{switch(o){case"compositionstart":a=Bo.compositionStart;break o;case"compositionend":a=Bo.compositionEnd;break o;case"compositionupdate":a=Bo.compositionUpdate;break o}a=void 0}else Go?Po(o,t)&&(a=Bo.compositionEnd):"keydown"===o&&229===t.keyCode&&(a=Bo.compositionStart);return a?(Mo&&(Go||a!==Bo.compositionStart?a===Bo.compositionEnd&&Go&&(m=Ao()):(lo._root=n,lo._startText=So(),Go=!0)),a=Uo.getPooled(a,e,t,n),m?a.data=m:null!==(m=Vo(t))&&(a.data=m),oo(a),m=a):m=null,(o=vo?function(o,e){switch(o){case"compositionend":return Vo(e);case"keypress":return 32!==e.which?null:(Do=!0,go);case"textInput":return(o=e.data)===go&&Do?null:o;default:return null}}(o,t):function(o,e){if(Go)return"compositionend"===o||!bo&&Po(o,e)?(o=Ao(),lo._root=null,lo._startText=null,lo._fallbackText=null,Go=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1