@leximpact/socio-fiscal-openfisca-json
Version:
JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)
18,285 lines • 687 kB
JSON
{
"default_value": 0,
"definition_period": "year",
"dtype": "float32",
"entity": "foyer_fiscal",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"formulas": {
"2013-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 125,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 5,
"id": "reduction",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 125,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 100,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 47,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 27,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 33,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 34,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 8,
"id": "f7gh",
"lineno": 8
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 8,
"lineno": 8,
"value": "f7gh"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 8,
"id": "foyer_fiscal",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 9,
"lineno": 9,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 9,
"id": "f7gi",
"lineno": 9
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 9,
"lineno": 9,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 9,
"id": "period",
"lineno": 9
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 9,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 9,
"id": "foyer_fiscal",
"lineno": 9
},
"keywords": [],
"lineno": 9
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 42,
"end_lineno": 11,
"lineno": 11,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 11,
"id": "inv_om",
"lineno": 11
}
],
"value": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 11,
"lineno": 11,
"value": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 11,
"id": "reduction",
"lineno": 11
}
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 11,
"id": "f7gi",
"lineno": 11
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 42,
"end_lineno": 11,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 17,
"end_lineno": 11,
"id": "min_",
"lineno": 11
},
"keywords": [],
"lineno": 11
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 54,
"end_lineno": 12,
"lineno": 12,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 12,
"id": "inv_metro",
"lineno": 12
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 21,
"end_col_offset": 47,
"end_lineno": 12,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 12,
"id": "reduction",
"lineno": 12
}
},
"lineno": 12,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 41,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 47,
"end_lineno": 12,
"id": "inv_om",
"lineno": 12
}
},
{
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 12,
"id": "f7gh",
"lineno": 12
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 54,
"end_lineno": 12,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 12,
"id": "min_",
"lineno": 12
},
"keywords": [],
"lineno": 12
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 74,
"end_lineno": 14,
"lineno": 14,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 12,
"end_lineno": 14,
"id": "ri_metro",
"lineno": 14
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 73,
"end_lineno": 14,
"left": {
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 69,
"end_lineno": 14,
"left": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 31,
"end_lineno": 14,
"id": "inv_metro",
"lineno": 14
},
"lineno": 14,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 69,
"end_lineno": 14,
"lineno": 14,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 58,
"end_lineno": 14,
"lineno": 14,
"value": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 14,
"id": "reduction",
"lineno": 14
}
}
}
},
"lineno": 14,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 72,
"end_col_offset": 73,
"end_lineno": 14,
"lineno": 14,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 15,
"end_col_offset": 74,
"end_lineno": 14,
"func": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 21,
"end_lineno": 14,
"id": "around",
"lineno": 14
},
"keywords": [],
"lineno": 14
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 16,
"value": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 16,
"id": "ri_metro",
"lineno": 16
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 1,
"name": "formula_2013_01_01"
},
"documentation": "\nDuflot\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2013_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot\n '''\n reduction = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gh = foyer_fiscal('f7gh', period) # Métropole\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n inv_om = min_(reduction.plafond, f7gi)\n inv_metro = min_(reduction.plafond - inv_om, f7gh)\n\n ri_metro = around(inv_metro * reduction.location_9_ans.taux_metro / 9)\n\n return ri_metro\n",
"start_line_number": 207,
"stop_line_number": 223,
"variables": [
"f7gh",
"f7gi"
]
},
"2014-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 7,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 7,
"lineno": 2,
"value": "\n Duflot + Pinel\n NB: I count the reports of past Duflot investments towards Métropole,\n even though they may contain OM investments as well (only relevant after 2015,\n but since there are no separate cases, nothing one can potentially do).\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 8,
"id": "duflot_pinel_denormandie",
"lineno": 8
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 8,
"lineno": 8,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 8,
"id": "parameters",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 11,
"lineno": 11,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 11,
"id": "f7gh",
"lineno": 11
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 11,
"lineno": 11,
"value": "f7gh"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 11,
"id": "period",
"lineno": 11
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 11,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 11,
"id": "foyer_fiscal",
"lineno": 11
},
"keywords": [],
"lineno": 11
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 12,
"lineno": 12,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 12,
"id": "f7gi",
"lineno": 12
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 12,
"lineno": 12,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 12,
"id": "period",
"lineno": 12
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 12,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 12,
"id": "foyer_fiscal",
"lineno": 12
},
"keywords": [],
"lineno": 12
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 15,
"lineno": 15,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 15,
"id": "f7ek",
"lineno": 15
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 15,
"lineno": 15,
"value": "f7ek"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 15,
"id": "period",
"lineno": 15
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 15,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 15,
"id": "foyer_fiscal",
"lineno": 15
},
"keywords": [],
"lineno": 15
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 16,
"lineno": 16,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 16,
"id": "f7el",
"lineno": 16
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 16,
"lineno": 16,
"value": "f7el"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 16,
"id": "period",
"lineno": 16
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 16,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 16,
"id": "foyer_fiscal",
"lineno": 16
},
"keywords": [],
"lineno": 16
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 19,
"lineno": 19,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 19,
"id": "f7fi",
"lineno": 19
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 19,
"lineno": 19,
"value": "f7fi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 19,
"id": "period",
"lineno": 19
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 19,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 19,
"id": "foyer_fiscal",
"lineno": 19
},
"keywords": [],
"lineno": 19
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 22,
"lineno": 22,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 22,
"id": "f7qa",
"lineno": 22
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 22,
"lineno": 22,
"value": "f7qa_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 22,
"id": "period",
"lineno": 22
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 22,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 22,
"id": "foyer_fiscal",
"lineno": 22
},
"keywords": [],
"lineno": 22
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 23,
"lineno": 23,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 23,
"id": "f7qb",
"lineno": 23
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 23,
"lineno": 23,
"value": "f7qb_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 23,
"id": "period",
"lineno": 23
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 23,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 23,
"id": "foyer_fiscal",
"lineno": 23
},
"keywords": [],
"lineno": 23
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 24,
"lineno": 24,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 24,
"id": "f7qc",
"lineno": 24
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 24,
"lineno": 24,
"value": "f7qc_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 24,
"id": "period",
"lineno": 24
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 24,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 24,
"id": "foyer_fiscal",
"lineno": 24
},
"keywords": [],
"lineno": 24
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 25,
"lineno": 25,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 25,
"id": "f7qd",
"lineno": 25
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "f7qd_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 25,
"id": "period",
"lineno": 25
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 25,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 25,
"id": "foyer_fiscal",
"lineno": 25
},
"keywords": [],
"lineno": 25
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 133,
"end_lineno": 29,
"lineno": 29,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 29,
"id": "reduc_2013",
"lineno": 29
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 132,
"end_lineno": 29,
"left": {
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 29,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 29,
"lineno": 29,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 29,
"lineno": 29,
"value": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 29,
"id": "duflot_pinel_denormandie",
"lineno": 29
}
}
},
"lineno": 29,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 82,
"end_col_offset": 121,
"end_lineno": 29,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 114,
"end_lineno": 29,
"lineno": 29,
"value": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 106,
"end_lineno": 29,
"id": "duflot_pinel_denormandie",
"lineno": 29
}
},
"lineno": 29,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 117,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 29,
"id": "f7gi",
"lineno": 29
}
},
{
"ast_class": "Name",
"col_offset": 123,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 29,
"id": "f7gh",
"lineno": 29
}
],
"ast_class": "Call",
"col_offset": 77,
"end_col_offset": 128,
"end_lineno": 29,
"func": {
"ast_class": "Name",
"col_offset": 77,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 29,
"id": "min_",
"lineno": 29
},
"keywords": [],
"lineno": 29
}
},
"lineno": 29,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 131,
"end_col_offset": 132,
"end_lineno": 29,
"lineno": 29,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 133,
"end_lineno": 29,
"func": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 29,
"id": "around",
"lineno": 29
},
"keywords": [],
"lineno": 29
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 73,
"end_lineno": 32,
"lineno": 32,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 32,
"id": "max1",
"lineno": 32
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 16,
"end_col_offset": 17,
"end_lineno": 32,
"lineno": 32,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 72,
"end_lineno": 32,
"left": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 65,
"end_lineno": 32,
"left": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 58,
"end_lineno": 32,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 32,
"lineno": 32,
"value": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 32,
"id": "duflot_pinel_denormandie",
"lineno": 32
}
},
"lineno": 32,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 54,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 58,
"end_lineno": 32,
"id": "f7el",
"lineno": 32
}
},
"lineno": 32,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 65,
"end_lineno": 32,
"id": "f7qd",
"lineno": 32
}
},
"lineno": 32,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 68,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 32,
"id": "f7qc",
"lineno": 32
}
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 73,
"end_lineno": 32,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 15,
"end_lineno": 32,
"id": "max_",
"lineno": 32
},
"keywords": [],
"lineno": 32
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 106,
"end_lineno": 35,
"lineno": 34,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 34,
"id": "reduc_2014",
"lineno": 34
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 18,
"end_col_offset": 105,
"end_lineno": 35,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 105,
"end_lineno": 34,
"left": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 101,
"end_lineno": 34,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 34,
"lineno": 34,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 34,
"lineno": 34,
"value": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 49,
"end_lineno": 34,
"id": "duflot_pinel_denormandie",
"lineno": 34
}
}
},
"lineno": 34,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Name",
"col_offset": 83,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 34,
"id": "max1",
"lineno": 34
},
{
"ast_class": "BinOp",
"col_offset": 89,
"end_col_offset": 100,
"end_lineno": 34,
"left": {
"ast_class": "Name",
"col_offset": 89,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 93,
"end_lineno": 34,
"id": "f7ek",
"lineno": 34
},
"lineno": 34,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 100,
"end_lineno": 34,
"id": "f7qb",
"lineno": 34
}
}
],
"ast_class": "Call",
"col_offset": 78,
"end_col_offset": 101,
"end_lineno": 34,
"func": {
"ast_class": "Name",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 82,
"end_lineno": 34,
"id": "min_",
"lineno": 34
},
"keywords": [],
"lineno": 34
}
},
"lineno": 34,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 104,
"end_col_offset": 105,
"end_lineno": 34,
"lineno": 34,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 106,
"end_lineno": 34,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 34,
"id": "around",
"lineno": 34
},
"keywords": [],
"lineno": 34
},
"lineno": 34,
"op": {
"ast_class": "Add"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 104,
"end_lineno": 35,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 100,
"end_lineno": 35,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 35,
"lineno": 35,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 35,
"lineno": 35,
"value": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 35,
"id": "duflot_pinel_denormandie",
"lineno": 35
}
}
},
"lineno": 35,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 75,
"end_col_offset": 93,
"end_lineno": 35,
"left": {
"ast_class": "BinOp",
"col_offset": 75,
"end_col_offset": 86,
"end_lineno": 35,
"left": {
"ast_class": "Name",
"col_offset": 75,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 35,
"id": "max1",
"lineno": 35
},
"lineno": 35,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 35,
"id": "f7ek",
"lineno": 35
}
},
"lineno": 35,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 89,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 93,
"end_lineno": 35,
"id": "f7qb",
"lineno": 35
}
},
{
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 35,
"id": "f7qa",
"lineno": 35
}
],
"ast_class": "Call",
"col_offset": 70,
"end_col_offset": 100,
"end_lineno": 35,
"func": {
"ast_class": "Name",
"col_offset": 70,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 35,
"id": "min_",
"lineno": 35
},
"keywords": [],
"lineno": 35
}
},
"lineno": 35,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 35,
"lineno": 35,
"value": 6
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 105,
"end_lineno": 35,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 35,
"id": "around",
"lineno": 35
},
"keywords": [],
"lineno": 35
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 45,
"end_lineno": 37,
"lineno": 37,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 12,
"end_lineno": 37,
"id": "ri_metro",
"lineno": 37
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 15,
"end_col_offset": 45,
"end_lineno": 37,
"left": {
"ast_class": "BinOp",
"col_offset": 15,
"end_col_offset": 38,
"end_lineno": 37,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 37,
"id": "reduc_2013",
"lineno": 37
},
"lineno": 37,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 37,
"id": "reduc_2014",
"lineno": 37
}
},
"lineno": 37,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 41,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 37,
"id": "f7fi",
"lineno": 37
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 19,
"end_lineno": 39,
"lineno": 39,
"value": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 39,
"id": "ri_metro",
"lineno": 39
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 19,
"end_lineno": 39,
"lineno": 1,
"name": "formula_2014_01_01"
},
"documentation": "\nDuflot + Pinel\nNB: I count the reports of past Duflot investments towards Métropole,\neven though they may contain OM investments as well (only relevant after 2015,\nbut since there are no separate cases, nothing one can potentially do).\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2014_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel\n NB: I count the reports of past Duflot investments towards Métropole,\n even though they may contain OM investments as well (only relevant after 2015,\n but since there are no separate cases, nothing one can potentially do).\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gh = foyer_fiscal('f7gh', period) # Métropole\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n # Duflot année N, 2014\n f7ek = foyer_fiscal('f7ek', period) # Métropole\n f7el = foyer_fiscal('f7el', period) # Outre-Mer\n\n # Duflot reports\n f7fi = foyer_fiscal('f7fi', period) # 2013\n\n # Pinel année N, 2014\n f7qa = foyer_fiscal('f7qa_2018', period) # Métropole, 6 ans\n f7qb = foyer_fiscal('f7qb_2018', period) # Métropole, 9 ans\n f7qc = foyer_fiscal('f7qc_2018', period) # Outre-Mer, 6 ans\n f7qd = foyer_fiscal('f7qd_2018', period) # Outre-Mer, 9 ans\n\n # Duflot 2013\n\n reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(duflot_pinel_denormandie.plafond - f7gi, f7gh) / 9)\n\n # Duflot et Pinel 2014\n max1 = max_(0, duflot_pinel_denormandie.plafond - f7el - f7qd - f7qc) # 2014 : plafond commun 'duflot' et 'rpinel'\n\n reduc_2014 = (around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max1, f7ek + f7qb) / 9)\n + around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max1 - f7ek - f7qb, f7qa) / 6))\n\n ri_metro = reduc_2013 + reduc_2014 + f7fi\n\n return ri_metro\n",
"start_line_number": 224,
"stop_line_number": 263,
"variables": [
"f7ek",
"f7el",
"f7fi",
"f7gh",
"f7gi",
"f7qa_2018",
"f7qb_2018",
"f7qc_2018",
"f7qd_2018"
]
},
"2015-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 5,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 5,
"lineno": 2,
"value": "\n Investissement locatif privé - Dispositif Pinel\n De 2015 à 2018\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 6,
"lineno": 6,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 6,
"id": "duflot_pinel_denormandie",
"lineno": 6
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 6,
"lineno": 6,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 6,
"lineno": 6,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 6,
"id": "period",
"lineno": 6
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 6,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 6,
"id": "parameters",
"lineno": 6
},
"keywords": [],
"lineno": 6
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 9,
"lineno": 9,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 9,
"id": "f7gh",
"lineno": 9
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 9,
"lineno": 9,
"value": "f7gh"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 9,
"id": "period",
"lineno": 9
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 9,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 9,
"id": "foyer_fiscal",
"lineno": 9
},
"keywords": [],
"lineno": 9
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 10,
"lineno": 10,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 10,
"id": "f7gi",
"lineno": 10
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 10,
"lineno": 10,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 10,
"id": "period",
"lineno": 10
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 10,
"id": "foyer_fiscal",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 13,
"lineno": 13,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 13,
"id": "f7ek",
"lineno": 13
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 13,
"lineno": 13,
"value": "f7ek"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 13,
"id": "period",
"lineno": 13
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 13,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 13,
"id": "foyer_fiscal",
"lineno": 13
},
"keywords": [],
"lineno": 13
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 14,
"lineno": 14,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 14,
"id": "f7el",
"lineno": 14
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 14,
"lineno": 14,
"value": "f7el"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 14,
"id": "period",
"lineno": 14
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 14,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 14,
"id": "foyer_fiscal",
"lineno": 14
},
"keywords": [],
"lineno": 14
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 17,
"lineno": 17,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 17,
"id": "f7fi",
"lineno": 17
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 17,
"lineno": 17,
"value": "f7fi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 17,
"id": "period",
"lineno": 17
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 17,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 17,
"id": "foyer_fiscal",
"lineno": 17
},
"keywords": [],
"lineno": 17
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 18,
"lineno": 18,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 18,
"id": "f7fk",
"lineno": 18
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 18,
"lineno": 18,
"value": "f7fk"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 18,
"id": "period",
"lineno": 18
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 18,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 18,
"id": "foyer_fiscal",
"lineno": 18
},
"keywords": [],
"lineno": 18
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 19,
"lineno": 19,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 19,
"id": "f7fr",
"lineno": 19
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 19,
"lineno": 19,
"value": "f7fr"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 19,
"id": "period",
"lineno": 19
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 19,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 19,
"id": "foyer_fiscal",
"lineno": 19
},
"keywords": [],
"lineno": 19
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 20,
"lineno": 20,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 20,
"id": "f7fv",
"lineno": 20
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 20,
"lineno": 20,
"value": "f7fv"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 20,
"id": "period",
"lineno": 20
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 20,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 20,
"id": "foyer_fiscal",
"lineno": 20
},
"keywords": [],
"lineno": 20
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 21,
"lineno": 21,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 21,
"id": "f7fw",
"lineno": 21
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 21,
"lineno": 21,
"value": "f7fw"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 21,
"id": "period",
"lineno": 21
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 21,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 21,
"id": "foyer_fiscal",
"lineno": 21
},
"keywords": [],
"lineno": 21
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 24,
"lineno": 24,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 24,
"id": "f7qa",
"lineno": 24
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 24,
"lineno": 24,
"value": "f7qa_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 24,
"id": "period",
"lineno": 24
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 24,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 24,
"id": "foyer_fiscal",
"lineno": 24
},
"keywords": [],
"lineno": 24
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 25,
"lineno": 25,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 25,
"id": "f7qb",
"lineno": 25
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "f7qb_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 25,
"id": "period",
"lineno": 25
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 25,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 25,
"id": "foyer_fiscal",
"lineno": 25
},
"keywords": [],
"lineno": 25
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 26,
"lineno": 26,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 26,
"id": "f7qc",
"lineno": 26
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26,
"value": "f7qc_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 26,
"id": "period",
"lineno": 26
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 26,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 26,
"id": "foyer_fiscal",
"lineno": 26
},
"keywords": [],
"lineno": 26
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 27,
"lineno": 27,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 27,
"id": "f7qd",
"lineno": 27
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27,
"value": "f7qd_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 27,
"id": "period",
"lineno": 27
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 27,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 27,
"id": "foyer_fiscal",
"lineno": 27
},
"keywords": [],
"lineno": 27
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 50,
"lineno": 29,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 29,
"id": "cases_investissement",
"lineno": 29
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 50,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 30,
"lineno": 30,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 35,
"lineno": 35,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 40,
"lineno": 40,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 45,
"lineno": 45,
"value": 2018
}
],
"lineno": 29,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 31,
"lineno": 31,
"value": "f7qh"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 31,
"lineno": 31,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 31,
"lineno": 31,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 31,
"lineno": 31
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 32,
"lineno": 32,
"value": "f7qg"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 32,
"lineno": 32,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 32,
"lineno": 32,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 33,
"lineno": 33,
"value": "f7qf"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 33,
"lineno": 33,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 33,
"lineno": 33,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 33,
"lineno": 33
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 34,
"lineno": 34,
"value": "f7qe"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 34,
"lineno": 34,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 34,
"lineno": 34,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 34,
"lineno": 34
}
],
"end_col_offset": 37,
"end_lineno": 34,
"lineno": 30
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 36,
"lineno": 36,
"value": "f7ql_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 36,
"lineno": 36,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 36,
"lineno": 36,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 36,
"lineno": 36
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 37,
"lineno": 37,
"value": "f7qk_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 37,
"lineno": 37,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 37,
"lineno": 37,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 37,
"lineno": 37
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 38,
"lineno": 38,
"value": "f7qj_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 38,
"lineno": 38,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 38,
"lineno": 38,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 38,
"lineno": 38
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 39,
"lineno": 39,
"value": "f7qi_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 39,
"lineno": 39,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 39,
"lineno": 39,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 39,
"lineno": 39
}
],
"end_col_offset": 42,
"end_lineno": 39,
"lineno": 35
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 41,
"lineno": 41,
"value": "f7qp"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 41,
"lineno": 41,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 41,
"lineno": 41,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 41,
"lineno": 41
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 42,
"lineno": 42,
"value": "f7qo"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 42,
"lineno": 42,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 42,
"lineno": 42,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 42,
"lineno": 42
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 43,
"lineno": 43,
"value": "f7qn"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 43,
"lineno": 43,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 43,
"lineno": 43,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 43,
"lineno": 43
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 44,
"lineno": 44,
"value": "f7qm"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 44,
"lineno": 44,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 44,
"lineno": 44,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 44,
"lineno": 44
}
],
"end_col_offset": 37,
"end_lineno": 44,
"lineno": 40
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 46,
"lineno": 46,
"value": "f7qu"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 46,
"lineno": 46,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 46,
"lineno": 46,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 46,
"lineno": 46
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 47,
"lineno": 47,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 47,
"lineno": 47,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 47,
"lineno": 47,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 47,
"lineno": 47
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 48,
"lineno": 48,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 48,
"lineno": 48,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 48,
"lineno": 48,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 48,
"lineno": 48
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 49,
"lineno": 49,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 49,
"lineno": 49,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 49,
"lineno": 49,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 49,
"lineno": 49
}
],
"end_col_offset": 37,
"end_lineno": 49,
"lineno": 45
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 57,
"lineno": 52,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 52,
"id": "cases_report",
"lineno": 52
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 57,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 53,
"lineno": 53,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 54,
"lineno": 54,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 55,
"lineno": 55,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 56,
"lineno": 56,
"value": 2017
}
],
"lineno": 52,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 53,
"lineno": 53,
"value": "f7ai"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 53,
"lineno": 53,
"value": "f7bi"
}
],
"end_col_offset": 30,
"end_lineno": 53,
"lineno": 53
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 54,
"lineno": 54,
"value": "f7bz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 54,
"lineno": 54,
"value": "f7cz"
}
],
"end_col_offset": 30,
"end_lineno": 54,
"lineno": 54
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 55,
"lineno": 55,
"value": "f7qz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 55,
"lineno": 55,
"value": "f7rz"
}
],
"end_col_offset": 30,
"end_lineno": 55,
"lineno": 55
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 56,
"lineno": 56,
"value": "f7ra"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 56,
"lineno": 56,
"value": "f7rb"
}
],
"end_col_offset": 30,
"end_lineno": 56,
"lineno": 56
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 133,
"end_lineno": 60,
"lineno": 60,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 60,
"id": "reduc_2013",
"lineno": 60
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 132,
"end_lineno": 60,
"left": {
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 60,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 60,
"lineno": 60,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 60,
"lineno": 60,
"value": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 60,
"id": "duflot_pinel_denormandie",
"lineno": 60
}
}
},
"lineno": 60,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 82,
"end_col_offset": 121,
"end_lineno": 60,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 114,
"end_lineno": 60,
"lineno": 60,
"value": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 106,
"end_lineno": 60,
"id": "duflot_pinel_denormandie",
"lineno": 60
}
},
"lineno": 60,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 117,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 60,
"id": "f7gi",
"lineno": 60
}
},
{
"ast_class": "Name",
"col_offset": 123,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 60,
"id": "f7gh",
"lineno": 60
}
],
"ast_class": "Call",
"col_offset": 77,
"end_col_offset": 128,
"end_lineno": 60,
"func": {
"ast_class": "Name",
"col_offset": 77,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 60,
"id": "min_",
"lineno": 60
},
"keywords": [],
"lineno": 60
}
},
"lineno": 60,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 131,
"end_col_offset": 132,
"end_lineno": 60,
"lineno": 60,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 133,
"end_lineno": 60,
"func": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 60,
"id": "around",
"lineno": 60
},
"keywords": [],
"lineno": 60
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 73,
"end_lineno": 63,
"lineno": 63,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 63,
"id": "max1",
"lineno": 63
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 16,
"end_col_offset": 17,
"end_lineno": 63,
"lineno": 63,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 72,
"end_lineno": 63,
"left": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 65,
"end_lineno": 63,
"left": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 58,
"end_lineno": 63,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 63,
"lineno": 63,
"value": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 63,
"id": "duflot_pinel_denormandie",
"lineno": 63
}
},
"lineno": 63,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 54,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 58,
"end_lineno": 63,
"id": "f7el",
"lineno": 63
}
},
"lineno": 63,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 65,
"end_lineno": 63,
"id": "f7qd",
"lineno": 63
}
},
"lineno": 63,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 68,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 63,
"id": "f7qc",
"lineno": 63
}
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 73,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 15,
"end_lineno": 63,
"id": "max_",
"lineno": 63
},
"keywords": [],
"lineno": 63
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 106,
"end_lineno": 66,
"lineno": 65,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 65,
"id": "reduc_2014",
"lineno": 65
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 18,
"end_col_offset": 105,
"end_lineno": 66,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 105,
"end_lineno": 65,
"left": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 101,
"end_lineno": 65,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 49,
"end_lineno": 65,
"id": "duflot_pinel_denormandie",
"lineno": 65
}
}
},
"lineno": 65,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Name",
"col_offset": 83,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 65,
"id": "max1",
"lineno": 65
},
{
"ast_class": "BinOp",
"col_offset": 89,
"end_col_offset": 100,
"end_lineno": 65,
"left": {
"ast_class": "Name",
"col_offset": 89,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 93,
"end_lineno": 65,
"id": "f7ek",
"lineno": 65
},
"lineno": 65,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 100,
"end_lineno": 65,
"id": "f7qb",
"lineno": 65
}
}
],
"ast_class": "Call",
"col_offset": 78,
"end_col_offset": 101,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 78,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 82,
"end_lineno": 65,
"id": "min_",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
},
"lineno": 65,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 104,
"end_col_offset": 105,
"end_lineno": 65,
"lineno": 65,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 106,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 65,
"id": "around",
"lineno": 65
},
"keywords": [],
"lineno": 65
},
"lineno": 65,
"op": {
"ast_class": "Add"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 104,
"end_lineno": 66,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 100,
"end_lineno": 66,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 66,
"lineno": 66,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 66,
"lineno": 66,
"value": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 66,
"id": "duflot_pinel_denormandie",
"lineno": 66
}
}
},
"lineno": 66,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 75,
"end_col_offset": 93,
"end_lineno": 66,
"left": {
"ast_class": "BinOp",
"col_offset": 75,
"end_col_offset": 86,
"end_lineno": 66,
"left": {
"ast_class": "Name",
"col_offset": 75,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 66,
"id": "max1",
"lineno": 66
},
"lineno": 66,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 66,
"id": "f7ek",
"lineno": 66
}
},
"lineno": 66,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 89,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 93,
"end_lineno": 66,
"id": "f7qb",
"lineno": 66
}
},
{
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 66,
"id": "f7qa",
"lineno": 66
}
],
"ast_class": "Call",
"col_offset": 70,
"end_col_offset": 100,
"end_lineno": 66,
"func": {
"ast_class": "Name",
"col_offset": 70,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 66,
"id": "min_",
"lineno": 66
},
"keywords": [],
"lineno": 66
}
},
"lineno": 66,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 66,
"lineno": 66,
"value": 6
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 105,
"end_lineno": 66,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 66,
"id": "around",
"lineno": 66
},
"keywords": [],
"lineno": 66
}
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 68,
"lineno": 68
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 69,
"lineno": 69,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 69,
"id": "reduction",
"lineno": 69
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 69,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 69,
"lineno": 69,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 69,
"id": "foyer_fiscal",
"lineno": 69
}
},
"keywords": [],
"lineno": 69
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 70,
"lineno": 70,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 70,
"id": "depenses_cumulees",
"lineno": 70
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 70,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 70,
"lineno": 70,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 70,
"id": "foyer_fiscal",
"lineno": 70
}
},
"keywords": [],
"lineno": 70
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 72,
"lineno": 72,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 72,
"id": "variable",
"lineno": 72
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 72,
"id": "duree",
"lineno": 72
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 72,
"id": "zone",
"lineno": 72
}
],
"end_col_offset": 33,
"end_lineno": 72,
"lineno": 72
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 72,
"id": "case",
"lineno": 72
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 73,
"lineno": 73,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 73,
"id": "depense",
"lineno": 73
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 73,
"id": "variable",
"lineno": 73
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 73,
"id": "period",
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 73,
"id": "foyer_fiscal",
"lineno": 73
},
"keywords": [],
"lineno": 73
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 76,
"lineno": 76,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 76,
"id": "reduction",
"lineno": 76
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 76,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 76,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 76,
"lineno": 76,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 76,
"lineno": 76,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 76,
"id": "duflot_pinel_denormandie",
"lineno": 76
}
}
},
"lineno": 76,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 76,
"lineno": 76,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 76,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 76,
"lineno": 76,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 76,
"id": "duflot_pinel_denormandie",
"lineno": 76
}
},
"lineno": 76,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 76,
"id": "depenses_cumulees",
"lineno": 76
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 76,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 76,
"id": "max_",
"lineno": 76
},
"keywords": [],
"lineno": 76
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 76,
"id": "depense",
"lineno": 76
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 76,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 76,
"id": "min_",
"lineno": 76
},
"keywords": [],
"lineno": 76
}
},
"lineno": 76,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 76,
"id": "duree",
"lineno": 76
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 76,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 76,
"id": "around",
"lineno": 76
},
"keywords": [],
"lineno": 76
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 78,
"lineno": 75,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 78,
"lineno": 78,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 78,
"id": "reduction",
"lineno": 78
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 78,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 78,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 78,
"lineno": 78,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 78,
"lineno": 78,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 78,
"id": "duflot_pinel_denormandie",
"lineno": 78
}
}
},
"lineno": 78,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 78,
"lineno": 78,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 78,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 78,
"lineno": 78,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 78,
"id": "duflot_pinel_denormandie",
"lineno": 78
}
},
"lineno": 78,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 78,
"id": "depenses_cumulees",
"lineno": 78
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 78,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 78,
"id": "max_",
"lineno": 78
},
"keywords": [],
"lineno": 78
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 78,
"id": "depense",
"lineno": 78
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 78,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 78,
"id": "min_",
"lineno": 78
},
"keywords": [],
"lineno": 78
}
},
"lineno": 78,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 78,
"id": "duree",
"lineno": 78
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 78,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 78,
"id": "around",
"lineno": 78
},
"keywords": [],
"lineno": 78
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 78,
"lineno": 77,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 77,
"lineno": 77,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 77,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 77,
"id": "duree",
"lineno": 77
},
"lineno": 77,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 75,
"lineno": 75,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 75,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 75,
"id": "duree",
"lineno": 75
},
"lineno": 75,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 178,
"end_lineno": 78,
"lineno": 74,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 34,
"end_lineno": 74,
"lineno": 74,
"value": "metropole"
}
],
"end_col_offset": 34,
"end_lineno": 74,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 74,
"id": "zone",
"lineno": 74
},
"lineno": 74,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 79,
"lineno": 79,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 79,
"id": "depenses_cumulees",
"lineno": 79
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 79,
"id": "depense",
"lineno": 79
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 79,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 71,
"id": "cases",
"lineno": 71
},
"lineno": 71,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 71,
"id": "case",
"lineno": 71
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 80,
"lineno": 80,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 80,
"id": "reduction",
"lineno": 80
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 80,
"lineno": 68,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 82,
"lineno": 82,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 82,
"id": "annee_fiscale",
"lineno": 82
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 82,
"lineno": 82,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 82,
"lineno": 82,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 82,
"id": "period",
"lineno": 82
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 83,
"lineno": 83,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 83,
"id": "range_year_investissement",
"lineno": 83
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 83,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 83,
"id": "year",
"lineno": 83
},
"end_col_offset": 90,
"end_lineno": 83,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 83,
"lineno": 83,
"value": 2015
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 83,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 83,
"id": "annee_fiscale",
"lineno": 83
},
"lineno": 83,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 83,
"lineno": 83,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 83,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 83,
"id": "range",
"lineno": 83
},
"keywords": [],
"lineno": 83
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 83,
"id": "year",
"lineno": 83
}
}
],
"lineno": 83
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 83,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 83,
"id": "set",
"lineno": 83
},
"keywords": [],
"lineno": 83
},
"lineno": 83,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 83,
"id": "year",
"lineno": 83
},
"end_col_offset": 144,
"end_lineno": 83,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 83,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 83,
"lineno": 83,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 83,
"id": "cases_investissement",
"lineno": 83
}
},
"keywords": [],
"lineno": 83
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 83,
"id": "year",
"lineno": 83
}
}
],
"lineno": 83
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 83,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 83,
"id": "set",
"lineno": 83
},
"keywords": [],
"lineno": 83
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 83,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 83,
"id": "list",
"lineno": 83
},
"keywords": [],
"lineno": 83
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 84,
"lineno": 84,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 84,
"id": "range_year_report",
"lineno": 84
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 84,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 84,
"id": "year",
"lineno": 84
},
"end_col_offset": 78,
"end_lineno": 84,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 84,
"lineno": 84,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 84,
"id": "annee_fiscale",
"lineno": 84
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 84,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 84,
"id": "range",
"lineno": 84
},
"keywords": [],
"lineno": 84
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 84,
"id": "year",
"lineno": 84
}
}
],
"lineno": 84
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 84,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 84,
"id": "set",
"lineno": 84
},
"keywords": [],
"lineno": 84
},
"lineno": 84,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 84,
"id": "year",
"lineno": 84
},
"end_col_offset": 124,
"end_lineno": 84,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 84,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 84,
"lineno": 84,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 84,
"id": "cases_report",
"lineno": 84
}
},
"keywords": [],
"lineno": 84
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 84,
"id": "year",
"lineno": 84
}
}
],
"lineno": 84
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 84,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 84,
"id": "set",
"lineno": 84
},
"keywords": [],
"lineno": 84
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 84,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 84,
"id": "list",
"lineno": 84
},
"keywords": [],
"lineno": 84
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 86,
"lineno": 86,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 86,
"id": "reduction_cumulee",
"lineno": 86
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 86,
"lineno": 86,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 86,
"id": "year",
"lineno": 86
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 86,
"id": "cases_investissement",
"lineno": 86
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 86,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 86,
"id": "calcul_reduction_investissement",
"lineno": 86
},
"keywords": [],
"lineno": 86
},
"end_col_offset": 127,
"end_lineno": 86,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 86,
"id": "range_year_investissement",
"lineno": 86
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 86,
"id": "year",
"lineno": 86
}
}
],
"lineno": 86
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 86,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 86,
"id": "sum",
"lineno": 86
},
"keywords": [],
"lineno": 86
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 87,
"lineno": 87,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 87,
"id": "report",
"lineno": 87
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 87,
"id": "case",
"lineno": 87
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 87,
"id": "period",
"lineno": 87
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 87,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 87,
"id": "foyer_fiscal",
"lineno": 87
},
"keywords": [],
"lineno": 87
},
"end_col_offset": 106,
"end_lineno": 87,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 87,
"id": "range_year_report",
"lineno": 87
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 87,
"id": "year",
"lineno": 87
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 87,
"lineno": 87,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 87,
"id": "year",
"lineno": 87
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 87,
"id": "cases_report",
"lineno": 87
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 87,
"id": "case",
"lineno": 87
}
}
],
"lineno": 87
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 87,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 87,
"id": "sum",
"lineno": 87
},
"keywords": [],
"lineno": 87
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 98,
"end_lineno": 89,
"lineno": 89,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 98,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 91,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 84,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 77,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 70,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 63,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 50,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 89,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 89,
"id": "reduction_cumulee",
"lineno": 89
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 89,
"id": "report",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 50,
"end_lineno": 89,
"id": "reduc_2013",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 53,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 89,
"id": "reduc_2014",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 66,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 70,
"end_lineno": 89,
"id": "f7fi",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 73,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 77,
"end_lineno": 89,
"id": "f7fk",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 89,
"id": "f7fr",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 89,
"id": "f7fv",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 98,
"end_lineno": 89,
"id": "f7fw",
"lineno": 89
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 98,
"end_lineno": 89,
"lineno": 1,
"name": "formula_2015_01_01"
},
"documentation": "\nInvestissement locatif privé - Dispositif Pinel\nDe 2015 à 2018\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2015_01_01(foyer_fiscal, period, parameters):\n '''\n Investissement locatif privé - Dispositif Pinel\n De 2015 à 2018\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gh = foyer_fiscal('f7gh', period) # Métropole\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n # Duflot année N, 2014\n f7ek = foyer_fiscal('f7ek', period) # Métropole\n f7el = foyer_fiscal('f7el', period) # Outre-Mer\n\n # Duflot reports\n f7fi = foyer_fiscal('f7fi', period) # 2013\n f7fk = foyer_fiscal('f7fk', period) # 2014\n f7fr = foyer_fiscal('f7fr', period) # 2015\n f7fv = foyer_fiscal('f7fv', period) # 2016\n f7fw = foyer_fiscal('f7fw', period) # 2017\n\n # Pinel année N, 2014\n f7qa = foyer_fiscal('f7qa_2018', period) # Métropole, 6 ans\n f7qb = foyer_fiscal('f7qb_2018', period) # Métropole, 9 ans\n f7qc = foyer_fiscal('f7qc_2018', period) # Outre-Mer, 6 ans\n f7qd = foyer_fiscal('f7qd_2018', period) # Outre-Mer, 9 ans\n\n cases_investissement = {\n 2015: [\n ('f7qh', 9, 'outremer'),\n ('f7qg', 6, 'outremer'),\n ('f7qf', 9, 'metropole'),\n ('f7qe', 6, 'metropole')],\n 2016: [\n ('f7ql_2019', 9, 'outremer'),\n ('f7qk_2019', 6, 'outremer'),\n ('f7qj_2019', 9, 'metropole'),\n ('f7qi_2019', 6, 'metropole')],\n 2017: [\n ('f7qp', 9, 'outremer'),\n ('f7qo', 6, 'outremer'),\n ('f7qn', 9, 'metropole'),\n ('f7qm', 6, 'metropole')],\n 2018: [\n ('f7qu', 9, 'outremer'),\n ('f7qt', 6, 'outremer'),\n ('f7qs', 9, 'metropole'),\n ('f7qr', 6, 'metropole')],\n }\n\n cases_report = {\n 2014: ['f7ai', 'f7bi'],\n 2015: ['f7bz', 'f7cz'],\n 2016: ['f7qz', 'f7rz'],\n 2017: ['f7ra', 'f7rb'],\n }\n\n # Duflot 2013\n reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(duflot_pinel_denormandie.plafond - f7gi, f7gh) / 9)\n\n # Duflot et Pinel 2014\n max1 = max_(0, duflot_pinel_denormandie.plafond - f7el - f7qd - f7qc) # 2014 : plafond commun 'duflot' et 'rpinel'\n\n reduc_2014 = (around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max1, f7ek + f7qb) / 9)\n + around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max1 - f7ek - f7qb, f7qa) / 6))\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'metropole':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2015, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n return reduction_cumulee + report + reduc_2013 + reduc_2014 + f7fi + f7fk + f7fr + f7fv + f7fw\n",
"start_line_number": 264,
"stop_line_number": 353,
"variables": [
"f7ek",
"f7el",
"f7fi",
"f7fk",
"f7fr",
"f7fv",
"f7fw",
"f7gh",
"f7gi",
"f7qa_2018",
"f7qb_2018",
"f7qc_2018",
"f7qd_2018"
]
},
"2019-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot + Pinel + Denormandie\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 5,
"id": "duflot_pinel_denormandie",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 29,
"lineno": 7,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 7,
"id": "cases_investissement",
"lineno": 7
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 29,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 8,
"lineno": 8,
"value": 2019
}
],
"lineno": 7,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 9,
"lineno": 9,
"value": "f7ql_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 9,
"lineno": 9,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 9,
"lineno": 9,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 9,
"lineno": 9
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 10,
"lineno": 10,
"value": "f7qp"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 10,
"lineno": 10,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 10,
"lineno": 10,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 10,
"lineno": 10
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 11,
"lineno": 11,
"value": "f7qu"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 11,
"lineno": 11,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 11,
"lineno": 11,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 11,
"lineno": 11
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 12,
"lineno": 12,
"value": "f7qq"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 12,
"lineno": 12,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 12,
"lineno": 12,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 12,
"lineno": 12
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 13,
"lineno": 13,
"value": "f7nd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 13,
"lineno": 13,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 13,
"lineno": 13,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 13,
"lineno": 13
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 14,
"lineno": 14,
"value": "f7qk_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 14,
"lineno": 14,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 14,
"lineno": 14,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 14,
"lineno": 14
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 15,
"lineno": 15,
"value": "f7qo"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 15,
"lineno": 15,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 15,
"lineno": 15,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 15,
"lineno": 15
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 16,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 16,
"lineno": 16,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 16,
"lineno": 16,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 16,
"lineno": 16
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 17,
"lineno": 17,
"value": "f7qy"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 17,
"lineno": 17,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 17,
"lineno": 17,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 18,
"lineno": 18,
"value": "f7nc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 18,
"lineno": 18,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 18,
"lineno": 18,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 19,
"lineno": 19,
"value": "f7qj_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 19,
"lineno": 19,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 19,
"lineno": 19,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 19,
"lineno": 19
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 20,
"lineno": 20,
"value": "f7qn"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 20,
"lineno": 20,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 20,
"lineno": 20,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 20,
"lineno": 20
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 21,
"lineno": 21,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 21,
"lineno": 21,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 21,
"lineno": 21,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 21,
"lineno": 21
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 22,
"lineno": 22,
"value": "f7qx"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 22,
"lineno": 22,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 22,
"lineno": 22,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 22,
"lineno": 22
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 23,
"lineno": 23,
"value": "f7nb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 23,
"lineno": 23,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 23,
"lineno": 23,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 23,
"lineno": 23
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 24,
"lineno": 24,
"value": "f7qi_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 24,
"lineno": 24,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 24,
"lineno": 24,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 24,
"lineno": 24
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 25,
"lineno": 25,
"value": "f7qm"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 25,
"lineno": 25,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 25,
"lineno": 25
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 26,
"lineno": 26,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 26,
"lineno": 26,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 26,
"lineno": 26
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 27,
"lineno": 27,
"value": "f7qw"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 27,
"lineno": 27,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 27,
"lineno": 27
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 28,
"lineno": 28,
"value": "f7na"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 28,
"lineno": 28,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 28,
"lineno": 28,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 28,
"lineno": 28
}
],
"end_col_offset": 37,
"end_lineno": 28,
"lineno": 8
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 37,
"lineno": 31,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 31,
"id": "cases_report",
"lineno": 31
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 37,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 32,
"lineno": 32,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 33,
"lineno": 33,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 34,
"lineno": 34,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 35,
"lineno": 35,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 36,
"lineno": 36,
"value": 2018
}
],
"lineno": 31,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 32,
"lineno": 32,
"value": "f7ai"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 32,
"lineno": 32,
"value": "f7bi"
}
],
"end_col_offset": 30,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 33,
"lineno": 33,
"value": "f7bz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 33,
"lineno": 33,
"value": "f7cz"
}
],
"end_col_offset": 30,
"end_lineno": 33,
"lineno": 33
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 34,
"lineno": 34,
"value": "f7qz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 34,
"lineno": 34,
"value": "f7rz"
}
],
"end_col_offset": 30,
"end_lineno": 34,
"lineno": 34
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 35,
"lineno": 35,
"value": "f7ra"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 35,
"lineno": 35,
"value": "f7rb"
}
],
"end_col_offset": 30,
"end_lineno": 35,
"lineno": 35
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 36,
"lineno": 36,
"value": "f7re"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 36,
"lineno": 36,
"value": "f7rf"
}
],
"end_col_offset": 30,
"end_lineno": 36,
"lineno": 36
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 40,
"lineno": 40,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 40,
"id": "f7fi",
"lineno": 40
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 40,
"lineno": 40,
"value": "f7fi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 40,
"id": "period",
"lineno": 40
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 40,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 40,
"id": "foyer_fiscal",
"lineno": 40
},
"keywords": [],
"lineno": 40
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 41,
"lineno": 41,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 41,
"id": "f7fk",
"lineno": 41
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 41,
"lineno": 41,
"value": "f7fk"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 41,
"id": "period",
"lineno": 41
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 41,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 41,
"id": "foyer_fiscal",
"lineno": 41
},
"keywords": [],
"lineno": 41
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 42,
"lineno": 42,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 42,
"id": "f7fr",
"lineno": 42
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 42,
"lineno": 42,
"value": "f7fr"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 42,
"id": "period",
"lineno": 42
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 42,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 42,
"id": "foyer_fiscal",
"lineno": 42
},
"keywords": [],
"lineno": 42
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 43,
"lineno": 43,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 43,
"id": "f7fv",
"lineno": 43
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 43,
"lineno": 43,
"value": "f7fv"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 43,
"id": "period",
"lineno": 43
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 43,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 43,
"id": "foyer_fiscal",
"lineno": 43
},
"keywords": [],
"lineno": 43
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 44,
"lineno": 44,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 44,
"id": "f7fw",
"lineno": 44
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 44,
"lineno": 44,
"value": "f7fw"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 44,
"id": "period",
"lineno": 44
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 44,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 44,
"id": "foyer_fiscal",
"lineno": 44
},
"keywords": [],
"lineno": 44
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 45,
"lineno": 45,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 45,
"id": "f7fx",
"lineno": 45
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 45,
"lineno": 45,
"value": "f7fx"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 45,
"id": "period",
"lineno": 45
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 45,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 45,
"id": "foyer_fiscal",
"lineno": 45
},
"keywords": [],
"lineno": 45
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 47,
"lineno": 47
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 48,
"lineno": 48,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 48,
"id": "reduction",
"lineno": 48
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 48,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 48,
"lineno": 48,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 48,
"id": "foyer_fiscal",
"lineno": 48
}
},
"keywords": [],
"lineno": 48
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 49,
"lineno": 49,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 49,
"id": "depenses_cumulees",
"lineno": 49
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 49,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 49,
"lineno": 49,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 49,
"id": "foyer_fiscal",
"lineno": 49
}
},
"keywords": [],
"lineno": 49
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 51,
"lineno": 51,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 51,
"id": "variable",
"lineno": 51
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 51,
"id": "duree",
"lineno": 51
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 51,
"id": "zone",
"lineno": 51
}
],
"end_col_offset": 33,
"end_lineno": 51,
"lineno": 51
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 51,
"id": "case",
"lineno": 51
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 52,
"lineno": 52,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 52,
"id": "depense",
"lineno": 52
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 52,
"id": "variable",
"lineno": 52
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 52,
"id": "period",
"lineno": 52
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 52,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 52,
"id": "foyer_fiscal",
"lineno": 52
},
"keywords": [],
"lineno": 52
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 55,
"lineno": 55,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 55,
"id": "reduction",
"lineno": 55
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 55,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 55,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 55,
"lineno": 55,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 55,
"lineno": 55,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 55,
"id": "duflot_pinel_denormandie",
"lineno": 55
}
}
},
"lineno": 55,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 55,
"lineno": 55,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 55,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 55,
"lineno": 55,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 55,
"id": "duflot_pinel_denormandie",
"lineno": 55
}
},
"lineno": 55,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 55,
"id": "depenses_cumulees",
"lineno": 55
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 55,
"id": "max_",
"lineno": 55
},
"keywords": [],
"lineno": 55
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 55,
"id": "depense",
"lineno": 55
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 55,
"id": "min_",
"lineno": 55
},
"keywords": [],
"lineno": 55
}
},
"lineno": 55,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 55,
"id": "duree",
"lineno": 55
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 55,
"id": "around",
"lineno": 55
},
"keywords": [],
"lineno": 55
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 57,
"lineno": 54,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 57,
"lineno": 57,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 57,
"id": "reduction",
"lineno": 57
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 57,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 57,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 57,
"lineno": 57,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 57,
"lineno": 57,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 57,
"id": "duflot_pinel_denormandie",
"lineno": 57
}
}
},
"lineno": 57,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 57,
"lineno": 57,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 57,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 57,
"lineno": 57,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 57,
"id": "duflot_pinel_denormandie",
"lineno": 57
}
},
"lineno": 57,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 57,
"id": "depenses_cumulees",
"lineno": 57
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 57,
"id": "max_",
"lineno": 57
},
"keywords": [],
"lineno": 57
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 57,
"id": "depense",
"lineno": 57
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 57,
"id": "min_",
"lineno": 57
},
"keywords": [],
"lineno": 57
}
},
"lineno": 57,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 57,
"id": "duree",
"lineno": 57
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 57,
"id": "around",
"lineno": 57
},
"keywords": [],
"lineno": 57
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 57,
"lineno": 56,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 56,
"lineno": 56,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 56,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 56,
"id": "duree",
"lineno": 56
},
"lineno": 56,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 54,
"lineno": 54,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 54,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 54,
"id": "duree",
"lineno": 54
},
"lineno": 54,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 178,
"end_lineno": 57,
"lineno": 53,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 34,
"end_lineno": 53,
"lineno": 53,
"value": "metropole"
}
],
"end_col_offset": 34,
"end_lineno": 53,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 53,
"id": "zone",
"lineno": 53
},
"lineno": 53,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 58,
"lineno": 58,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 58,
"id": "depenses_cumulees",
"lineno": 58
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 58,
"id": "depense",
"lineno": 58
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 58,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 50,
"id": "cases",
"lineno": 50
},
"lineno": 50,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 50,
"id": "case",
"lineno": 50
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 59,
"lineno": 59,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 59,
"id": "reduction",
"lineno": 59
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 59,
"lineno": 47,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 61,
"lineno": 61,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 61,
"id": "annee_fiscale",
"lineno": 61
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 61,
"lineno": 61,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 61,
"lineno": 61,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 61,
"id": "period",
"lineno": 61
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 62,
"lineno": 62,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 62,
"id": "range_year_investissement",
"lineno": 62
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 62,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 62,
"id": "year",
"lineno": 62
},
"end_col_offset": 90,
"end_lineno": 62,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 62,
"lineno": 62,
"value": 2016
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 62,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 62,
"id": "annee_fiscale",
"lineno": 62
},
"lineno": 62,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 62,
"lineno": 62,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 62,
"id": "range",
"lineno": 62
},
"keywords": [],
"lineno": 62
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 62,
"id": "year",
"lineno": 62
}
}
],
"lineno": 62
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 62,
"id": "set",
"lineno": 62
},
"keywords": [],
"lineno": 62
},
"lineno": 62,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 62,
"id": "year",
"lineno": 62
},
"end_col_offset": 144,
"end_lineno": 62,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 62,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 62,
"lineno": 62,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 62,
"id": "cases_investissement",
"lineno": 62
}
},
"keywords": [],
"lineno": 62
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 62,
"id": "year",
"lineno": 62
}
}
],
"lineno": 62
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 62,
"id": "set",
"lineno": 62
},
"keywords": [],
"lineno": 62
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 62,
"id": "list",
"lineno": 62
},
"keywords": [],
"lineno": 62
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 63,
"lineno": 63,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 63,
"id": "range_year_report",
"lineno": 63
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 63,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 63,
"id": "year",
"lineno": 63
},
"end_col_offset": 78,
"end_lineno": 63,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 63,
"lineno": 63,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 63,
"id": "annee_fiscale",
"lineno": 63
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 63,
"id": "range",
"lineno": 63
},
"keywords": [],
"lineno": 63
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 63,
"id": "year",
"lineno": 63
}
}
],
"lineno": 63
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 63,
"id": "set",
"lineno": 63
},
"keywords": [],
"lineno": 63
},
"lineno": 63,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 63,
"id": "year",
"lineno": 63
},
"end_col_offset": 124,
"end_lineno": 63,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 63,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 63,
"lineno": 63,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 63,
"id": "cases_report",
"lineno": 63
}
},
"keywords": [],
"lineno": 63
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 63,
"id": "year",
"lineno": 63
}
}
],
"lineno": 63
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 63,
"id": "set",
"lineno": 63
},
"keywords": [],
"lineno": 63
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 63,
"id": "list",
"lineno": 63
},
"keywords": [],
"lineno": 63
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 65,
"lineno": 65,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 65,
"id": "reduction_cumulee",
"lineno": 65
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 65,
"lineno": 65,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 65,
"id": "year",
"lineno": 65
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 65,
"id": "cases_investissement",
"lineno": 65
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 65,
"id": "calcul_reduction_investissement",
"lineno": 65
},
"keywords": [],
"lineno": 65
},
"end_col_offset": 127,
"end_lineno": 65,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 65,
"id": "range_year_investissement",
"lineno": 65
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 65,
"id": "year",
"lineno": 65
}
}
],
"lineno": 65
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 65,
"id": "sum",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 66,
"lineno": 66,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 66,
"id": "report",
"lineno": 66
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 66,
"id": "case",
"lineno": 66
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 66,
"id": "period",
"lineno": 66
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 66,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 66,
"id": "foyer_fiscal",
"lineno": 66
},
"keywords": [],
"lineno": 66
},
"end_col_offset": 106,
"end_lineno": 66,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 66,
"id": "range_year_report",
"lineno": 66
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 66,
"id": "year",
"lineno": 66
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 66,
"lineno": 66,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 66,
"id": "year",
"lineno": 66
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 66,
"id": "cases_report",
"lineno": 66
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 66,
"id": "case",
"lineno": 66
}
}
],
"lineno": 66
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 66,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 66,
"id": "sum",
"lineno": 66
},
"keywords": [],
"lineno": 66
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 79,
"end_lineno": 68,
"lineno": 68,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 79,
"end_lineno": 68,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 72,
"end_lineno": 68,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 65,
"end_lineno": 68,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 58,
"end_lineno": 68,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 51,
"end_lineno": 68,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 68,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 68,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 68,
"id": "reduction_cumulee",
"lineno": 68
},
"lineno": 68,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 68,
"id": "report",
"lineno": 68
}
},
"lineno": 68,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 68,
"id": "f7fi",
"lineno": 68
}
},
"lineno": 68,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 68,
"id": "f7fk",
"lineno": 68
}
},
"lineno": 68,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 54,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 58,
"end_lineno": 68,
"id": "f7fr",
"lineno": 68
}
},
"lineno": 68,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 65,
"end_lineno": 68,
"id": "f7fv",
"lineno": 68
}
},
"lineno": 68,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 68,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 68,
"id": "f7fw",
"lineno": 68
}
},
"lineno": 68,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 75,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 68,
"id": "f7fx",
"lineno": 68
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 79,
"end_lineno": 68,
"lineno": 1,
"name": "formula_2019_01_01"
},
"documentation": "\nDuflot + Pinel + Denormandie\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2019_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel + Denormandie\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n cases_investissement = {\n 2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés\n ('f7ql_2019', 9, 'outremer'), # Pinel 2016\n ('f7qp', 9, 'outremer'), # Pinel 2017\n ('f7qu', 9, 'outremer'), # Pinel 2018\n ('f7qq', 9, 'outremer'), # Pinel 2019\n ('f7nd', 9, 'outremer'), # Denormandie\n ('f7qk_2019', 6, 'outremer'), # Pinel 2016\n ('f7qo', 6, 'outremer'), # Pinel 2017\n ('f7qt', 6, 'outremer'), # Pinel 2018\n ('f7qy', 6, 'outremer'), # Pinel\n ('f7nc', 6, 'outremer'), # Denormandie\n ('f7qj_2019', 9, 'metropole'), # Pinel 2016\n ('f7qn', 9, 'metropole'), # Pinel 2017\n ('f7qs', 9, 'metropole'), # Pinel 2018\n ('f7qx', 9, 'metropole'), # Pinel 2019\n ('f7nb', 9, 'metropole'), # Denormandie\n ('f7qi_2019', 6, 'metropole'), # Pinel 2016\n ('f7qm', 6, 'metropole'), # Pinel 2017\n ('f7qr', 6, 'metropole'), # Pinel 2018\n ('f7qw', 6, 'metropole'), # Pinel 2019\n ('f7na', 6, 'metropole')], # Denormandie\n }\n\n cases_report = {\n 2014: ['f7ai', 'f7bi'],\n 2015: ['f7bz', 'f7cz'],\n 2016: ['f7qz', 'f7rz'],\n 2017: ['f7ra', 'f7rb'],\n 2018: ['f7re', 'f7rf']\n }\n\n # Duflot reports\n f7fi = foyer_fiscal('f7fi', period) # 2013\n f7fk = foyer_fiscal('f7fk', period) # 2014\n f7fr = foyer_fiscal('f7fr', period) # 2015\n f7fv = foyer_fiscal('f7fv', period) # 2016\n f7fw = foyer_fiscal('f7fw', period) # 2017\n f7fx = foyer_fiscal('f7fx', period) # 2018\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'metropole':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2016, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n return reduction_cumulee + report + f7fi + f7fk + f7fr + f7fv + f7fw + f7fx\n",
"start_line_number": 354,
"stop_line_number": 422,
"variables": [
"f7fi",
"f7fk",
"f7fr",
"f7fv",
"f7fw",
"f7fx"
]
},
"2020-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 6,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 6,
"lineno": 2,
"value": "\n Duflot + Pinel + Denormandie\n NB: it is not clear whether the extension of the Pinel investment should also\n count towards the ceiling of € 300K. I will assume it does.\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 7,
"lineno": 7,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 7,
"id": "duflot_pinel_denormandie",
"lineno": 7
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 7,
"lineno": 7,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 7,
"id": "period",
"lineno": 7
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 7,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 7,
"id": "parameters",
"lineno": 7
},
"keywords": [],
"lineno": 7
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 34,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 8,
"id": "cases_investissement",
"lineno": 8
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 34,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 9,
"lineno": 9,
"value": 2019
}
],
"lineno": 8,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 10,
"lineno": 10,
"value": "f7qp"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 10,
"lineno": 10,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 10,
"lineno": 10,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 10,
"lineno": 10
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 11,
"lineno": 11,
"value": "f7qu"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 11,
"lineno": 11,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 11,
"lineno": 11,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 11,
"lineno": 11
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 12,
"lineno": 12,
"value": "f7qq"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 12,
"lineno": 12,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 12,
"lineno": 12,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 12,
"lineno": 12
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 13,
"lineno": 13,
"value": "f7nd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 13,
"lineno": 13,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 13,
"lineno": 13,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 13,
"lineno": 13
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 14,
"lineno": 14,
"value": "f7qd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 14,
"lineno": 14,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 14,
"lineno": 14,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 14,
"lineno": 14
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 15,
"lineno": 15,
"value": "f7nh"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 15,
"lineno": 15,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 15,
"lineno": 15,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 15,
"lineno": 15
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 16,
"value": "f7qo"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 16,
"lineno": 16,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 16,
"lineno": 16,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 16,
"lineno": 16
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 17,
"lineno": 17,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 17,
"lineno": 17,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 17,
"lineno": 17,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 18,
"lineno": 18,
"value": "f7qy"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 18,
"lineno": 18,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 18,
"lineno": 18,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 19,
"lineno": 19,
"value": "f7nc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 19,
"lineno": 19,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 19,
"lineno": 19,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 19,
"lineno": 19
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 20,
"lineno": 20,
"value": "f7qc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 20,
"lineno": 20,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 20,
"lineno": 20,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 20,
"lineno": 20
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 21,
"lineno": 21,
"value": "f7ng"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 21,
"lineno": 21,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 21,
"lineno": 21,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 21,
"lineno": 21
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 22,
"lineno": 22,
"value": "f7qn"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 22,
"lineno": 22,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 22,
"lineno": 22,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 22,
"lineno": 22
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 23,
"lineno": 23,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 23,
"lineno": 23,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 23,
"lineno": 23,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 23,
"lineno": 23
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 24,
"lineno": 24,
"value": "f7qx"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 24,
"lineno": 24,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 24,
"lineno": 24,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 24,
"lineno": 24
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 25,
"lineno": 25,
"value": "f7nb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 25,
"lineno": 25,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 25,
"lineno": 25
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 26,
"lineno": 26,
"value": "f7qb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 26,
"lineno": 26,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 26,
"lineno": 26
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 27,
"lineno": 27,
"value": "f7nf"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 27,
"lineno": 27,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 27,
"lineno": 27
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 28,
"lineno": 28,
"value": "f7qm"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 28,
"lineno": 28,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 28,
"lineno": 28,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 28,
"lineno": 28
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 29,
"lineno": 29,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 29,
"lineno": 29,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 29,
"lineno": 29,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 29,
"lineno": 29
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 30,
"lineno": 30,
"value": "f7qw"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 30,
"lineno": 30,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 30,
"lineno": 30,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 30,
"lineno": 30
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 31,
"lineno": 31,
"value": "f7na"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 31,
"lineno": 31,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 31,
"lineno": 31,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 31,
"lineno": 31
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 32,
"lineno": 32,
"value": "f7qa"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 32,
"lineno": 32,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 32,
"lineno": 32,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 33,
"lineno": 33,
"value": "f7ne"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 33,
"lineno": 33,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 33,
"lineno": 33,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 33,
"lineno": 33
}
],
"end_col_offset": 37,
"end_lineno": 33,
"lineno": 9
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 43,
"lineno": 36,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 36,
"id": "cases_report",
"lineno": 36
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 43,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 37,
"lineno": 37,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 38,
"lineno": 38,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 39,
"lineno": 39,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 40,
"lineno": 40,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 41,
"lineno": 41,
"value": 2018
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 42,
"lineno": 42,
"value": 2019
}
],
"lineno": 36,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 37,
"lineno": 37,
"value": "f7bi"
}
],
"end_col_offset": 22,
"end_lineno": 37,
"lineno": 37
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 38,
"lineno": 38,
"value": "f7bz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 38,
"lineno": 38,
"value": "f7cz"
}
],
"end_col_offset": 30,
"end_lineno": 38,
"lineno": 38
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 39,
"lineno": 39,
"value": "f7qz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 39,
"lineno": 39,
"value": "f7rz"
}
],
"end_col_offset": 30,
"end_lineno": 39,
"lineno": 39
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 40,
"lineno": 40,
"value": "f7ra"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 40,
"lineno": 40,
"value": "f7rb"
}
],
"end_col_offset": 30,
"end_lineno": 40,
"lineno": 40
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 41,
"lineno": 41,
"value": "f7re"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 41,
"lineno": 41,
"value": "f7rf"
}
],
"end_col_offset": 30,
"end_lineno": 41,
"lineno": 41
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 42,
"lineno": 42,
"value": "f7jm"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 42,
"lineno": 42,
"value": "f7km"
},
{
"ast_class": "Constant",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 42,
"lineno": 42,
"value": "f7ja"
},
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 45,
"end_lineno": 42,
"lineno": 42,
"value": "f7jb"
}
],
"end_col_offset": 46,
"end_lineno": 42,
"lineno": 42
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 46,
"lineno": 46,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 46,
"id": "f7fi",
"lineno": 46
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 46,
"lineno": 46,
"value": "f7fi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 46,
"id": "period",
"lineno": 46
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 46,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 46,
"id": "foyer_fiscal",
"lineno": 46
},
"keywords": [],
"lineno": 46
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 47,
"lineno": 47,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 47,
"id": "f7fk",
"lineno": 47
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 47,
"lineno": 47,
"value": "f7fk"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 47,
"id": "period",
"lineno": 47
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 47,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 47,
"id": "foyer_fiscal",
"lineno": 47
},
"keywords": [],
"lineno": 47
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 48,
"lineno": 48,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 48,
"id": "f7fr",
"lineno": 48
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 48,
"lineno": 48,
"value": "f7fr"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 48,
"id": "period",
"lineno": 48
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 48,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 48,
"id": "foyer_fiscal",
"lineno": 48
},
"keywords": [],
"lineno": 48
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 49,
"lineno": 49,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 49,
"id": "f7fv",
"lineno": 49
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 49,
"lineno": 49,
"value": "f7fv"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 49,
"id": "period",
"lineno": 49
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 49,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 49,
"id": "foyer_fiscal",
"lineno": 49
},
"keywords": [],
"lineno": 49
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 50,
"lineno": 50,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 50,
"id": "f7fw",
"lineno": 50
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 50,
"lineno": 50,
"value": "f7fw"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 50,
"id": "period",
"lineno": 50
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 50,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 50,
"id": "foyer_fiscal",
"lineno": 50
},
"keywords": [],
"lineno": 50
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 51,
"lineno": 51,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 51,
"id": "f7fx",
"lineno": 51
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 51,
"lineno": 51,
"value": "f7fx"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 51,
"id": "period",
"lineno": 51
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 51,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 51,
"id": "foyer_fiscal",
"lineno": 51
},
"keywords": [],
"lineno": 51
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 54,
"lineno": 54,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 54,
"id": "f7rr",
"lineno": 54
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 54,
"lineno": 54,
"value": "f7rr"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 54,
"id": "period",
"lineno": 54
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 54,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 54,
"id": "foyer_fiscal",
"lineno": 54
},
"keywords": [],
"lineno": 54
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 55,
"lineno": 55,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 55,
"id": "f7rs",
"lineno": 55
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 55,
"lineno": 55,
"value": "f7rs"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 55,
"id": "period",
"lineno": 55
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 55,
"id": "foyer_fiscal",
"lineno": 55
},
"keywords": [],
"lineno": 55
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 57,
"lineno": 57
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 58,
"lineno": 58,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 58,
"id": "reduction",
"lineno": 58
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 58,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 58,
"lineno": 58,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 58,
"id": "foyer_fiscal",
"lineno": 58
}
},
"keywords": [],
"lineno": 58
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 59,
"lineno": 59,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 59,
"id": "depenses_cumulees",
"lineno": 59
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 59,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 59,
"lineno": 59,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 59,
"id": "foyer_fiscal",
"lineno": 59
}
},
"keywords": [],
"lineno": 59
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 61,
"lineno": 61,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 61,
"id": "variable",
"lineno": 61
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 61,
"id": "duree",
"lineno": 61
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 61,
"id": "zone",
"lineno": 61
}
],
"end_col_offset": 33,
"end_lineno": 61,
"lineno": 61
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 61,
"id": "case",
"lineno": 61
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 62,
"lineno": 62,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 62,
"id": "depense",
"lineno": 62
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 62,
"id": "variable",
"lineno": 62
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 62,
"id": "period",
"lineno": 62
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 62,
"id": "foyer_fiscal",
"lineno": 62
},
"keywords": [],
"lineno": 62
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 65,
"lineno": 65,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 65,
"id": "reduction",
"lineno": 65
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 65,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 65,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 65,
"id": "duflot_pinel_denormandie",
"lineno": 65
}
}
},
"lineno": 65,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 65,
"lineno": 65,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 65,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 65,
"id": "duflot_pinel_denormandie",
"lineno": 65
}
},
"lineno": 65,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 65,
"id": "depenses_cumulees",
"lineno": 65
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 65,
"id": "max_",
"lineno": 65
},
"keywords": [],
"lineno": 65
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 65,
"id": "depense",
"lineno": 65
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 65,
"id": "min_",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
},
"lineno": 65,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 65,
"id": "duree",
"lineno": 65
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 65,
"id": "around",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 67,
"lineno": 64,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 67,
"lineno": 67,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 67,
"id": "reduction",
"lineno": 67
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 67,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 67,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 67,
"lineno": 67,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 67,
"lineno": 67,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 67,
"id": "duflot_pinel_denormandie",
"lineno": 67
}
}
},
"lineno": 67,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 67,
"lineno": 67,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 67,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 67,
"lineno": 67,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 67,
"id": "duflot_pinel_denormandie",
"lineno": 67
}
},
"lineno": 67,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 67,
"id": "depenses_cumulees",
"lineno": 67
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 67,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 67,
"id": "max_",
"lineno": 67
},
"keywords": [],
"lineno": 67
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 67,
"id": "depense",
"lineno": 67
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 67,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 67,
"id": "min_",
"lineno": 67
},
"keywords": [],
"lineno": 67
}
},
"lineno": 67,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 67,
"id": "duree",
"lineno": 67
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 67,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 67,
"id": "around",
"lineno": 67
},
"keywords": [],
"lineno": 67
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 67,
"lineno": 66,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 66,
"lineno": 66,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 66,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 66,
"id": "duree",
"lineno": 66
},
"lineno": 66,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 64,
"lineno": 64,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 64,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 64,
"id": "duree",
"lineno": 64
},
"lineno": 64,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 178,
"end_lineno": 67,
"lineno": 63,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 34,
"end_lineno": 63,
"lineno": 63,
"value": "metropole"
}
],
"end_col_offset": 34,
"end_lineno": 63,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 63,
"id": "zone",
"lineno": 63
},
"lineno": 63,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 68,
"lineno": 68,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 68,
"id": "depenses_cumulees",
"lineno": 68
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 68,
"id": "depense",
"lineno": 68
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 68,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 60,
"id": "cases",
"lineno": 60
},
"lineno": 60,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 60,
"id": "case",
"lineno": 60
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 69,
"lineno": 69,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 69,
"id": "reduction",
"lineno": 69
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 69,
"lineno": 57,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 71,
"lineno": 71,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 71,
"id": "annee_fiscale",
"lineno": 71
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 71,
"lineno": 71,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 71,
"lineno": 71,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 71,
"id": "period",
"lineno": 71
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 72,
"lineno": 72,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 72,
"id": "range_year_investissement",
"lineno": 72
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 72,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 72,
"id": "year",
"lineno": 72
},
"end_col_offset": 90,
"end_lineno": 72,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 72,
"lineno": 72,
"value": 2018
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 72,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 72,
"id": "annee_fiscale",
"lineno": 72
},
"lineno": 72,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 72,
"lineno": 72,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 72,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 72,
"id": "range",
"lineno": 72
},
"keywords": [],
"lineno": 72
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 72,
"id": "year",
"lineno": 72
}
}
],
"lineno": 72
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 72,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 72,
"id": "set",
"lineno": 72
},
"keywords": [],
"lineno": 72
},
"lineno": 72,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 72,
"id": "year",
"lineno": 72
},
"end_col_offset": 144,
"end_lineno": 72,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 72,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 72,
"lineno": 72,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 72,
"id": "cases_investissement",
"lineno": 72
}
},
"keywords": [],
"lineno": 72
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 72,
"id": "year",
"lineno": 72
}
}
],
"lineno": 72
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 72,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 72,
"id": "set",
"lineno": 72
},
"keywords": [],
"lineno": 72
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 72,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 72,
"id": "list",
"lineno": 72
},
"keywords": [],
"lineno": 72
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 73,
"lineno": 73,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 73,
"id": "range_year_report",
"lineno": 73
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 73,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 73,
"id": "year",
"lineno": 73
},
"end_col_offset": 78,
"end_lineno": 73,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 73,
"lineno": 73,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 73,
"id": "annee_fiscale",
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 73,
"id": "range",
"lineno": 73
},
"keywords": [],
"lineno": 73
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 73,
"id": "year",
"lineno": 73
}
}
],
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 73,
"id": "set",
"lineno": 73
},
"keywords": [],
"lineno": 73
},
"lineno": 73,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 73,
"id": "year",
"lineno": 73
},
"end_col_offset": 124,
"end_lineno": 73,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 73,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 73,
"lineno": 73,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 73,
"id": "cases_report",
"lineno": 73
}
},
"keywords": [],
"lineno": 73
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 73,
"id": "year",
"lineno": 73
}
}
],
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 73,
"id": "set",
"lineno": 73
},
"keywords": [],
"lineno": 73
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 73,
"id": "list",
"lineno": 73
},
"keywords": [],
"lineno": 73
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 75,
"lineno": 75,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 75,
"id": "reduction_cumulee",
"lineno": 75
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 75,
"lineno": 75,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 75,
"id": "year",
"lineno": 75
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 75,
"id": "cases_investissement",
"lineno": 75
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 75,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 75,
"id": "calcul_reduction_investissement",
"lineno": 75
},
"keywords": [],
"lineno": 75
},
"end_col_offset": 127,
"end_lineno": 75,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 75,
"id": "range_year_investissement",
"lineno": 75
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 75,
"id": "year",
"lineno": 75
}
}
],
"lineno": 75
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 75,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 75,
"id": "sum",
"lineno": 75
},
"keywords": [],
"lineno": 75
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 76,
"lineno": 76,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 76,
"id": "report",
"lineno": 76
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 76,
"id": "case",
"lineno": 76
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 76,
"id": "period",
"lineno": 76
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 76,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 76,
"id": "foyer_fiscal",
"lineno": 76
},
"keywords": [],
"lineno": 76
},
"end_col_offset": 106,
"end_lineno": 76,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 76,
"id": "range_year_report",
"lineno": 76
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 76,
"id": "year",
"lineno": 76
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 76,
"lineno": 76,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 76,
"id": "year",
"lineno": 76
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 76,
"id": "cases_report",
"lineno": 76
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 76,
"id": "case",
"lineno": 76
}
}
],
"lineno": 76
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 76,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 76,
"id": "sum",
"lineno": 76
},
"keywords": [],
"lineno": 76
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 145,
"end_lineno": 78,
"lineno": 78,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 15,
"end_lineno": 78,
"id": "prorogation",
"lineno": 78
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 144,
"end_lineno": 78,
"left": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 140,
"end_lineno": 78,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 30,
"end_col_offset": 69,
"end_lineno": 78,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 78,
"lineno": 78,
"value": {
"ast_class": "Name",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 54,
"end_lineno": 78,
"id": "duflot_pinel_denormandie",
"lineno": 78
}
},
"lineno": 78,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 65,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 69,
"end_lineno": 78,
"id": "f7rs",
"lineno": 78
}
},
{
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 78,
"id": "f7rr",
"lineno": 78
}
],
"ast_class": "Call",
"col_offset": 25,
"end_col_offset": 76,
"end_lineno": 78,
"func": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 78,
"id": "min_",
"lineno": 78
},
"keywords": [],
"lineno": 78
},
"lineno": 78,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_prolong1_6ans",
"col_offset": 79,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 78,
"lineno": 78,
"value": {
"ast_class": "Attribute",
"attr": "taux_prolongation",
"col_offset": 79,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 78,
"lineno": 78,
"value": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 78,
"id": "duflot_pinel_denormandie",
"lineno": 78
}
}
}
},
"lineno": 78,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 143,
"end_col_offset": 144,
"end_lineno": 78,
"lineno": 78,
"value": 3
}
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 145,
"end_lineno": 78,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 78,
"id": "around",
"lineno": 78
},
"keywords": [],
"lineno": 78
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 93,
"end_lineno": 80,
"lineno": 80,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 93,
"end_lineno": 80,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 79,
"end_lineno": 80,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 72,
"end_lineno": 80,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 65,
"end_lineno": 80,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 58,
"end_lineno": 80,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 51,
"end_lineno": 80,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 80,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 80,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 80,
"id": "reduction_cumulee",
"lineno": 80
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 80,
"id": "report",
"lineno": 80
}
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 80,
"id": "f7fi",
"lineno": 80
}
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 80,
"id": "f7fk",
"lineno": 80
}
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 54,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 58,
"end_lineno": 80,
"id": "f7fr",
"lineno": 80
}
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 65,
"end_lineno": 80,
"id": "f7fv",
"lineno": 80
}
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 68,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 80,
"id": "f7fw",
"lineno": 80
}
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 75,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 80,
"id": "f7fx",
"lineno": 80
}
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 93,
"end_lineno": 80,
"id": "prorogation",
"lineno": 80
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 93,
"end_lineno": 80,
"lineno": 1,
"name": "formula_2020_01_01"
},
"documentation": "\nDuflot + Pinel + Denormandie\nNB: it is not clear whether the extension of the Pinel investment should also\ncount towards the ceiling of € 300K. I will assume it does.\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans"
],
"source_code": "def formula_2020_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel + Denormandie\n NB: it is not clear whether the extension of the Pinel investment should also\n count towards the ceiling of € 300K. I will assume it does.\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n cases_investissement = {\n 2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés\n ('f7qp', 9, 'outremer'), # Pinel 2017\n ('f7qu', 9, 'outremer'), # Pinel 2018\n ('f7qq', 9, 'outremer'), # Pinel 2019\n ('f7nd', 9, 'outremer'), # Denormandie 2019\n ('f7qd', 9, 'outremer'), # Pinel 2020\n ('f7nh', 9, 'outremer'), # Denormandie 2020\n ('f7qo', 6, 'outremer'), # Pinel 2017\n ('f7qt', 6, 'outremer'), # Pinel 2018\n ('f7qy', 6, 'outremer'), # Pinel 2019\n ('f7nc', 6, 'outremer'), # Denormandie 2019\n ('f7qc', 6, 'outremer'), # Pinel 2020\n ('f7ng', 6, 'outremer'), # Denormandie 2020\n ('f7qn', 9, 'metropole'), # Pinel 2017\n ('f7qs', 9, 'metropole'), # Pinel 2018\n ('f7qx', 9, 'metropole'), # Pinel 2019\n ('f7nb', 9, 'metropole'), # Denormandie 2019\n ('f7qb', 9, 'metropole'), # Pinel 2020\n ('f7nf', 9, 'metropole'), # Denormandie 2020\n ('f7qm', 6, 'metropole'), # Pinel 2017\n ('f7qr', 6, 'metropole'), # Pinel 2018\n ('f7qw', 6, 'metropole'), # Pinel 2019\n ('f7na', 6, 'metropole'), # Denormandie 2019\n ('f7qa', 6, 'metropole'), # Pinel 2020\n ('f7ne', 6, 'metropole')], # Denormandie 2020\n }\n\n cases_report = {\n 2014: ['f7bi'],\n 2015: ['f7bz', 'f7cz'],\n 2016: ['f7qz', 'f7rz'],\n 2017: ['f7ra', 'f7rb'],\n 2018: ['f7re', 'f7rf'],\n 2019: ['f7jm', 'f7km', 'f7ja', 'f7jb'] # reports Pinel et denormandie\n }\n\n # Duflot reports\n f7fi = foyer_fiscal('f7fi', period) # 2013\n f7fk = foyer_fiscal('f7fk', period) # 2014\n f7fr = foyer_fiscal('f7fr', period) # 2015\n f7fv = foyer_fiscal('f7fv', period) # 2016\n f7fw = foyer_fiscal('f7fw', period) # 2017\n f7fx = foyer_fiscal('f7fx', period) # 2018\n\n # Première prorogation, 6 ans, 2014\n f7rr = foyer_fiscal('f7rr', period) # Métropole, 6 ans\n f7rs = foyer_fiscal('f7rs', period) # Outre-Mer, 6 ans\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'metropole':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2018, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n prorogation = around(min_(duflot_pinel_denormandie.plafond - f7rs, f7rr) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)\n\n return reduction_cumulee + report + f7fi + f7fk + f7fr + f7fv + f7fw + f7fx + prorogation\n",
"start_line_number": 423,
"stop_line_number": 503,
"variables": [
"f7fi",
"f7fk",
"f7fr",
"f7fv",
"f7fw",
"f7fx",
"f7rr",
"f7rs"
]
},
"2021-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot + Pinel + Denormandie\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 5,
"id": "duflot_pinel_denormandie",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 36,
"lineno": 6,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 6,
"id": "cases_investissement",
"lineno": 6
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 36,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 7,
"lineno": 7,
"value": 2019
}
],
"lineno": 6,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 8,
"lineno": 8,
"value": "f7qu"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 8,
"lineno": 8,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 8,
"lineno": 8,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 8,
"lineno": 8
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 9,
"lineno": 9,
"value": "f7qq"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 9,
"lineno": 9,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 9,
"lineno": 9,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 9,
"lineno": 9
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 10,
"lineno": 10,
"value": "f7nd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 10,
"lineno": 10,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 10,
"lineno": 10,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 10,
"lineno": 10
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 11,
"lineno": 11,
"value": "f7qd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 11,
"lineno": 11,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 11,
"lineno": 11,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 11,
"lineno": 11
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 12,
"lineno": 12,
"value": "f7nh"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 12,
"lineno": 12,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 12,
"lineno": 12,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 12,
"lineno": 12
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 13,
"lineno": 13,
"value": "f7ql"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 13,
"lineno": 13,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 13,
"lineno": 13,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 13,
"lineno": 13
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 14,
"lineno": 14,
"value": "f7nl"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 14,
"lineno": 14,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 14,
"lineno": 14,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 14,
"lineno": 14
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 15,
"lineno": 15,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 15,
"lineno": 15,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 15,
"lineno": 15,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 15,
"lineno": 15
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 16,
"value": "f7qy"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 16,
"lineno": 16,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 16,
"lineno": 16,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 16,
"lineno": 16
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 17,
"lineno": 17,
"value": "f7nc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 17,
"lineno": 17,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 17,
"lineno": 17,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 18,
"lineno": 18,
"value": "f7qc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 18,
"lineno": 18,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 18,
"lineno": 18,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 19,
"lineno": 19,
"value": "f7ng"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 19,
"lineno": 19,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 19,
"lineno": 19,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 19,
"lineno": 19
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 20,
"lineno": 20,
"value": "f7qk"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 20,
"lineno": 20,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 20,
"lineno": 20,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 20,
"lineno": 20
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 21,
"lineno": 21,
"value": "f7nk"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 21,
"lineno": 21,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 21,
"lineno": 21,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 21,
"lineno": 21
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 22,
"lineno": 22,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 22,
"lineno": 22,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 22,
"lineno": 22,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 22,
"lineno": 22
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 23,
"lineno": 23,
"value": "f7qx"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 23,
"lineno": 23,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 23,
"lineno": 23,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 23,
"lineno": 23
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 24,
"lineno": 24,
"value": "f7nb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 24,
"lineno": 24,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 24,
"lineno": 24,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 24,
"lineno": 24
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 25,
"lineno": 25,
"value": "f7qb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 25,
"lineno": 25,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 25,
"lineno": 25
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 26,
"lineno": 26,
"value": "f7nf"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 26,
"lineno": 26,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 26,
"lineno": 26
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 27,
"lineno": 27,
"value": "f7qj"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 27,
"lineno": 27,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 27,
"lineno": 27
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 28,
"lineno": 28,
"value": "f7nj"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 28,
"lineno": 28,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 28,
"lineno": 28,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 28,
"lineno": 28
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 29,
"lineno": 29,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 29,
"lineno": 29,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 29,
"lineno": 29,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 29,
"lineno": 29
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 30,
"lineno": 30,
"value": "f7qw"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 30,
"lineno": 30,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 30,
"lineno": 30,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 30,
"lineno": 30
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 31,
"lineno": 31,
"value": "f7na"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 31,
"lineno": 31,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 31,
"lineno": 31,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 31,
"lineno": 31
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 32,
"lineno": 32,
"value": "f7qa"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 32,
"lineno": 32,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 32,
"lineno": 32,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 33,
"lineno": 33,
"value": "f7ne"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 33,
"lineno": 33,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 33,
"lineno": 33,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 33,
"lineno": 33
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 34,
"lineno": 34,
"value": "f7qi"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 34,
"lineno": 34,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 34,
"lineno": 34,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 34,
"lineno": 34
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 35,
"lineno": 35,
"value": "f7ni"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 35,
"lineno": 35,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 35,
"lineno": 35,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 35,
"lineno": 35
}
],
"end_col_offset": 37,
"end_lineno": 35,
"lineno": 7
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 46,
"lineno": 38,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 38,
"id": "cases_report",
"lineno": 38
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 46,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 39,
"lineno": 39,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 40,
"lineno": 40,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 41,
"lineno": 41,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 42,
"lineno": 42,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 43,
"lineno": 43,
"value": 2018
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 44,
"lineno": 44,
"value": 2019
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 45,
"lineno": 45,
"value": 2020
}
],
"lineno": 38,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 39,
"lineno": 39,
"value": "f7bi"
}
],
"end_col_offset": 22,
"end_lineno": 39,
"lineno": 39
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 40,
"lineno": 40,
"value": "f7cz"
}
],
"end_col_offset": 22,
"end_lineno": 40,
"lineno": 40
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 41,
"lineno": 41,
"value": "f7qz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 41,
"lineno": 41,
"value": "f7rz"
}
],
"end_col_offset": 30,
"end_lineno": 41,
"lineno": 41
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 42,
"lineno": 42,
"value": "f7ra"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 42,
"lineno": 42,
"value": "f7rb"
}
],
"end_col_offset": 30,
"end_lineno": 42,
"lineno": 42
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 43,
"lineno": 43,
"value": "f7re"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 43,
"lineno": 43,
"value": "f7rf"
}
],
"end_col_offset": 30,
"end_lineno": 43,
"lineno": 43
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 44,
"lineno": 44,
"value": "f7jm"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 44,
"lineno": 44,
"value": "f7km"
},
{
"ast_class": "Constant",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 44,
"lineno": 44,
"value": "f7ja"
},
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 45,
"end_lineno": 44,
"lineno": 44,
"value": "f7jb"
}
],
"end_col_offset": 46,
"end_lineno": 44,
"lineno": 44
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 45,
"lineno": 45,
"value": "f7jn"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 45,
"lineno": 45,
"value": "f7jo"
},
{
"ast_class": "Constant",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 45,
"lineno": 45,
"value": "f7jr"
},
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 45,
"end_lineno": 45,
"lineno": 45,
"value": "f7js"
}
],
"end_col_offset": 46,
"end_lineno": 45,
"lineno": 45
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 49,
"lineno": 49,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 49,
"id": "f7fi",
"lineno": 49
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 49,
"lineno": 49,
"value": "f7fi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 49,
"id": "period",
"lineno": 49
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 49,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 49,
"id": "foyer_fiscal",
"lineno": 49
},
"keywords": [],
"lineno": 49
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 50,
"lineno": 50,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 50,
"id": "f7fk",
"lineno": 50
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 50,
"lineno": 50,
"value": "f7fk"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 50,
"id": "period",
"lineno": 50
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 50,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 50,
"id": "foyer_fiscal",
"lineno": 50
},
"keywords": [],
"lineno": 50
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 51,
"lineno": 51,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 51,
"id": "f7fr",
"lineno": 51
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 51,
"lineno": 51,
"value": "f7fr"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 51,
"id": "period",
"lineno": 51
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 51,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 51,
"id": "foyer_fiscal",
"lineno": 51
},
"keywords": [],
"lineno": 51
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 52,
"lineno": 52,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 52,
"id": "f7fv",
"lineno": 52
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 52,
"lineno": 52,
"value": "f7fv"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 52,
"id": "period",
"lineno": 52
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 52,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 52,
"id": "foyer_fiscal",
"lineno": 52
},
"keywords": [],
"lineno": 52
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 53,
"lineno": 53,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 53,
"id": "f7fw",
"lineno": 53
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 53,
"lineno": 53,
"value": "f7fw"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 53,
"id": "period",
"lineno": 53
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 53,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 53,
"id": "foyer_fiscal",
"lineno": 53
},
"keywords": [],
"lineno": 53
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 54,
"lineno": 54,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 54,
"id": "f7fx",
"lineno": 54
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 54,
"lineno": 54,
"value": "f7fx"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 54,
"id": "period",
"lineno": 54
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 54,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 54,
"id": "foyer_fiscal",
"lineno": 54
},
"keywords": [],
"lineno": 54
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 57,
"lineno": 57,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 57,
"id": "f7rr",
"lineno": 57
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 57,
"lineno": 57,
"value": "f7rr"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 57,
"id": "period",
"lineno": 57
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 57,
"id": "foyer_fiscal",
"lineno": 57
},
"keywords": [],
"lineno": 57
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 58,
"lineno": 58,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 58,
"id": "f7rs",
"lineno": 58
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 58,
"lineno": 58,
"value": "f7rs"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 58,
"id": "period",
"lineno": 58
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 58,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 58,
"id": "foyer_fiscal",
"lineno": 58
},
"keywords": [],
"lineno": 58
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 59,
"lineno": 59,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 59,
"id": "f7rx",
"lineno": 59
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 59,
"lineno": 59,
"value": "f7rx"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 59,
"id": "period",
"lineno": 59
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 59,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 59,
"id": "foyer_fiscal",
"lineno": 59
},
"keywords": [],
"lineno": 59
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 60,
"lineno": 60,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 60,
"id": "f7ry",
"lineno": 60
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 60,
"lineno": 60,
"value": "f7ry"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 60,
"id": "period",
"lineno": 60
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 60,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 60,
"id": "foyer_fiscal",
"lineno": 60
},
"keywords": [],
"lineno": 60
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 63,
"lineno": 63,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 63,
"id": "f7sx",
"lineno": 63
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 63,
"lineno": 63,
"value": "f7sx_2022"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 63,
"id": "period",
"lineno": 63
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 63,
"id": "foyer_fiscal",
"lineno": 63
},
"keywords": [],
"lineno": 63
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 65,
"lineno": 65
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 66,
"lineno": 66,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 66,
"id": "reduction",
"lineno": 66
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 66,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 66,
"lineno": 66,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 66,
"id": "foyer_fiscal",
"lineno": 66
}
},
"keywords": [],
"lineno": 66
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 67,
"lineno": 67,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 67,
"id": "depenses_cumulees",
"lineno": 67
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 67,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 67,
"lineno": 67,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 67,
"id": "foyer_fiscal",
"lineno": 67
}
},
"keywords": [],
"lineno": 67
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 69,
"lineno": 69,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 69,
"id": "variable",
"lineno": 69
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 69,
"id": "duree",
"lineno": 69
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 69,
"id": "zone",
"lineno": 69
}
],
"end_col_offset": 33,
"end_lineno": 69,
"lineno": 69
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 69,
"id": "case",
"lineno": 69
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 70,
"lineno": 70,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 70,
"id": "depense",
"lineno": 70
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 70,
"id": "variable",
"lineno": 70
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 70,
"id": "period",
"lineno": 70
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 70,
"id": "foyer_fiscal",
"lineno": 70
},
"keywords": [],
"lineno": 70
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 73,
"lineno": 73,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 73,
"id": "reduction",
"lineno": 73
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 73,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 73,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 73,
"lineno": 73,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 73,
"lineno": 73,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 73,
"id": "duflot_pinel_denormandie",
"lineno": 73
}
}
},
"lineno": 73,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 73,
"lineno": 73,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 73,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 73,
"lineno": 73,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 73,
"id": "duflot_pinel_denormandie",
"lineno": 73
}
},
"lineno": 73,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 73,
"id": "depenses_cumulees",
"lineno": 73
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 73,
"id": "max_",
"lineno": 73
},
"keywords": [],
"lineno": 73
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 73,
"id": "depense",
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 73,
"id": "min_",
"lineno": 73
},
"keywords": [],
"lineno": 73
}
},
"lineno": 73,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 73,
"id": "duree",
"lineno": 73
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 73,
"id": "around",
"lineno": 73
},
"keywords": [],
"lineno": 73
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 75,
"lineno": 72,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 178,
"end_lineno": 75,
"lineno": 75,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 75,
"id": "reduction",
"lineno": 75
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 177,
"end_lineno": 75,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 169,
"end_lineno": 75,
"left": {
"ast_class": "Attribute",
"attr": "taux_metro",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 90,
"end_lineno": 75,
"lineno": 75,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 75,
"lineno": 75,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 75,
"id": "duflot_pinel_denormandie",
"lineno": 75
}
}
},
"lineno": 75,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 103,
"end_col_offset": 104,
"end_lineno": 75,
"lineno": 75,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 106,
"end_col_offset": 158,
"end_lineno": 75,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 138,
"end_lineno": 75,
"lineno": 75,
"value": {
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 130,
"end_lineno": 75,
"id": "duflot_pinel_denormandie",
"lineno": 75
}
},
"lineno": 75,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 141,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 158,
"end_lineno": 75,
"id": "depenses_cumulees",
"lineno": 75
}
}
],
"ast_class": "Call",
"col_offset": 98,
"end_col_offset": 159,
"end_lineno": 75,
"func": {
"ast_class": "Name",
"col_offset": 98,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 102,
"end_lineno": 75,
"id": "max_",
"lineno": 75
},
"keywords": [],
"lineno": 75
},
{
"ast_class": "Name",
"col_offset": 161,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 168,
"end_lineno": 75,
"id": "depense",
"lineno": 75
}
],
"ast_class": "Call",
"col_offset": 93,
"end_col_offset": 169,
"end_lineno": 75,
"func": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 75,
"id": "min_",
"lineno": 75
},
"keywords": [],
"lineno": 75
}
},
"lineno": 75,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 172,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 177,
"end_lineno": 75,
"id": "duree",
"lineno": 75
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 178,
"end_lineno": 75,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 75,
"id": "around",
"lineno": 75
},
"keywords": [],
"lineno": 75
}
}
],
"col_offset": 16,
"end_col_offset": 178,
"end_lineno": 75,
"lineno": 74,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 74,
"lineno": 74,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 74,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 74,
"id": "duree",
"lineno": 74
},
"lineno": 74,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 72,
"lineno": 72,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 72,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 72,
"id": "duree",
"lineno": 72
},
"lineno": 72,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 178,
"end_lineno": 75,
"lineno": 71,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 34,
"end_lineno": 71,
"lineno": 71,
"value": "metropole"
}
],
"end_col_offset": 34,
"end_lineno": 71,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 71,
"id": "zone",
"lineno": 71
},
"lineno": 71,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 76,
"lineno": 76,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 76,
"id": "depenses_cumulees",
"lineno": 76
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 76,
"id": "depense",
"lineno": 76
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 76,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 68,
"id": "cases",
"lineno": 68
},
"lineno": 68,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 68,
"id": "case",
"lineno": 68
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 77,
"lineno": 77,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 77,
"id": "reduction",
"lineno": 77
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 77,
"lineno": 65,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 79,
"lineno": 79,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 79,
"id": "annee_fiscale",
"lineno": 79
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 79,
"lineno": 79,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 79,
"lineno": 79,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 79,
"id": "period",
"lineno": 79
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 80,
"lineno": 80,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 80,
"id": "range_year_investissement",
"lineno": 80
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 80,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 80,
"id": "year",
"lineno": 80
},
"end_col_offset": 90,
"end_lineno": 80,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 80,
"lineno": 80,
"value": 2018
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 80,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 80,
"id": "annee_fiscale",
"lineno": 80
},
"lineno": 80,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 80,
"lineno": 80,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 80,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 80,
"id": "range",
"lineno": 80
},
"keywords": [],
"lineno": 80
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 80,
"id": "year",
"lineno": 80
}
}
],
"lineno": 80
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 80,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 80,
"id": "set",
"lineno": 80
},
"keywords": [],
"lineno": 80
},
"lineno": 80,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 80,
"id": "year",
"lineno": 80
},
"end_col_offset": 144,
"end_lineno": 80,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 80,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 80,
"lineno": 80,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 80,
"id": "cases_investissement",
"lineno": 80
}
},
"keywords": [],
"lineno": 80
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 80,
"id": "year",
"lineno": 80
}
}
],
"lineno": 80
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 80,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 80,
"id": "set",
"lineno": 80
},
"keywords": [],
"lineno": 80
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 80,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 80,
"id": "list",
"lineno": 80
},
"keywords": [],
"lineno": 80
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 81,
"lineno": 81,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 81,
"id": "range_year_report",
"lineno": 81
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 81,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 81,
"id": "year",
"lineno": 81
},
"end_col_offset": 78,
"end_lineno": 81,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 81,
"lineno": 81,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 81,
"id": "annee_fiscale",
"lineno": 81
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 81,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 81,
"id": "range",
"lineno": 81
},
"keywords": [],
"lineno": 81
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 81,
"id": "year",
"lineno": 81
}
}
],
"lineno": 81
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 81,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 81,
"id": "set",
"lineno": 81
},
"keywords": [],
"lineno": 81
},
"lineno": 81,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 81,
"id": "year",
"lineno": 81
},
"end_col_offset": 124,
"end_lineno": 81,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 81,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 81,
"lineno": 81,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 81,
"id": "cases_report",
"lineno": 81
}
},
"keywords": [],
"lineno": 81
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 81,
"id": "year",
"lineno": 81
}
}
],
"lineno": 81
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 81,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 81,
"id": "set",
"lineno": 81
},
"keywords": [],
"lineno": 81
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 81,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 81,
"id": "list",
"lineno": 81
},
"keywords": [],
"lineno": 81
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 83,
"lineno": 83,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 83,
"id": "reduction_cumulee",
"lineno": 83
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 83,
"lineno": 83,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 83,
"id": "year",
"lineno": 83
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 83,
"id": "cases_investissement",
"lineno": 83
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 83,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 83,
"id": "calcul_reduction_investissement",
"lineno": 83
},
"keywords": [],
"lineno": 83
},
"end_col_offset": 127,
"end_lineno": 83,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 83,
"id": "range_year_investissement",
"lineno": 83
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 83,
"id": "year",
"lineno": 83
}
}
],
"lineno": 83
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 83,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 83,
"id": "sum",
"lineno": 83
},
"keywords": [],
"lineno": 83
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 84,
"lineno": 84,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 84,
"id": "report",
"lineno": 84
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 84,
"id": "case",
"lineno": 84
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 84,
"id": "period",
"lineno": 84
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 84,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 84,
"id": "foyer_fiscal",
"lineno": 84
},
"keywords": [],
"lineno": 84
},
"end_col_offset": 106,
"end_lineno": 84,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 84,
"id": "range_year_report",
"lineno": 84
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 84,
"id": "year",
"lineno": 84
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 84,
"lineno": 84,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 84,
"id": "year",
"lineno": 84
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 84,
"id": "cases_report",
"lineno": 84
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 84,
"id": "case",
"lineno": 84
}
}
],
"lineno": 84
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 84,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 84,
"id": "sum",
"lineno": 84
},
"keywords": [],
"lineno": 84
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 138,
"end_lineno": 87,
"lineno": 86,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 15,
"end_lineno": 86,
"id": "prorogation",
"lineno": 86
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 137,
"end_lineno": 87,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 26,
"end_col_offset": 145,
"end_lineno": 86,
"left": {
"ast_class": "BinOp",
"col_offset": 26,
"end_col_offset": 141,
"end_lineno": 86,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 31,
"end_col_offset": 70,
"end_lineno": 86,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 86,
"lineno": 86,
"value": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 55,
"end_lineno": 86,
"id": "duflot_pinel_denormandie",
"lineno": 86
}
},
"lineno": 86,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 66,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 70,
"end_lineno": 86,
"id": "f7rs",
"lineno": 86
}
},
{
"ast_class": "Name",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 86,
"id": "f7rr",
"lineno": 86
}
],
"ast_class": "Call",
"col_offset": 26,
"end_col_offset": 77,
"end_lineno": 86,
"func": {
"ast_class": "Name",
"col_offset": 26,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 86,
"id": "min_",
"lineno": 86
},
"keywords": [],
"lineno": 86
},
"lineno": 86,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_prolong1_6ans",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 86,
"lineno": 86,
"value": {
"ast_class": "Attribute",
"attr": "taux_prolongation",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 122,
"end_lineno": 86,
"lineno": 86,
"value": {
"ast_class": "Name",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 86,
"id": "duflot_pinel_denormandie",
"lineno": 86
}
}
}
},
"lineno": 86,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 144,
"end_col_offset": 145,
"end_lineno": 86,
"lineno": 86,
"value": 3
}
}
],
"ast_class": "Call",
"col_offset": 19,
"end_col_offset": 146,
"end_lineno": 86,
"func": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 86,
"id": "around",
"lineno": 86
},
"keywords": [],
"lineno": 86
},
"lineno": 86,
"op": {
"ast_class": "Add"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 136,
"end_lineno": 87,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 132,
"end_lineno": 87,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 22,
"end_col_offset": 61,
"end_lineno": 87,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 54,
"end_lineno": 87,
"lineno": 87,
"value": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 87,
"id": "duflot_pinel_denormandie",
"lineno": 87
}
},
"lineno": 87,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 61,
"end_lineno": 87,
"id": "f7ry",
"lineno": 87
}
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 87,
"id": "f7rx",
"lineno": 87
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 68,
"end_lineno": 87,
"func": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 21,
"end_lineno": 87,
"id": "min_",
"lineno": 87
},
"keywords": [],
"lineno": 87
},
"lineno": 87,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_prolong1_6ans",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 132,
"end_lineno": 87,
"lineno": 87,
"value": {
"ast_class": "Attribute",
"attr": "taux_prolongation",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 113,
"end_lineno": 87,
"lineno": 87,
"value": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 95,
"end_lineno": 87,
"id": "duflot_pinel_denormandie",
"lineno": 87
}
}
}
},
"lineno": 87,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 135,
"end_col_offset": 136,
"end_lineno": 87,
"lineno": 87,
"value": 3
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 137,
"end_lineno": 87,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 87,
"id": "around",
"lineno": 87
},
"keywords": [],
"lineno": 87
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 100,
"end_lineno": 89,
"lineno": 89,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 100,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 93,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 79,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 72,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 65,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 58,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 51,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 89,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 89,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 89,
"id": "reduction_cumulee",
"lineno": 89
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 89,
"id": "report",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 89,
"id": "f7fi",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 47,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 89,
"id": "f7fk",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 54,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 58,
"end_lineno": 89,
"id": "f7fr",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 65,
"end_lineno": 89,
"id": "f7fv",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 68,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 89,
"id": "f7fw",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 75,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 89,
"id": "f7fx",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 93,
"end_lineno": 89,
"id": "prorogation",
"lineno": 89
}
},
"lineno": 89,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 100,
"end_lineno": 89,
"id": "f7sx",
"lineno": 89
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 100,
"end_lineno": 89,
"lineno": 1,
"name": "formula_2021_01_01"
},
"documentation": "\nDuflot + Pinel + Denormandie\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_metro",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans"
],
"source_code": "def formula_2021_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel + Denormandie\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n cases_investissement = {\n 2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés\n ('f7qu', 9, 'outremer'),\n ('f7qq', 9, 'outremer'), # Pinel 2019\n ('f7nd', 9, 'outremer'), # Denormandie 2019\n ('f7qd', 9, 'outremer'), # Pinel 2020\n ('f7nh', 9, 'outremer'), # Denormandie 2020\n ('f7ql', 9, 'outremer'), # Pinel 2021\n ('f7nl', 9, 'outremer'), # Denormandie 2021\n ('f7qt', 6, 'outremer'), # Pinel 2018\n ('f7qy', 6, 'outremer'), # Pinel 2019\n ('f7nc', 6, 'outremer'), # Denormandie 2019\n ('f7qc', 6, 'outremer'), # Pinel 2020\n ('f7ng', 6, 'outremer'), # Denormandie 2020\n ('f7qk', 6, 'outremer'), # Pinel 2021\n ('f7nk', 6, 'outremer'), # Denormandie 2021\n ('f7qs', 9, 'metropole'), # Pinel 2018\n ('f7qx', 9, 'metropole'), # Pinel 2019\n ('f7nb', 9, 'metropole'), # Denormandie 2019\n ('f7qb', 9, 'metropole'), # Pinel 2020\n ('f7nf', 9, 'metropole'), # Denormandie 2020\n ('f7qj', 9, 'metropole'), # Pinel 2021\n ('f7nj', 9, 'metropole'), # Denormandie 2021\n ('f7qr', 6, 'metropole'), # Pinel 2018\n ('f7qw', 6, 'metropole'), # Pinel 2019\n ('f7na', 6, 'metropole'), # Denormandie 2019\n ('f7qa', 6, 'metropole'), # Pinel 2020\n ('f7ne', 6, 'metropole'), # Denormandie 2020\n ('f7qi', 6, 'metropole'), # Pinel 2021\n ('f7ni', 6, 'metropole')], # Denormandie 2021\n }\n\n cases_report = {\n 2014: ['f7bi'],\n 2015: ['f7cz'],\n 2016: ['f7qz', 'f7rz'],\n 2017: ['f7ra', 'f7rb'],\n 2018: ['f7re', 'f7rf'],\n 2019: ['f7jm', 'f7km', 'f7ja', 'f7jb'], # reports Pinel et denormandie\n 2020: ['f7jn', 'f7jo', 'f7jr', 'f7js'] # reports Pinel et denormandie\n }\n\n # Duflot reports\n f7fi = foyer_fiscal('f7fi', period) # 2013\n f7fk = foyer_fiscal('f7fk', period) # 2014\n f7fr = foyer_fiscal('f7fr', period) # 2015\n f7fv = foyer_fiscal('f7fv', period) # 2016\n f7fw = foyer_fiscal('f7fw', period) # 2017\n f7fx = foyer_fiscal('f7fx', period) # 2018\n\n # Première prorogation, 6 ans\n f7rr = foyer_fiscal('f7rr', period) # Métropole, 6 ans 2014\n f7rs = foyer_fiscal('f7rs', period) # Outre-Mer, 6 ans 2014\n f7rx = foyer_fiscal('f7rx', period) # Métropole, 2015\n f7ry = foyer_fiscal('f7ry', period) # Outre-Mer, 2015\n\n # Prorogation reports, 6 ans\n f7sx = foyer_fiscal('f7sx_2022', period) # Métropole, 2014\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'metropole':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_metro * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2018, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n prorogation = (around(min_(duflot_pinel_denormandie.plafond - f7rs, f7rr) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)\n + around(min_(duflot_pinel_denormandie.plafond - f7ry, f7rx) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3))\n\n return reduction_cumulee + report + f7fi + f7fk + f7fr + f7fv + f7fw + f7fx + prorogation + f7sx\n",
"start_line_number": 504,
"stop_line_number": 593,
"variables": [
"f7fi",
"f7fk",
"f7fr",
"f7fv",
"f7fw",
"f7fx",
"f7rr",
"f7rs",
"f7rx",
"f7ry",
"f7sx_2022"
]
}
},
"json_type": "number",
"label": "Réduction d'impôt Duflot - Pinel - Denormandie",
"last_value_still_valid_on": "2021-01-01",
"name": "duflot_pinel_denormandie_metropole",
"referring_variables": [
"reductions",
"reductions_plafonnees"
],
"start_line_number": 201,
"stop_line_number": 593,
"value_type": "float"
}