{
  "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": 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": 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": "f7gi",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "f7gi"
                },
                {
                  "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": 57,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 10,
                "end_lineno": 10,
                "id": "inv_om",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Attribute",
                  "attr": "plafond",
                  "col_offset": 18,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 18,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 42,
                    "end_lineno": 10,
                    "id": "duflot_pinel_denormandie",
                    "lineno": 10
                  }
                },
                {
                  "ast_class": "Name",
                  "col_offset": 52,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 56,
                  "end_lineno": 10,
                  "id": "f7gi",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 13,
              "end_col_offset": 57,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 13,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 17,
                "end_lineno": 10,
                "id": "min_",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 80,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 9,
                "end_lineno": 12,
                "id": "ri_om",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 19,
                  "end_col_offset": 79,
                  "end_lineno": 12,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 19,
                    "end_col_offset": 75,
                    "end_lineno": 12,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 19,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 25,
                      "end_lineno": 12,
                      "id": "inv_om",
                      "lineno": 12
                    },
                    "lineno": 12,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "ast_class": "Attribute",
                      "attr": "taux_om",
                      "col_offset": 28,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 75,
                      "end_lineno": 12,
                      "lineno": 12,
                      "value": {
                        "ast_class": "Attribute",
                        "attr": "location_9_ans",
                        "col_offset": 28,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 67,
                        "end_lineno": 12,
                        "lineno": 12,
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 28,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 52,
                          "end_lineno": 12,
                          "id": "duflot_pinel_denormandie",
                          "lineno": 12
                        }
                      }
                    }
                  },
                  "lineno": 12,
                  "op": {
                    "ast_class": "Div"
                  },
                  "right": {
                    "ast_class": "Constant",
                    "col_offset": 78,
                    "end_col_offset": 79,
                    "end_lineno": 12,
                    "lineno": 12,
                    "value": 9
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 12,
              "end_col_offset": 80,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 12,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 18,
                "end_lineno": 12,
                "id": "around",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 16,
            "end_lineno": 14,
            "lineno": 14,
            "value": {
              "ast_class": "Name",
              "col_offset": 11,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 16,
              "end_lineno": 14,
              "id": "ri_om",
              "lineno": 14
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 16,
        "end_lineno": 14,
        "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_om",
        "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    duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n    # Duflot année N, 2013\n    f7gi = foyer_fiscal('f7gi', period)  # Outre-Mer\n\n    inv_om = min_(duflot_pinel_denormandie.plafond, f7gi)\n\n    ri_om = around(inv_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)\n\n    return ri_om\n",
      "start_line_number": 601,
      "stop_line_number": 615,
      "variables": [
        "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": "f7gi",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "f7gi"
                },
                {
                  "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": 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": 44,
            "end_lineno": 17,
            "lineno": 17,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 17,
                "id": "f7qc",
                "lineno": 17
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 35,
                  "end_lineno": 17,
                  "lineno": 17,
                  "value": "f7qc_2018"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 37,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 43,
                  "end_lineno": 17,
                  "id": "period",
                  "lineno": 17
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 44,
              "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": 44,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 18,
                "id": "f7qd",
                "lineno": 18
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 35,
                  "end_lineno": 18,
                  "lineno": 18,
                  "value": "f7qd_2018"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 37,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 43,
                  "end_lineno": 18,
                  "id": "period",
                  "lineno": 18
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 44,
              "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": 123,
            "end_lineno": 21,
            "lineno": 21,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 14,
                "end_lineno": 21,
                "id": "reduc_2013",
                "lineno": 21
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 24,
                  "end_col_offset": 122,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 24,
                    "end_col_offset": 118,
                    "end_lineno": 21,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux_om",
                      "col_offset": 24,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 71,
                      "end_lineno": 21,
                      "lineno": 21,
                      "value": {
                        "ast_class": "Attribute",
                        "attr": "location_9_ans",
                        "col_offset": 24,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 63,
                        "end_lineno": 21,
                        "lineno": 21,
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 24,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 48,
                          "end_lineno": 21,
                          "id": "duflot_pinel_denormandie",
                          "lineno": 21
                        }
                      }
                    },
                    "lineno": 21,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Attribute",
                          "attr": "plafond",
                          "col_offset": 79,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 111,
                          "end_lineno": 21,
                          "lineno": 21,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 79,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 103,
                            "end_lineno": 21,
                            "id": "duflot_pinel_denormandie",
                            "lineno": 21
                          }
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 113,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 117,
                          "end_lineno": 21,
                          "id": "f7gi",
                          "lineno": 21
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 74,
                      "end_col_offset": 118,
                      "end_lineno": 21,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 74,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 78,
                        "end_lineno": 21,
                        "id": "min_",
                        "lineno": 21
                      },
                      "keywords": [],
                      "lineno": 21
                    }
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Div"
                  },
                  "right": {
                    "ast_class": "Constant",
                    "col_offset": 121,
                    "end_col_offset": 122,
                    "end_lineno": 21,
                    "lineno": 21,
                    "value": 9
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 17,
              "end_col_offset": 123,
              "end_lineno": 21,
              "func": {
                "ast_class": "Name",
                "col_offset": 17,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 21,
                "id": "around",
                "lineno": 21
              },
              "keywords": [],
              "lineno": 21
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 67,
            "end_lineno": 24,
            "lineno": 24,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 13,
                "end_lineno": 24,
                "id": "inv_29_om",
                "lineno": 24
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Attribute",
                  "attr": "plafond",
                  "col_offset": 21,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 53,
                  "end_lineno": 24,
                  "lineno": 24,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 21,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 45,
                    "end_lineno": 24,
                    "id": "duflot_pinel_denormandie",
                    "lineno": 24
                  }
                },
                {
                  "ast_class": "BinOp",
                  "col_offset": 55,
                  "end_col_offset": 66,
                  "end_lineno": 24,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 55,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 59,
                    "end_lineno": 24,
                    "id": "f7el",
                    "lineno": 24
                  },
                  "lineno": 24,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 62,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 66,
                    "end_lineno": 24,
                    "id": "f7qd",
                    "lineno": 24
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 16,
              "end_col_offset": 67,
              "end_lineno": 24,
              "func": {
                "ast_class": "Name",
                "col_offset": 16,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 20,
                "end_lineno": 24,
                "id": "min_",
                "lineno": 24
              },
              "keywords": [],
              "lineno": 24
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 72,
            "end_lineno": 25,
            "lineno": 25,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 13,
                "end_lineno": 25,
                "id": "inv_23_om",
                "lineno": 25
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 21,
                  "end_col_offset": 65,
                  "end_lineno": 25,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "plafond",
                    "col_offset": 21,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 53,
                    "end_lineno": 25,
                    "lineno": 25,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 21,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 45,
                      "end_lineno": 25,
                      "id": "duflot_pinel_denormandie",
                      "lineno": 25
                    }
                  },
                  "lineno": 25,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 56,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 65,
                    "end_lineno": 25,
                    "id": "inv_29_om",
                    "lineno": 25
                  }
                },
                {
                  "ast_class": "Name",
                  "col_offset": 67,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 71,
                  "end_lineno": 25,
                  "id": "f7qc",
                  "lineno": 25
                }
              ],
              "ast_class": "Call",
              "col_offset": 16,
              "end_col_offset": 72,
              "end_lineno": 25,
              "func": {
                "ast_class": "Name",
                "col_offset": 16,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 20,
                "end_lineno": 25,
                "id": "min_",
                "lineno": 25
              },
              "keywords": [],
              "lineno": 25
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 96,
            "end_lineno": 28,
            "lineno": 27,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 9,
                "end_lineno": 27,
                "id": "reduc",
                "lineno": 27
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 12,
              "end_col_offset": 96,
              "end_lineno": 28,
              "left": {
                "args": [
                  {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 81,
                    "end_lineno": 28,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 21,
                      "end_col_offset": 84,
                      "end_lineno": 27,
                      "left": {
                        "ast_class": "BinOp",
                        "col_offset": 21,
                        "end_col_offset": 80,
                        "end_lineno": 27,
                        "left": {
                          "ast_class": "Name",
                          "col_offset": 21,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 30,
                          "end_lineno": 27,
                          "id": "inv_29_om",
                          "lineno": 27
                        },
                        "lineno": 27,
                        "op": {
                          "ast_class": "Mult"
                        },
                        "right": {
                          "ast_class": "Attribute",
                          "attr": "taux_om",
                          "col_offset": 33,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 80,
                          "end_lineno": 27,
                          "lineno": 27,
                          "value": {
                            "ast_class": "Attribute",
                            "attr": "location_9_ans",
                            "col_offset": 33,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 72,
                            "end_lineno": 27,
                            "lineno": 27,
                            "value": {
                              "ast_class": "Name",
                              "col_offset": 33,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 57,
                              "end_lineno": 27,
                              "id": "duflot_pinel_denormandie",
                              "lineno": 27
                            }
                          }
                        }
                      },
                      "lineno": 27,
                      "op": {
                        "ast_class": "Div"
                      },
                      "right": {
                        "ast_class": "Constant",
                        "col_offset": 83,
                        "end_col_offset": 84,
                        "end_lineno": 27,
                        "lineno": 27,
                        "value": 9
                      }
                    },
                    "lineno": 27,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "BinOp",
                          "col_offset": 17,
                          "end_col_offset": 80,
                          "end_lineno": 28,
                          "left": {
                            "ast_class": "BinOp",
                            "col_offset": 17,
                            "end_col_offset": 76,
                            "end_lineno": 28,
                            "left": {
                              "ast_class": "Name",
                              "col_offset": 17,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 26,
                              "end_lineno": 28,
                              "id": "inv_23_om",
                              "lineno": 28
                            },
                            "lineno": 28,
                            "op": {
                              "ast_class": "Mult"
                            },
                            "right": {
                              "ast_class": "Attribute",
                              "attr": "taux_om",
                              "col_offset": 29,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 76,
                              "end_lineno": 28,
                              "lineno": 28,
                              "value": {
                                "ast_class": "Attribute",
                                "attr": "location_6_ans",
                                "col_offset": 29,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 68,
                                "end_lineno": 28,
                                "lineno": 28,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 29,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 53,
                                  "end_lineno": 28,
                                  "id": "duflot_pinel_denormandie",
                                  "lineno": 28
                                }
                              }
                            }
                          },
                          "lineno": 28,
                          "op": {
                            "ast_class": "Div"
                          },
                          "right": {
                            "ast_class": "Constant",
                            "col_offset": 79,
                            "end_col_offset": 80,
                            "end_lineno": 28,
                            "lineno": 28,
                            "value": 6
                          }
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 10,
                      "end_col_offset": 81,
                      "end_lineno": 28,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 16,
                        "end_lineno": 28,
                        "id": "around",
                        "lineno": 28
                      },
                      "keywords": [],
                      "lineno": 28
                    }
                  }
                ],
                "ast_class": "Call",
                "col_offset": 13,
                "end_col_offset": 82,
                "end_lineno": 28,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 13,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 19,
                  "end_lineno": 27,
                  "id": "around",
                  "lineno": 27
                },
                "keywords": [],
                "lineno": 27
              },
              "lineno": 27,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "Name",
                "col_offset": 86,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 96,
                "end_lineno": 28,
                "id": "reduc_2013",
                "lineno": 28
              }
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 16,
            "end_lineno": 30,
            "lineno": 30,
            "value": {
              "ast_class": "Name",
              "col_offset": 11,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 16,
              "end_lineno": 30,
              "id": "reduc",
              "lineno": 30
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 16,
        "end_lineno": 30,
        "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_om",
        "impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
        "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    f7gi = foyer_fiscal('f7gi', period)  # Outre-Mer\n\n    # Duflot année N, 2014\n    f7el = foyer_fiscal('f7el', period)  # Outre-Mer\n\n    # Pinel année N, 2014\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    reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7gi) / 9)\n\n    # Duflot et Pinel 2014\n    inv_29_om = min_(duflot_pinel_denormandie.plafond, f7el + f7qd)\n    inv_23_om = min_(duflot_pinel_denormandie.plafond - inv_29_om, f7qc)\n\n    reduc = (around((inv_29_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)\n        + around(inv_23_om * duflot_pinel_denormandie.location_6_ans.taux_om / 6))) + reduc_2013\n\n    return reduc\n",
      "start_line_number": 616,
      "stop_line_number": 646,
      "variables": [
        "f7el",
        "f7gi",
        "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": 4,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 4,
              "lineno": 2,
              "value": "\n    Duflot + Pinel\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": 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": "f7gi",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "f7gi"
                },
                {
                  "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": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 11,
                "id": "f7el",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "f7el"
                },
                {
                  "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": 44,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7qc",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 35,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7qc_2018"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 37,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 43,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 44,
              "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": 44,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7qd",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 35,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7qd_2018"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 37,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 43,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 44,
              "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": 115,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 14,
                "end_lineno": 18,
                "id": "reduc_2013",
                "lineno": 18
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 17,
              "end_col_offset": 115,
              "end_lineno": 18,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 17,
                "end_col_offset": 111,
                "end_lineno": 18,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux_om",
                  "col_offset": 17,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 64,
                  "end_lineno": 18,
                  "lineno": 18,
                  "value": {
                    "ast_class": "Attribute",
                    "attr": "location_9_ans",
                    "col_offset": 17,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 56,
                    "end_lineno": 18,
                    "lineno": 18,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 17,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 41,
                      "end_lineno": 18,
                      "id": "duflot_pinel_denormandie",
                      "lineno": 18
                    }
                  }
                },
                "lineno": 18,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Attribute",
                      "attr": "plafond",
                      "col_offset": 72,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 104,
                      "end_lineno": 18,
                      "lineno": 18,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 72,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 96,
                        "end_lineno": 18,
                        "id": "duflot_pinel_denormandie",
                        "lineno": 18
                      }
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 106,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 110,
                      "end_lineno": 18,
                      "id": "f7gi",
                      "lineno": 18
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 67,
                  "end_col_offset": 111,
                  "end_lineno": 18,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 67,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 71,
                    "end_lineno": 18,
                    "id": "min_",
                    "lineno": 18
                  },
                  "keywords": [],
                  "lineno": 18
                }
              },
              "lineno": 18,
              "op": {
                "ast_class": "Div"
              },
              "right": {
                "ast_class": "Constant",
                "col_offset": 114,
                "end_col_offset": 115,
                "end_lineno": 18,
                "lineno": 18,
                "value": 9
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 131,
            "end_lineno": 22,
            "lineno": 21,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 14,
                "end_lineno": 21,
                "id": "reduc_2014",
                "lineno": 21
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 18,
              "end_col_offset": 130,
              "end_lineno": 22,
              "left": {
                "args": [
                  {
                    "ast_class": "BinOp",
                    "col_offset": 25,
                    "end_col_offset": 130,
                    "end_lineno": 21,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 25,
                      "end_col_offset": 126,
                      "end_lineno": 21,
                      "left": {
                        "ast_class": "Attribute",
                        "attr": "taux_om",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 72,
                        "end_lineno": 21,
                        "lineno": 21,
                        "value": {
                          "ast_class": "Attribute",
                          "attr": "location_9_ans",
                          "col_offset": 25,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 64,
                          "end_lineno": 21,
                          "lineno": 21,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 25,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 49,
                            "end_lineno": 21,
                            "id": "duflot_pinel_denormandie",
                            "lineno": 21
                          }
                        }
                      },
                      "lineno": 21,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "args": [
                          {
                            "ast_class": "Attribute",
                            "attr": "plafond",
                            "col_offset": 80,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 112,
                            "end_lineno": 21,
                            "lineno": 21,
                            "value": {
                              "ast_class": "Name",
                              "col_offset": 80,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 104,
                              "end_lineno": 21,
                              "id": "duflot_pinel_denormandie",
                              "lineno": 21
                            }
                          },
                          {
                            "ast_class": "BinOp",
                            "col_offset": 114,
                            "end_col_offset": 125,
                            "end_lineno": 21,
                            "left": {
                              "ast_class": "Name",
                              "col_offset": 114,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 118,
                              "end_lineno": 21,
                              "id": "f7el",
                              "lineno": 21
                            },
                            "lineno": 21,
                            "op": {
                              "ast_class": "Add"
                            },
                            "right": {
                              "ast_class": "Name",
                              "col_offset": 121,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 125,
                              "end_lineno": 21,
                              "id": "f7qd",
                              "lineno": 21
                            }
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 75,
                        "end_col_offset": 126,
                        "end_lineno": 21,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 75,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 79,
                          "end_lineno": 21,
                          "id": "min_",
                          "lineno": 21
                        },
                        "keywords": [],
                        "lineno": 21
                      }
                    },
                    "lineno": 21,
                    "op": {
                      "ast_class": "Div"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 129,
                      "end_col_offset": 130,
                      "end_lineno": 21,
                      "lineno": 21,
                      "value": 9
                    }
                  }
                ],
                "ast_class": "Call",
                "col_offset": 18,
                "end_col_offset": 131,
                "end_lineno": 21,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 18,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 24,
                  "end_lineno": 21,
                  "id": "around",
                  "lineno": 21
                },
                "keywords": [],
                "lineno": 21
              },
              "lineno": 21,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "args": [
                  {
                    "ast_class": "BinOp",
                    "col_offset": 17,
                    "end_col_offset": 129,
                    "end_lineno": 22,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 17,
                      "end_col_offset": 125,
                      "end_lineno": 22,
                      "left": {
                        "ast_class": "Attribute",
                        "attr": "taux_om",
                        "col_offset": 17,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 64,
                        "end_lineno": 22,
                        "lineno": 22,
                        "value": {
                          "ast_class": "Attribute",
                          "attr": "location_6_ans",
                          "col_offset": 17,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 56,
                          "end_lineno": 22,
                          "lineno": 22,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 17,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 41,
                            "end_lineno": 22,
                            "id": "duflot_pinel_denormandie",
                            "lineno": 22
                          }
                        }
                      },
                      "lineno": 22,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "args": [
                          {
                            "ast_class": "BinOp",
                            "col_offset": 72,
                            "end_col_offset": 118,
                            "end_lineno": 22,
                            "left": {
                              "ast_class": "BinOp",
                              "col_offset": 72,
                              "end_col_offset": 111,
                              "end_lineno": 22,
                              "left": {
                                "ast_class": "Attribute",
                                "attr": "plafond",
                                "col_offset": 72,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 104,
                                "end_lineno": 22,
                                "lineno": 22,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 72,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 96,
                                  "end_lineno": 22,
                                  "id": "duflot_pinel_denormandie",
                                  "lineno": 22
                                }
                              },
                              "lineno": 22,
                              "op": {
                                "ast_class": "Sub"
                              },
                              "right": {
                                "ast_class": "Name",
                                "col_offset": 107,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 111,
                                "end_lineno": 22,
                                "id": "f7el",
                                "lineno": 22
                              }
                            },
                            "lineno": 22,
                            "op": {
                              "ast_class": "Sub"
                            },
                            "right": {
                              "ast_class": "Name",
                              "col_offset": 114,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 118,
                              "end_lineno": 22,
                              "id": "f7qd",
                              "lineno": 22
                            }
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 120,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 124,
                            "end_lineno": 22,
                            "id": "f7qc",
                            "lineno": 22
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 67,
                        "end_col_offset": 125,
                        "end_lineno": 22,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 67,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 71,
                          "end_lineno": 22,
                          "id": "min_",
                          "lineno": 22
                        },
                        "keywords": [],
                        "lineno": 22
                      }
                    },
                    "lineno": 22,
                    "op": {
                      "ast_class": "Div"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 128,
                      "end_col_offset": 129,
                      "end_lineno": 22,
                      "lineno": 22,
                      "value": 6
                    }
                  }
                ],
                "ast_class": "Call",
                "col_offset": 10,
                "end_col_offset": 130,
                "end_lineno": 22,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 16,
                  "end_lineno": 22,
                  "id": "around",
                  "lineno": 22
                },
                "keywords": [],
                "lineno": 22
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 45,
            "lineno": 24,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 24,
                "end_lineno": 24,
                "id": "cases_investissement",
                "lineno": 24
              }
            ],
            "value": {
              "ast_class": "Dict",
              "col_offset": 27,
              "end_col_offset": 9,
              "end_lineno": 45,
              "keys": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 25,
                  "lineno": 25,
                  "value": 2015
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 30,
                  "lineno": 30,
                  "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": 40,
                  "lineno": 40,
                  "value": 2018
                }
              ],
              "lineno": 24,
              "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": 26,
                          "lineno": 26,
                          "value": "f7qh"
                        },
                        {
                          "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": 34,
                          "end_lineno": 26,
                          "lineno": 26,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 35,
                      "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": "f7qg"
                        },
                        {
                          "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": 34,
                          "end_lineno": 27,
                          "lineno": 27,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 35,
                      "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": "f7qf"
                        },
                        {
                          "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": "f7qe"
                        },
                        {
                          "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
                    }
                  ],
                  "end_col_offset": 37,
                  "end_lineno": 29,
                  "lineno": 25
                },
                {
                  "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": 31,
                          "lineno": 31,
                          "value": "f7ql_2019"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 26,
                          "end_col_offset": 27,
                          "end_lineno": 31,
                          "lineno": 31,
                          "value": 9
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 29,
                          "end_col_offset": 39,
                          "end_lineno": 31,
                          "lineno": 31,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 40,
                      "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": 24,
                          "end_lineno": 32,
                          "lineno": 32,
                          "value": "f7qk_2019"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 26,
                          "end_col_offset": 27,
                          "end_lineno": 32,
                          "lineno": 32,
                          "value": 6
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 29,
                          "end_col_offset": 39,
                          "end_lineno": 32,
                          "lineno": 32,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 40,
                      "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": 24,
                          "end_lineno": 33,
                          "lineno": 33,
                          "value": "f7qj_2019"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 26,
                          "end_col_offset": 27,
                          "end_lineno": 33,
                          "lineno": 33,
                          "value": 9
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 29,
                          "end_col_offset": 40,
                          "end_lineno": 33,
                          "lineno": 33,
                          "value": "metropole"
                        }
                      ],
                      "end_col_offset": 41,
                      "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": 24,
                          "end_lineno": 34,
                          "lineno": 34,
                          "value": "f7qi_2019"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 26,
                          "end_col_offset": 27,
                          "end_lineno": 34,
                          "lineno": 34,
                          "value": 6
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 29,
                          "end_col_offset": 40,
                          "end_lineno": 34,
                          "lineno": 34,
                          "value": "metropole"
                        }
                      ],
                      "end_col_offset": 41,
                      "end_lineno": 34,
                      "lineno": 34
                    }
                  ],
                  "end_col_offset": 42,
                  "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": 19,
                          "end_lineno": 36,
                          "lineno": 36,
                          "value": "f7qp"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 21,
                          "end_col_offset": 22,
                          "end_lineno": 36,
                          "lineno": 36,
                          "value": 9
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 24,
                          "end_col_offset": 34,
                          "end_lineno": 36,
                          "lineno": 36,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 35,
                      "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": 19,
                          "end_lineno": 37,
                          "lineno": 37,
                          "value": "f7qo"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 21,
                          "end_col_offset": 22,
                          "end_lineno": 37,
                          "lineno": 37,
                          "value": 6
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 24,
                          "end_col_offset": 34,
                          "end_lineno": 37,
                          "lineno": 37,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 35,
                      "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": 19,
                          "end_lineno": 38,
                          "lineno": 38,
                          "value": "f7qn"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 21,
                          "end_col_offset": 22,
                          "end_lineno": 38,
                          "lineno": 38,
                          "value": 9
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 24,
                          "end_col_offset": 35,
                          "end_lineno": 38,
                          "lineno": 38,
                          "value": "metropole"
                        }
                      ],
                      "end_col_offset": 36,
                      "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": 19,
                          "end_lineno": 39,
                          "lineno": 39,
                          "value": "f7qm"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 21,
                          "end_col_offset": 22,
                          "end_lineno": 39,
                          "lineno": 39,
                          "value": 6
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 24,
                          "end_col_offset": 35,
                          "end_lineno": 39,
                          "lineno": 39,
                          "value": "metropole"
                        }
                      ],
                      "end_col_offset": 36,
                      "end_lineno": 39,
                      "lineno": 39
                    }
                  ],
                  "end_col_offset": 37,
                  "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": "f7qu"
                        },
                        {
                          "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": "f7qt"
                        },
                        {
                          "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": "f7qs"
                        },
                        {
                          "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": "f7qr"
                        },
                        {
                          "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": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 52,
            "lineno": 47,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 16,
                "end_lineno": 47,
                "id": "cases_report",
                "lineno": 47
              }
            ],
            "value": {
              "ast_class": "Dict",
              "col_offset": 19,
              "end_col_offset": 9,
              "end_lineno": 52,
              "keys": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 48,
                  "lineno": 48,
                  "value": 2014
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 49,
                  "lineno": 49,
                  "value": 2015
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 50,
                  "lineno": 50,
                  "value": 2016
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 51,
                  "lineno": 51,
                  "value": 2017
                }
              ],
              "lineno": 47,
              "values": [
                {
                  "ast_class": "List",
                  "col_offset": 14,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "elts": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 15,
                      "end_col_offset": 26,
                      "end_lineno": 48,
                      "lineno": 48,
                      "value": "f7ci_2019"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 28,
                      "end_col_offset": 34,
                      "end_lineno": 48,
                      "lineno": 48,
                      "value": "f7di"
                    }
                  ],
                  "end_col_offset": 35,
                  "end_lineno": 48,
                  "lineno": 48
                },
                {
                  "ast_class": "List",
                  "col_offset": 14,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "elts": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 15,
                      "end_col_offset": 21,
                      "end_lineno": 49,
                      "lineno": 49,
                      "value": "f7dz"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 49,
                      "lineno": 49,
                      "value": "f7ez"
                    }
                  ],
                  "end_col_offset": 30,
                  "end_lineno": 49,
                  "lineno": 49
                },
                {
                  "ast_class": "List",
                  "col_offset": 14,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "elts": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 15,
                      "end_col_offset": 21,
                      "end_lineno": 50,
                      "lineno": 50,
                      "value": "f7sz"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 50,
                      "lineno": 50,
                      "value": "f7tz"
                    }
                  ],
                  "end_col_offset": 30,
                  "end_lineno": 50,
                  "lineno": 50
                },
                {
                  "ast_class": "List",
                  "col_offset": 14,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "elts": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 15,
                      "end_col_offset": 21,
                      "end_lineno": 51,
                      "lineno": 51,
                      "value": "f7rc"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 51,
                      "lineno": 51,
                      "value": "f7rd"
                    }
                  ],
                  "end_col_offset": 30,
                  "end_lineno": 51,
                  "lineno": 51
                }
              ]
            }
          },
          {
            "args": {
              "args": [
                {
                  "arg": "cases",
                  "ast_class": "arg",
                  "col_offset": 40,
                  "end_col_offset": 45,
                  "end_lineno": 54,
                  "lineno": 54
                }
              ],
              "ast_class": "arguments",
              "defaults": [],
              "kw_defaults": [],
              "kwonlyargs": [],
              "posonlyargs": []
            },
            "ast_class": "FunctionDef",
            "body": [
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 46,
                "end_lineno": 55,
                "lineno": 55,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 55,
                    "id": "reduction",
                    "lineno": 55
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 46,
                  "end_lineno": 55,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 44,
                    "end_lineno": 55,
                    "lineno": 55,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 55,
                      "id": "foyer_fiscal",
                      "lineno": 55
                    }
                  },
                  "keywords": [],
                  "lineno": 55
                }
              },
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 54,
                "end_lineno": 56,
                "lineno": 56,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 25,
                    "end_lineno": 56,
                    "id": "depenses_cumulees",
                    "lineno": 56
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 28,
                  "end_col_offset": 54,
                  "end_lineno": 56,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 28,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 52,
                    "end_lineno": 56,
                    "lineno": 56,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 28,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 56,
                      "id": "foyer_fiscal",
                      "lineno": 56
                    }
                  },
                  "keywords": [],
                  "lineno": 56
                }
              },
              {
                "ast_class": "For",
                "body": [
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 58,
                    "lineno": 58,
                    "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": 58,
                            "id": "variable",
                            "lineno": 58
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 22,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 27,
                            "end_lineno": 58,
                            "id": "duree",
                            "lineno": 58
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 29,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 33,
                            "end_lineno": 58,
                            "id": "zone",
                            "lineno": 58
                          }
                        ],
                        "end_col_offset": 33,
                        "end_lineno": 58,
                        "lineno": 58
                      }
                    ],
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 36,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 58,
                      "id": "case",
                      "lineno": 58
                    }
                  },
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 52,
                    "end_lineno": 59,
                    "lineno": 59,
                    "targets": [
                      {
                        "ast_class": "Name",
                        "col_offset": 12,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 59,
                        "id": "depense",
                        "lineno": 59
                      }
                    ],
                    "value": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 35,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 43,
                          "end_lineno": 59,
                          "id": "variable",
                          "lineno": 59
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 45,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 51,
                          "end_lineno": 59,
                          "id": "period",
                          "lineno": 59
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 22,
                      "end_col_offset": 52,
                      "end_lineno": 59,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 22,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 34,
                        "end_lineno": 59,
                        "id": "foyer_fiscal",
                        "lineno": 59
                      },
                      "keywords": [],
                      "lineno": 59
                    }
                  },
                  {
                    "ast_class": "If",
                    "body": [
                      {
                        "ast_class": "If",
                        "body": [
                          {
                            "ast_class": "AugAssign",
                            "col_offset": 20,
                            "end_col_offset": 175,
                            "end_lineno": 62,
                            "lineno": 62,
                            "op": {
                              "ast_class": "Add"
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 20,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 29,
                              "end_lineno": 62,
                              "id": "reduction",
                              "lineno": 62
                            },
                            "value": {
                              "args": [
                                {
                                  "ast_class": "BinOp",
                                  "col_offset": 40,
                                  "end_col_offset": 174,
                                  "end_lineno": 62,
                                  "left": {
                                    "ast_class": "BinOp",
                                    "col_offset": 40,
                                    "end_col_offset": 166,
                                    "end_lineno": 62,
                                    "left": {
                                      "ast_class": "Attribute",
                                      "attr": "taux_om",
                                      "col_offset": 40,
                                      "ctx": {
                                        "ast_class": "Load"
                                      },
                                      "end_col_offset": 87,
                                      "end_lineno": 62,
                                      "lineno": 62,
                                      "value": {
                                        "ast_class": "Attribute",
                                        "attr": "location_9_ans",
                                        "col_offset": 40,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 79,
                                        "end_lineno": 62,
                                        "lineno": 62,
                                        "value": {
                                          "ast_class": "Name",
                                          "col_offset": 40,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 64,
                                          "end_lineno": 62,
                                          "id": "duflot_pinel_denormandie",
                                          "lineno": 62
                                        }
                                      }
                                    },
                                    "lineno": 62,
                                    "op": {
                                      "ast_class": "Mult"
                                    },
                                    "right": {
                                      "args": [
                                        {
                                          "args": [
                                            {
                                              "ast_class": "Constant",
                                              "col_offset": 100,
                                              "end_col_offset": 101,
                                              "end_lineno": 62,
                                              "lineno": 62,
                                              "value": 0
                                            },
                                            {
                                              "ast_class": "BinOp",
                                              "col_offset": 103,
                                              "end_col_offset": 155,
                                              "end_lineno": 62,
                                              "left": {
                                                "ast_class": "Attribute",
                                                "attr": "plafond",
                                                "col_offset": 103,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 135,
                                                "end_lineno": 62,
                                                "lineno": 62,
                                                "value": {
                                                  "ast_class": "Name",
                                                  "col_offset": 103,
                                                  "ctx": {
                                                    "ast_class": "Load"
                                                  },
                                                  "end_col_offset": 127,
                                                  "end_lineno": 62,
                                                  "id": "duflot_pinel_denormandie",
                                                  "lineno": 62
                                                }
                                              },
                                              "lineno": 62,
                                              "op": {
                                                "ast_class": "Sub"
                                              },
                                              "right": {
                                                "ast_class": "Name",
                                                "col_offset": 138,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 155,
                                                "end_lineno": 62,
                                                "id": "depenses_cumulees",
                                                "lineno": 62
                                              }
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 95,
                                          "end_col_offset": 156,
                                          "end_lineno": 62,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 95,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 99,
                                            "end_lineno": 62,
                                            "id": "max_",
                                            "lineno": 62
                                          },
                                          "keywords": [],
                                          "lineno": 62
                                        },
                                        {
                                          "ast_class": "Name",
                                          "col_offset": 158,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 165,
                                          "end_lineno": 62,
                                          "id": "depense",
                                          "lineno": 62
                                        }
                                      ],
                                      "ast_class": "Call",
                                      "col_offset": 90,
                                      "end_col_offset": 166,
                                      "end_lineno": 62,
                                      "func": {
                                        "ast_class": "Name",
                                        "col_offset": 90,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 94,
                                        "end_lineno": 62,
                                        "id": "min_",
                                        "lineno": 62
                                      },
                                      "keywords": [],
                                      "lineno": 62
                                    }
                                  },
                                  "lineno": 62,
                                  "op": {
                                    "ast_class": "Div"
                                  },
                                  "right": {
                                    "ast_class": "Name",
                                    "col_offset": 169,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 174,
                                    "end_lineno": 62,
                                    "id": "duree",
                                    "lineno": 62
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 33,
                              "end_col_offset": 175,
                              "end_lineno": 62,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 33,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 39,
                                "end_lineno": 62,
                                "id": "around",
                                "lineno": 62
                              },
                              "keywords": [],
                              "lineno": 62
                            }
                          }
                        ],
                        "col_offset": 16,
                        "end_col_offset": 175,
                        "end_lineno": 64,
                        "lineno": 61,
                        "orelse": [
                          {
                            "ast_class": "If",
                            "body": [
                              {
                                "ast_class": "AugAssign",
                                "col_offset": 20,
                                "end_col_offset": 175,
                                "end_lineno": 64,
                                "lineno": 64,
                                "op": {
                                  "ast_class": "Add"
                                },
                                "target": {
                                  "ast_class": "Name",
                                  "col_offset": 20,
                                  "ctx": {
                                    "ast_class": "Store"
                                  },
                                  "end_col_offset": 29,
                                  "end_lineno": 64,
                                  "id": "reduction",
                                  "lineno": 64
                                },
                                "value": {
                                  "args": [
                                    {
                                      "ast_class": "BinOp",
                                      "col_offset": 40,
                                      "end_col_offset": 174,
                                      "end_lineno": 64,
                                      "left": {
                                        "ast_class": "BinOp",
                                        "col_offset": 40,
                                        "end_col_offset": 166,
                                        "end_lineno": 64,
                                        "left": {
                                          "ast_class": "Attribute",
                                          "attr": "taux_om",
                                          "col_offset": 40,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 87,
                                          "end_lineno": 64,
                                          "lineno": 64,
                                          "value": {
                                            "ast_class": "Attribute",
                                            "attr": "location_6_ans",
                                            "col_offset": 40,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 79,
                                            "end_lineno": 64,
                                            "lineno": 64,
                                            "value": {
                                              "ast_class": "Name",
                                              "col_offset": 40,
                                              "ctx": {
                                                "ast_class": "Load"
                                              },
                                              "end_col_offset": 64,
                                              "end_lineno": 64,
                                              "id": "duflot_pinel_denormandie",
                                              "lineno": 64
                                            }
                                          }
                                        },
                                        "lineno": 64,
                                        "op": {
                                          "ast_class": "Mult"
                                        },
                                        "right": {
                                          "args": [
                                            {
                                              "args": [
                                                {
                                                  "ast_class": "Constant",
                                                  "col_offset": 100,
                                                  "end_col_offset": 101,
                                                  "end_lineno": 64,
                                                  "lineno": 64,
                                                  "value": 0
                                                },
                                                {
                                                  "ast_class": "BinOp",
                                                  "col_offset": 103,
                                                  "end_col_offset": 155,
                                                  "end_lineno": 64,
                                                  "left": {
                                                    "ast_class": "Attribute",
                                                    "attr": "plafond",
                                                    "col_offset": 103,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 135,
                                                    "end_lineno": 64,
                                                    "lineno": 64,
                                                    "value": {
                                                      "ast_class": "Name",
                                                      "col_offset": 103,
                                                      "ctx": {
                                                        "ast_class": "Load"
                                                      },
                                                      "end_col_offset": 127,
                                                      "end_lineno": 64,
                                                      "id": "duflot_pinel_denormandie",
                                                      "lineno": 64
                                                    }
                                                  },
                                                  "lineno": 64,
                                                  "op": {
                                                    "ast_class": "Sub"
                                                  },
                                                  "right": {
                                                    "ast_class": "Name",
                                                    "col_offset": 138,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 155,
                                                    "end_lineno": 64,
                                                    "id": "depenses_cumulees",
                                                    "lineno": 64
                                                  }
                                                }
                                              ],
                                              "ast_class": "Call",
                                              "col_offset": 95,
                                              "end_col_offset": 156,
                                              "end_lineno": 64,
                                              "func": {
                                                "ast_class": "Name",
                                                "col_offset": 95,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 99,
                                                "end_lineno": 64,
                                                "id": "max_",
                                                "lineno": 64
                                              },
                                              "keywords": [],
                                              "lineno": 64
                                            },
                                            {
                                              "ast_class": "Name",
                                              "col_offset": 158,
                                              "ctx": {
                                                "ast_class": "Load"
                                              },
                                              "end_col_offset": 165,
                                              "end_lineno": 64,
                                              "id": "depense",
                                              "lineno": 64
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 90,
                                          "end_col_offset": 166,
                                          "end_lineno": 64,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 90,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 94,
                                            "end_lineno": 64,
                                            "id": "min_",
                                            "lineno": 64
                                          },
                                          "keywords": [],
                                          "lineno": 64
                                        }
                                      },
                                      "lineno": 64,
                                      "op": {
                                        "ast_class": "Div"
                                      },
                                      "right": {
                                        "ast_class": "Name",
                                        "col_offset": 169,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 174,
                                        "end_lineno": 64,
                                        "id": "duree",
                                        "lineno": 64
                                      }
                                    }
                                  ],
                                  "ast_class": "Call",
                                  "col_offset": 33,
                                  "end_col_offset": 175,
                                  "end_lineno": 64,
                                  "func": {
                                    "ast_class": "Name",
                                    "col_offset": 33,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 39,
                                    "end_lineno": 64,
                                    "id": "around",
                                    "lineno": 64
                                  },
                                  "keywords": [],
                                  "lineno": 64
                                }
                              }
                            ],
                            "col_offset": 16,
                            "end_col_offset": 175,
                            "end_lineno": 64,
                            "lineno": 63,
                            "orelse": [],
                            "test": {
                              "ast_class": "Compare",
                              "col_offset": 21,
                              "comparators": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 30,
                                  "end_col_offset": 31,
                                  "end_lineno": 63,
                                  "lineno": 63,
                                  "value": 6
                                }
                              ],
                              "end_col_offset": 31,
                              "end_lineno": 63,
                              "left": {
                                "ast_class": "Name",
                                "col_offset": 21,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 26,
                                "end_lineno": 63,
                                "id": "duree",
                                "lineno": 63
                              },
                              "lineno": 63,
                              "ops": [
                                {
                                  "ast_class": "Eq"
                                }
                              ]
                            }
                          }
                        ],
                        "test": {
                          "ast_class": "Compare",
                          "col_offset": 19,
                          "comparators": [
                            {
                              "ast_class": "Constant",
                              "col_offset": 28,
                              "end_col_offset": 29,
                              "end_lineno": 61,
                              "lineno": 61,
                              "value": 9
                            }
                          ],
                          "end_col_offset": 29,
                          "end_lineno": 61,
                          "left": {
                            "ast_class": "Name",
                            "col_offset": 19,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 24,
                            "end_lineno": 61,
                            "id": "duree",
                            "lineno": 61
                          },
                          "lineno": 61,
                          "ops": [
                            {
                              "ast_class": "Eq"
                            }
                          ]
                        }
                      }
                    ],
                    "col_offset": 12,
                    "end_col_offset": 175,
                    "end_lineno": 64,
                    "lineno": 60,
                    "orelse": [],
                    "test": {
                      "ast_class": "Compare",
                      "col_offset": 15,
                      "comparators": [
                        {
                          "ast_class": "Constant",
                          "col_offset": 23,
                          "end_col_offset": 33,
                          "end_lineno": 60,
                          "lineno": 60,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 33,
                      "end_lineno": 60,
                      "left": {
                        "ast_class": "Name",
                        "col_offset": 15,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 60,
                        "id": "zone",
                        "lineno": 60
                      },
                      "lineno": 60,
                      "ops": [
                        {
                          "ast_class": "Eq"
                        }
                      ]
                    }
                  },
                  {
                    "ast_class": "AugAssign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 65,
                    "lineno": 65,
                    "op": {
                      "ast_class": "Add"
                    },
                    "target": {
                      "ast_class": "Name",
                      "col_offset": 12,
                      "ctx": {
                        "ast_class": "Store"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 65,
                      "id": "depenses_cumulees",
                      "lineno": 65
                    },
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 65,
                      "id": "depense",
                      "lineno": 65
                    }
                  }
                ],
                "col_offset": 8,
                "end_col_offset": 40,
                "end_lineno": 65,
                "iter": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 25,
                  "end_lineno": 57,
                  "id": "cases",
                  "lineno": 57
                },
                "lineno": 57,
                "orelse": [],
                "target": {
                  "ast_class": "Name",
                  "col_offset": 12,
                  "ctx": {
                    "ast_class": "Store"
                  },
                  "end_col_offset": 16,
                  "end_lineno": 57,
                  "id": "case",
                  "lineno": 57
                }
              },
              {
                "ast_class": "Return",
                "col_offset": 8,
                "end_col_offset": 24,
                "end_lineno": 66,
                "lineno": 66,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 15,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 24,
                  "end_lineno": 66,
                  "id": "reduction",
                  "lineno": 66
                }
              }
            ],
            "col_offset": 4,
            "decorator_list": [],
            "end_col_offset": 24,
            "end_lineno": 66,
            "lineno": 54,
            "name": "calcul_reduction_investissement"
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 37,
            "end_lineno": 68,
            "lineno": 68,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 17,
                "end_lineno": 68,
                "id": "annee_fiscale",
                "lineno": 68
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "year",
              "col_offset": 20,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 37,
              "end_lineno": 68,
              "lineno": 68,
              "value": {
                "ast_class": "Attribute",
                "attr": "start",
                "col_offset": 20,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 32,
                "end_lineno": 68,
                "lineno": 68,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 26,
                  "end_lineno": 68,
                  "id": "period",
                  "lineno": 68
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 146,
            "end_lineno": 69,
            "lineno": 69,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 69,
                "id": "range_year_investissement",
                "lineno": 69
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 37,
                  "end_col_offset": 145,
                  "end_lineno": 69,
                  "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": 69,
                          "id": "year",
                          "lineno": 69
                        },
                        "end_col_offset": 90,
                        "end_lineno": 69,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 65,
                                  "end_col_offset": 69,
                                  "end_lineno": 69,
                                  "lineno": 69,
                                  "value": 2015
                                },
                                {
                                  "ast_class": "BinOp",
                                  "col_offset": 71,
                                  "end_col_offset": 88,
                                  "end_lineno": 69,
                                  "left": {
                                    "ast_class": "Name",
                                    "col_offset": 71,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 84,
                                    "end_lineno": 69,
                                    "id": "annee_fiscale",
                                    "lineno": 69
                                  },
                                  "lineno": 69,
                                  "op": {
                                    "ast_class": "Add"
                                  },
                                  "right": {
                                    "ast_class": "Constant",
                                    "col_offset": 87,
                                    "end_col_offset": 88,
                                    "end_lineno": 69,
                                    "lineno": 69,
                                    "value": 1
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 59,
                              "end_col_offset": 89,
                              "end_lineno": 69,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 59,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 64,
                                "end_lineno": 69,
                                "id": "range",
                                "lineno": 69
                              },
                              "keywords": [],
                              "lineno": 69
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 51,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 55,
                              "end_lineno": 69,
                              "id": "year",
                              "lineno": 69
                            }
                          }
                        ],
                        "lineno": 69
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 37,
                    "end_col_offset": 91,
                    "end_lineno": 69,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 37,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 69,
                      "id": "set",
                      "lineno": 69
                    },
                    "keywords": [],
                    "lineno": 69
                  },
                  "lineno": 69,
                  "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": 69,
                          "id": "year",
                          "lineno": 69
                        },
                        "end_col_offset": 144,
                        "end_lineno": 69,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 116,
                              "end_col_offset": 143,
                              "end_lineno": 69,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 116,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 141,
                                "end_lineno": 69,
                                "lineno": 69,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 116,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 136,
                                  "end_lineno": 69,
                                  "id": "cases_investissement",
                                  "lineno": 69
                                }
                              },
                              "keywords": [],
                              "lineno": 69
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 108,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 112,
                              "end_lineno": 69,
                              "id": "year",
                              "lineno": 69
                            }
                          }
                        ],
                        "lineno": 69
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 94,
                    "end_col_offset": 145,
                    "end_lineno": 69,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 94,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 97,
                      "end_lineno": 69,
                      "id": "set",
                      "lineno": 69
                    },
                    "keywords": [],
                    "lineno": 69
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 146,
              "end_lineno": 69,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 36,
                "end_lineno": 69,
                "id": "list",
                "lineno": 69
              },
              "keywords": [],
              "lineno": 69
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 126,
            "end_lineno": 70,
            "lineno": 70,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 70,
                "id": "range_year_report",
                "lineno": 70
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 29,
                  "end_col_offset": 125,
                  "end_lineno": 70,
                  "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": 70,
                          "id": "year",
                          "lineno": 70
                        },
                        "end_col_offset": 78,
                        "end_lineno": 70,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 57,
                                  "end_col_offset": 61,
                                  "end_lineno": 70,
                                  "lineno": 70,
                                  "value": 2014
                                },
                                {
                                  "ast_class": "Name",
                                  "col_offset": 63,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 76,
                                  "end_lineno": 70,
                                  "id": "annee_fiscale",
                                  "lineno": 70
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 51,
                              "end_col_offset": 77,
                              "end_lineno": 70,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 51,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 56,
                                "end_lineno": 70,
                                "id": "range",
                                "lineno": 70
                              },
                              "keywords": [],
                              "lineno": 70
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 43,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 47,
                              "end_lineno": 70,
                              "id": "year",
                              "lineno": 70
                            }
                          }
                        ],
                        "lineno": 70
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 79,
                    "end_lineno": 70,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 70,
                      "id": "set",
                      "lineno": 70
                    },
                    "keywords": [],
                    "lineno": 70
                  },
                  "lineno": 70,
                  "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": 70,
                          "id": "year",
                          "lineno": 70
                        },
                        "end_col_offset": 124,
                        "end_lineno": 70,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 104,
                              "end_col_offset": 123,
                              "end_lineno": 70,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 104,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 121,
                                "end_lineno": 70,
                                "lineno": 70,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 104,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 116,
                                  "end_lineno": 70,
                                  "id": "cases_report",
                                  "lineno": 70
                                }
                              },
                              "keywords": [],
                              "lineno": 70
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 96,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 100,
                              "end_lineno": 70,
                              "id": "year",
                              "lineno": 70
                            }
                          }
                        ],
                        "lineno": 70
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 82,
                    "end_col_offset": 125,
                    "end_lineno": 70,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 82,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 85,
                      "end_lineno": 70,
                      "id": "set",
                      "lineno": 70
                    },
                    "keywords": [],
                    "lineno": 70
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 126,
              "end_lineno": 70,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 28,
                "end_lineno": 70,
                "id": "list",
                "lineno": 70
              },
              "keywords": [],
              "lineno": 70
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 128,
            "end_lineno": 72,
            "lineno": 72,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 72,
                "id": "reduction_cumulee",
                "lineno": 72
              }
            ],
            "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": 72,
                        "lineno": 72,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 82,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 86,
                          "end_lineno": 72,
                          "id": "year",
                          "lineno": 72
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 61,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 81,
                          "end_lineno": 72,
                          "id": "cases_investissement",
                          "lineno": 72
                        }
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 88,
                    "end_lineno": 72,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 60,
                      "end_lineno": 72,
                      "id": "calcul_reduction_investissement",
                      "lineno": 72
                    },
                    "keywords": [],
                    "lineno": 72
                  },
                  "end_col_offset": 127,
                  "end_lineno": 72,
                  "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": 72,
                        "id": "range_year_investissement",
                        "lineno": 72
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 93,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 97,
                        "end_lineno": 72,
                        "id": "year",
                        "lineno": 72
                      }
                    }
                  ],
                  "lineno": 72
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 128,
              "end_lineno": 72,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 27,
                "end_lineno": 72,
                "id": "sum",
                "lineno": 72
              },
              "keywords": [],
              "lineno": 72
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 107,
            "end_lineno": 73,
            "lineno": 73,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 10,
                "end_lineno": 73,
                "id": "report",
                "lineno": 73
              }
            ],
            "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": 73,
                        "id": "case",
                        "lineno": 73
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 37,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 43,
                        "end_lineno": 73,
                        "id": "period",
                        "lineno": 73
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 18,
                    "end_col_offset": 44,
                    "end_lineno": 73,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 18,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 73,
                      "id": "foyer_fiscal",
                      "lineno": 73
                    },
                    "keywords": [],
                    "lineno": 73
                  },
                  "end_col_offset": 106,
                  "end_lineno": 73,
                  "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": 73,
                        "id": "range_year_report",
                        "lineno": 73
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 49,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 53,
                        "end_lineno": 73,
                        "id": "year",
                        "lineno": 73
                      }
                    },
                    {
                      "ast_class": "comprehension",
                      "ifs": [],
                      "is_async": 0,
                      "iter": {
                        "ast_class": "Subscript",
                        "col_offset": 87,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 105,
                        "end_lineno": 73,
                        "lineno": 73,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 100,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 104,
                          "end_lineno": 73,
                          "id": "year",
                          "lineno": 73
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 87,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 99,
                          "end_lineno": 73,
                          "id": "cases_report",
                          "lineno": 73
                        }
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 79,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 83,
                        "end_lineno": 73,
                        "id": "case",
                        "lineno": 73
                      }
                    }
                  ],
                  "lineno": 73
                }
              ],
              "ast_class": "Call",
              "col_offset": 13,
              "end_col_offset": 107,
              "end_lineno": 73,
              "func": {
                "ast_class": "Name",
                "col_offset": 13,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 16,
                "end_lineno": 73,
                "id": "sum",
                "lineno": 73
              },
              "keywords": [],
              "lineno": 73
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 75,
            "lineno": 75,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 63,
              "end_lineno": 75,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 50,
                "end_lineno": 75,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 37,
                  "end_lineno": 75,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 28,
                    "end_lineno": 75,
                    "id": "reduction_cumulee",
                    "lineno": 75
                  },
                  "lineno": 75,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 31,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 37,
                    "end_lineno": 75,
                    "id": "report",
                    "lineno": 75
                  }
                },
                "lineno": 75,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "Name",
                  "col_offset": 40,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 75,
                  "id": "reduc_2013",
                  "lineno": 75
                }
              },
              "lineno": 75,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "Name",
                "col_offset": 53,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 63,
                "end_lineno": 75,
                "id": "reduc_2014",
                "lineno": 75
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 63,
        "end_lineno": 75,
        "lineno": 1,
        "name": "formula_2015_01_01"
      },
      "documentation": "\nDuflot + Pinel\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_om",
        "impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
        "impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
      ],
      "source_code": "def formula_2015_01_01(foyer_fiscal, period, parameters):\n    '''\n    Duflot + Pinel\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    f7gi = foyer_fiscal('f7gi', period)  # Outre-Mer\n\n    # Duflot année N, 2014\n    f7el = foyer_fiscal('f7el', period)  # Outre-Mer\n\n    # Pinel année N, 2014\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    reduc_2013 = duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7gi) / 9\n\n    # Duflot et Pinel 2014\n    reduc_2014 = (around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7el + f7qd) / 9)\n        + around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(duflot_pinel_denormandie.plafond - f7el - f7qd, f7qc) / 6))\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: ['f7ci_2019', 'f7di'],\n        2015: ['f7dz', 'f7ez'],\n        2016: ['f7sz', 'f7tz'],\n        2017: ['f7rc', 'f7rd'],\n        }\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 == 'outremer':\n                if duree == 9:\n                    reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * 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_om * 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\n",
      "start_line_number": 647,
      "stop_line_number": 722,
      "variables": [
        "f7el",
        "f7gi",
        "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": 26,
                      "end_lineno": 32,
                      "lineno": 32,
                      "value": "f7ci_2019"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 28,
                      "end_col_offset": 34,
                      "end_lineno": 32,
                      "lineno": 32,
                      "value": "f7di"
                    }
                  ],
                  "end_col_offset": 35,
                  "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": "f7dz"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 33,
                      "lineno": 33,
                      "value": "f7ez"
                    }
                  ],
                  "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": "f7sz"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 34,
                      "lineno": 34,
                      "value": "f7tz"
                    }
                  ],
                  "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": "f7rc"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 35,
                      "lineno": 35,
                      "value": "f7rd"
                    }
                  ],
                  "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": "f7rg"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 36,
                      "lineno": 36,
                      "value": "f7rh"
                    }
                  ],
                  "end_col_offset": 30,
                  "end_lineno": 36,
                  "lineno": 36
                }
              ]
            }
          },
          {
            "args": {
              "args": [
                {
                  "arg": "cases",
                  "ast_class": "arg",
                  "col_offset": 40,
                  "end_col_offset": 45,
                  "end_lineno": 39,
                  "lineno": 39
                }
              ],
              "ast_class": "arguments",
              "defaults": [],
              "kw_defaults": [],
              "kwonlyargs": [],
              "posonlyargs": []
            },
            "ast_class": "FunctionDef",
            "body": [
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 46,
                "end_lineno": 40,
                "lineno": 40,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 40,
                    "id": "reduction",
                    "lineno": 40
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 46,
                  "end_lineno": 40,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 44,
                    "end_lineno": 40,
                    "lineno": 40,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 40,
                      "id": "foyer_fiscal",
                      "lineno": 40
                    }
                  },
                  "keywords": [],
                  "lineno": 40
                }
              },
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 54,
                "end_lineno": 41,
                "lineno": 41,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 25,
                    "end_lineno": 41,
                    "id": "depenses_cumulees",
                    "lineno": 41
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 28,
                  "end_col_offset": 54,
                  "end_lineno": 41,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 28,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 52,
                    "end_lineno": 41,
                    "lineno": 41,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 28,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 41,
                      "id": "foyer_fiscal",
                      "lineno": 41
                    }
                  },
                  "keywords": [],
                  "lineno": 41
                }
              },
              {
                "ast_class": "For",
                "body": [
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 43,
                    "lineno": 43,
                    "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": 43,
                            "id": "variable",
                            "lineno": 43
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 22,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 27,
                            "end_lineno": 43,
                            "id": "duree",
                            "lineno": 43
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 29,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 33,
                            "end_lineno": 43,
                            "id": "zone",
                            "lineno": 43
                          }
                        ],
                        "end_col_offset": 33,
                        "end_lineno": 43,
                        "lineno": 43
                      }
                    ],
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 36,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 43,
                      "id": "case",
                      "lineno": 43
                    }
                  },
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 52,
                    "end_lineno": 44,
                    "lineno": 44,
                    "targets": [
                      {
                        "ast_class": "Name",
                        "col_offset": 12,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 44,
                        "id": "depense",
                        "lineno": 44
                      }
                    ],
                    "value": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 35,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 43,
                          "end_lineno": 44,
                          "id": "variable",
                          "lineno": 44
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 45,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 51,
                          "end_lineno": 44,
                          "id": "period",
                          "lineno": 44
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 22,
                      "end_col_offset": 52,
                      "end_lineno": 44,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 22,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 34,
                        "end_lineno": 44,
                        "id": "foyer_fiscal",
                        "lineno": 44
                      },
                      "keywords": [],
                      "lineno": 44
                    }
                  },
                  {
                    "ast_class": "If",
                    "body": [
                      {
                        "ast_class": "If",
                        "body": [
                          {
                            "ast_class": "AugAssign",
                            "col_offset": 20,
                            "end_col_offset": 175,
                            "end_lineno": 47,
                            "lineno": 47,
                            "op": {
                              "ast_class": "Add"
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 20,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 29,
                              "end_lineno": 47,
                              "id": "reduction",
                              "lineno": 47
                            },
                            "value": {
                              "args": [
                                {
                                  "ast_class": "BinOp",
                                  "col_offset": 40,
                                  "end_col_offset": 174,
                                  "end_lineno": 47,
                                  "left": {
                                    "ast_class": "BinOp",
                                    "col_offset": 40,
                                    "end_col_offset": 166,
                                    "end_lineno": 47,
                                    "left": {
                                      "ast_class": "Attribute",
                                      "attr": "taux_om",
                                      "col_offset": 40,
                                      "ctx": {
                                        "ast_class": "Load"
                                      },
                                      "end_col_offset": 87,
                                      "end_lineno": 47,
                                      "lineno": 47,
                                      "value": {
                                        "ast_class": "Attribute",
                                        "attr": "location_9_ans",
                                        "col_offset": 40,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 79,
                                        "end_lineno": 47,
                                        "lineno": 47,
                                        "value": {
                                          "ast_class": "Name",
                                          "col_offset": 40,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 64,
                                          "end_lineno": 47,
                                          "id": "duflot_pinel_denormandie",
                                          "lineno": 47
                                        }
                                      }
                                    },
                                    "lineno": 47,
                                    "op": {
                                      "ast_class": "Mult"
                                    },
                                    "right": {
                                      "args": [
                                        {
                                          "args": [
                                            {
                                              "ast_class": "Constant",
                                              "col_offset": 100,
                                              "end_col_offset": 101,
                                              "end_lineno": 47,
                                              "lineno": 47,
                                              "value": 0
                                            },
                                            {
                                              "ast_class": "BinOp",
                                              "col_offset": 103,
                                              "end_col_offset": 155,
                                              "end_lineno": 47,
                                              "left": {
                                                "ast_class": "Attribute",
                                                "attr": "plafond",
                                                "col_offset": 103,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 135,
                                                "end_lineno": 47,
                                                "lineno": 47,
                                                "value": {
                                                  "ast_class": "Name",
                                                  "col_offset": 103,
                                                  "ctx": {
                                                    "ast_class": "Load"
                                                  },
                                                  "end_col_offset": 127,
                                                  "end_lineno": 47,
                                                  "id": "duflot_pinel_denormandie",
                                                  "lineno": 47
                                                }
                                              },
                                              "lineno": 47,
                                              "op": {
                                                "ast_class": "Sub"
                                              },
                                              "right": {
                                                "ast_class": "Name",
                                                "col_offset": 138,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 155,
                                                "end_lineno": 47,
                                                "id": "depenses_cumulees",
                                                "lineno": 47
                                              }
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 95,
                                          "end_col_offset": 156,
                                          "end_lineno": 47,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 95,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 99,
                                            "end_lineno": 47,
                                            "id": "max_",
                                            "lineno": 47
                                          },
                                          "keywords": [],
                                          "lineno": 47
                                        },
                                        {
                                          "ast_class": "Name",
                                          "col_offset": 158,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 165,
                                          "end_lineno": 47,
                                          "id": "depense",
                                          "lineno": 47
                                        }
                                      ],
                                      "ast_class": "Call",
                                      "col_offset": 90,
                                      "end_col_offset": 166,
                                      "end_lineno": 47,
                                      "func": {
                                        "ast_class": "Name",
                                        "col_offset": 90,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 94,
                                        "end_lineno": 47,
                                        "id": "min_",
                                        "lineno": 47
                                      },
                                      "keywords": [],
                                      "lineno": 47
                                    }
                                  },
                                  "lineno": 47,
                                  "op": {
                                    "ast_class": "Div"
                                  },
                                  "right": {
                                    "ast_class": "Name",
                                    "col_offset": 169,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 174,
                                    "end_lineno": 47,
                                    "id": "duree",
                                    "lineno": 47
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 33,
                              "end_col_offset": 175,
                              "end_lineno": 47,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 33,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 39,
                                "end_lineno": 47,
                                "id": "around",
                                "lineno": 47
                              },
                              "keywords": [],
                              "lineno": 47
                            }
                          }
                        ],
                        "col_offset": 16,
                        "end_col_offset": 175,
                        "end_lineno": 49,
                        "lineno": 46,
                        "orelse": [
                          {
                            "ast_class": "If",
                            "body": [
                              {
                                "ast_class": "AugAssign",
                                "col_offset": 20,
                                "end_col_offset": 175,
                                "end_lineno": 49,
                                "lineno": 49,
                                "op": {
                                  "ast_class": "Add"
                                },
                                "target": {
                                  "ast_class": "Name",
                                  "col_offset": 20,
                                  "ctx": {
                                    "ast_class": "Store"
                                  },
                                  "end_col_offset": 29,
                                  "end_lineno": 49,
                                  "id": "reduction",
                                  "lineno": 49
                                },
                                "value": {
                                  "args": [
                                    {
                                      "ast_class": "BinOp",
                                      "col_offset": 40,
                                      "end_col_offset": 174,
                                      "end_lineno": 49,
                                      "left": {
                                        "ast_class": "BinOp",
                                        "col_offset": 40,
                                        "end_col_offset": 166,
                                        "end_lineno": 49,
                                        "left": {
                                          "ast_class": "Attribute",
                                          "attr": "taux_om",
                                          "col_offset": 40,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 87,
                                          "end_lineno": 49,
                                          "lineno": 49,
                                          "value": {
                                            "ast_class": "Attribute",
                                            "attr": "location_6_ans",
                                            "col_offset": 40,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 79,
                                            "end_lineno": 49,
                                            "lineno": 49,
                                            "value": {
                                              "ast_class": "Name",
                                              "col_offset": 40,
                                              "ctx": {
                                                "ast_class": "Load"
                                              },
                                              "end_col_offset": 64,
                                              "end_lineno": 49,
                                              "id": "duflot_pinel_denormandie",
                                              "lineno": 49
                                            }
                                          }
                                        },
                                        "lineno": 49,
                                        "op": {
                                          "ast_class": "Mult"
                                        },
                                        "right": {
                                          "args": [
                                            {
                                              "args": [
                                                {
                                                  "ast_class": "Constant",
                                                  "col_offset": 100,
                                                  "end_col_offset": 101,
                                                  "end_lineno": 49,
                                                  "lineno": 49,
                                                  "value": 0
                                                },
                                                {
                                                  "ast_class": "BinOp",
                                                  "col_offset": 103,
                                                  "end_col_offset": 155,
                                                  "end_lineno": 49,
                                                  "left": {
                                                    "ast_class": "Attribute",
                                                    "attr": "plafond",
                                                    "col_offset": 103,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 135,
                                                    "end_lineno": 49,
                                                    "lineno": 49,
                                                    "value": {
                                                      "ast_class": "Name",
                                                      "col_offset": 103,
                                                      "ctx": {
                                                        "ast_class": "Load"
                                                      },
                                                      "end_col_offset": 127,
                                                      "end_lineno": 49,
                                                      "id": "duflot_pinel_denormandie",
                                                      "lineno": 49
                                                    }
                                                  },
                                                  "lineno": 49,
                                                  "op": {
                                                    "ast_class": "Sub"
                                                  },
                                                  "right": {
                                                    "ast_class": "Name",
                                                    "col_offset": 138,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 155,
                                                    "end_lineno": 49,
                                                    "id": "depenses_cumulees",
                                                    "lineno": 49
                                                  }
                                                }
                                              ],
                                              "ast_class": "Call",
                                              "col_offset": 95,
                                              "end_col_offset": 156,
                                              "end_lineno": 49,
                                              "func": {
                                                "ast_class": "Name",
                                                "col_offset": 95,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 99,
                                                "end_lineno": 49,
                                                "id": "max_",
                                                "lineno": 49
                                              },
                                              "keywords": [],
                                              "lineno": 49
                                            },
                                            {
                                              "ast_class": "Name",
                                              "col_offset": 158,
                                              "ctx": {
                                                "ast_class": "Load"
                                              },
                                              "end_col_offset": 165,
                                              "end_lineno": 49,
                                              "id": "depense",
                                              "lineno": 49
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 90,
                                          "end_col_offset": 166,
                                          "end_lineno": 49,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 90,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 94,
                                            "end_lineno": 49,
                                            "id": "min_",
                                            "lineno": 49
                                          },
                                          "keywords": [],
                                          "lineno": 49
                                        }
                                      },
                                      "lineno": 49,
                                      "op": {
                                        "ast_class": "Div"
                                      },
                                      "right": {
                                        "ast_class": "Name",
                                        "col_offset": 169,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 174,
                                        "end_lineno": 49,
                                        "id": "duree",
                                        "lineno": 49
                                      }
                                    }
                                  ],
                                  "ast_class": "Call",
                                  "col_offset": 33,
                                  "end_col_offset": 175,
                                  "end_lineno": 49,
                                  "func": {
                                    "ast_class": "Name",
                                    "col_offset": 33,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 39,
                                    "end_lineno": 49,
                                    "id": "around",
                                    "lineno": 49
                                  },
                                  "keywords": [],
                                  "lineno": 49
                                }
                              }
                            ],
                            "col_offset": 16,
                            "end_col_offset": 175,
                            "end_lineno": 49,
                            "lineno": 48,
                            "orelse": [],
                            "test": {
                              "ast_class": "Compare",
                              "col_offset": 21,
                              "comparators": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 30,
                                  "end_col_offset": 31,
                                  "end_lineno": 48,
                                  "lineno": 48,
                                  "value": 6
                                }
                              ],
                              "end_col_offset": 31,
                              "end_lineno": 48,
                              "left": {
                                "ast_class": "Name",
                                "col_offset": 21,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 26,
                                "end_lineno": 48,
                                "id": "duree",
                                "lineno": 48
                              },
                              "lineno": 48,
                              "ops": [
                                {
                                  "ast_class": "Eq"
                                }
                              ]
                            }
                          }
                        ],
                        "test": {
                          "ast_class": "Compare",
                          "col_offset": 19,
                          "comparators": [
                            {
                              "ast_class": "Constant",
                              "col_offset": 28,
                              "end_col_offset": 29,
                              "end_lineno": 46,
                              "lineno": 46,
                              "value": 9
                            }
                          ],
                          "end_col_offset": 29,
                          "end_lineno": 46,
                          "left": {
                            "ast_class": "Name",
                            "col_offset": 19,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 24,
                            "end_lineno": 46,
                            "id": "duree",
                            "lineno": 46
                          },
                          "lineno": 46,
                          "ops": [
                            {
                              "ast_class": "Eq"
                            }
                          ]
                        }
                      }
                    ],
                    "col_offset": 12,
                    "end_col_offset": 175,
                    "end_lineno": 49,
                    "lineno": 45,
                    "orelse": [],
                    "test": {
                      "ast_class": "Compare",
                      "col_offset": 15,
                      "comparators": [
                        {
                          "ast_class": "Constant",
                          "col_offset": 23,
                          "end_col_offset": 33,
                          "end_lineno": 45,
                          "lineno": 45,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 33,
                      "end_lineno": 45,
                      "left": {
                        "ast_class": "Name",
                        "col_offset": 15,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 45,
                        "id": "zone",
                        "lineno": 45
                      },
                      "lineno": 45,
                      "ops": [
                        {
                          "ast_class": "Eq"
                        }
                      ]
                    }
                  },
                  {
                    "ast_class": "AugAssign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 50,
                    "lineno": 50,
                    "op": {
                      "ast_class": "Add"
                    },
                    "target": {
                      "ast_class": "Name",
                      "col_offset": 12,
                      "ctx": {
                        "ast_class": "Store"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 50,
                      "id": "depenses_cumulees",
                      "lineno": 50
                    },
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 50,
                      "id": "depense",
                      "lineno": 50
                    }
                  }
                ],
                "col_offset": 8,
                "end_col_offset": 40,
                "end_lineno": 50,
                "iter": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 25,
                  "end_lineno": 42,
                  "id": "cases",
                  "lineno": 42
                },
                "lineno": 42,
                "orelse": [],
                "target": {
                  "ast_class": "Name",
                  "col_offset": 12,
                  "ctx": {
                    "ast_class": "Store"
                  },
                  "end_col_offset": 16,
                  "end_lineno": 42,
                  "id": "case",
                  "lineno": 42
                }
              },
              {
                "ast_class": "Return",
                "col_offset": 8,
                "end_col_offset": 24,
                "end_lineno": 51,
                "lineno": 51,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 15,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 24,
                  "end_lineno": 51,
                  "id": "reduction",
                  "lineno": 51
                }
              }
            ],
            "col_offset": 4,
            "decorator_list": [],
            "end_col_offset": 24,
            "end_lineno": 51,
            "lineno": 39,
            "name": "calcul_reduction_investissement"
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 37,
            "end_lineno": 53,
            "lineno": 53,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 17,
                "end_lineno": 53,
                "id": "annee_fiscale",
                "lineno": 53
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "year",
              "col_offset": 20,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 37,
              "end_lineno": 53,
              "lineno": 53,
              "value": {
                "ast_class": "Attribute",
                "attr": "start",
                "col_offset": 20,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 32,
                "end_lineno": 53,
                "lineno": 53,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 26,
                  "end_lineno": 53,
                  "id": "period",
                  "lineno": 53
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 146,
            "end_lineno": 54,
            "lineno": 54,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 54,
                "id": "range_year_investissement",
                "lineno": 54
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 37,
                  "end_col_offset": 145,
                  "end_lineno": 54,
                  "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": 54,
                          "id": "year",
                          "lineno": 54
                        },
                        "end_col_offset": 90,
                        "end_lineno": 54,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 65,
                                  "end_col_offset": 69,
                                  "end_lineno": 54,
                                  "lineno": 54,
                                  "value": 2016
                                },
                                {
                                  "ast_class": "BinOp",
                                  "col_offset": 71,
                                  "end_col_offset": 88,
                                  "end_lineno": 54,
                                  "left": {
                                    "ast_class": "Name",
                                    "col_offset": 71,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 84,
                                    "end_lineno": 54,
                                    "id": "annee_fiscale",
                                    "lineno": 54
                                  },
                                  "lineno": 54,
                                  "op": {
                                    "ast_class": "Add"
                                  },
                                  "right": {
                                    "ast_class": "Constant",
                                    "col_offset": 87,
                                    "end_col_offset": 88,
                                    "end_lineno": 54,
                                    "lineno": 54,
                                    "value": 1
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 59,
                              "end_col_offset": 89,
                              "end_lineno": 54,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 59,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 64,
                                "end_lineno": 54,
                                "id": "range",
                                "lineno": 54
                              },
                              "keywords": [],
                              "lineno": 54
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 51,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 55,
                              "end_lineno": 54,
                              "id": "year",
                              "lineno": 54
                            }
                          }
                        ],
                        "lineno": 54
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 37,
                    "end_col_offset": 91,
                    "end_lineno": 54,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 37,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 54,
                      "id": "set",
                      "lineno": 54
                    },
                    "keywords": [],
                    "lineno": 54
                  },
                  "lineno": 54,
                  "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": 54,
                          "id": "year",
                          "lineno": 54
                        },
                        "end_col_offset": 144,
                        "end_lineno": 54,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 116,
                              "end_col_offset": 143,
                              "end_lineno": 54,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 116,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 141,
                                "end_lineno": 54,
                                "lineno": 54,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 116,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 136,
                                  "end_lineno": 54,
                                  "id": "cases_investissement",
                                  "lineno": 54
                                }
                              },
                              "keywords": [],
                              "lineno": 54
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 108,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 112,
                              "end_lineno": 54,
                              "id": "year",
                              "lineno": 54
                            }
                          }
                        ],
                        "lineno": 54
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 94,
                    "end_col_offset": 145,
                    "end_lineno": 54,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 94,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 97,
                      "end_lineno": 54,
                      "id": "set",
                      "lineno": 54
                    },
                    "keywords": [],
                    "lineno": 54
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 146,
              "end_lineno": 54,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 36,
                "end_lineno": 54,
                "id": "list",
                "lineno": 54
              },
              "keywords": [],
              "lineno": 54
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 126,
            "end_lineno": 55,
            "lineno": 55,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 55,
                "id": "range_year_report",
                "lineno": 55
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 29,
                  "end_col_offset": 125,
                  "end_lineno": 55,
                  "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": 55,
                          "id": "year",
                          "lineno": 55
                        },
                        "end_col_offset": 78,
                        "end_lineno": 55,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 57,
                                  "end_col_offset": 61,
                                  "end_lineno": 55,
                                  "lineno": 55,
                                  "value": 2014
                                },
                                {
                                  "ast_class": "Name",
                                  "col_offset": 63,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 76,
                                  "end_lineno": 55,
                                  "id": "annee_fiscale",
                                  "lineno": 55
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 51,
                              "end_col_offset": 77,
                              "end_lineno": 55,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 51,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 56,
                                "end_lineno": 55,
                                "id": "range",
                                "lineno": 55
                              },
                              "keywords": [],
                              "lineno": 55
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 43,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 47,
                              "end_lineno": 55,
                              "id": "year",
                              "lineno": 55
                            }
                          }
                        ],
                        "lineno": 55
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 79,
                    "end_lineno": 55,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 55,
                      "id": "set",
                      "lineno": 55
                    },
                    "keywords": [],
                    "lineno": 55
                  },
                  "lineno": 55,
                  "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": 55,
                          "id": "year",
                          "lineno": 55
                        },
                        "end_col_offset": 124,
                        "end_lineno": 55,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 104,
                              "end_col_offset": 123,
                              "end_lineno": 55,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 104,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 121,
                                "end_lineno": 55,
                                "lineno": 55,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 104,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 116,
                                  "end_lineno": 55,
                                  "id": "cases_report",
                                  "lineno": 55
                                }
                              },
                              "keywords": [],
                              "lineno": 55
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 96,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 100,
                              "end_lineno": 55,
                              "id": "year",
                              "lineno": 55
                            }
                          }
                        ],
                        "lineno": 55
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 82,
                    "end_col_offset": 125,
                    "end_lineno": 55,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 82,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 85,
                      "end_lineno": 55,
                      "id": "set",
                      "lineno": 55
                    },
                    "keywords": [],
                    "lineno": 55
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 126,
              "end_lineno": 55,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 28,
                "end_lineno": 55,
                "id": "list",
                "lineno": 55
              },
              "keywords": [],
              "lineno": 55
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 128,
            "end_lineno": 57,
            "lineno": 57,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 57,
                "id": "reduction_cumulee",
                "lineno": 57
              }
            ],
            "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": 57,
                        "lineno": 57,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 82,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 86,
                          "end_lineno": 57,
                          "id": "year",
                          "lineno": 57
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 61,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 81,
                          "end_lineno": 57,
                          "id": "cases_investissement",
                          "lineno": 57
                        }
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 88,
                    "end_lineno": 57,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 60,
                      "end_lineno": 57,
                      "id": "calcul_reduction_investissement",
                      "lineno": 57
                    },
                    "keywords": [],
                    "lineno": 57
                  },
                  "end_col_offset": 127,
                  "end_lineno": 57,
                  "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": 57,
                        "id": "range_year_investissement",
                        "lineno": 57
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 93,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 97,
                        "end_lineno": 57,
                        "id": "year",
                        "lineno": 57
                      }
                    }
                  ],
                  "lineno": 57
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 128,
              "end_lineno": 57,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 27,
                "end_lineno": 57,
                "id": "sum",
                "lineno": 57
              },
              "keywords": [],
              "lineno": 57
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 107,
            "end_lineno": 58,
            "lineno": 58,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 10,
                "end_lineno": 58,
                "id": "report",
                "lineno": 58
              }
            ],
            "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": 58,
                        "id": "case",
                        "lineno": 58
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 37,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 43,
                        "end_lineno": 58,
                        "id": "period",
                        "lineno": 58
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 18,
                    "end_col_offset": 44,
                    "end_lineno": 58,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 18,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 58,
                      "id": "foyer_fiscal",
                      "lineno": 58
                    },
                    "keywords": [],
                    "lineno": 58
                  },
                  "end_col_offset": 106,
                  "end_lineno": 58,
                  "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": 58,
                        "id": "range_year_report",
                        "lineno": 58
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 49,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 53,
                        "end_lineno": 58,
                        "id": "year",
                        "lineno": 58
                      }
                    },
                    {
                      "ast_class": "comprehension",
                      "ifs": [],
                      "is_async": 0,
                      "iter": {
                        "ast_class": "Subscript",
                        "col_offset": 87,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 105,
                        "end_lineno": 58,
                        "lineno": 58,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 100,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 104,
                          "end_lineno": 58,
                          "id": "year",
                          "lineno": 58
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 87,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 99,
                          "end_lineno": 58,
                          "id": "cases_report",
                          "lineno": 58
                        }
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 79,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 83,
                        "end_lineno": 58,
                        "id": "case",
                        "lineno": 58
                      }
                    }
                  ],
                  "lineno": 58
                }
              ],
              "ast_class": "Call",
              "col_offset": 13,
              "end_col_offset": 107,
              "end_lineno": 58,
              "func": {
                "ast_class": "Name",
                "col_offset": 13,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 16,
                "end_lineno": 58,
                "id": "sum",
                "lineno": 58
              },
              "keywords": [],
              "lineno": 58
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 37,
            "end_lineno": 60,
            "lineno": 60,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 37,
              "end_lineno": 60,
              "left": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 28,
                "end_lineno": 60,
                "id": "reduction_cumulee",
                "lineno": 60
              },
              "lineno": 60,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "Name",
                "col_offset": 31,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 37,
                "end_lineno": 60,
                "id": "report",
                "lineno": 60
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 37,
        "end_lineno": 60,
        "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_om",
        "impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
        "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: ['f7ci_2019', 'f7di'],\n        2015: ['f7dz', 'f7ez'],\n        2016: ['f7sz', 'f7tz'],\n        2017: ['f7rc', 'f7rd'],\n        2018: ['f7rg', 'f7rh'],\n        }\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 == 'outremer':\n                if duree == 9:\n                    reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * 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_om * 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\n",
      "start_line_number": 723,
      "stop_line_number": 783
    },
    "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": 35,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 24,
                "end_lineno": 9,
                "id": "cases_investissement",
                "lineno": 9
              }
            ],
            "value": {
              "ast_class": "Dict",
              "col_offset": 27,
              "end_col_offset": 9,
              "end_lineno": 35,
              "keys": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": 2019
                }
              ],
              "lineno": 9,
              "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": 11,
                          "lineno": 11,
                          "value": "f7qp"
                        },
                        {
                          "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": "f7qu"
                        },
                        {
                          "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": "f7qq"
                        },
                        {
                          "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": "f7nd"
                        },
                        {
                          "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": "f7qd"
                        },
                        {
                          "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": "f7nh"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 21,
                          "end_col_offset": 22,
                          "end_lineno": 16,
                          "lineno": 16,
                          "value": 9
                        },
                        {
                          "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": "f7qo"
                        },
                        {
                          "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": "f7qt"
                        },
                        {
                          "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": "f7qy"
                        },
                        {
                          "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": "f7nc"
                        },
                        {
                          "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": "f7qc"
                        },
                        {
                          "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": "f7ng"
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 21,
                          "end_col_offset": 22,
                          "end_lineno": 22,
                          "lineno": 22,
                          "value": 6
                        },
                        {
                          "ast_class": "Constant",
                          "col_offset": 24,
                          "end_col_offset": 34,
                          "end_lineno": 22,
                          "lineno": 22,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 35,
                      "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": "f7qn"
                        },
                        {
                          "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": "f7qs"
                        },
                        {
                          "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": "f7qx"
                        },
                        {
                          "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": "f7nb"
                        },
                        {
                          "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": "f7qb"
                        },
                        {
                          "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": "f7nf"
                        },
                        {
                          "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": "f7qm"
                        },
                        {
                          "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": "f7qr"
                        },
                        {
                          "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": "f7qw"
                        },
                        {
                          "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": "f7na"
                        },
                        {
                          "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": "f7qa"
                        },
                        {
                          "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": "f7ne"
                        },
                        {
                          "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": 10
                }
              ]
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 44,
            "lineno": 37,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 16,
                "end_lineno": 37,
                "id": "cases_report",
                "lineno": 37
              }
            ],
            "value": {
              "ast_class": "Dict",
              "col_offset": 19,
              "end_col_offset": 9,
              "end_lineno": 44,
              "keys": [
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 38,
                  "lineno": 38,
                  "value": 2014
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 39,
                  "lineno": 39,
                  "value": 2015
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 40,
                  "lineno": 40,
                  "value": 2016
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 41,
                  "lineno": 41,
                  "value": 2017
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 42,
                  "lineno": 42,
                  "value": 2018
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 8,
                  "end_col_offset": 12,
                  "end_lineno": 43,
                  "lineno": 43,
                  "value": 2019
                }
              ],
              "lineno": 37,
              "values": [
                {
                  "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": "f7di"
                    }
                  ],
                  "end_col_offset": 22,
                  "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": "f7dz"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 39,
                      "lineno": 39,
                      "value": "f7ez"
                    }
                  ],
                  "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": "f7sz"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 40,
                      "lineno": 40,
                      "value": "f7tz"
                    }
                  ],
                  "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": "f7rc"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 41,
                      "lineno": 41,
                      "value": "f7rd"
                    }
                  ],
                  "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": "f7rg"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 42,
                      "lineno": 42,
                      "value": "f7rh"
                    }
                  ],
                  "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": "f7lm"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 43,
                      "lineno": 43,
                      "value": "f7mm"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 31,
                      "end_col_offset": 37,
                      "end_lineno": 43,
                      "lineno": 43,
                      "value": "f7jc"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 45,
                      "end_lineno": 43,
                      "lineno": 43,
                      "value": "f7jd"
                    }
                  ],
                  "end_col_offset": 46,
                  "end_lineno": 43,
                  "lineno": 43
                }
              ]
            }
          },
          {
            "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": "f7rs",
                "lineno": 47
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 47,
                  "lineno": 47,
                  "value": "f7rs"
                },
                {
                  "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
            }
          },
          {
            "args": {
              "args": [
                {
                  "arg": "cases",
                  "ast_class": "arg",
                  "col_offset": 40,
                  "end_col_offset": 45,
                  "end_lineno": 49,
                  "lineno": 49
                }
              ],
              "ast_class": "arguments",
              "defaults": [],
              "kw_defaults": [],
              "kwonlyargs": [],
              "posonlyargs": []
            },
            "ast_class": "FunctionDef",
            "body": [
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 46,
                "end_lineno": 50,
                "lineno": 50,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 50,
                    "id": "reduction",
                    "lineno": 50
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 46,
                  "end_lineno": 50,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 44,
                    "end_lineno": 50,
                    "lineno": 50,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 50,
                      "id": "foyer_fiscal",
                      "lineno": 50
                    }
                  },
                  "keywords": [],
                  "lineno": 50
                }
              },
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 54,
                "end_lineno": 51,
                "lineno": 51,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 25,
                    "end_lineno": 51,
                    "id": "depenses_cumulees",
                    "lineno": 51
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 28,
                  "end_col_offset": 54,
                  "end_lineno": 51,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 28,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 52,
                    "end_lineno": 51,
                    "lineno": 51,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 28,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 51,
                      "id": "foyer_fiscal",
                      "lineno": 51
                    }
                  },
                  "keywords": [],
                  "lineno": 51
                }
              },
              {
                "ast_class": "For",
                "body": [
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 53,
                    "lineno": 53,
                    "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": 53,
                            "id": "variable",
                            "lineno": 53
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 22,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 27,
                            "end_lineno": 53,
                            "id": "duree",
                            "lineno": 53
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 29,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 33,
                            "end_lineno": 53,
                            "id": "zone",
                            "lineno": 53
                          }
                        ],
                        "end_col_offset": 33,
                        "end_lineno": 53,
                        "lineno": 53
                      }
                    ],
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 36,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 53,
                      "id": "case",
                      "lineno": 53
                    }
                  },
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 52,
                    "end_lineno": 54,
                    "lineno": 54,
                    "targets": [
                      {
                        "ast_class": "Name",
                        "col_offset": 12,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 54,
                        "id": "depense",
                        "lineno": 54
                      }
                    ],
                    "value": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 35,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 43,
                          "end_lineno": 54,
                          "id": "variable",
                          "lineno": 54
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 45,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 51,
                          "end_lineno": 54,
                          "id": "period",
                          "lineno": 54
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 22,
                      "end_col_offset": 52,
                      "end_lineno": 54,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 22,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 34,
                        "end_lineno": 54,
                        "id": "foyer_fiscal",
                        "lineno": 54
                      },
                      "keywords": [],
                      "lineno": 54
                    }
                  },
                  {
                    "ast_class": "If",
                    "body": [
                      {
                        "ast_class": "If",
                        "body": [
                          {
                            "ast_class": "AugAssign",
                            "col_offset": 20,
                            "end_col_offset": 175,
                            "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": 174,
                                  "end_lineno": 57,
                                  "left": {
                                    "ast_class": "BinOp",
                                    "col_offset": 40,
                                    "end_col_offset": 166,
                                    "end_lineno": 57,
                                    "left": {
                                      "ast_class": "Attribute",
                                      "attr": "taux_om",
                                      "col_offset": 40,
                                      "ctx": {
                                        "ast_class": "Load"
                                      },
                                      "end_col_offset": 87,
                                      "end_lineno": 57,
                                      "lineno": 57,
                                      "value": {
                                        "ast_class": "Attribute",
                                        "attr": "location_9_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": 100,
                                              "end_col_offset": 101,
                                              "end_lineno": 57,
                                              "lineno": 57,
                                              "value": 0
                                            },
                                            {
                                              "ast_class": "BinOp",
                                              "col_offset": 103,
                                              "end_col_offset": 155,
                                              "end_lineno": 57,
                                              "left": {
                                                "ast_class": "Attribute",
                                                "attr": "plafond",
                                                "col_offset": 103,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 135,
                                                "end_lineno": 57,
                                                "lineno": 57,
                                                "value": {
                                                  "ast_class": "Name",
                                                  "col_offset": 103,
                                                  "ctx": {
                                                    "ast_class": "Load"
                                                  },
                                                  "end_col_offset": 127,
                                                  "end_lineno": 57,
                                                  "id": "duflot_pinel_denormandie",
                                                  "lineno": 57
                                                }
                                              },
                                              "lineno": 57,
                                              "op": {
                                                "ast_class": "Sub"
                                              },
                                              "right": {
                                                "ast_class": "Name",
                                                "col_offset": 138,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 155,
                                                "end_lineno": 57,
                                                "id": "depenses_cumulees",
                                                "lineno": 57
                                              }
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 95,
                                          "end_col_offset": 156,
                                          "end_lineno": 57,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 95,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 99,
                                            "end_lineno": 57,
                                            "id": "max_",
                                            "lineno": 57
                                          },
                                          "keywords": [],
                                          "lineno": 57
                                        },
                                        {
                                          "ast_class": "Name",
                                          "col_offset": 158,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 165,
                                          "end_lineno": 57,
                                          "id": "depense",
                                          "lineno": 57
                                        }
                                      ],
                                      "ast_class": "Call",
                                      "col_offset": 90,
                                      "end_col_offset": 166,
                                      "end_lineno": 57,
                                      "func": {
                                        "ast_class": "Name",
                                        "col_offset": 90,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 94,
                                        "end_lineno": 57,
                                        "id": "min_",
                                        "lineno": 57
                                      },
                                      "keywords": [],
                                      "lineno": 57
                                    }
                                  },
                                  "lineno": 57,
                                  "op": {
                                    "ast_class": "Div"
                                  },
                                  "right": {
                                    "ast_class": "Name",
                                    "col_offset": 169,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 174,
                                    "end_lineno": 57,
                                    "id": "duree",
                                    "lineno": 57
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 33,
                              "end_col_offset": 175,
                              "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": 175,
                        "end_lineno": 59,
                        "lineno": 56,
                        "orelse": [
                          {
                            "ast_class": "If",
                            "body": [
                              {
                                "ast_class": "AugAssign",
                                "col_offset": 20,
                                "end_col_offset": 175,
                                "end_lineno": 59,
                                "lineno": 59,
                                "op": {
                                  "ast_class": "Add"
                                },
                                "target": {
                                  "ast_class": "Name",
                                  "col_offset": 20,
                                  "ctx": {
                                    "ast_class": "Store"
                                  },
                                  "end_col_offset": 29,
                                  "end_lineno": 59,
                                  "id": "reduction",
                                  "lineno": 59
                                },
                                "value": {
                                  "args": [
                                    {
                                      "ast_class": "BinOp",
                                      "col_offset": 40,
                                      "end_col_offset": 174,
                                      "end_lineno": 59,
                                      "left": {
                                        "ast_class": "BinOp",
                                        "col_offset": 40,
                                        "end_col_offset": 166,
                                        "end_lineno": 59,
                                        "left": {
                                          "ast_class": "Attribute",
                                          "attr": "taux_om",
                                          "col_offset": 40,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 87,
                                          "end_lineno": 59,
                                          "lineno": 59,
                                          "value": {
                                            "ast_class": "Attribute",
                                            "attr": "location_6_ans",
                                            "col_offset": 40,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 79,
                                            "end_lineno": 59,
                                            "lineno": 59,
                                            "value": {
                                              "ast_class": "Name",
                                              "col_offset": 40,
                                              "ctx": {
                                                "ast_class": "Load"
                                              },
                                              "end_col_offset": 64,
                                              "end_lineno": 59,
                                              "id": "duflot_pinel_denormandie",
                                              "lineno": 59
                                            }
                                          }
                                        },
                                        "lineno": 59,
                                        "op": {
                                          "ast_class": "Mult"
                                        },
                                        "right": {
                                          "args": [
                                            {
                                              "args": [
                                                {
                                                  "ast_class": "Constant",
                                                  "col_offset": 100,
                                                  "end_col_offset": 101,
                                                  "end_lineno": 59,
                                                  "lineno": 59,
                                                  "value": 0
                                                },
                                                {
                                                  "ast_class": "BinOp",
                                                  "col_offset": 103,
                                                  "end_col_offset": 155,
                                                  "end_lineno": 59,
                                                  "left": {
                                                    "ast_class": "Attribute",
                                                    "attr": "plafond",
                                                    "col_offset": 103,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 135,
                                                    "end_lineno": 59,
                                                    "lineno": 59,
                                                    "value": {
                                                      "ast_class": "Name",
                                                      "col_offset": 103,
                                                      "ctx": {
                                                        "ast_class": "Load"
                                                      },
                                                      "end_col_offset": 127,
                                                      "end_lineno": 59,
                                                      "id": "duflot_pinel_denormandie",
                                                      "lineno": 59
                                                    }
                                                  },
                                                  "lineno": 59,
                                                  "op": {
                                                    "ast_class": "Sub"
                                                  },
                                                  "right": {
                                                    "ast_class": "Name",
                                                    "col_offset": 138,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 155,
                                                    "end_lineno": 59,
                                                    "id": "depenses_cumulees",
                                                    "lineno": 59
                                                  }
                                                }
                                              ],
                                              "ast_class": "Call",
                                              "col_offset": 95,
                                              "end_col_offset": 156,
                                              "end_lineno": 59,
                                              "func": {
                                                "ast_class": "Name",
                                                "col_offset": 95,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 99,
                                                "end_lineno": 59,
                                                "id": "max_",
                                                "lineno": 59
                                              },
                                              "keywords": [],
                                              "lineno": 59
                                            },
                                            {
                                              "ast_class": "Name",
                                              "col_offset": 158,
                                              "ctx": {
                                                "ast_class": "Load"
                                              },
                                              "end_col_offset": 165,
                                              "end_lineno": 59,
                                              "id": "depense",
                                              "lineno": 59
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 90,
                                          "end_col_offset": 166,
                                          "end_lineno": 59,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 90,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 94,
                                            "end_lineno": 59,
                                            "id": "min_",
                                            "lineno": 59
                                          },
                                          "keywords": [],
                                          "lineno": 59
                                        }
                                      },
                                      "lineno": 59,
                                      "op": {
                                        "ast_class": "Div"
                                      },
                                      "right": {
                                        "ast_class": "Name",
                                        "col_offset": 169,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 174,
                                        "end_lineno": 59,
                                        "id": "duree",
                                        "lineno": 59
                                      }
                                    }
                                  ],
                                  "ast_class": "Call",
                                  "col_offset": 33,
                                  "end_col_offset": 175,
                                  "end_lineno": 59,
                                  "func": {
                                    "ast_class": "Name",
                                    "col_offset": 33,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 39,
                                    "end_lineno": 59,
                                    "id": "around",
                                    "lineno": 59
                                  },
                                  "keywords": [],
                                  "lineno": 59
                                }
                              }
                            ],
                            "col_offset": 16,
                            "end_col_offset": 175,
                            "end_lineno": 59,
                            "lineno": 58,
                            "orelse": [],
                            "test": {
                              "ast_class": "Compare",
                              "col_offset": 21,
                              "comparators": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 30,
                                  "end_col_offset": 31,
                                  "end_lineno": 58,
                                  "lineno": 58,
                                  "value": 6
                                }
                              ],
                              "end_col_offset": 31,
                              "end_lineno": 58,
                              "left": {
                                "ast_class": "Name",
                                "col_offset": 21,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 26,
                                "end_lineno": 58,
                                "id": "duree",
                                "lineno": 58
                              },
                              "lineno": 58,
                              "ops": [
                                {
                                  "ast_class": "Eq"
                                }
                              ]
                            }
                          }
                        ],
                        "test": {
                          "ast_class": "Compare",
                          "col_offset": 19,
                          "comparators": [
                            {
                              "ast_class": "Constant",
                              "col_offset": 28,
                              "end_col_offset": 29,
                              "end_lineno": 56,
                              "lineno": 56,
                              "value": 9
                            }
                          ],
                          "end_col_offset": 29,
                          "end_lineno": 56,
                          "left": {
                            "ast_class": "Name",
                            "col_offset": 19,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 24,
                            "end_lineno": 56,
                            "id": "duree",
                            "lineno": 56
                          },
                          "lineno": 56,
                          "ops": [
                            {
                              "ast_class": "Eq"
                            }
                          ]
                        }
                      }
                    ],
                    "col_offset": 12,
                    "end_col_offset": 175,
                    "end_lineno": 59,
                    "lineno": 55,
                    "orelse": [],
                    "test": {
                      "ast_class": "Compare",
                      "col_offset": 15,
                      "comparators": [
                        {
                          "ast_class": "Constant",
                          "col_offset": 23,
                          "end_col_offset": 33,
                          "end_lineno": 55,
                          "lineno": 55,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 33,
                      "end_lineno": 55,
                      "left": {
                        "ast_class": "Name",
                        "col_offset": 15,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 55,
                        "id": "zone",
                        "lineno": 55
                      },
                      "lineno": 55,
                      "ops": [
                        {
                          "ast_class": "Eq"
                        }
                      ]
                    }
                  },
                  {
                    "ast_class": "AugAssign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 60,
                    "lineno": 60,
                    "op": {
                      "ast_class": "Add"
                    },
                    "target": {
                      "ast_class": "Name",
                      "col_offset": 12,
                      "ctx": {
                        "ast_class": "Store"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 60,
                      "id": "depenses_cumulees",
                      "lineno": 60
                    },
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 60,
                      "id": "depense",
                      "lineno": 60
                    }
                  }
                ],
                "col_offset": 8,
                "end_col_offset": 40,
                "end_lineno": 60,
                "iter": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 25,
                  "end_lineno": 52,
                  "id": "cases",
                  "lineno": 52
                },
                "lineno": 52,
                "orelse": [],
                "target": {
                  "ast_class": "Name",
                  "col_offset": 12,
                  "ctx": {
                    "ast_class": "Store"
                  },
                  "end_col_offset": 16,
                  "end_lineno": 52,
                  "id": "case",
                  "lineno": 52
                }
              },
              {
                "ast_class": "Return",
                "col_offset": 8,
                "end_col_offset": 24,
                "end_lineno": 61,
                "lineno": 61,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 15,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 24,
                  "end_lineno": 61,
                  "id": "reduction",
                  "lineno": 61
                }
              }
            ],
            "col_offset": 4,
            "decorator_list": [],
            "end_col_offset": 24,
            "end_lineno": 61,
            "lineno": 49,
            "name": "calcul_reduction_investissement"
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 37,
            "end_lineno": 63,
            "lineno": 63,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 17,
                "end_lineno": 63,
                "id": "annee_fiscale",
                "lineno": 63
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "year",
              "col_offset": 20,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 37,
              "end_lineno": 63,
              "lineno": 63,
              "value": {
                "ast_class": "Attribute",
                "attr": "start",
                "col_offset": 20,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 32,
                "end_lineno": 63,
                "lineno": 63,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 26,
                  "end_lineno": 63,
                  "id": "period",
                  "lineno": 63
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 146,
            "end_lineno": 64,
            "lineno": 64,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 64,
                "id": "range_year_investissement",
                "lineno": 64
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 37,
                  "end_col_offset": 145,
                  "end_lineno": 64,
                  "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": 64,
                          "id": "year",
                          "lineno": 64
                        },
                        "end_col_offset": 90,
                        "end_lineno": 64,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 65,
                                  "end_col_offset": 69,
                                  "end_lineno": 64,
                                  "lineno": 64,
                                  "value": 2016
                                },
                                {
                                  "ast_class": "BinOp",
                                  "col_offset": 71,
                                  "end_col_offset": 88,
                                  "end_lineno": 64,
                                  "left": {
                                    "ast_class": "Name",
                                    "col_offset": 71,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 84,
                                    "end_lineno": 64,
                                    "id": "annee_fiscale",
                                    "lineno": 64
                                  },
                                  "lineno": 64,
                                  "op": {
                                    "ast_class": "Add"
                                  },
                                  "right": {
                                    "ast_class": "Constant",
                                    "col_offset": 87,
                                    "end_col_offset": 88,
                                    "end_lineno": 64,
                                    "lineno": 64,
                                    "value": 1
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 59,
                              "end_col_offset": 89,
                              "end_lineno": 64,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 59,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 64,
                                "end_lineno": 64,
                                "id": "range",
                                "lineno": 64
                              },
                              "keywords": [],
                              "lineno": 64
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 51,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 55,
                              "end_lineno": 64,
                              "id": "year",
                              "lineno": 64
                            }
                          }
                        ],
                        "lineno": 64
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 37,
                    "end_col_offset": 91,
                    "end_lineno": 64,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 37,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 64,
                      "id": "set",
                      "lineno": 64
                    },
                    "keywords": [],
                    "lineno": 64
                  },
                  "lineno": 64,
                  "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": 64,
                          "id": "year",
                          "lineno": 64
                        },
                        "end_col_offset": 144,
                        "end_lineno": 64,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 116,
                              "end_col_offset": 143,
                              "end_lineno": 64,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 116,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 141,
                                "end_lineno": 64,
                                "lineno": 64,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 116,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 136,
                                  "end_lineno": 64,
                                  "id": "cases_investissement",
                                  "lineno": 64
                                }
                              },
                              "keywords": [],
                              "lineno": 64
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 108,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 112,
                              "end_lineno": 64,
                              "id": "year",
                              "lineno": 64
                            }
                          }
                        ],
                        "lineno": 64
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 94,
                    "end_col_offset": 145,
                    "end_lineno": 64,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 94,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 97,
                      "end_lineno": 64,
                      "id": "set",
                      "lineno": 64
                    },
                    "keywords": [],
                    "lineno": 64
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 146,
              "end_lineno": 64,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 36,
                "end_lineno": 64,
                "id": "list",
                "lineno": 64
              },
              "keywords": [],
              "lineno": 64
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 126,
            "end_lineno": 65,
            "lineno": 65,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 65,
                "id": "range_year_report",
                "lineno": 65
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 29,
                  "end_col_offset": 125,
                  "end_lineno": 65,
                  "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": 65,
                          "id": "year",
                          "lineno": 65
                        },
                        "end_col_offset": 78,
                        "end_lineno": 65,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 57,
                                  "end_col_offset": 61,
                                  "end_lineno": 65,
                                  "lineno": 65,
                                  "value": 2014
                                },
                                {
                                  "ast_class": "Name",
                                  "col_offset": 63,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 76,
                                  "end_lineno": 65,
                                  "id": "annee_fiscale",
                                  "lineno": 65
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 51,
                              "end_col_offset": 77,
                              "end_lineno": 65,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 51,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 56,
                                "end_lineno": 65,
                                "id": "range",
                                "lineno": 65
                              },
                              "keywords": [],
                              "lineno": 65
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 43,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 47,
                              "end_lineno": 65,
                              "id": "year",
                              "lineno": 65
                            }
                          }
                        ],
                        "lineno": 65
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 79,
                    "end_lineno": 65,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 65,
                      "id": "set",
                      "lineno": 65
                    },
                    "keywords": [],
                    "lineno": 65
                  },
                  "lineno": 65,
                  "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": 65,
                          "id": "year",
                          "lineno": 65
                        },
                        "end_col_offset": 124,
                        "end_lineno": 65,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 104,
                              "end_col_offset": 123,
                              "end_lineno": 65,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 104,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 121,
                                "end_lineno": 65,
                                "lineno": 65,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 104,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 116,
                                  "end_lineno": 65,
                                  "id": "cases_report",
                                  "lineno": 65
                                }
                              },
                              "keywords": [],
                              "lineno": 65
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 96,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 100,
                              "end_lineno": 65,
                              "id": "year",
                              "lineno": 65
                            }
                          }
                        ],
                        "lineno": 65
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 82,
                    "end_col_offset": 125,
                    "end_lineno": 65,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 82,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 85,
                      "end_lineno": 65,
                      "id": "set",
                      "lineno": 65
                    },
                    "keywords": [],
                    "lineno": 65
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 126,
              "end_lineno": 65,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 28,
                "end_lineno": 65,
                "id": "list",
                "lineno": 65
              },
              "keywords": [],
              "lineno": 65
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 128,
            "end_lineno": 67,
            "lineno": 67,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 67,
                "id": "reduction_cumulee",
                "lineno": 67
              }
            ],
            "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": 67,
                        "lineno": 67,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 82,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 86,
                          "end_lineno": 67,
                          "id": "year",
                          "lineno": 67
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 61,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 81,
                          "end_lineno": 67,
                          "id": "cases_investissement",
                          "lineno": 67
                        }
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 88,
                    "end_lineno": 67,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 60,
                      "end_lineno": 67,
                      "id": "calcul_reduction_investissement",
                      "lineno": 67
                    },
                    "keywords": [],
                    "lineno": 67
                  },
                  "end_col_offset": 127,
                  "end_lineno": 67,
                  "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": 67,
                        "id": "range_year_investissement",
                        "lineno": 67
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 93,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 97,
                        "end_lineno": 67,
                        "id": "year",
                        "lineno": 67
                      }
                    }
                  ],
                  "lineno": 67
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 128,
              "end_lineno": 67,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 27,
                "end_lineno": 67,
                "id": "sum",
                "lineno": 67
              },
              "keywords": [],
              "lineno": 67
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 107,
            "end_lineno": 68,
            "lineno": 68,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 10,
                "end_lineno": 68,
                "id": "report",
                "lineno": 68
              }
            ],
            "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": 68,
                        "id": "case",
                        "lineno": 68
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 37,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 43,
                        "end_lineno": 68,
                        "id": "period",
                        "lineno": 68
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 18,
                    "end_col_offset": 44,
                    "end_lineno": 68,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 18,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 68,
                      "id": "foyer_fiscal",
                      "lineno": 68
                    },
                    "keywords": [],
                    "lineno": 68
                  },
                  "end_col_offset": 106,
                  "end_lineno": 68,
                  "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": 68,
                        "id": "range_year_report",
                        "lineno": 68
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 49,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 53,
                        "end_lineno": 68,
                        "id": "year",
                        "lineno": 68
                      }
                    },
                    {
                      "ast_class": "comprehension",
                      "ifs": [],
                      "is_async": 0,
                      "iter": {
                        "ast_class": "Subscript",
                        "col_offset": 87,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 105,
                        "end_lineno": 68,
                        "lineno": 68,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 100,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 104,
                          "end_lineno": 68,
                          "id": "year",
                          "lineno": 68
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 87,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 99,
                          "end_lineno": 68,
                          "id": "cases_report",
                          "lineno": 68
                        }
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 79,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 83,
                        "end_lineno": 68,
                        "id": "case",
                        "lineno": 68
                      }
                    }
                  ],
                  "lineno": 68
                }
              ],
              "ast_class": "Call",
              "col_offset": 13,
              "end_col_offset": 107,
              "end_lineno": 68,
              "func": {
                "ast_class": "Name",
                "col_offset": 13,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 16,
                "end_lineno": 68,
                "id": "sum",
                "lineno": 68
              },
              "keywords": [],
              "lineno": 68
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 138,
            "end_lineno": 70,
            "lineno": 70,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 15,
                "end_lineno": 70,
                "id": "prorogation",
                "lineno": 70
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 25,
                  "end_col_offset": 137,
                  "end_lineno": 70,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 25,
                    "end_col_offset": 133,
                    "end_lineno": 70,
                    "left": {
                      "args": [
                        {
                          "ast_class": "Attribute",
                          "attr": "plafond",
                          "col_offset": 30,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 62,
                          "end_lineno": 70,
                          "lineno": 70,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 30,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 54,
                            "end_lineno": 70,
                            "id": "duflot_pinel_denormandie",
                            "lineno": 70
                          }
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 64,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 68,
                          "end_lineno": 70,
                          "id": "f7rs",
                          "lineno": 70
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 25,
                      "end_col_offset": 69,
                      "end_lineno": 70,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 70,
                        "id": "min_",
                        "lineno": 70
                      },
                      "keywords": [],
                      "lineno": 70
                    },
                    "lineno": 70,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "ast_class": "Attribute",
                      "attr": "taux_prolong1_6ans",
                      "col_offset": 72,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 133,
                      "end_lineno": 70,
                      "lineno": 70,
                      "value": {
                        "ast_class": "Attribute",
                        "attr": "taux_prolongation",
                        "col_offset": 72,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 114,
                        "end_lineno": 70,
                        "lineno": 70,
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 72,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 96,
                          "end_lineno": 70,
                          "id": "duflot_pinel_denormandie",
                          "lineno": 70
                        }
                      }
                    }
                  },
                  "lineno": 70,
                  "op": {
                    "ast_class": "Div"
                  },
                  "right": {
                    "ast_class": "Constant",
                    "col_offset": 136,
                    "end_col_offset": 137,
                    "end_lineno": 70,
                    "lineno": 70,
                    "value": 3
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 18,
              "end_col_offset": 138,
              "end_lineno": 70,
              "func": {
                "ast_class": "Name",
                "col_offset": 18,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 24,
                "end_lineno": 70,
                "id": "around",
                "lineno": 70
              },
              "keywords": [],
              "lineno": 70
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 72,
            "lineno": 72,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 51,
              "end_lineno": 72,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 37,
                "end_lineno": 72,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 11,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 28,
                  "end_lineno": 72,
                  "id": "reduction_cumulee",
                  "lineno": 72
                },
                "lineno": 72,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "Name",
                  "col_offset": 31,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 37,
                  "end_lineno": 72,
                  "id": "report",
                  "lineno": 72
                }
              },
              "lineno": 72,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "Name",
                "col_offset": 40,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 51,
                "end_lineno": 72,
                "id": "prorogation",
                "lineno": 72
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 51,
        "end_lineno": 72,
        "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_om",
        "impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
        "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\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: ['f7di'],\n        2015: ['f7dz', 'f7ez'],\n        2016: ['f7sz', 'f7tz'],\n        2017: ['f7rc', 'f7rd'],\n        2018: ['f7rg', 'f7rh'],\n        2019: ['f7lm', 'f7mm', 'f7jc', 'f7jd'],  # Pinel et Denormandie\n        }\n\n    # Première prorogation, 6 ans, 2014\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 == 'outremer':\n                if duree == 9:\n                    reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * 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_om * 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    prorogation = around(min_(duflot_pinel_denormandie.plafond, f7rs) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)\n\n    return reduction_cumulee + report + prorogation\n",
      "start_line_number": 784,
      "stop_line_number": 856,
      "variables": [
        "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": 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": 36,
              "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": 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": 8
                }
              ]
            }
          },
          {
            "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": "f7di"
                    }
                  ],
                  "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": "f7ez"
                    }
                  ],
                  "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": "f7sz"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 41,
                      "lineno": 41,
                      "value": "f7tz"
                    }
                  ],
                  "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": "f7rc"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 42,
                      "lineno": 42,
                      "value": "f7rd"
                    }
                  ],
                  "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": "f7rg"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 43,
                      "lineno": 43,
                      "value": "f7rh"
                    }
                  ],
                  "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": "f7lm"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 44,
                      "lineno": 44,
                      "value": "f7mm"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 31,
                      "end_col_offset": 37,
                      "end_lineno": 44,
                      "lineno": 44,
                      "value": "f7jc"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 45,
                      "end_lineno": 44,
                      "lineno": 44,
                      "value": "f7jd"
                    }
                  ],
                  "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": "f7jp"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 23,
                      "end_col_offset": 29,
                      "end_lineno": 45,
                      "lineno": 45,
                      "value": "f7jq"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 31,
                      "end_col_offset": 37,
                      "end_lineno": 45,
                      "lineno": 45,
                      "value": "f7jt"
                    },
                    {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 45,
                      "end_lineno": 45,
                      "lineno": 45,
                      "value": "f7ju"
                    }
                  ],
                  "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": "f7rs",
                "lineno": 49
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 49,
                  "lineno": 49,
                  "value": "f7rs"
                },
                {
                  "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": "f7ry",
                "lineno": 50
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 50,
                  "lineno": 50,
                  "value": "f7ry"
                },
                {
                  "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": 53,
            "lineno": 53,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 53,
                "id": "f7sy",
                "lineno": 53
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 53,
                  "lineno": 53,
                  "value": "f7sy"
                },
                {
                  "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
            }
          },
          {
            "args": {
              "args": [
                {
                  "arg": "cases",
                  "ast_class": "arg",
                  "col_offset": 40,
                  "end_col_offset": 45,
                  "end_lineno": 55,
                  "lineno": 55
                }
              ],
              "ast_class": "arguments",
              "defaults": [],
              "kw_defaults": [],
              "kwonlyargs": [],
              "posonlyargs": []
            },
            "ast_class": "FunctionDef",
            "body": [
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 46,
                "end_lineno": 56,
                "lineno": 56,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 56,
                    "id": "reduction",
                    "lineno": 56
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 46,
                  "end_lineno": 56,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 44,
                    "end_lineno": 56,
                    "lineno": 56,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 56,
                      "id": "foyer_fiscal",
                      "lineno": 56
                    }
                  },
                  "keywords": [],
                  "lineno": 56
                }
              },
              {
                "ast_class": "Assign",
                "col_offset": 8,
                "end_col_offset": 54,
                "end_lineno": 57,
                "lineno": 57,
                "targets": [
                  {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Store"
                    },
                    "end_col_offset": 25,
                    "end_lineno": 57,
                    "id": "depenses_cumulees",
                    "lineno": 57
                  }
                ],
                "value": {
                  "args": [],
                  "ast_class": "Call",
                  "col_offset": 28,
                  "end_col_offset": 54,
                  "end_lineno": 57,
                  "func": {
                    "ast_class": "Attribute",
                    "attr": "empty_array",
                    "col_offset": 28,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 52,
                    "end_lineno": 57,
                    "lineno": 57,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 28,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 57,
                      "id": "foyer_fiscal",
                      "lineno": 57
                    }
                  },
                  "keywords": [],
                  "lineno": 57
                }
              },
              {
                "ast_class": "For",
                "body": [
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 59,
                    "lineno": 59,
                    "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": 59,
                            "id": "variable",
                            "lineno": 59
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 22,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 27,
                            "end_lineno": 59,
                            "id": "duree",
                            "lineno": 59
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 29,
                            "ctx": {
                              "ast_class": "Store"
                            },
                            "end_col_offset": 33,
                            "end_lineno": 59,
                            "id": "zone",
                            "lineno": 59
                          }
                        ],
                        "end_col_offset": 33,
                        "end_lineno": 59,
                        "lineno": 59
                      }
                    ],
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 36,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 59,
                      "id": "case",
                      "lineno": 59
                    }
                  },
                  {
                    "ast_class": "Assign",
                    "col_offset": 12,
                    "end_col_offset": 52,
                    "end_lineno": 60,
                    "lineno": 60,
                    "targets": [
                      {
                        "ast_class": "Name",
                        "col_offset": 12,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 60,
                        "id": "depense",
                        "lineno": 60
                      }
                    ],
                    "value": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 35,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 43,
                          "end_lineno": 60,
                          "id": "variable",
                          "lineno": 60
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 45,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 51,
                          "end_lineno": 60,
                          "id": "period",
                          "lineno": 60
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 22,
                      "end_col_offset": 52,
                      "end_lineno": 60,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 22,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 34,
                        "end_lineno": 60,
                        "id": "foyer_fiscal",
                        "lineno": 60
                      },
                      "keywords": [],
                      "lineno": 60
                    }
                  },
                  {
                    "ast_class": "If",
                    "body": [
                      {
                        "ast_class": "If",
                        "body": [
                          {
                            "ast_class": "AugAssign",
                            "col_offset": 20,
                            "end_col_offset": 175,
                            "end_lineno": 63,
                            "lineno": 63,
                            "op": {
                              "ast_class": "Add"
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 20,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 29,
                              "end_lineno": 63,
                              "id": "reduction",
                              "lineno": 63
                            },
                            "value": {
                              "args": [
                                {
                                  "ast_class": "BinOp",
                                  "col_offset": 40,
                                  "end_col_offset": 174,
                                  "end_lineno": 63,
                                  "left": {
                                    "ast_class": "BinOp",
                                    "col_offset": 40,
                                    "end_col_offset": 166,
                                    "end_lineno": 63,
                                    "left": {
                                      "ast_class": "Attribute",
                                      "attr": "taux_om",
                                      "col_offset": 40,
                                      "ctx": {
                                        "ast_class": "Load"
                                      },
                                      "end_col_offset": 87,
                                      "end_lineno": 63,
                                      "lineno": 63,
                                      "value": {
                                        "ast_class": "Attribute",
                                        "attr": "location_9_ans",
                                        "col_offset": 40,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 79,
                                        "end_lineno": 63,
                                        "lineno": 63,
                                        "value": {
                                          "ast_class": "Name",
                                          "col_offset": 40,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 64,
                                          "end_lineno": 63,
                                          "id": "duflot_pinel_denormandie",
                                          "lineno": 63
                                        }
                                      }
                                    },
                                    "lineno": 63,
                                    "op": {
                                      "ast_class": "Mult"
                                    },
                                    "right": {
                                      "args": [
                                        {
                                          "args": [
                                            {
                                              "ast_class": "Constant",
                                              "col_offset": 100,
                                              "end_col_offset": 101,
                                              "end_lineno": 63,
                                              "lineno": 63,
                                              "value": 0
                                            },
                                            {
                                              "ast_class": "BinOp",
                                              "col_offset": 103,
                                              "end_col_offset": 155,
                                              "end_lineno": 63,
                                              "left": {
                                                "ast_class": "Attribute",
                                                "attr": "plafond",
                                                "col_offset": 103,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 135,
                                                "end_lineno": 63,
                                                "lineno": 63,
                                                "value": {
                                                  "ast_class": "Name",
                                                  "col_offset": 103,
                                                  "ctx": {
                                                    "ast_class": "Load"
                                                  },
                                                  "end_col_offset": 127,
                                                  "end_lineno": 63,
                                                  "id": "duflot_pinel_denormandie",
                                                  "lineno": 63
                                                }
                                              },
                                              "lineno": 63,
                                              "op": {
                                                "ast_class": "Sub"
                                              },
                                              "right": {
                                                "ast_class": "Name",
                                                "col_offset": 138,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 155,
                                                "end_lineno": 63,
                                                "id": "depenses_cumulees",
                                                "lineno": 63
                                              }
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 95,
                                          "end_col_offset": 156,
                                          "end_lineno": 63,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 95,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 99,
                                            "end_lineno": 63,
                                            "id": "max_",
                                            "lineno": 63
                                          },
                                          "keywords": [],
                                          "lineno": 63
                                        },
                                        {
                                          "ast_class": "Name",
                                          "col_offset": 158,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 165,
                                          "end_lineno": 63,
                                          "id": "depense",
                                          "lineno": 63
                                        }
                                      ],
                                      "ast_class": "Call",
                                      "col_offset": 90,
                                      "end_col_offset": 166,
                                      "end_lineno": 63,
                                      "func": {
                                        "ast_class": "Name",
                                        "col_offset": 90,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 94,
                                        "end_lineno": 63,
                                        "id": "min_",
                                        "lineno": 63
                                      },
                                      "keywords": [],
                                      "lineno": 63
                                    }
                                  },
                                  "lineno": 63,
                                  "op": {
                                    "ast_class": "Div"
                                  },
                                  "right": {
                                    "ast_class": "Name",
                                    "col_offset": 169,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 174,
                                    "end_lineno": 63,
                                    "id": "duree",
                                    "lineno": 63
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 33,
                              "end_col_offset": 175,
                              "end_lineno": 63,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 33,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 39,
                                "end_lineno": 63,
                                "id": "around",
                                "lineno": 63
                              },
                              "keywords": [],
                              "lineno": 63
                            }
                          }
                        ],
                        "col_offset": 16,
                        "end_col_offset": 175,
                        "end_lineno": 65,
                        "lineno": 62,
                        "orelse": [
                          {
                            "ast_class": "If",
                            "body": [
                              {
                                "ast_class": "AugAssign",
                                "col_offset": 20,
                                "end_col_offset": 175,
                                "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": 174,
                                      "end_lineno": 65,
                                      "left": {
                                        "ast_class": "BinOp",
                                        "col_offset": 40,
                                        "end_col_offset": 166,
                                        "end_lineno": 65,
                                        "left": {
                                          "ast_class": "Attribute",
                                          "attr": "taux_om",
                                          "col_offset": 40,
                                          "ctx": {
                                            "ast_class": "Load"
                                          },
                                          "end_col_offset": 87,
                                          "end_lineno": 65,
                                          "lineno": 65,
                                          "value": {
                                            "ast_class": "Attribute",
                                            "attr": "location_6_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": 100,
                                                  "end_col_offset": 101,
                                                  "end_lineno": 65,
                                                  "lineno": 65,
                                                  "value": 0
                                                },
                                                {
                                                  "ast_class": "BinOp",
                                                  "col_offset": 103,
                                                  "end_col_offset": 155,
                                                  "end_lineno": 65,
                                                  "left": {
                                                    "ast_class": "Attribute",
                                                    "attr": "plafond",
                                                    "col_offset": 103,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 135,
                                                    "end_lineno": 65,
                                                    "lineno": 65,
                                                    "value": {
                                                      "ast_class": "Name",
                                                      "col_offset": 103,
                                                      "ctx": {
                                                        "ast_class": "Load"
                                                      },
                                                      "end_col_offset": 127,
                                                      "end_lineno": 65,
                                                      "id": "duflot_pinel_denormandie",
                                                      "lineno": 65
                                                    }
                                                  },
                                                  "lineno": 65,
                                                  "op": {
                                                    "ast_class": "Sub"
                                                  },
                                                  "right": {
                                                    "ast_class": "Name",
                                                    "col_offset": 138,
                                                    "ctx": {
                                                      "ast_class": "Load"
                                                    },
                                                    "end_col_offset": 155,
                                                    "end_lineno": 65,
                                                    "id": "depenses_cumulees",
                                                    "lineno": 65
                                                  }
                                                }
                                              ],
                                              "ast_class": "Call",
                                              "col_offset": 95,
                                              "end_col_offset": 156,
                                              "end_lineno": 65,
                                              "func": {
                                                "ast_class": "Name",
                                                "col_offset": 95,
                                                "ctx": {
                                                  "ast_class": "Load"
                                                },
                                                "end_col_offset": 99,
                                                "end_lineno": 65,
                                                "id": "max_",
                                                "lineno": 65
                                              },
                                              "keywords": [],
                                              "lineno": 65
                                            },
                                            {
                                              "ast_class": "Name",
                                              "col_offset": 158,
                                              "ctx": {
                                                "ast_class": "Load"
                                              },
                                              "end_col_offset": 165,
                                              "end_lineno": 65,
                                              "id": "depense",
                                              "lineno": 65
                                            }
                                          ],
                                          "ast_class": "Call",
                                          "col_offset": 90,
                                          "end_col_offset": 166,
                                          "end_lineno": 65,
                                          "func": {
                                            "ast_class": "Name",
                                            "col_offset": 90,
                                            "ctx": {
                                              "ast_class": "Load"
                                            },
                                            "end_col_offset": 94,
                                            "end_lineno": 65,
                                            "id": "min_",
                                            "lineno": 65
                                          },
                                          "keywords": [],
                                          "lineno": 65
                                        }
                                      },
                                      "lineno": 65,
                                      "op": {
                                        "ast_class": "Div"
                                      },
                                      "right": {
                                        "ast_class": "Name",
                                        "col_offset": 169,
                                        "ctx": {
                                          "ast_class": "Load"
                                        },
                                        "end_col_offset": 174,
                                        "end_lineno": 65,
                                        "id": "duree",
                                        "lineno": 65
                                      }
                                    }
                                  ],
                                  "ast_class": "Call",
                                  "col_offset": 33,
                                  "end_col_offset": 175,
                                  "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": 175,
                            "end_lineno": 65,
                            "lineno": 64,
                            "orelse": [],
                            "test": {
                              "ast_class": "Compare",
                              "col_offset": 21,
                              "comparators": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 30,
                                  "end_col_offset": 31,
                                  "end_lineno": 64,
                                  "lineno": 64,
                                  "value": 6
                                }
                              ],
                              "end_col_offset": 31,
                              "end_lineno": 64,
                              "left": {
                                "ast_class": "Name",
                                "col_offset": 21,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 26,
                                "end_lineno": 64,
                                "id": "duree",
                                "lineno": 64
                              },
                              "lineno": 64,
                              "ops": [
                                {
                                  "ast_class": "Eq"
                                }
                              ]
                            }
                          }
                        ],
                        "test": {
                          "ast_class": "Compare",
                          "col_offset": 19,
                          "comparators": [
                            {
                              "ast_class": "Constant",
                              "col_offset": 28,
                              "end_col_offset": 29,
                              "end_lineno": 62,
                              "lineno": 62,
                              "value": 9
                            }
                          ],
                          "end_col_offset": 29,
                          "end_lineno": 62,
                          "left": {
                            "ast_class": "Name",
                            "col_offset": 19,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 24,
                            "end_lineno": 62,
                            "id": "duree",
                            "lineno": 62
                          },
                          "lineno": 62,
                          "ops": [
                            {
                              "ast_class": "Eq"
                            }
                          ]
                        }
                      }
                    ],
                    "col_offset": 12,
                    "end_col_offset": 175,
                    "end_lineno": 65,
                    "lineno": 61,
                    "orelse": [],
                    "test": {
                      "ast_class": "Compare",
                      "col_offset": 15,
                      "comparators": [
                        {
                          "ast_class": "Constant",
                          "col_offset": 23,
                          "end_col_offset": 33,
                          "end_lineno": 61,
                          "lineno": 61,
                          "value": "outremer"
                        }
                      ],
                      "end_col_offset": 33,
                      "end_lineno": 61,
                      "left": {
                        "ast_class": "Name",
                        "col_offset": 15,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 19,
                        "end_lineno": 61,
                        "id": "zone",
                        "lineno": 61
                      },
                      "lineno": 61,
                      "ops": [
                        {
                          "ast_class": "Eq"
                        }
                      ]
                    }
                  },
                  {
                    "ast_class": "AugAssign",
                    "col_offset": 12,
                    "end_col_offset": 40,
                    "end_lineno": 66,
                    "lineno": 66,
                    "op": {
                      "ast_class": "Add"
                    },
                    "target": {
                      "ast_class": "Name",
                      "col_offset": 12,
                      "ctx": {
                        "ast_class": "Store"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 66,
                      "id": "depenses_cumulees",
                      "lineno": 66
                    },
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 66,
                      "id": "depense",
                      "lineno": 66
                    }
                  }
                ],
                "col_offset": 8,
                "end_col_offset": 40,
                "end_lineno": 66,
                "iter": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 25,
                  "end_lineno": 58,
                  "id": "cases",
                  "lineno": 58
                },
                "lineno": 58,
                "orelse": [],
                "target": {
                  "ast_class": "Name",
                  "col_offset": 12,
                  "ctx": {
                    "ast_class": "Store"
                  },
                  "end_col_offset": 16,
                  "end_lineno": 58,
                  "id": "case",
                  "lineno": 58
                }
              },
              {
                "ast_class": "Return",
                "col_offset": 8,
                "end_col_offset": 24,
                "end_lineno": 67,
                "lineno": 67,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 15,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 24,
                  "end_lineno": 67,
                  "id": "reduction",
                  "lineno": 67
                }
              }
            ],
            "col_offset": 4,
            "decorator_list": [],
            "end_col_offset": 24,
            "end_lineno": 67,
            "lineno": 55,
            "name": "calcul_reduction_investissement"
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 37,
            "end_lineno": 69,
            "lineno": 69,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 17,
                "end_lineno": 69,
                "id": "annee_fiscale",
                "lineno": 69
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "year",
              "col_offset": 20,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 37,
              "end_lineno": 69,
              "lineno": 69,
              "value": {
                "ast_class": "Attribute",
                "attr": "start",
                "col_offset": 20,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 32,
                "end_lineno": 69,
                "lineno": 69,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 20,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 26,
                  "end_lineno": 69,
                  "id": "period",
                  "lineno": 69
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 146,
            "end_lineno": 70,
            "lineno": 70,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 70,
                "id": "range_year_investissement",
                "lineno": 70
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 37,
                  "end_col_offset": 145,
                  "end_lineno": 70,
                  "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": 70,
                          "id": "year",
                          "lineno": 70
                        },
                        "end_col_offset": 90,
                        "end_lineno": 70,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 65,
                                  "end_col_offset": 69,
                                  "end_lineno": 70,
                                  "lineno": 70,
                                  "value": 2016
                                },
                                {
                                  "ast_class": "BinOp",
                                  "col_offset": 71,
                                  "end_col_offset": 88,
                                  "end_lineno": 70,
                                  "left": {
                                    "ast_class": "Name",
                                    "col_offset": 71,
                                    "ctx": {
                                      "ast_class": "Load"
                                    },
                                    "end_col_offset": 84,
                                    "end_lineno": 70,
                                    "id": "annee_fiscale",
                                    "lineno": 70
                                  },
                                  "lineno": 70,
                                  "op": {
                                    "ast_class": "Add"
                                  },
                                  "right": {
                                    "ast_class": "Constant",
                                    "col_offset": 87,
                                    "end_col_offset": 88,
                                    "end_lineno": 70,
                                    "lineno": 70,
                                    "value": 1
                                  }
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 59,
                              "end_col_offset": 89,
                              "end_lineno": 70,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 59,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 64,
                                "end_lineno": 70,
                                "id": "range",
                                "lineno": 70
                              },
                              "keywords": [],
                              "lineno": 70
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 51,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 55,
                              "end_lineno": 70,
                              "id": "year",
                              "lineno": 70
                            }
                          }
                        ],
                        "lineno": 70
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 37,
                    "end_col_offset": 91,
                    "end_lineno": 70,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 37,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 40,
                      "end_lineno": 70,
                      "id": "set",
                      "lineno": 70
                    },
                    "keywords": [],
                    "lineno": 70
                  },
                  "lineno": 70,
                  "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": 70,
                          "id": "year",
                          "lineno": 70
                        },
                        "end_col_offset": 144,
                        "end_lineno": 70,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 116,
                              "end_col_offset": 143,
                              "end_lineno": 70,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 116,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 141,
                                "end_lineno": 70,
                                "lineno": 70,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 116,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 136,
                                  "end_lineno": 70,
                                  "id": "cases_investissement",
                                  "lineno": 70
                                }
                              },
                              "keywords": [],
                              "lineno": 70
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 108,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 112,
                              "end_lineno": 70,
                              "id": "year",
                              "lineno": 70
                            }
                          }
                        ],
                        "lineno": 70
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 94,
                    "end_col_offset": 145,
                    "end_lineno": 70,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 94,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 97,
                      "end_lineno": 70,
                      "id": "set",
                      "lineno": 70
                    },
                    "keywords": [],
                    "lineno": 70
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 146,
              "end_lineno": 70,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 36,
                "end_lineno": 70,
                "id": "list",
                "lineno": 70
              },
              "keywords": [],
              "lineno": 70
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 126,
            "end_lineno": 71,
            "lineno": 71,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 71,
                "id": "range_year_report",
                "lineno": 71
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 29,
                  "end_col_offset": 125,
                  "end_lineno": 71,
                  "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": 71,
                          "id": "year",
                          "lineno": 71
                        },
                        "end_col_offset": 78,
                        "end_lineno": 71,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [
                                {
                                  "ast_class": "Constant",
                                  "col_offset": 57,
                                  "end_col_offset": 61,
                                  "end_lineno": 71,
                                  "lineno": 71,
                                  "value": 2014
                                },
                                {
                                  "ast_class": "Name",
                                  "col_offset": 63,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 76,
                                  "end_lineno": 71,
                                  "id": "annee_fiscale",
                                  "lineno": 71
                                }
                              ],
                              "ast_class": "Call",
                              "col_offset": 51,
                              "end_col_offset": 77,
                              "end_lineno": 71,
                              "func": {
                                "ast_class": "Name",
                                "col_offset": 51,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 56,
                                "end_lineno": 71,
                                "id": "range",
                                "lineno": 71
                              },
                              "keywords": [],
                              "lineno": 71
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 43,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 47,
                              "end_lineno": 71,
                              "id": "year",
                              "lineno": 71
                            }
                          }
                        ],
                        "lineno": 71
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 79,
                    "end_lineno": 71,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 32,
                      "end_lineno": 71,
                      "id": "set",
                      "lineno": 71
                    },
                    "keywords": [],
                    "lineno": 71
                  },
                  "lineno": 71,
                  "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": 71,
                          "id": "year",
                          "lineno": 71
                        },
                        "end_col_offset": 124,
                        "end_lineno": 71,
                        "generators": [
                          {
                            "ast_class": "comprehension",
                            "ifs": [],
                            "is_async": 0,
                            "iter": {
                              "args": [],
                              "ast_class": "Call",
                              "col_offset": 104,
                              "end_col_offset": 123,
                              "end_lineno": 71,
                              "func": {
                                "ast_class": "Attribute",
                                "attr": "keys",
                                "col_offset": 104,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 121,
                                "end_lineno": 71,
                                "lineno": 71,
                                "value": {
                                  "ast_class": "Name",
                                  "col_offset": 104,
                                  "ctx": {
                                    "ast_class": "Load"
                                  },
                                  "end_col_offset": 116,
                                  "end_lineno": 71,
                                  "id": "cases_report",
                                  "lineno": 71
                                }
                              },
                              "keywords": [],
                              "lineno": 71
                            },
                            "target": {
                              "ast_class": "Name",
                              "col_offset": 96,
                              "ctx": {
                                "ast_class": "Store"
                              },
                              "end_col_offset": 100,
                              "end_lineno": 71,
                              "id": "year",
                              "lineno": 71
                            }
                          }
                        ],
                        "lineno": 71
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 82,
                    "end_col_offset": 125,
                    "end_lineno": 71,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 82,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 85,
                      "end_lineno": 71,
                      "id": "set",
                      "lineno": 71
                    },
                    "keywords": [],
                    "lineno": 71
                  }
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 126,
              "end_lineno": 71,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 28,
                "end_lineno": 71,
                "id": "list",
                "lineno": 71
              },
              "keywords": [],
              "lineno": 71
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 128,
            "end_lineno": 73,
            "lineno": 73,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 21,
                "end_lineno": 73,
                "id": "reduction_cumulee",
                "lineno": 73
              }
            ],
            "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": 73,
                        "lineno": 73,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 82,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 86,
                          "end_lineno": 73,
                          "id": "year",
                          "lineno": 73
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 61,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 81,
                          "end_lineno": 73,
                          "id": "cases_investissement",
                          "lineno": 73
                        }
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 29,
                    "end_col_offset": 88,
                    "end_lineno": 73,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 60,
                      "end_lineno": 73,
                      "id": "calcul_reduction_investissement",
                      "lineno": 73
                    },
                    "keywords": [],
                    "lineno": 73
                  },
                  "end_col_offset": 127,
                  "end_lineno": 73,
                  "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": 73,
                        "id": "range_year_investissement",
                        "lineno": 73
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 93,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 97,
                        "end_lineno": 73,
                        "id": "year",
                        "lineno": 73
                      }
                    }
                  ],
                  "lineno": 73
                }
              ],
              "ast_class": "Call",
              "col_offset": 24,
              "end_col_offset": 128,
              "end_lineno": 73,
              "func": {
                "ast_class": "Name",
                "col_offset": 24,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 27,
                "end_lineno": 73,
                "id": "sum",
                "lineno": 73
              },
              "keywords": [],
              "lineno": 73
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 107,
            "end_lineno": 74,
            "lineno": 74,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 10,
                "end_lineno": 74,
                "id": "report",
                "lineno": 74
              }
            ],
            "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": 74,
                        "id": "case",
                        "lineno": 74
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 37,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 43,
                        "end_lineno": 74,
                        "id": "period",
                        "lineno": 74
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 18,
                    "end_col_offset": 44,
                    "end_lineno": 74,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 18,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 74,
                      "id": "foyer_fiscal",
                      "lineno": 74
                    },
                    "keywords": [],
                    "lineno": 74
                  },
                  "end_col_offset": 106,
                  "end_lineno": 74,
                  "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": 74,
                        "id": "range_year_report",
                        "lineno": 74
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 49,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 53,
                        "end_lineno": 74,
                        "id": "year",
                        "lineno": 74
                      }
                    },
                    {
                      "ast_class": "comprehension",
                      "ifs": [],
                      "is_async": 0,
                      "iter": {
                        "ast_class": "Subscript",
                        "col_offset": 87,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 105,
                        "end_lineno": 74,
                        "lineno": 74,
                        "slice": {
                          "ast_class": "Name",
                          "col_offset": 100,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 104,
                          "end_lineno": 74,
                          "id": "year",
                          "lineno": 74
                        },
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 87,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 99,
                          "end_lineno": 74,
                          "id": "cases_report",
                          "lineno": 74
                        }
                      },
                      "target": {
                        "ast_class": "Name",
                        "col_offset": 79,
                        "ctx": {
                          "ast_class": "Store"
                        },
                        "end_col_offset": 83,
                        "end_lineno": 74,
                        "id": "case",
                        "lineno": 74
                      }
                    }
                  ],
                  "lineno": 74
                }
              ],
              "ast_class": "Call",
              "col_offset": 13,
              "end_col_offset": 107,
              "end_lineno": 74,
              "func": {
                "ast_class": "Name",
                "col_offset": 13,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 16,
                "end_lineno": 74,
                "id": "sum",
                "lineno": 74
              },
              "keywords": [],
              "lineno": 74
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 131,
            "end_lineno": 77,
            "lineno": 76,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 15,
                "end_lineno": 76,
                "id": "prorogation",
                "lineno": 76
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 19,
              "end_col_offset": 130,
              "end_lineno": 77,
              "left": {
                "args": [
                  {
                    "ast_class": "BinOp",
                    "col_offset": 26,
                    "end_col_offset": 138,
                    "end_lineno": 76,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 26,
                      "end_col_offset": 134,
                      "end_lineno": 76,
                      "left": {
                        "args": [
                          {
                            "ast_class": "Attribute",
                            "attr": "plafond",
                            "col_offset": 31,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 63,
                            "end_lineno": 76,
                            "lineno": 76,
                            "value": {
                              "ast_class": "Name",
                              "col_offset": 31,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 55,
                              "end_lineno": 76,
                              "id": "duflot_pinel_denormandie",
                              "lineno": 76
                            }
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 65,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 69,
                            "end_lineno": 76,
                            "id": "f7rs",
                            "lineno": 76
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 26,
                        "end_col_offset": 70,
                        "end_lineno": 76,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 26,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 30,
                          "end_lineno": 76,
                          "id": "min_",
                          "lineno": 76
                        },
                        "keywords": [],
                        "lineno": 76
                      },
                      "lineno": 76,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "ast_class": "Attribute",
                        "attr": "taux_prolong1_6ans",
                        "col_offset": 73,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 134,
                        "end_lineno": 76,
                        "lineno": 76,
                        "value": {
                          "ast_class": "Attribute",
                          "attr": "taux_prolongation",
                          "col_offset": 73,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 115,
                          "end_lineno": 76,
                          "lineno": 76,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 73,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 97,
                            "end_lineno": 76,
                            "id": "duflot_pinel_denormandie",
                            "lineno": 76
                          }
                        }
                      }
                    },
                    "lineno": 76,
                    "op": {
                      "ast_class": "Div"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 137,
                      "end_col_offset": 138,
                      "end_lineno": 76,
                      "lineno": 76,
                      "value": 3
                    }
                  }
                ],
                "ast_class": "Call",
                "col_offset": 19,
                "end_col_offset": 139,
                "end_lineno": 76,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 19,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 25,
                  "end_lineno": 76,
                  "id": "around",
                  "lineno": 76
                },
                "keywords": [],
                "lineno": 76
              },
              "lineno": 76,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "args": [
                  {
                    "ast_class": "BinOp",
                    "col_offset": 17,
                    "end_col_offset": 129,
                    "end_lineno": 77,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 17,
                      "end_col_offset": 125,
                      "end_lineno": 77,
                      "left": {
                        "args": [
                          {
                            "ast_class": "Attribute",
                            "attr": "plafond",
                            "col_offset": 22,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 54,
                            "end_lineno": 77,
                            "lineno": 77,
                            "value": {
                              "ast_class": "Name",
                              "col_offset": 22,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 46,
                              "end_lineno": 77,
                              "id": "duflot_pinel_denormandie",
                              "lineno": 77
                            }
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 56,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 60,
                            "end_lineno": 77,
                            "id": "f7ry",
                            "lineno": 77
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 17,
                        "end_col_offset": 61,
                        "end_lineno": 77,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 17,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 21,
                          "end_lineno": 77,
                          "id": "min_",
                          "lineno": 77
                        },
                        "keywords": [],
                        "lineno": 77
                      },
                      "lineno": 77,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "ast_class": "Attribute",
                        "attr": "taux_prolong1_6ans",
                        "col_offset": 64,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 125,
                        "end_lineno": 77,
                        "lineno": 77,
                        "value": {
                          "ast_class": "Attribute",
                          "attr": "taux_prolongation",
                          "col_offset": 64,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 106,
                          "end_lineno": 77,
                          "lineno": 77,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 64,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 88,
                            "end_lineno": 77,
                            "id": "duflot_pinel_denormandie",
                            "lineno": 77
                          }
                        }
                      }
                    },
                    "lineno": 77,
                    "op": {
                      "ast_class": "Div"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 128,
                      "end_col_offset": 129,
                      "end_lineno": 77,
                      "lineno": 77,
                      "value": 3
                    }
                  }
                ],
                "ast_class": "Call",
                "col_offset": 10,
                "end_col_offset": 130,
                "end_lineno": 77,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 16,
                  "end_lineno": 77,
                  "id": "around",
                  "lineno": 77
                },
                "keywords": [],
                "lineno": 77
              }
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 58,
            "end_lineno": 79,
            "lineno": 79,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 58,
              "end_lineno": 79,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 51,
                "end_lineno": 79,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 37,
                  "end_lineno": 79,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 28,
                    "end_lineno": 79,
                    "id": "reduction_cumulee",
                    "lineno": 79
                  },
                  "lineno": 79,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 31,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 37,
                    "end_lineno": 79,
                    "id": "report",
                    "lineno": 79
                  }
                },
                "lineno": 79,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "Name",
                  "col_offset": 40,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 51,
                  "end_lineno": 79,
                  "id": "prorogation",
                  "lineno": 79
                }
              },
              "lineno": 79,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "Name",
                "col_offset": 54,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 58,
                "end_lineno": 79,
                "id": "f7sy",
                "lineno": 79
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 58,
        "end_lineno": 79,
        "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_om",
        "impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
        "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\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            ('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: ['f7di'],\n        2015: ['f7ez'],\n        2016: ['f7sz', 'f7tz'],\n        2017: ['f7rc', 'f7rd'],\n        2018: ['f7rg', 'f7rh'],\n        2019: ['f7lm', 'f7mm', 'f7jc', 'f7jd'],  # Pinel et Denormandie\n        2020: ['f7jp', 'f7jq', 'f7jt', 'f7ju'],  # Pinel et Denormandie\n        }\n\n    # Première prorogation, 6 ans\n    f7rs = foyer_fiscal('f7rs', period)  # Outre-Mer, 2014\n    f7ry = foyer_fiscal('f7ry', period)  # Outre-Mer, 2015\n\n    # Prorogation reports, 6 ans\n    f7sy = foyer_fiscal('f7sy', period)  # Outre-Mer, 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 == 'outremer':\n                if duree == 9:\n                    reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * 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_om * 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    prorogation = (around(min_(duflot_pinel_denormandie.plafond, f7rs) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)\n        + around(min_(duflot_pinel_denormandie.plafond, f7ry) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3))\n\n    return reduction_cumulee + report + prorogation + f7sy\n",
      "start_line_number": 857,
      "stop_line_number": 936,
      "variables": [
        "f7rs",
        "f7ry",
        "f7sy"
      ]
    }
  },
  "json_type": "number",
  "label": "Réduction d'impôt Duflot - Pinel - Denormandie",
  "last_value_still_valid_on": "2021-01-01",
  "name": "duflot_pinel_denormandie_om",
  "referring_variables": [
    "reductions",
    "reductions_plafonnees_om_sofica"
  ],
  "start_line_number": 595,
  "stop_line_number": 936,
  "value_type": "float"
}
