{
  "default_value": 0,
  "definition_period": "year",
  "dtype": "float32",
  "entity": "foyer_fiscal",
  "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
  "formulas": {
    "2007-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7UH)\n    2007\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 12,
                "id": "f7uh",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "f7uh"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 13,
                "id": "P",
                "lineno": 13
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 13,
              "lineno": 13,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 13,
                "lineno": 13,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 13,
                        "id": "period",
                        "lineno": 13
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 13,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 13,
                      "id": "parameters",
                      "lineno": 13
                    },
                    "keywords": [],
                    "lineno": 13
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 98,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 15,
                "id": "invalide",
                "lineno": 15
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 98,
              "end_lineno": 15,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 73,
                "end_lineno": 15,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 48,
                  "end_lineno": 15,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 15,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 30,
                    "end_lineno": 15,
                    "id": "invalidite_decl",
                    "lineno": 15
                  },
                  "lineno": 15,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 33,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 48,
                    "end_lineno": 15,
                    "id": "invalidite_conj",
                    "lineno": 15
                  }
                },
                "lineno": 15,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 52,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 71,
                      "end_col_offset": 72,
                      "end_lineno": 15,
                      "lineno": 15,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 72,
                  "end_lineno": 15,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 52,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 67,
                    "end_lineno": 15,
                    "id": "nbpac_invalideG",
                    "lineno": 15
                  },
                  "lineno": 15,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 15,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 77,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 96,
                    "end_col_offset": 97,
                    "end_lineno": 15,
                    "lineno": 15,
                    "value": 0
                  }
                ],
                "end_col_offset": 97,
                "end_lineno": 15,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 77,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 92,
                  "end_lineno": 15,
                  "id": "nbpac_invalideR",
                  "lineno": 15
                },
                "lineno": 15,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 16,
                "id": "max0",
                "lineno": 16
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 16,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 16,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 16,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 16,
                    "lineno": 16,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 16,
                      "id": "P",
                      "lineno": 16
                    }
                  },
                  "lineno": 16,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 16,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 16,
                      "id": "maries_ou_pacses",
                      "lineno": 16
                    },
                    "lineno": 16,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 16,
                      "lineno": 16,
                      "value": 1
                    }
                  }
                },
                "lineno": 16,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 16,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 16,
                    "lineno": 16,
                    "value": 1
                  },
                  "lineno": 16,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 16,
                    "id": "invalide",
                    "lineno": 16
                  }
                }
              },
              "lineno": 16,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 16,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 16,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 16
                },
                "lineno": 16,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 16,
                    "id": "P",
                    "lineno": 16
                  }
                }
              }
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 37,
            "end_lineno": 17,
            "lineno": 17,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 37,
              "end_lineno": 17,
              "left": {
                "ast_class": "Attribute",
                "attr": "taux1",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 18,
                "end_lineno": 17,
                "lineno": 17,
                "value": {
                  "ast_class": "Name",
                  "col_offset": 11,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 12,
                  "end_lineno": 17,
                  "id": "P",
                  "lineno": 17
                }
              },
              "lineno": 17,
              "op": {
                "ast_class": "Mult"
              },
              "right": {
                "args": [
                  {
                    "ast_class": "Name",
                    "col_offset": 26,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 30,
                    "end_lineno": 17,
                    "id": "max0",
                    "lineno": 17
                  },
                  {
                    "ast_class": "Name",
                    "col_offset": 32,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 36,
                    "end_lineno": 17,
                    "id": "f7uh",
                    "lineno": 17
                  }
                ],
                "ast_class": "Call",
                "col_offset": 21,
                "end_col_offset": 37,
                "end_lineno": 17,
                "func": {
                  "ast_class": "Name",
                  "col_offset": 21,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 25,
                  "end_lineno": 17,
                  "id": "min_",
                  "lineno": 17
                },
                "keywords": [],
                "lineno": 17
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 37,
        "end_lineno": 17,
        "lineno": 1,
        "name": "formula_2007_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7UH)\n2007\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1"
      ],
      "source_code": "def formula_2007_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7UH)\n    2007\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    f7uh = foyer_fiscal('f7uh', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0)\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n    return P.taux1 * min_(max0, f7uh)\n",
      "start_line_number": 960,
      "stop_line_number": 977,
      "variables": [
        "caseF",
        "caseP",
        "f7uh",
        "maries_ou_pacses",
        "nbG",
        "nbR",
        "nb_pac2"
      ]
    },
    "2008-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VX, 7VY et 7VZ)\n    2008\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 12,
                "id": "f7vy",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "f7vy"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vz",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vz"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 14,
                "id": "P",
                "lineno": 14
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 14,
              "lineno": 14,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 14,
                "lineno": 14,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 14,
                        "id": "period",
                        "lineno": 14
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 14,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 14,
                      "id": "parameters",
                      "lineno": 14
                    },
                    "keywords": [],
                    "lineno": 14
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 98,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 16,
                "id": "invalide",
                "lineno": 16
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 98,
              "end_lineno": 16,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 73,
                "end_lineno": 16,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 48,
                  "end_lineno": 16,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 15,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 30,
                    "end_lineno": 16,
                    "id": "invalidite_decl",
                    "lineno": 16
                  },
                  "lineno": 16,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 33,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 48,
                    "end_lineno": 16,
                    "id": "invalidite_conj",
                    "lineno": 16
                  }
                },
                "lineno": 16,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 52,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 71,
                      "end_col_offset": 72,
                      "end_lineno": 16,
                      "lineno": 16,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 72,
                  "end_lineno": 16,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 52,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 67,
                    "end_lineno": 16,
                    "id": "nbpac_invalideG",
                    "lineno": 16
                  },
                  "lineno": 16,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 16,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 77,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 96,
                    "end_col_offset": 97,
                    "end_lineno": 16,
                    "lineno": 16,
                    "value": 0
                  }
                ],
                "end_col_offset": 97,
                "end_lineno": 16,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 77,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 92,
                  "end_lineno": 16,
                  "id": "nbpac_invalideR",
                  "lineno": 16
                },
                "lineno": 16,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 17,
            "lineno": 17,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 17,
                "id": "max0",
                "lineno": 17
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 17,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 17,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 17,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 17,
                    "lineno": 17,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 17,
                      "id": "P",
                      "lineno": 17
                    }
                  },
                  "lineno": 17,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 17,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 17,
                      "id": "maries_ou_pacses",
                      "lineno": 17
                    },
                    "lineno": 17,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 17,
                      "lineno": 17,
                      "value": 1
                    }
                  }
                },
                "lineno": 17,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 17,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 17,
                    "lineno": 17,
                    "value": 1
                  },
                  "lineno": 17,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 17,
                    "id": "invalide",
                    "lineno": 17
                  }
                }
              },
              "lineno": 17,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 17,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 17,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 17
                },
                "lineno": 17,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 17,
                  "lineno": 17,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 17,
                    "id": "P",
                    "lineno": 17
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 18,
                "id": "max1",
                "lineno": 18
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 18,
                    "id": "max0",
                    "lineno": 18
                  },
                  "lineno": 18,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 18,
                    "id": "f7vy",
                    "lineno": 18
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 18,
                  "lineno": 18,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 18,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 18,
                "id": "max_",
                "lineno": 18
              },
              "keywords": [],
              "lineno": 18
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 23,
            "lineno": 20,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 22,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 34,
                "end_lineno": 21,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux1",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 15,
                  "end_lineno": 21,
                  "lineno": 21,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 9,
                    "end_lineno": 21,
                    "id": "P",
                    "lineno": 21
                  }
                },
                "lineno": 21,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 23,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 27,
                      "end_lineno": 21,
                      "id": "f7vy",
                      "lineno": 21
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 29,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 33,
                      "end_lineno": 21,
                      "id": "max0",
                      "lineno": 21
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 18,
                  "end_col_offset": 34,
                  "end_lineno": 21,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 18,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 22,
                    "end_lineno": 21,
                    "id": "min_",
                    "lineno": 21
                  },
                  "keywords": [],
                  "lineno": 21
                }
              },
              "lineno": 21,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 22,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux3",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 22,
                  "lineno": 22,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 22,
                    "id": "P",
                    "lineno": 22
                  }
                },
                "lineno": 22,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 22,
                      "id": "f7vz",
                      "lineno": 22
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 22,
                      "id": "max1",
                      "lineno": 22
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 22,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 22,
                    "id": "min_",
                    "lineno": 22
                  },
                  "keywords": [],
                  "lineno": 22
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 23,
        "lineno": 1,
        "name": "formula_2008_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VX, 7VY et 7VZ)\n2008\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux3"
      ],
      "source_code": "def formula_2008_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VX, 7VY et 7VZ)\n    2008\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    f7vy = foyer_fiscal('f7vy', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0)\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n    max1 = max_(max0 - f7vy, 0)\n\n    return (\n        P.taux1 * min_(f7vy, max0)\n        + P.taux3 * min_(f7vz, max1)\n        )\n",
      "start_line_number": 978,
      "stop_line_number": 1001,
      "variables": [
        "caseF",
        "caseP",
        "f7vy",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbR",
        "nb_pac2"
      ]
    },
    "2009-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VX, 7VY et 7VZ)\n    2009\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 12,
                "id": "f7vx",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vy",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vy"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vz",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vz"
                },
                {
                  "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": 68,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 15,
                "id": "P",
                "lineno": 15
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 15,
              "lineno": 15,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 15,
                "lineno": 15,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 15,
                        "id": "period",
                        "lineno": 15
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 15,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 15,
                      "id": "parameters",
                      "lineno": 15
                    },
                    "keywords": [],
                    "lineno": 15
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 98,
            "end_lineno": 17,
            "lineno": 17,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 17,
                "id": "invalide",
                "lineno": 17
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 98,
              "end_lineno": 17,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 73,
                "end_lineno": 17,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 48,
                  "end_lineno": 17,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 15,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 30,
                    "end_lineno": 17,
                    "id": "invalidite_decl",
                    "lineno": 17
                  },
                  "lineno": 17,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 33,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 48,
                    "end_lineno": 17,
                    "id": "invalidite_conj",
                    "lineno": 17
                  }
                },
                "lineno": 17,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 52,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 71,
                      "end_col_offset": 72,
                      "end_lineno": 17,
                      "lineno": 17,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 72,
                  "end_lineno": 17,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 52,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 67,
                    "end_lineno": 17,
                    "id": "nbpac_invalideG",
                    "lineno": 17
                  },
                  "lineno": 17,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 17,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 77,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 96,
                    "end_col_offset": 97,
                    "end_lineno": 17,
                    "lineno": 17,
                    "value": 0
                  }
                ],
                "end_col_offset": 97,
                "end_lineno": 17,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 77,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 92,
                  "end_lineno": 17,
                  "id": "nbpac_invalideR",
                  "lineno": 17
                },
                "lineno": 17,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 18,
                "id": "max0",
                "lineno": 18
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 18,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 18,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 18,
                    "lineno": 18,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 18,
                      "id": "P",
                      "lineno": 18
                    }
                  },
                  "lineno": 18,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 18,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 18,
                      "id": "maries_ou_pacses",
                      "lineno": 18
                    },
                    "lineno": 18,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 18,
                      "lineno": 18,
                      "value": 1
                    }
                  }
                },
                "lineno": 18,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 18,
                    "lineno": 18,
                    "value": 1
                  },
                  "lineno": 18,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 18,
                    "id": "invalide",
                    "lineno": 18
                  }
                }
              },
              "lineno": 18,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 18,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 18,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 18
                },
                "lineno": 18,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 18,
                  "lineno": 18,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 18,
                    "id": "P",
                    "lineno": 18
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 20,
            "lineno": 20,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 20,
                "id": "max1",
                "lineno": 20
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 20,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 20,
                    "id": "max0",
                    "lineno": 20
                  },
                  "lineno": 20,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 20,
                    "id": "f7vx",
                    "lineno": 20
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 20,
                  "lineno": 20,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 20,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 20,
                "id": "max_",
                "lineno": 20
              },
              "keywords": [],
              "lineno": 20
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 21,
            "lineno": 21,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 21,
                "id": "max2",
                "lineno": 21
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 21,
                    "id": "max1",
                    "lineno": 21
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 21,
                    "id": "f7vy",
                    "lineno": 21
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 21,
                  "lineno": 21,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 21,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 21,
                "id": "max_",
                "lineno": 21
              },
              "keywords": [],
              "lineno": 21
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 27,
            "lineno": 23,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 26,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 25,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 34,
                  "end_lineno": 24,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux1",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 15,
                    "end_lineno": 24,
                    "lineno": 24,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 9,
                      "end_lineno": 24,
                      "id": "P",
                      "lineno": 24
                    }
                  },
                  "lineno": 24,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 23,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 27,
                        "end_lineno": 24,
                        "id": "f7vx",
                        "lineno": 24
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 29,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 33,
                        "end_lineno": 24,
                        "id": "max0",
                        "lineno": 24
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 18,
                    "end_col_offset": 34,
                    "end_lineno": 24,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 18,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 22,
                      "end_lineno": 24,
                      "id": "min_",
                      "lineno": 24
                    },
                    "keywords": [],
                    "lineno": 24
                  }
                },
                "lineno": 24,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 25,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux1",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 25,
                    "lineno": 25,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 25,
                      "id": "P",
                      "lineno": 25
                    }
                  },
                  "lineno": 25,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 25,
                        "id": "f7vy",
                        "lineno": 25
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 25,
                        "id": "max1",
                        "lineno": 25
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 25,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 25,
                      "id": "min_",
                      "lineno": 25
                    },
                    "keywords": [],
                    "lineno": 25
                  }
                }
              },
              "lineno": 24,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 26,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux3",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 26,
                  "lineno": 26,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 26,
                    "id": "P",
                    "lineno": 26
                  }
                },
                "lineno": 26,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 26,
                      "id": "f7vz",
                      "lineno": 26
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 26,
                      "id": "max2",
                      "lineno": 26
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 26,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 26,
                    "id": "min_",
                    "lineno": 26
                  },
                  "keywords": [],
                  "lineno": 26
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 27,
        "lineno": 1,
        "name": "formula_2009_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VX, 7VY et 7VZ)\n2009\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux3"
      ],
      "source_code": "def formula_2009_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VX, 7VY et 7VZ)\n    2009\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    f7vy = foyer_fiscal('f7vy', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0)\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vy, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux1 * min_(f7vy, max1)\n        + P.taux3 * min_(f7vz, max2)\n        )\n",
      "start_line_number": 1002,
      "stop_line_number": 1029,
      "variables": [
        "caseF",
        "caseP",
        "f7vx",
        "f7vy",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbR",
        "nb_pac2"
      ]
    },
    "2010-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2010\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 12,
                "id": "f7vw",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "f7vw"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vx",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vy",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vy"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 14,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 14,
                "id": "foyer_fiscal",
                "lineno": 14
              },
              "keywords": [],
              "lineno": 14
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7vz",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7vz"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 15,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 15,
                "id": "foyer_fiscal",
                "lineno": 15
              },
              "keywords": [],
              "lineno": 15
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 16,
                "id": "P",
                "lineno": 16
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 16,
              "lineno": 16,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 16,
                "lineno": 16,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 16,
                        "id": "period",
                        "lineno": 16
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 16,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 16,
                      "id": "parameters",
                      "lineno": 16
                    },
                    "keywords": [],
                    "lineno": 16
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 98,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 18,
                "id": "invalide",
                "lineno": 18
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 98,
              "end_lineno": 18,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 73,
                "end_lineno": 18,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 48,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 15,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 30,
                    "end_lineno": 18,
                    "id": "invalidite_decl",
                    "lineno": 18
                  },
                  "lineno": 18,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 33,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 48,
                    "end_lineno": 18,
                    "id": "invalidite_conj",
                    "lineno": 18
                  }
                },
                "lineno": 18,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 52,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 71,
                      "end_col_offset": 72,
                      "end_lineno": 18,
                      "lineno": 18,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 72,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 52,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 67,
                    "end_lineno": 18,
                    "id": "nbpac_invalideG",
                    "lineno": 18
                  },
                  "lineno": 18,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 18,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 77,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 96,
                    "end_col_offset": 97,
                    "end_lineno": 18,
                    "lineno": 18,
                    "value": 0
                  }
                ],
                "end_col_offset": 97,
                "end_lineno": 18,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 77,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 92,
                  "end_lineno": 18,
                  "id": "nbpac_invalideR",
                  "lineno": 18
                },
                "lineno": 18,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 19,
            "lineno": 19,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 19,
                "id": "max0",
                "lineno": 19
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 19,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 19,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 19,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 19,
                    "lineno": 19,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 19,
                      "id": "P",
                      "lineno": 19
                    }
                  },
                  "lineno": 19,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 19,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 19,
                      "id": "maries_ou_pacses",
                      "lineno": 19
                    },
                    "lineno": 19,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 19,
                      "lineno": 19,
                      "value": 1
                    }
                  }
                },
                "lineno": 19,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 19,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 19,
                    "lineno": 19,
                    "value": 1
                  },
                  "lineno": 19,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 19,
                    "id": "invalide",
                    "lineno": 19
                  }
                }
              },
              "lineno": 19,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 19,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 19,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 19
                },
                "lineno": 19,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 19,
                  "lineno": 19,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 19,
                    "id": "P",
                    "lineno": 19
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 21,
            "lineno": 21,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 21,
                "id": "max1",
                "lineno": 21
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 21,
                    "id": "max0",
                    "lineno": 21
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 21,
                    "id": "f7vx",
                    "lineno": 21
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 21,
                  "lineno": 21,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 21,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 21,
                "id": "max_",
                "lineno": 21
              },
              "keywords": [],
              "lineno": 21
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 22,
            "lineno": 22,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 22,
                "id": "max2",
                "lineno": 22
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 22,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 22,
                    "id": "max1",
                    "lineno": 22
                  },
                  "lineno": 22,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 22,
                    "id": "f7vy",
                    "lineno": 22
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 22,
                  "lineno": 22,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 22,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 22,
                "id": "max_",
                "lineno": 22
              },
              "keywords": [],
              "lineno": 22
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 23,
            "lineno": 23,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 23,
                "id": "max3",
                "lineno": 23
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 23,
                    "id": "max2",
                    "lineno": 23
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 23,
                    "id": "f7vw",
                    "lineno": 23
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 23,
                  "lineno": 23,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 23,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 23,
                "id": "max_",
                "lineno": 23
              },
              "keywords": [],
              "lineno": 23
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 30,
            "lineno": 25,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 29,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 28,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 36,
                  "end_lineno": 27,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 8,
                    "end_col_offset": 34,
                    "end_lineno": 26,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux1",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 15,
                      "end_lineno": 26,
                      "lineno": 26,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 8,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 9,
                        "end_lineno": 26,
                        "id": "P",
                        "lineno": 26
                      }
                    },
                    "lineno": 26,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 23,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 27,
                          "end_lineno": 26,
                          "id": "f7vx",
                          "lineno": 26
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 29,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 33,
                          "end_lineno": 26,
                          "id": "max0",
                          "lineno": 26
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 18,
                      "end_col_offset": 34,
                      "end_lineno": 26,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 18,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 22,
                        "end_lineno": 26,
                        "id": "min_",
                        "lineno": 26
                      },
                      "keywords": [],
                      "lineno": 26
                    }
                  },
                  "lineno": 26,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 10,
                    "end_col_offset": 36,
                    "end_lineno": 27,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux1",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 17,
                      "end_lineno": 27,
                      "lineno": 27,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 11,
                        "end_lineno": 27,
                        "id": "P",
                        "lineno": 27
                      }
                    },
                    "lineno": 27,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 25,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 29,
                          "end_lineno": 27,
                          "id": "f7vy",
                          "lineno": 27
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 31,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 35,
                          "end_lineno": 27,
                          "id": "max1",
                          "lineno": 27
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 20,
                      "end_col_offset": 36,
                      "end_lineno": 27,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 20,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 24,
                        "end_lineno": 27,
                        "id": "min_",
                        "lineno": 27
                      },
                      "keywords": [],
                      "lineno": 27
                    }
                  }
                },
                "lineno": 26,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 28,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux2",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 28,
                    "lineno": 28,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 28,
                      "id": "P",
                      "lineno": 28
                    }
                  },
                  "lineno": 28,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 28,
                        "id": "f7vw",
                        "lineno": 28
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 28,
                        "id": "max2",
                        "lineno": 28
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 28,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 28,
                      "id": "min_",
                      "lineno": 28
                    },
                    "keywords": [],
                    "lineno": 28
                  }
                }
              },
              "lineno": 26,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 29,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux3",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 29,
                  "lineno": 29,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 29,
                    "id": "P",
                    "lineno": 29
                  }
                },
                "lineno": 29,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 29,
                      "id": "f7vz",
                      "lineno": 29
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 29,
                      "id": "max3",
                      "lineno": 29
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 29,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 29,
                    "id": "min_",
                    "lineno": 29
                  },
                  "keywords": [],
                  "lineno": 29
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 30,
        "lineno": 1,
        "name": "formula_2010_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n2010\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux2",
        "impot_revenu.calcul_credits_impots.inthab.taux3"
      ],
      "source_code": "def formula_2010_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2010\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    f7vw = foyer_fiscal('f7vw', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    f7vy = foyer_fiscal('f7vy', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0)\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vy, 0)\n    max3 = max_(max2 - f7vw, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux1 * min_(f7vy, max1)\n        + P.taux2 * min_(f7vw, max2)\n        + P.taux3 * min_(f7vz, max3)\n        )\n",
      "start_line_number": 1030,
      "stop_line_number": 1060,
      "variables": [
        "caseF",
        "caseP",
        "f7vw",
        "f7vx",
        "f7vy",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbR",
        "nb_pac2"
      ]
    },
    "2011-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2011\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 12,
                "id": "f7vu",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "f7vu"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vw",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vw"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vv",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vv"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 14,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 14,
                "id": "foyer_fiscal",
                "lineno": 14
              },
              "keywords": [],
              "lineno": 14
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7vx",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 15,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 15,
                "id": "foyer_fiscal",
                "lineno": 15
              },
              "keywords": [],
              "lineno": 15
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 16,
                "id": "f7vy",
                "lineno": 16
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": "f7vy"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 16,
                  "id": "period",
                  "lineno": 16
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 16,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 16,
                "id": "foyer_fiscal",
                "lineno": 16
              },
              "keywords": [],
              "lineno": 16
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 17,
            "lineno": 17,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 17,
                "id": "f7vz",
                "lineno": 17
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 17,
                  "lineno": 17,
                  "value": "f7vz"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 17,
                  "id": "period",
                  "lineno": 17
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 17,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 17,
                "id": "foyer_fiscal",
                "lineno": 17
              },
              "keywords": [],
              "lineno": 17
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 18,
                "id": "P",
                "lineno": 18
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 18,
              "lineno": 18,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 18,
                "lineno": 18,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 18,
                  "lineno": 18,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 18,
                        "id": "period",
                        "lineno": 18
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 18,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 18,
                      "id": "parameters",
                      "lineno": 18
                    },
                    "keywords": [],
                    "lineno": 18
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 98,
            "end_lineno": 20,
            "lineno": 20,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 20,
                "id": "invalide",
                "lineno": 20
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 98,
              "end_lineno": 20,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 73,
                "end_lineno": 20,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 48,
                  "end_lineno": 20,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 15,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 30,
                    "end_lineno": 20,
                    "id": "invalidite_decl",
                    "lineno": 20
                  },
                  "lineno": 20,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 33,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 48,
                    "end_lineno": 20,
                    "id": "invalidite_conj",
                    "lineno": 20
                  }
                },
                "lineno": 20,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 52,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 71,
                      "end_col_offset": 72,
                      "end_lineno": 20,
                      "lineno": 20,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 72,
                  "end_lineno": 20,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 52,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 67,
                    "end_lineno": 20,
                    "id": "nbpac_invalideG",
                    "lineno": 20
                  },
                  "lineno": 20,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 20,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 77,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 96,
                    "end_col_offset": 97,
                    "end_lineno": 20,
                    "lineno": 20,
                    "value": 0
                  }
                ],
                "end_col_offset": 97,
                "end_lineno": 20,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 77,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 92,
                  "end_lineno": 20,
                  "id": "nbpac_invalideR",
                  "lineno": 20
                },
                "lineno": 20,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 21,
            "lineno": 21,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 21,
                "id": "max0",
                "lineno": 21
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 21,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 21,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 21,
                    "lineno": 21,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 21,
                      "id": "P",
                      "lineno": 21
                    }
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 21,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 21,
                      "id": "maries_ou_pacses",
                      "lineno": 21
                    },
                    "lineno": 21,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 21,
                      "lineno": 21,
                      "value": 1
                    }
                  }
                },
                "lineno": 21,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 21,
                    "lineno": 21,
                    "value": 1
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 21,
                    "id": "invalide",
                    "lineno": 21
                  }
                }
              },
              "lineno": 21,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 21,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 21,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 21
                },
                "lineno": 21,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 21,
                  "lineno": 21,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 21,
                    "id": "P",
                    "lineno": 21
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 23,
            "lineno": 23,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 23,
                "id": "max1",
                "lineno": 23
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 23,
                    "id": "max0",
                    "lineno": 23
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 23,
                    "id": "f7vx",
                    "lineno": 23
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 23,
                  "lineno": 23,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 23,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 23,
                "id": "max_",
                "lineno": 23
              },
              "keywords": [],
              "lineno": 23
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 24,
            "lineno": 24,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 24,
                "id": "max2",
                "lineno": 24
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 24,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 24,
                    "id": "max1",
                    "lineno": 24
                  },
                  "lineno": 24,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 24,
                    "id": "f7vy",
                    "lineno": 24
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 24,
                  "lineno": 24,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 24,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 24,
                "id": "max_",
                "lineno": 24
              },
              "keywords": [],
              "lineno": 24
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 25,
            "lineno": 25,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 25,
                "id": "max3",
                "lineno": 25
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 25,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 25,
                    "id": "max2",
                    "lineno": 25
                  },
                  "lineno": 25,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 25,
                    "id": "f7vw",
                    "lineno": 25
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 25,
                  "lineno": 25,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 25,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 25,
                "id": "max_",
                "lineno": 25
              },
              "keywords": [],
              "lineno": 25
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 26,
            "lineno": 26,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 26,
                "id": "max4",
                "lineno": 26
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 26,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 26,
                    "id": "max3",
                    "lineno": 26
                  },
                  "lineno": 26,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 26,
                    "id": "f7vu",
                    "lineno": 26
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 26,
                  "lineno": 26,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 26,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 26,
                "id": "max_",
                "lineno": 26
              },
              "keywords": [],
              "lineno": 26
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 27,
            "lineno": 27,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 27,
                "id": "max5",
                "lineno": 27
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 27,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 27,
                    "id": "max4",
                    "lineno": 27
                  },
                  "lineno": 27,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 27,
                    "id": "f7vz",
                    "lineno": 27
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 27,
                  "lineno": 27,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 27,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 27,
                "id": "max_",
                "lineno": 27
              },
              "keywords": [],
              "lineno": 27
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 36,
            "lineno": 29,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 35,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 34,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 36,
                  "end_lineno": 33,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 8,
                    "end_col_offset": 36,
                    "end_lineno": 32,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 8,
                      "end_col_offset": 36,
                      "end_lineno": 31,
                      "left": {
                        "ast_class": "BinOp",
                        "col_offset": 8,
                        "end_col_offset": 34,
                        "end_lineno": 30,
                        "left": {
                          "ast_class": "Attribute",
                          "attr": "taux1",
                          "col_offset": 8,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 15,
                          "end_lineno": 30,
                          "lineno": 30,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 8,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 9,
                            "end_lineno": 30,
                            "id": "P",
                            "lineno": 30
                          }
                        },
                        "lineno": 30,
                        "op": {
                          "ast_class": "Mult"
                        },
                        "right": {
                          "args": [
                            {
                              "ast_class": "Name",
                              "col_offset": 23,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 27,
                              "end_lineno": 30,
                              "id": "f7vx",
                              "lineno": 30
                            },
                            {
                              "ast_class": "Name",
                              "col_offset": 29,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 33,
                              "end_lineno": 30,
                              "id": "max0",
                              "lineno": 30
                            }
                          ],
                          "ast_class": "Call",
                          "col_offset": 18,
                          "end_col_offset": 34,
                          "end_lineno": 30,
                          "func": {
                            "ast_class": "Name",
                            "col_offset": 18,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 22,
                            "end_lineno": 30,
                            "id": "min_",
                            "lineno": 30
                          },
                          "keywords": [],
                          "lineno": 30
                        }
                      },
                      "lineno": 30,
                      "op": {
                        "ast_class": "Add"
                      },
                      "right": {
                        "ast_class": "BinOp",
                        "col_offset": 10,
                        "end_col_offset": 36,
                        "end_lineno": 31,
                        "left": {
                          "ast_class": "Attribute",
                          "attr": "taux1",
                          "col_offset": 10,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 17,
                          "end_lineno": 31,
                          "lineno": 31,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 10,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 11,
                            "end_lineno": 31,
                            "id": "P",
                            "lineno": 31
                          }
                        },
                        "lineno": 31,
                        "op": {
                          "ast_class": "Mult"
                        },
                        "right": {
                          "args": [
                            {
                              "ast_class": "Name",
                              "col_offset": 25,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 29,
                              "end_lineno": 31,
                              "id": "f7vy",
                              "lineno": 31
                            },
                            {
                              "ast_class": "Name",
                              "col_offset": 31,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 35,
                              "end_lineno": 31,
                              "id": "max1",
                              "lineno": 31
                            }
                          ],
                          "ast_class": "Call",
                          "col_offset": 20,
                          "end_col_offset": 36,
                          "end_lineno": 31,
                          "func": {
                            "ast_class": "Name",
                            "col_offset": 20,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 24,
                            "end_lineno": 31,
                            "id": "min_",
                            "lineno": 31
                          },
                          "keywords": [],
                          "lineno": 31
                        }
                      }
                    },
                    "lineno": 30,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "BinOp",
                      "col_offset": 10,
                      "end_col_offset": 36,
                      "end_lineno": 32,
                      "left": {
                        "ast_class": "Attribute",
                        "attr": "taux2",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 17,
                        "end_lineno": 32,
                        "lineno": 32,
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 10,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 11,
                          "end_lineno": 32,
                          "id": "P",
                          "lineno": 32
                        }
                      },
                      "lineno": 32,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "args": [
                          {
                            "ast_class": "Name",
                            "col_offset": 25,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 29,
                            "end_lineno": 32,
                            "id": "f7vw",
                            "lineno": 32
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 31,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 35,
                            "end_lineno": 32,
                            "id": "max2",
                            "lineno": 32
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 20,
                        "end_col_offset": 36,
                        "end_lineno": 32,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 20,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 24,
                          "end_lineno": 32,
                          "id": "min_",
                          "lineno": 32
                        },
                        "keywords": [],
                        "lineno": 32
                      }
                    }
                  },
                  "lineno": 30,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 10,
                    "end_col_offset": 36,
                    "end_lineno": 33,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux3",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 17,
                      "end_lineno": 33,
                      "lineno": 33,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 11,
                        "end_lineno": 33,
                        "id": "P",
                        "lineno": 33
                      }
                    },
                    "lineno": 33,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 25,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 29,
                          "end_lineno": 33,
                          "id": "f7vu",
                          "lineno": 33
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 31,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 35,
                          "end_lineno": 33,
                          "id": "max3",
                          "lineno": 33
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 20,
                      "end_col_offset": 36,
                      "end_lineno": 33,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 20,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 24,
                        "end_lineno": 33,
                        "id": "min_",
                        "lineno": 33
                      },
                      "keywords": [],
                      "lineno": 33
                    }
                  }
                },
                "lineno": 30,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 34,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux4",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 34,
                    "lineno": 34,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 34,
                      "id": "P",
                      "lineno": 34
                    }
                  },
                  "lineno": 34,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 34,
                        "id": "f7vz",
                        "lineno": 34
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 34,
                        "id": "max4",
                        "lineno": 34
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 34,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 34,
                      "id": "min_",
                      "lineno": 34
                    },
                    "keywords": [],
                    "lineno": 34
                  }
                }
              },
              "lineno": 30,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 35,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux5",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 35,
                  "lineno": 35,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 35,
                    "id": "P",
                    "lineno": 35
                  }
                },
                "lineno": 35,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 35,
                      "id": "f7vv",
                      "lineno": 35
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 35,
                      "id": "max5",
                      "lineno": 35
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 35,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 35,
                    "id": "min_",
                    "lineno": 35
                  },
                  "keywords": [],
                  "lineno": 35
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 36,
        "lineno": 1,
        "name": "formula_2011_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n2011\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux2",
        "impot_revenu.calcul_credits_impots.inthab.taux3",
        "impot_revenu.calcul_credits_impots.inthab.taux4",
        "impot_revenu.calcul_credits_impots.inthab.taux5"
      ],
      "source_code": "def formula_2011_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2011\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    f7vu = foyer_fiscal('f7vu', period)\n    f7vw = foyer_fiscal('f7vw', period)\n    f7vv = foyer_fiscal('f7vv', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    f7vy = foyer_fiscal('f7vy', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0)\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vy, 0)\n    max3 = max_(max2 - f7vw, 0)\n    max4 = max_(max3 - f7vu, 0)\n    max5 = max_(max4 - f7vz, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux1 * min_(f7vy, max1)\n        + P.taux2 * min_(f7vw, max2)\n        + P.taux3 * min_(f7vu, max3)\n        + P.taux4 * min_(f7vz, max4)\n        + P.taux5 * min_(f7vv, max5)\n        )\n",
      "start_line_number": 1061,
      "stop_line_number": 1097,
      "variables": [
        "caseF",
        "caseP",
        "f7vu",
        "f7vv",
        "f7vw",
        "f7vx",
        "f7vy",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbR",
        "nb_pac2"
      ]
    },
    "2012-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2012 - 2013\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 12,
                "id": "nbpac_invalideI",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "nbI"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vt",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vt"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vu",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vu"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 14,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 14,
                "id": "foyer_fiscal",
                "lineno": 14
              },
              "keywords": [],
              "lineno": 14
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7vv",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7vv"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 15,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 15,
                "id": "foyer_fiscal",
                "lineno": 15
              },
              "keywords": [],
              "lineno": 15
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 16,
                "id": "f7vw",
                "lineno": 16
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": "f7vw"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 16,
                  "id": "period",
                  "lineno": 16
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 16,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 16,
                "id": "foyer_fiscal",
                "lineno": 16
              },
              "keywords": [],
              "lineno": 16
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 17,
            "lineno": 17,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 17,
                "id": "f7vx",
                "lineno": 17
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 17,
                  "lineno": 17,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 17,
                  "id": "period",
                  "lineno": 17
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 17,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 17,
                "id": "foyer_fiscal",
                "lineno": 17
              },
              "keywords": [],
              "lineno": 17
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 18,
                "id": "f7vy",
                "lineno": 18
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 18,
                  "lineno": 18,
                  "value": "f7vy"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 18,
                  "id": "period",
                  "lineno": 18
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 18,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 18,
                "id": "foyer_fiscal",
                "lineno": 18
              },
              "keywords": [],
              "lineno": 18
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 19,
            "lineno": 19,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 19,
                "id": "f7vz",
                "lineno": 19
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 19,
                  "lineno": 19,
                  "value": "f7vz"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 19,
                  "id": "period",
                  "lineno": 19
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 19,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 19,
                "id": "foyer_fiscal",
                "lineno": 19
              },
              "keywords": [],
              "lineno": 19
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 20,
            "lineno": 20,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 20,
                "id": "P",
                "lineno": 20
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 20,
              "lineno": 20,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 20,
                "lineno": 20,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 20,
                  "lineno": 20,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 20,
                        "id": "period",
                        "lineno": 20
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 20,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 20,
                      "id": "parameters",
                      "lineno": 20
                    },
                    "keywords": [],
                    "lineno": 20
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 123,
            "end_lineno": 22,
            "lineno": 22,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 22,
                "id": "invalide",
                "lineno": 22
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 123,
              "end_lineno": 22,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 98,
                "end_lineno": 22,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 73,
                  "end_lineno": 22,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 15,
                    "end_col_offset": 48,
                    "end_lineno": 22,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 15,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 22,
                      "id": "invalidite_decl",
                      "lineno": 22
                    },
                    "lineno": 22,
                    "op": {
                      "ast_class": "BitOr"
                    },
                    "right": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 48,
                      "end_lineno": 22,
                      "id": "invalidite_conj",
                      "lineno": 22
                    }
                  },
                  "lineno": 22,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Compare",
                    "col_offset": 52,
                    "comparators": [
                      {
                        "ast_class": "Constant",
                        "col_offset": 71,
                        "end_col_offset": 72,
                        "end_lineno": 22,
                        "lineno": 22,
                        "value": 0
                      }
                    ],
                    "end_col_offset": 72,
                    "end_lineno": 22,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 52,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 67,
                      "end_lineno": 22,
                      "id": "nbpac_invalideG",
                      "lineno": 22
                    },
                    "lineno": 22,
                    "ops": [
                      {
                        "ast_class": "NotEq"
                      }
                    ]
                  }
                },
                "lineno": 22,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 77,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 96,
                      "end_col_offset": 97,
                      "end_lineno": 22,
                      "lineno": 22,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 97,
                  "end_lineno": 22,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 77,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 92,
                    "end_lineno": 22,
                    "id": "nbpac_invalideR",
                    "lineno": 22
                  },
                  "lineno": 22,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 22,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 102,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 121,
                    "end_col_offset": 122,
                    "end_lineno": 22,
                    "lineno": 22,
                    "value": 0
                  }
                ],
                "end_col_offset": 122,
                "end_lineno": 22,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 102,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 117,
                  "end_lineno": 22,
                  "id": "nbpac_invalideI",
                  "lineno": 22
                },
                "lineno": 22,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 23,
            "lineno": 23,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 23,
                "id": "max0",
                "lineno": 23
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 23,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 23,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 23,
                    "lineno": 23,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 23,
                      "id": "P",
                      "lineno": 23
                    }
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 23,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 23,
                      "id": "maries_ou_pacses",
                      "lineno": 23
                    },
                    "lineno": 23,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 23,
                      "lineno": 23,
                      "value": 1
                    }
                  }
                },
                "lineno": 23,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 23,
                    "lineno": 23,
                    "value": 1
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 23,
                    "id": "invalide",
                    "lineno": 23
                  }
                }
              },
              "lineno": 23,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 23,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 23,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 23
                },
                "lineno": 23,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 23,
                  "lineno": 23,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 23,
                    "id": "P",
                    "lineno": 23
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 25,
            "lineno": 25,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 25,
                "id": "max1",
                "lineno": 25
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 25,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 25,
                    "id": "max0",
                    "lineno": 25
                  },
                  "lineno": 25,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 25,
                    "id": "f7vx",
                    "lineno": 25
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 25,
                  "lineno": 25,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 25,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 25,
                "id": "max_",
                "lineno": 25
              },
              "keywords": [],
              "lineno": 25
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 26,
            "lineno": 26,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 26,
                "id": "max2",
                "lineno": 26
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 26,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 26,
                    "id": "max1",
                    "lineno": 26
                  },
                  "lineno": 26,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 26,
                    "id": "f7vy",
                    "lineno": 26
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 26,
                  "lineno": 26,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 26,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 26,
                "id": "max_",
                "lineno": 26
              },
              "keywords": [],
              "lineno": 26
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 27,
            "lineno": 27,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 27,
                "id": "max3",
                "lineno": 27
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 27,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 27,
                    "id": "max2",
                    "lineno": 27
                  },
                  "lineno": 27,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 27,
                    "id": "f7vw",
                    "lineno": 27
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 27,
                  "lineno": 27,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 27,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 27,
                "id": "max_",
                "lineno": 27
              },
              "keywords": [],
              "lineno": 27
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 28,
            "lineno": 28,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 28,
                "id": "max4",
                "lineno": 28
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 28,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 28,
                    "id": "max3",
                    "lineno": 28
                  },
                  "lineno": 28,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 28,
                    "id": "f7vu",
                    "lineno": 28
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 28,
                  "lineno": 28,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 28,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 28,
                "id": "max_",
                "lineno": 28
              },
              "keywords": [],
              "lineno": 28
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 29,
            "lineno": 29,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 29,
                "id": "max5",
                "lineno": 29
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 29,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 29,
                    "id": "max4",
                    "lineno": 29
                  },
                  "lineno": 29,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 29,
                    "id": "f7vz",
                    "lineno": 29
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 29,
                  "lineno": 29,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 29,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 29,
                "id": "max_",
                "lineno": 29
              },
              "keywords": [],
              "lineno": 29
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 30,
            "lineno": 30,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 30,
                "id": "max6",
                "lineno": 30
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 30,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 30,
                    "id": "max5",
                    "lineno": 30
                  },
                  "lineno": 30,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 30,
                    "id": "f7vv",
                    "lineno": 30
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 30,
                  "lineno": 30,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 30,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 30,
                "id": "max_",
                "lineno": 30
              },
              "keywords": [],
              "lineno": 30
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 40,
            "lineno": 32,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 39,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 38,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 36,
                  "end_lineno": 37,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 8,
                    "end_col_offset": 36,
                    "end_lineno": 36,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 8,
                      "end_col_offset": 36,
                      "end_lineno": 35,
                      "left": {
                        "ast_class": "BinOp",
                        "col_offset": 8,
                        "end_col_offset": 36,
                        "end_lineno": 34,
                        "left": {
                          "ast_class": "BinOp",
                          "col_offset": 8,
                          "end_col_offset": 34,
                          "end_lineno": 33,
                          "left": {
                            "ast_class": "Attribute",
                            "attr": "taux1",
                            "col_offset": 8,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 15,
                            "end_lineno": 33,
                            "lineno": 33,
                            "value": {
                              "ast_class": "Name",
                              "col_offset": 8,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 9,
                              "end_lineno": 33,
                              "id": "P",
                              "lineno": 33
                            }
                          },
                          "lineno": 33,
                          "op": {
                            "ast_class": "Mult"
                          },
                          "right": {
                            "args": [
                              {
                                "ast_class": "Name",
                                "col_offset": 23,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 27,
                                "end_lineno": 33,
                                "id": "f7vx",
                                "lineno": 33
                              },
                              {
                                "ast_class": "Name",
                                "col_offset": 29,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 33,
                                "end_lineno": 33,
                                "id": "max0",
                                "lineno": 33
                              }
                            ],
                            "ast_class": "Call",
                            "col_offset": 18,
                            "end_col_offset": 34,
                            "end_lineno": 33,
                            "func": {
                              "ast_class": "Name",
                              "col_offset": 18,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 22,
                              "end_lineno": 33,
                              "id": "min_",
                              "lineno": 33
                            },
                            "keywords": [],
                            "lineno": 33
                          }
                        },
                        "lineno": 33,
                        "op": {
                          "ast_class": "Add"
                        },
                        "right": {
                          "ast_class": "BinOp",
                          "col_offset": 10,
                          "end_col_offset": 36,
                          "end_lineno": 34,
                          "left": {
                            "ast_class": "Attribute",
                            "attr": "taux1",
                            "col_offset": 10,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 17,
                            "end_lineno": 34,
                            "lineno": 34,
                            "value": {
                              "ast_class": "Name",
                              "col_offset": 10,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 11,
                              "end_lineno": 34,
                              "id": "P",
                              "lineno": 34
                            }
                          },
                          "lineno": 34,
                          "op": {
                            "ast_class": "Mult"
                          },
                          "right": {
                            "args": [
                              {
                                "ast_class": "Name",
                                "col_offset": 25,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 29,
                                "end_lineno": 34,
                                "id": "f7vy",
                                "lineno": 34
                              },
                              {
                                "ast_class": "Name",
                                "col_offset": 31,
                                "ctx": {
                                  "ast_class": "Load"
                                },
                                "end_col_offset": 35,
                                "end_lineno": 34,
                                "id": "max1",
                                "lineno": 34
                              }
                            ],
                            "ast_class": "Call",
                            "col_offset": 20,
                            "end_col_offset": 36,
                            "end_lineno": 34,
                            "func": {
                              "ast_class": "Name",
                              "col_offset": 20,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 24,
                              "end_lineno": 34,
                              "id": "min_",
                              "lineno": 34
                            },
                            "keywords": [],
                            "lineno": 34
                          }
                        }
                      },
                      "lineno": 33,
                      "op": {
                        "ast_class": "Add"
                      },
                      "right": {
                        "ast_class": "BinOp",
                        "col_offset": 10,
                        "end_col_offset": 36,
                        "end_lineno": 35,
                        "left": {
                          "ast_class": "Attribute",
                          "attr": "taux2",
                          "col_offset": 10,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 17,
                          "end_lineno": 35,
                          "lineno": 35,
                          "value": {
                            "ast_class": "Name",
                            "col_offset": 10,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 11,
                            "end_lineno": 35,
                            "id": "P",
                            "lineno": 35
                          }
                        },
                        "lineno": 35,
                        "op": {
                          "ast_class": "Mult"
                        },
                        "right": {
                          "args": [
                            {
                              "ast_class": "Name",
                              "col_offset": 25,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 29,
                              "end_lineno": 35,
                              "id": "f7vw",
                              "lineno": 35
                            },
                            {
                              "ast_class": "Name",
                              "col_offset": 31,
                              "ctx": {
                                "ast_class": "Load"
                              },
                              "end_col_offset": 35,
                              "end_lineno": 35,
                              "id": "max2",
                              "lineno": 35
                            }
                          ],
                          "ast_class": "Call",
                          "col_offset": 20,
                          "end_col_offset": 36,
                          "end_lineno": 35,
                          "func": {
                            "ast_class": "Name",
                            "col_offset": 20,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 24,
                            "end_lineno": 35,
                            "id": "min_",
                            "lineno": 35
                          },
                          "keywords": [],
                          "lineno": 35
                        }
                      }
                    },
                    "lineno": 33,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "BinOp",
                      "col_offset": 10,
                      "end_col_offset": 36,
                      "end_lineno": 36,
                      "left": {
                        "ast_class": "Attribute",
                        "attr": "taux3",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 17,
                        "end_lineno": 36,
                        "lineno": 36,
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 10,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 11,
                          "end_lineno": 36,
                          "id": "P",
                          "lineno": 36
                        }
                      },
                      "lineno": 36,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "args": [
                          {
                            "ast_class": "Name",
                            "col_offset": 25,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 29,
                            "end_lineno": 36,
                            "id": "f7vu",
                            "lineno": 36
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 31,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 35,
                            "end_lineno": 36,
                            "id": "max3",
                            "lineno": 36
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 20,
                        "end_col_offset": 36,
                        "end_lineno": 36,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 20,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 24,
                          "end_lineno": 36,
                          "id": "min_",
                          "lineno": 36
                        },
                        "keywords": [],
                        "lineno": 36
                      }
                    }
                  },
                  "lineno": 33,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 10,
                    "end_col_offset": 36,
                    "end_lineno": 37,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux4",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 17,
                      "end_lineno": 37,
                      "lineno": 37,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 11,
                        "end_lineno": 37,
                        "id": "P",
                        "lineno": 37
                      }
                    },
                    "lineno": 37,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 25,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 29,
                          "end_lineno": 37,
                          "id": "f7vz",
                          "lineno": 37
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 31,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 35,
                          "end_lineno": 37,
                          "id": "max4",
                          "lineno": 37
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 20,
                      "end_col_offset": 36,
                      "end_lineno": 37,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 20,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 24,
                        "end_lineno": 37,
                        "id": "min_",
                        "lineno": 37
                      },
                      "keywords": [],
                      "lineno": 37
                    }
                  }
                },
                "lineno": 33,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 38,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux5",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 38,
                    "lineno": 38,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 38,
                      "id": "P",
                      "lineno": 38
                    }
                  },
                  "lineno": 38,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 38,
                        "id": "f7vv",
                        "lineno": 38
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 38,
                        "id": "max5",
                        "lineno": 38
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 38,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 38,
                      "id": "min_",
                      "lineno": 38
                    },
                    "keywords": [],
                    "lineno": 38
                  }
                }
              },
              "lineno": 33,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 39,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux6",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 39,
                  "lineno": 39,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 39,
                    "id": "P",
                    "lineno": 39
                  }
                },
                "lineno": 39,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 39,
                      "id": "f7vt",
                      "lineno": 39
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 39,
                      "id": "max6",
                      "lineno": 39
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 39,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 39,
                    "id": "min_",
                    "lineno": 39
                  },
                  "keywords": [],
                  "lineno": 39
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 40,
        "lineno": 1,
        "name": "formula_2012_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n2012 - 2013\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux2",
        "impot_revenu.calcul_credits_impots.inthab.taux3",
        "impot_revenu.calcul_credits_impots.inthab.taux4",
        "impot_revenu.calcul_credits_impots.inthab.taux5",
        "impot_revenu.calcul_credits_impots.inthab.taux6"
      ],
      "source_code": "def formula_2012_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2012 - 2013\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    nbpac_invalideI = foyer_fiscal('nbI', period)\n    f7vt = foyer_fiscal('f7vt', period)\n    f7vu = foyer_fiscal('f7vu', period)\n    f7vv = foyer_fiscal('f7vv', period)\n    f7vw = foyer_fiscal('f7vw', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    f7vy = foyer_fiscal('f7vy', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0) | (nbpac_invalideI != 0)\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vy, 0)\n    max3 = max_(max2 - f7vw, 0)\n    max4 = max_(max3 - f7vu, 0)\n    max5 = max_(max4 - f7vz, 0)\n    max6 = max_(max5 - f7vv, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux1 * min_(f7vy, max1)\n        + P.taux2 * min_(f7vw, max2)\n        + P.taux3 * min_(f7vu, max3)\n        + P.taux4 * min_(f7vz, max4)\n        + P.taux5 * min_(f7vv, max5)\n        + P.taux6 * min_(f7vt, max6)\n        )\n",
      "start_line_number": 1098,
      "stop_line_number": 1138,
      "variables": [
        "caseF",
        "caseP",
        "f7vt",
        "f7vu",
        "f7vv",
        "f7vw",
        "f7vx",
        "f7vy",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbI",
        "nbR",
        "nb_pac2"
      ]
    },
    "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": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2014\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 12,
                "id": "nbpac_invalideI",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "nbI"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vt",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vt"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vu",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vu"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 14,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 14,
                "id": "foyer_fiscal",
                "lineno": 14
              },
              "keywords": [],
              "lineno": 14
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7vv",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7vv"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 15,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 15,
                "id": "foyer_fiscal",
                "lineno": 15
              },
              "keywords": [],
              "lineno": 15
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 16,
                "id": "f7vx",
                "lineno": 16
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 16,
                  "id": "period",
                  "lineno": 16
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 16,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 16,
                "id": "foyer_fiscal",
                "lineno": 16
              },
              "keywords": [],
              "lineno": 16
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 17,
            "lineno": 17,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 17,
                "id": "f7vz",
                "lineno": 17
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 17,
                  "lineno": 17,
                  "value": "f7vz"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 17,
                  "id": "period",
                  "lineno": 17
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 17,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 17,
                "id": "foyer_fiscal",
                "lineno": 17
              },
              "keywords": [],
              "lineno": 17
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 18,
                "id": "P",
                "lineno": 18
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 18,
              "lineno": 18,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 18,
                "lineno": 18,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 18,
                  "lineno": 18,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 18,
                        "id": "period",
                        "lineno": 18
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 18,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 18,
                      "id": "parameters",
                      "lineno": 18
                    },
                    "keywords": [],
                    "lineno": 18
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 123,
            "end_lineno": 20,
            "lineno": 20,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 20,
                "id": "invalide",
                "lineno": 20
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 123,
              "end_lineno": 20,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 98,
                "end_lineno": 20,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 73,
                  "end_lineno": 20,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 15,
                    "end_col_offset": 48,
                    "end_lineno": 20,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 15,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 20,
                      "id": "invalidite_decl",
                      "lineno": 20
                    },
                    "lineno": 20,
                    "op": {
                      "ast_class": "BitOr"
                    },
                    "right": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 48,
                      "end_lineno": 20,
                      "id": "invalidite_conj",
                      "lineno": 20
                    }
                  },
                  "lineno": 20,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Compare",
                    "col_offset": 52,
                    "comparators": [
                      {
                        "ast_class": "Constant",
                        "col_offset": 71,
                        "end_col_offset": 72,
                        "end_lineno": 20,
                        "lineno": 20,
                        "value": 0
                      }
                    ],
                    "end_col_offset": 72,
                    "end_lineno": 20,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 52,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 67,
                      "end_lineno": 20,
                      "id": "nbpac_invalideG",
                      "lineno": 20
                    },
                    "lineno": 20,
                    "ops": [
                      {
                        "ast_class": "NotEq"
                      }
                    ]
                  }
                },
                "lineno": 20,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 77,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 96,
                      "end_col_offset": 97,
                      "end_lineno": 20,
                      "lineno": 20,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 97,
                  "end_lineno": 20,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 77,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 92,
                    "end_lineno": 20,
                    "id": "nbpac_invalideR",
                    "lineno": 20
                  },
                  "lineno": 20,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 20,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 102,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 121,
                    "end_col_offset": 122,
                    "end_lineno": 20,
                    "lineno": 20,
                    "value": 0
                  }
                ],
                "end_col_offset": 122,
                "end_lineno": 20,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 102,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 117,
                  "end_lineno": 20,
                  "id": "nbpac_invalideI",
                  "lineno": 20
                },
                "lineno": 20,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 23,
            "lineno": 23,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 23,
                "id": "max0",
                "lineno": 23
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 23,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 23,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 23,
                    "lineno": 23,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 23,
                      "id": "P",
                      "lineno": 23
                    }
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 23,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 23,
                      "id": "maries_ou_pacses",
                      "lineno": 23
                    },
                    "lineno": 23,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 23,
                      "lineno": 23,
                      "value": 1
                    }
                  }
                },
                "lineno": 23,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 23,
                    "lineno": 23,
                    "value": 1
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 23,
                    "id": "invalide",
                    "lineno": 23
                  }
                }
              },
              "lineno": 23,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 23,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 23,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 23
                },
                "lineno": 23,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 23,
                  "lineno": 23,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 23,
                    "id": "P",
                    "lineno": 23
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 24,
            "lineno": 24,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 24,
                "id": "max1",
                "lineno": 24
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 24,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 24,
                    "id": "max0",
                    "lineno": 24
                  },
                  "lineno": 24,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 24,
                    "id": "f7vx",
                    "lineno": 24
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 24,
                  "lineno": 24,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 24,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 24,
                "id": "max_",
                "lineno": 24
              },
              "keywords": [],
              "lineno": 24
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 25,
            "lineno": 25,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 25,
                "id": "max2",
                "lineno": 25
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 25,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 25,
                    "id": "max1",
                    "lineno": 25
                  },
                  "lineno": 25,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 25,
                    "id": "f7vu",
                    "lineno": 25
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 25,
                  "lineno": 25,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 25,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 25,
                "id": "max_",
                "lineno": 25
              },
              "keywords": [],
              "lineno": 25
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 26,
            "lineno": 26,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 26,
                "id": "max3",
                "lineno": 26
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 26,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 26,
                    "id": "max2",
                    "lineno": 26
                  },
                  "lineno": 26,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 26,
                    "id": "f7vz",
                    "lineno": 26
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 26,
                  "lineno": 26,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 26,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 26,
                "id": "max_",
                "lineno": 26
              },
              "keywords": [],
              "lineno": 26
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 27,
            "lineno": 27,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 27,
                "id": "max4",
                "lineno": 27
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 27,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 27,
                    "id": "max3",
                    "lineno": 27
                  },
                  "lineno": 27,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 27,
                    "id": "f7vv",
                    "lineno": 27
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 27,
                  "lineno": 27,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 27,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 27,
                "id": "max_",
                "lineno": 27
              },
              "keywords": [],
              "lineno": 27
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 35,
            "lineno": 29,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 34,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 33,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 36,
                  "end_lineno": 32,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 8,
                    "end_col_offset": 36,
                    "end_lineno": 31,
                    "left": {
                      "ast_class": "BinOp",
                      "col_offset": 8,
                      "end_col_offset": 34,
                      "end_lineno": 30,
                      "left": {
                        "ast_class": "Attribute",
                        "attr": "taux1",
                        "col_offset": 8,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 15,
                        "end_lineno": 30,
                        "lineno": 30,
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 8,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 9,
                          "end_lineno": 30,
                          "id": "P",
                          "lineno": 30
                        }
                      },
                      "lineno": 30,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "args": [
                          {
                            "ast_class": "Name",
                            "col_offset": 23,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 27,
                            "end_lineno": 30,
                            "id": "f7vx",
                            "lineno": 30
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 29,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 33,
                            "end_lineno": 30,
                            "id": "max0",
                            "lineno": 30
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 18,
                        "end_col_offset": 34,
                        "end_lineno": 30,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 18,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 22,
                          "end_lineno": 30,
                          "id": "min_",
                          "lineno": 30
                        },
                        "keywords": [],
                        "lineno": 30
                      }
                    },
                    "lineno": 30,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "BinOp",
                      "col_offset": 10,
                      "end_col_offset": 36,
                      "end_lineno": 31,
                      "left": {
                        "ast_class": "Attribute",
                        "attr": "taux3",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 17,
                        "end_lineno": 31,
                        "lineno": 31,
                        "value": {
                          "ast_class": "Name",
                          "col_offset": 10,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 11,
                          "end_lineno": 31,
                          "id": "P",
                          "lineno": 31
                        }
                      },
                      "lineno": 31,
                      "op": {
                        "ast_class": "Mult"
                      },
                      "right": {
                        "args": [
                          {
                            "ast_class": "Name",
                            "col_offset": 25,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 29,
                            "end_lineno": 31,
                            "id": "f7vu",
                            "lineno": 31
                          },
                          {
                            "ast_class": "Name",
                            "col_offset": 31,
                            "ctx": {
                              "ast_class": "Load"
                            },
                            "end_col_offset": 35,
                            "end_lineno": 31,
                            "id": "max1",
                            "lineno": 31
                          }
                        ],
                        "ast_class": "Call",
                        "col_offset": 20,
                        "end_col_offset": 36,
                        "end_lineno": 31,
                        "func": {
                          "ast_class": "Name",
                          "col_offset": 20,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 24,
                          "end_lineno": 31,
                          "id": "min_",
                          "lineno": 31
                        },
                        "keywords": [],
                        "lineno": 31
                      }
                    }
                  },
                  "lineno": 30,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 10,
                    "end_col_offset": 36,
                    "end_lineno": 32,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux4",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 17,
                      "end_lineno": 32,
                      "lineno": 32,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 11,
                        "end_lineno": 32,
                        "id": "P",
                        "lineno": 32
                      }
                    },
                    "lineno": 32,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 25,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 29,
                          "end_lineno": 32,
                          "id": "f7vz",
                          "lineno": 32
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 31,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 35,
                          "end_lineno": 32,
                          "id": "max2",
                          "lineno": 32
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 20,
                      "end_col_offset": 36,
                      "end_lineno": 32,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 20,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 24,
                        "end_lineno": 32,
                        "id": "min_",
                        "lineno": 32
                      },
                      "keywords": [],
                      "lineno": 32
                    }
                  }
                },
                "lineno": 30,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 33,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux5",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 33,
                    "lineno": 33,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 33,
                      "id": "P",
                      "lineno": 33
                    }
                  },
                  "lineno": 33,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 33,
                        "id": "f7vv",
                        "lineno": 33
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 33,
                        "id": "max3",
                        "lineno": 33
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 33,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 33,
                      "id": "min_",
                      "lineno": 33
                    },
                    "keywords": [],
                    "lineno": 33
                  }
                }
              },
              "lineno": 30,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 34,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux6",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 34,
                  "lineno": 34,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 34,
                    "id": "P",
                    "lineno": 34
                  }
                },
                "lineno": 34,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 34,
                      "id": "f7vt",
                      "lineno": 34
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 34,
                      "id": "max4",
                      "lineno": 34
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 34,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 34,
                    "id": "min_",
                    "lineno": 34
                  },
                  "keywords": [],
                  "lineno": 34
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 35,
        "lineno": 1,
        "name": "formula_2014_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n2014\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux3",
        "impot_revenu.calcul_credits_impots.inthab.taux4",
        "impot_revenu.calcul_credits_impots.inthab.taux5",
        "impot_revenu.calcul_credits_impots.inthab.taux6"
      ],
      "source_code": "def formula_2014_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2014\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    nbpac_invalideI = foyer_fiscal('nbI', period)\n    f7vt = foyer_fiscal('f7vt', period)\n    f7vu = foyer_fiscal('f7vu', period)\n    f7vv = foyer_fiscal('f7vv', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0) | (nbpac_invalideI != 0)\n    # NB : max0 = plafond initial du montant d'intérêts retenus pour calculer le crédit\n    #      max1..max4 = plafonds après imputations successives (dans l'ordre décrit dans la législation) des intérêts éligibles au crédit d'impôt\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vu, 0)\n    max3 = max_(max2 - f7vz, 0)\n    max4 = max_(max3 - f7vv, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux3 * min_(f7vu, max1)\n        + P.taux4 * min_(f7vz, max2)\n        + P.taux5 * min_(f7vv, max3)\n        + P.taux6 * min_(f7vt, max4)\n        )\n",
      "start_line_number": 1139,
      "stop_line_number": 1174,
      "variables": [
        "caseF",
        "caseP",
        "f7vt",
        "f7vu",
        "f7vv",
        "f7vx",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbI",
        "nbR",
        "nb_pac2"
      ]
    },
    "2015-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2015\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 12,
                "id": "nbpac_invalideI",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "nbI"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vt",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vt"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vv",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vv"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 14,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 14,
                "id": "foyer_fiscal",
                "lineno": 14
              },
              "keywords": [],
              "lineno": 14
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7vx",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 15,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 15,
                "id": "foyer_fiscal",
                "lineno": 15
              },
              "keywords": [],
              "lineno": 15
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 16,
                "id": "f7vz",
                "lineno": 16
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": "f7vz"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 16,
                  "id": "period",
                  "lineno": 16
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 16,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 16,
                "id": "foyer_fiscal",
                "lineno": 16
              },
              "keywords": [],
              "lineno": 16
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 17,
            "lineno": 17,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 17,
                "id": "P",
                "lineno": 17
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 17,
              "lineno": 17,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 17,
                "lineno": 17,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 17,
                  "lineno": 17,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 17,
                        "id": "period",
                        "lineno": 17
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 17,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 17,
                      "id": "parameters",
                      "lineno": 17
                    },
                    "keywords": [],
                    "lineno": 17
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 123,
            "end_lineno": 19,
            "lineno": 19,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 19,
                "id": "invalide",
                "lineno": 19
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 123,
              "end_lineno": 19,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 98,
                "end_lineno": 19,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 73,
                  "end_lineno": 19,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 15,
                    "end_col_offset": 48,
                    "end_lineno": 19,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 15,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 19,
                      "id": "invalidite_decl",
                      "lineno": 19
                    },
                    "lineno": 19,
                    "op": {
                      "ast_class": "BitOr"
                    },
                    "right": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 48,
                      "end_lineno": 19,
                      "id": "invalidite_conj",
                      "lineno": 19
                    }
                  },
                  "lineno": 19,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Compare",
                    "col_offset": 52,
                    "comparators": [
                      {
                        "ast_class": "Constant",
                        "col_offset": 71,
                        "end_col_offset": 72,
                        "end_lineno": 19,
                        "lineno": 19,
                        "value": 0
                      }
                    ],
                    "end_col_offset": 72,
                    "end_lineno": 19,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 52,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 67,
                      "end_lineno": 19,
                      "id": "nbpac_invalideG",
                      "lineno": 19
                    },
                    "lineno": 19,
                    "ops": [
                      {
                        "ast_class": "NotEq"
                      }
                    ]
                  }
                },
                "lineno": 19,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 77,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 96,
                      "end_col_offset": 97,
                      "end_lineno": 19,
                      "lineno": 19,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 97,
                  "end_lineno": 19,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 77,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 92,
                    "end_lineno": 19,
                    "id": "nbpac_invalideR",
                    "lineno": 19
                  },
                  "lineno": 19,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 19,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 102,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 121,
                    "end_col_offset": 122,
                    "end_lineno": 19,
                    "lineno": 19,
                    "value": 0
                  }
                ],
                "end_col_offset": 122,
                "end_lineno": 19,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 102,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 117,
                  "end_lineno": 19,
                  "id": "nbpac_invalideI",
                  "lineno": 19
                },
                "lineno": 19,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 22,
            "lineno": 22,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 22,
                "id": "max0",
                "lineno": 22
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 22,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 22,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 22,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 22,
                    "lineno": 22,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 22,
                      "id": "P",
                      "lineno": 22
                    }
                  },
                  "lineno": 22,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 22,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 22,
                      "id": "maries_ou_pacses",
                      "lineno": 22
                    },
                    "lineno": 22,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 22,
                      "lineno": 22,
                      "value": 1
                    }
                  }
                },
                "lineno": 22,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 22,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 22,
                    "lineno": 22,
                    "value": 1
                  },
                  "lineno": 22,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 22,
                    "id": "invalide",
                    "lineno": 22
                  }
                }
              },
              "lineno": 22,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 22,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 22,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 22
                },
                "lineno": 22,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 22,
                  "lineno": 22,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 22,
                    "id": "P",
                    "lineno": 22
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 23,
            "lineno": 23,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 23,
                "id": "max1",
                "lineno": 23
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 23,
                    "id": "max0",
                    "lineno": 23
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 23,
                    "id": "f7vx",
                    "lineno": 23
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 23,
                  "lineno": 23,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 23,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 23,
                "id": "max_",
                "lineno": 23
              },
              "keywords": [],
              "lineno": 23
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 24,
            "lineno": 24,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 24,
                "id": "max2",
                "lineno": 24
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 24,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 24,
                    "id": "max1",
                    "lineno": 24
                  },
                  "lineno": 24,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 24,
                    "id": "f7vz",
                    "lineno": 24
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 24,
                  "lineno": 24,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 24,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 24,
                "id": "max_",
                "lineno": 24
              },
              "keywords": [],
              "lineno": 24
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 25,
            "lineno": 25,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 25,
                "id": "max3",
                "lineno": 25
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 25,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 25,
                    "id": "max2",
                    "lineno": 25
                  },
                  "lineno": 25,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 25,
                    "id": "f7vv",
                    "lineno": 25
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 25,
                  "lineno": 25,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 25,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 25,
                "id": "max_",
                "lineno": 25
              },
              "keywords": [],
              "lineno": 25
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 32,
            "lineno": 27,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 31,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 30,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 36,
                  "end_lineno": 29,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 8,
                    "end_col_offset": 34,
                    "end_lineno": 28,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux1",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 15,
                      "end_lineno": 28,
                      "lineno": 28,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 8,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 9,
                        "end_lineno": 28,
                        "id": "P",
                        "lineno": 28
                      }
                    },
                    "lineno": 28,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 23,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 27,
                          "end_lineno": 28,
                          "id": "f7vx",
                          "lineno": 28
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 29,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 33,
                          "end_lineno": 28,
                          "id": "max0",
                          "lineno": 28
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 18,
                      "end_col_offset": 34,
                      "end_lineno": 28,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 18,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 22,
                        "end_lineno": 28,
                        "id": "min_",
                        "lineno": 28
                      },
                      "keywords": [],
                      "lineno": 28
                    }
                  },
                  "lineno": 28,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 10,
                    "end_col_offset": 36,
                    "end_lineno": 29,
                    "left": {
                      "ast_class": "Attribute",
                      "attr": "taux4",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 17,
                      "end_lineno": 29,
                      "lineno": 29,
                      "value": {
                        "ast_class": "Name",
                        "col_offset": 10,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 11,
                        "end_lineno": 29,
                        "id": "P",
                        "lineno": 29
                      }
                    },
                    "lineno": 29,
                    "op": {
                      "ast_class": "Mult"
                    },
                    "right": {
                      "args": [
                        {
                          "ast_class": "Name",
                          "col_offset": 25,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 29,
                          "end_lineno": 29,
                          "id": "f7vz",
                          "lineno": 29
                        },
                        {
                          "ast_class": "Name",
                          "col_offset": 31,
                          "ctx": {
                            "ast_class": "Load"
                          },
                          "end_col_offset": 35,
                          "end_lineno": 29,
                          "id": "max1",
                          "lineno": 29
                        }
                      ],
                      "ast_class": "Call",
                      "col_offset": 20,
                      "end_col_offset": 36,
                      "end_lineno": 29,
                      "func": {
                        "ast_class": "Name",
                        "col_offset": 20,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 24,
                        "end_lineno": 29,
                        "id": "min_",
                        "lineno": 29
                      },
                      "keywords": [],
                      "lineno": 29
                    }
                  }
                },
                "lineno": 28,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 30,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux5",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 30,
                    "lineno": 30,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 30,
                      "id": "P",
                      "lineno": 30
                    }
                  },
                  "lineno": 30,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 30,
                        "id": "f7vv",
                        "lineno": 30
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 30,
                        "id": "max2",
                        "lineno": 30
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 30,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 30,
                      "id": "min_",
                      "lineno": 30
                    },
                    "keywords": [],
                    "lineno": 30
                  }
                }
              },
              "lineno": 28,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 31,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux6",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 31,
                  "lineno": 31,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 31,
                    "id": "P",
                    "lineno": 31
                  }
                },
                "lineno": 31,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 31,
                      "id": "f7vt",
                      "lineno": 31
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 31,
                      "id": "max3",
                      "lineno": 31
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 31,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 31,
                    "id": "min_",
                    "lineno": 31
                  },
                  "keywords": [],
                  "lineno": 31
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 32,
        "lineno": 1,
        "name": "formula_2015_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n2015\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux4",
        "impot_revenu.calcul_credits_impots.inthab.taux5",
        "impot_revenu.calcul_credits_impots.inthab.taux6"
      ],
      "source_code": "def formula_2015_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2015\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    nbpac_invalideI = foyer_fiscal('nbI', period)\n    f7vt = foyer_fiscal('f7vt', period)\n    f7vv = foyer_fiscal('f7vv', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0) | (nbpac_invalideI != 0)\n    # NB : max0 = plafond initial du montant d'intérêts retenus pour calculer le crédit\n    #      max1..max4 = plafonds après imputations successives (dans l'ordre décrit dans la législation) des intérêts éligibles au crédit d'impôt\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vz, 0)\n    max3 = max_(max2 - f7vv, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux4 * min_(f7vz, max1)\n        + P.taux5 * min_(f7vv, max2)\n        + P.taux6 * min_(f7vt, max3)\n        )\n",
      "start_line_number": 1175,
      "stop_line_number": 1207,
      "variables": [
        "caseF",
        "caseP",
        "f7vt",
        "f7vv",
        "f7vx",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbI",
        "nbR",
        "nb_pac2"
      ]
    },
    "2016-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2016\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 12,
                "id": "nbpac_invalideI",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "nbI"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vt",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vt"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vx",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 14,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 14,
                "id": "foyer_fiscal",
                "lineno": 14
              },
              "keywords": [],
              "lineno": 14
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7vz",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7vz"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 15,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 15,
                "id": "foyer_fiscal",
                "lineno": 15
              },
              "keywords": [],
              "lineno": 15
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 16,
                "id": "P",
                "lineno": 16
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 16,
              "lineno": 16,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 16,
                "lineno": 16,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 16,
                        "id": "period",
                        "lineno": 16
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 16,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 16,
                      "id": "parameters",
                      "lineno": 16
                    },
                    "keywords": [],
                    "lineno": 16
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 123,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 18,
                "id": "invalide",
                "lineno": 18
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 123,
              "end_lineno": 18,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 98,
                "end_lineno": 18,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 73,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 15,
                    "end_col_offset": 48,
                    "end_lineno": 18,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 15,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 18,
                      "id": "invalidite_decl",
                      "lineno": 18
                    },
                    "lineno": 18,
                    "op": {
                      "ast_class": "BitOr"
                    },
                    "right": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 48,
                      "end_lineno": 18,
                      "id": "invalidite_conj",
                      "lineno": 18
                    }
                  },
                  "lineno": 18,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Compare",
                    "col_offset": 52,
                    "comparators": [
                      {
                        "ast_class": "Constant",
                        "col_offset": 71,
                        "end_col_offset": 72,
                        "end_lineno": 18,
                        "lineno": 18,
                        "value": 0
                      }
                    ],
                    "end_col_offset": 72,
                    "end_lineno": 18,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 52,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 67,
                      "end_lineno": 18,
                      "id": "nbpac_invalideG",
                      "lineno": 18
                    },
                    "lineno": 18,
                    "ops": [
                      {
                        "ast_class": "NotEq"
                      }
                    ]
                  }
                },
                "lineno": 18,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 77,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 96,
                      "end_col_offset": 97,
                      "end_lineno": 18,
                      "lineno": 18,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 97,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 77,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 92,
                    "end_lineno": 18,
                    "id": "nbpac_invalideR",
                    "lineno": 18
                  },
                  "lineno": 18,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 18,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 102,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 121,
                    "end_col_offset": 122,
                    "end_lineno": 18,
                    "lineno": 18,
                    "value": 0
                  }
                ],
                "end_col_offset": 122,
                "end_lineno": 18,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 102,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 117,
                  "end_lineno": 18,
                  "id": "nbpac_invalideI",
                  "lineno": 18
                },
                "lineno": 18,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 21,
            "lineno": 21,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 21,
                "id": "max0",
                "lineno": 21
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 21,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 21,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 21,
                    "lineno": 21,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 21,
                      "id": "P",
                      "lineno": 21
                    }
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 21,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 21,
                      "id": "maries_ou_pacses",
                      "lineno": 21
                    },
                    "lineno": 21,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 21,
                      "lineno": 21,
                      "value": 1
                    }
                  }
                },
                "lineno": 21,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 21,
                    "lineno": 21,
                    "value": 1
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 21,
                    "id": "invalide",
                    "lineno": 21
                  }
                }
              },
              "lineno": 21,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 21,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 21,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 21
                },
                "lineno": 21,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 21,
                  "lineno": 21,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 21,
                    "id": "P",
                    "lineno": 21
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 22,
            "lineno": 22,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 22,
                "id": "max1",
                "lineno": 22
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 22,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 22,
                    "id": "max0",
                    "lineno": 22
                  },
                  "lineno": 22,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 22,
                    "id": "f7vx",
                    "lineno": 22
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 22,
                  "lineno": 22,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 22,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 22,
                "id": "max_",
                "lineno": 22
              },
              "keywords": [],
              "lineno": 22
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 23,
            "lineno": 23,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 23,
                "id": "max2",
                "lineno": 23
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 23,
                    "id": "max1",
                    "lineno": 23
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 23,
                    "id": "f7vz",
                    "lineno": 23
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 23,
                  "lineno": 23,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 23,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 23,
                "id": "max_",
                "lineno": 23
              },
              "keywords": [],
              "lineno": 23
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 29,
            "lineno": 25,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 28,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 27,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 34,
                  "end_lineno": 26,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux1",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 15,
                    "end_lineno": 26,
                    "lineno": 26,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 9,
                      "end_lineno": 26,
                      "id": "P",
                      "lineno": 26
                    }
                  },
                  "lineno": 26,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 23,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 27,
                        "end_lineno": 26,
                        "id": "f7vx",
                        "lineno": 26
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 29,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 33,
                        "end_lineno": 26,
                        "id": "max0",
                        "lineno": 26
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 18,
                    "end_col_offset": 34,
                    "end_lineno": 26,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 18,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 22,
                      "end_lineno": 26,
                      "id": "min_",
                      "lineno": 26
                    },
                    "keywords": [],
                    "lineno": 26
                  }
                },
                "lineno": 26,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 27,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux4",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 27,
                    "lineno": 27,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 27,
                      "id": "P",
                      "lineno": 27
                    }
                  },
                  "lineno": 27,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 27,
                        "id": "f7vz",
                        "lineno": 27
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 27,
                        "id": "max1",
                        "lineno": 27
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 27,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 27,
                      "id": "min_",
                      "lineno": 27
                    },
                    "keywords": [],
                    "lineno": 27
                  }
                }
              },
              "lineno": 26,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 28,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux6",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 28,
                  "lineno": 28,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 28,
                    "id": "P",
                    "lineno": 28
                  }
                },
                "lineno": 28,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 28,
                      "id": "f7vt",
                      "lineno": 28
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 28,
                      "id": "max2",
                      "lineno": 28
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 28,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 28,
                    "id": "min_",
                    "lineno": 28
                  },
                  "keywords": [],
                  "lineno": 28
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 29,
        "lineno": 1,
        "name": "formula_2016_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n2016\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux4",
        "impot_revenu.calcul_credits_impots.inthab.taux6"
      ],
      "source_code": "def formula_2016_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale (cases 7VW, 7VX, 7VY et 7VZ)\n    2016\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    nbpac_invalideI = foyer_fiscal('nbI', period)\n    f7vt = foyer_fiscal('f7vt', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    f7vz = foyer_fiscal('f7vz', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0) | (nbpac_invalideI != 0)\n    # NB : max0 = plafond initial du montant d'intérêts retenus pour calculer le crédit\n    #      max1..max4 = plafonds après imputations successives (dans l'ordre décrit dans la législation) des intérêts éligibles au crédit d'impôt\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vz, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux4 * min_(f7vz, max1)\n        + P.taux6 * min_(f7vt, max2)\n        )\n",
      "start_line_number": 1208,
      "stop_line_number": 1237,
      "variables": [
        "caseF",
        "caseP",
        "f7vt",
        "f7vx",
        "f7vz",
        "maries_ou_pacses",
        "nbG",
        "nbI",
        "nbR",
        "nb_pac2"
      ]
    },
    "2017-01-01": {
      "ast": {
        "args": {
          "args": [
            {
              "arg": "foyer_fiscal",
              "ast_class": "arg",
              "col_offset": 23,
              "end_col_offset": 35,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "period",
              "ast_class": "arg",
              "col_offset": 37,
              "end_col_offset": 43,
              "end_lineno": 1,
              "lineno": 1
            },
            {
              "arg": "parameters",
              "ast_class": "arg",
              "col_offset": 45,
              "end_col_offset": 55,
              "end_lineno": 1,
              "lineno": 1
            }
          ],
          "ast_class": "arguments",
          "defaults": [],
          "kw_defaults": [],
          "kwonlyargs": [],
          "posonlyargs": []
        },
        "ast_class": "FunctionDef",
        "body": [
          {
            "ast_class": "Expr",
            "col_offset": 4,
            "end_col_offset": 7,
            "end_lineno": 5,
            "lineno": 2,
            "value": {
              "ast_class": "Constant",
              "col_offset": 4,
              "end_col_offset": 7,
              "end_lineno": 5,
              "lineno": 2,
              "value": "\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale\n    2017\n    "
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 6,
            "lineno": 6,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 20,
                "end_lineno": 6,
                "id": "maries_ou_pacses",
                "lineno": 6
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 36,
                  "end_col_offset": 54,
                  "end_lineno": 6,
                  "lineno": 6,
                  "value": "maries_ou_pacses"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 6,
                  "id": "period",
                  "lineno": 6
                }
              ],
              "ast_class": "Call",
              "col_offset": 23,
              "end_col_offset": 63,
              "end_lineno": 6,
              "func": {
                "ast_class": "Name",
                "col_offset": 23,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 35,
                "end_lineno": 6,
                "id": "foyer_fiscal",
                "lineno": 6
              },
              "keywords": [],
              "lineno": 6
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 63,
            "end_lineno": 7,
            "lineno": 7,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 29,
                "end_lineno": 7,
                "id": "nb_pac_majoration_plafond",
                "lineno": 7
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 45,
                  "end_col_offset": 54,
                  "end_lineno": 7,
                  "lineno": 7,
                  "value": "nb_pac2"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 56,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 62,
                  "end_lineno": 7,
                  "id": "period",
                  "lineno": 7
                }
              ],
              "ast_class": "Call",
              "col_offset": 32,
              "end_col_offset": 63,
              "end_lineno": 7,
              "func": {
                "ast_class": "Name",
                "col_offset": 32,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 44,
                "end_lineno": 7,
                "id": "foyer_fiscal",
                "lineno": 7
              },
              "keywords": [],
              "lineno": 7
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 8,
            "lineno": 8,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 8,
                "id": "invalidite_decl",
                "lineno": 8
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 8,
                  "lineno": 8,
                  "value": "caseP"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 8,
                  "id": "period",
                  "lineno": 8
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 8,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 8,
                "id": "foyer_fiscal",
                "lineno": 8
              },
              "keywords": [],
              "lineno": 8
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 51,
            "end_lineno": 9,
            "lineno": 9,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 9,
                "id": "invalidite_conj",
                "lineno": 9
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 42,
                  "end_lineno": 9,
                  "lineno": 9,
                  "value": "caseF"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 44,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 50,
                  "end_lineno": 9,
                  "id": "period",
                  "lineno": 9
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 51,
              "end_lineno": 9,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 9,
                "id": "foyer_fiscal",
                "lineno": 9
              },
              "keywords": [],
              "lineno": 9
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 10,
            "lineno": 10,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 10,
                "id": "nbpac_invalideG",
                "lineno": 10
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 10,
                  "lineno": 10,
                  "value": "nbG"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 10,
                  "id": "period",
                  "lineno": 10
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 10,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 10,
                "id": "foyer_fiscal",
                "lineno": 10
              },
              "keywords": [],
              "lineno": 10
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 11,
            "lineno": 11,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 11,
                "id": "nbpac_invalideR",
                "lineno": 11
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 11,
                  "lineno": 11,
                  "value": "nbR"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 11,
                  "id": "period",
                  "lineno": 11
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 11,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 11,
                "id": "foyer_fiscal",
                "lineno": 11
              },
              "keywords": [],
              "lineno": 11
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 49,
            "end_lineno": 12,
            "lineno": 12,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 19,
                "end_lineno": 12,
                "id": "nbpac_invalideI",
                "lineno": 12
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 35,
                  "end_col_offset": 40,
                  "end_lineno": 12,
                  "lineno": 12,
                  "value": "nbI"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 42,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 48,
                  "end_lineno": 12,
                  "id": "period",
                  "lineno": 12
                }
              ],
              "ast_class": "Call",
              "col_offset": 22,
              "end_col_offset": 49,
              "end_lineno": 12,
              "func": {
                "ast_class": "Name",
                "col_offset": 22,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 34,
                "end_lineno": 12,
                "id": "foyer_fiscal",
                "lineno": 12
              },
              "keywords": [],
              "lineno": 12
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 13,
            "lineno": 13,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 13,
                "id": "f7vt",
                "lineno": 13
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 13,
                  "lineno": 13,
                  "value": "f7vt"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 13,
                  "id": "period",
                  "lineno": 13
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 13,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 13,
                "id": "foyer_fiscal",
                "lineno": 13
              },
              "keywords": [],
              "lineno": 13
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 14,
            "lineno": 14,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 14,
                "id": "f7vv",
                "lineno": 14
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 14,
                  "lineno": 14,
                  "value": "f7vv"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 14,
                  "id": "period",
                  "lineno": 14
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 14,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 14,
                "id": "foyer_fiscal",
                "lineno": 14
              },
              "keywords": [],
              "lineno": 14
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 39,
            "end_lineno": 15,
            "lineno": 15,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 15,
                "id": "f7vx",
                "lineno": 15
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "Constant",
                  "col_offset": 24,
                  "end_col_offset": 30,
                  "end_lineno": 15,
                  "lineno": 15,
                  "value": "f7vx"
                },
                {
                  "ast_class": "Name",
                  "col_offset": 32,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 38,
                  "end_lineno": 15,
                  "id": "period",
                  "lineno": 15
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 39,
              "end_lineno": 15,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 23,
                "end_lineno": 15,
                "id": "foyer_fiscal",
                "lineno": 15
              },
              "keywords": [],
              "lineno": 15
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 68,
            "end_lineno": 16,
            "lineno": 16,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 5,
                "end_lineno": 16,
                "id": "P",
                "lineno": 16
              }
            ],
            "value": {
              "ast_class": "Attribute",
              "attr": "inthab",
              "col_offset": 8,
              "ctx": {
                "ast_class": "Load"
              },
              "end_col_offset": 68,
              "end_lineno": 16,
              "lineno": 16,
              "value": {
                "ast_class": "Attribute",
                "attr": "calcul_credits_impots",
                "col_offset": 8,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 61,
                "end_lineno": 16,
                "lineno": 16,
                "value": {
                  "ast_class": "Attribute",
                  "attr": "impot_revenu",
                  "col_offset": 8,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 39,
                  "end_lineno": 16,
                  "lineno": 16,
                  "value": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 19,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 25,
                        "end_lineno": 16,
                        "id": "period",
                        "lineno": 16
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 8,
                    "end_col_offset": 26,
                    "end_lineno": 16,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 18,
                      "end_lineno": 16,
                      "id": "parameters",
                      "lineno": 16
                    },
                    "keywords": [],
                    "lineno": 16
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 123,
            "end_lineno": 18,
            "lineno": 18,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 12,
                "end_lineno": 18,
                "id": "invalide",
                "lineno": 18
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 15,
              "end_col_offset": 123,
              "end_lineno": 18,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 15,
                "end_col_offset": 98,
                "end_lineno": 18,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 15,
                  "end_col_offset": 73,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "BinOp",
                    "col_offset": 15,
                    "end_col_offset": 48,
                    "end_lineno": 18,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 15,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 30,
                      "end_lineno": 18,
                      "id": "invalidite_decl",
                      "lineno": 18
                    },
                    "lineno": 18,
                    "op": {
                      "ast_class": "BitOr"
                    },
                    "right": {
                      "ast_class": "Name",
                      "col_offset": 33,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 48,
                      "end_lineno": 18,
                      "id": "invalidite_conj",
                      "lineno": 18
                    }
                  },
                  "lineno": 18,
                  "op": {
                    "ast_class": "BitOr"
                  },
                  "right": {
                    "ast_class": "Compare",
                    "col_offset": 52,
                    "comparators": [
                      {
                        "ast_class": "Constant",
                        "col_offset": 71,
                        "end_col_offset": 72,
                        "end_lineno": 18,
                        "lineno": 18,
                        "value": 0
                      }
                    ],
                    "end_col_offset": 72,
                    "end_lineno": 18,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 52,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 67,
                      "end_lineno": 18,
                      "id": "nbpac_invalideG",
                      "lineno": 18
                    },
                    "lineno": 18,
                    "ops": [
                      {
                        "ast_class": "NotEq"
                      }
                    ]
                  }
                },
                "lineno": 18,
                "op": {
                  "ast_class": "BitOr"
                },
                "right": {
                  "ast_class": "Compare",
                  "col_offset": 77,
                  "comparators": [
                    {
                      "ast_class": "Constant",
                      "col_offset": 96,
                      "end_col_offset": 97,
                      "end_lineno": 18,
                      "lineno": 18,
                      "value": 0
                    }
                  ],
                  "end_col_offset": 97,
                  "end_lineno": 18,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 77,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 92,
                    "end_lineno": 18,
                    "id": "nbpac_invalideR",
                    "lineno": 18
                  },
                  "lineno": 18,
                  "ops": [
                    {
                      "ast_class": "NotEq"
                    }
                  ]
                }
              },
              "lineno": 18,
              "op": {
                "ast_class": "BitOr"
              },
              "right": {
                "ast_class": "Compare",
                "col_offset": 102,
                "comparators": [
                  {
                    "ast_class": "Constant",
                    "col_offset": 121,
                    "end_col_offset": 122,
                    "end_lineno": 18,
                    "lineno": 18,
                    "value": 0
                  }
                ],
                "end_col_offset": 122,
                "end_lineno": 18,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 102,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 117,
                  "end_lineno": 18,
                  "id": "nbpac_invalideI",
                  "lineno": 18
                },
                "lineno": 18,
                "ops": [
                  {
                    "ast_class": "NotEq"
                  }
                ]
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 94,
            "end_lineno": 21,
            "lineno": 21,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 21,
                "id": "max0",
                "lineno": 21
              }
            ],
            "value": {
              "ast_class": "BinOp",
              "col_offset": 11,
              "end_col_offset": 94,
              "end_lineno": 21,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 11,
                "end_col_offset": 58,
                "end_lineno": 21,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 11,
                  "end_col_offset": 41,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "max",
                    "col_offset": 11,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 16,
                    "end_lineno": 21,
                    "lineno": 21,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 11,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 12,
                      "end_lineno": 21,
                      "id": "P",
                      "lineno": 21
                    }
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "ast_class": "BinOp",
                    "col_offset": 20,
                    "end_col_offset": 40,
                    "end_lineno": 21,
                    "left": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 36,
                      "end_lineno": 21,
                      "id": "maries_ou_pacses",
                      "lineno": 21
                    },
                    "lineno": 21,
                    "op": {
                      "ast_class": "Add"
                    },
                    "right": {
                      "ast_class": "Constant",
                      "col_offset": 39,
                      "end_col_offset": 40,
                      "end_lineno": 21,
                      "lineno": 21,
                      "value": 1
                    }
                  }
                },
                "lineno": 21,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 45,
                  "end_col_offset": 57,
                  "end_lineno": 21,
                  "left": {
                    "ast_class": "Constant",
                    "col_offset": 45,
                    "end_col_offset": 46,
                    "end_lineno": 21,
                    "lineno": 21,
                    "value": 1
                  },
                  "lineno": 21,
                  "op": {
                    "ast_class": "Add"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 49,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 57,
                    "end_lineno": 21,
                    "id": "invalide",
                    "lineno": 21
                  }
                }
              },
              "lineno": 21,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 61,
                "end_col_offset": 94,
                "end_lineno": 21,
                "left": {
                  "ast_class": "Name",
                  "col_offset": 61,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 86,
                  "end_lineno": 21,
                  "id": "nb_pac_majoration_plafond",
                  "lineno": 21
                },
                "lineno": 21,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "ast_class": "Attribute",
                  "attr": "add",
                  "col_offset": 89,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 94,
                  "end_lineno": 21,
                  "lineno": 21,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 89,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 90,
                    "end_lineno": 21,
                    "id": "P",
                    "lineno": 21
                  }
                }
              }
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 22,
            "lineno": 22,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 22,
                "id": "max1",
                "lineno": 22
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 22,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 22,
                    "id": "max0",
                    "lineno": 22
                  },
                  "lineno": 22,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 22,
                    "id": "f7vx",
                    "lineno": 22
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 22,
                  "lineno": 22,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 22,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 22,
                "id": "max_",
                "lineno": 22
              },
              "keywords": [],
              "lineno": 22
            }
          },
          {
            "ast_class": "Assign",
            "col_offset": 4,
            "end_col_offset": 31,
            "end_lineno": 23,
            "lineno": 23,
            "targets": [
              {
                "ast_class": "Name",
                "col_offset": 4,
                "ctx": {
                  "ast_class": "Store"
                },
                "end_col_offset": 8,
                "end_lineno": 23,
                "id": "max2",
                "lineno": 23
              }
            ],
            "value": {
              "args": [
                {
                  "ast_class": "BinOp",
                  "col_offset": 16,
                  "end_col_offset": 27,
                  "end_lineno": 23,
                  "left": {
                    "ast_class": "Name",
                    "col_offset": 16,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 20,
                    "end_lineno": 23,
                    "id": "max1",
                    "lineno": 23
                  },
                  "lineno": 23,
                  "op": {
                    "ast_class": "Sub"
                  },
                  "right": {
                    "ast_class": "Name",
                    "col_offset": 23,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 27,
                    "end_lineno": 23,
                    "id": "f7vv",
                    "lineno": 23
                  }
                },
                {
                  "ast_class": "Constant",
                  "col_offset": 29,
                  "end_col_offset": 30,
                  "end_lineno": 23,
                  "lineno": 23,
                  "value": 0
                }
              ],
              "ast_class": "Call",
              "col_offset": 11,
              "end_col_offset": 31,
              "end_lineno": 23,
              "func": {
                "ast_class": "Name",
                "col_offset": 11,
                "ctx": {
                  "ast_class": "Load"
                },
                "end_col_offset": 15,
                "end_lineno": 23,
                "id": "max_",
                "lineno": 23
              },
              "keywords": [],
              "lineno": 23
            }
          },
          {
            "ast_class": "Return",
            "col_offset": 4,
            "end_col_offset": 9,
            "end_lineno": 29,
            "lineno": 25,
            "value": {
              "ast_class": "BinOp",
              "col_offset": 8,
              "end_col_offset": 36,
              "end_lineno": 28,
              "left": {
                "ast_class": "BinOp",
                "col_offset": 8,
                "end_col_offset": 36,
                "end_lineno": 27,
                "left": {
                  "ast_class": "BinOp",
                  "col_offset": 8,
                  "end_col_offset": 34,
                  "end_lineno": 26,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux1",
                    "col_offset": 8,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 15,
                    "end_lineno": 26,
                    "lineno": 26,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 8,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 9,
                      "end_lineno": 26,
                      "id": "P",
                      "lineno": 26
                    }
                  },
                  "lineno": 26,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 23,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 27,
                        "end_lineno": 26,
                        "id": "f7vx",
                        "lineno": 26
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 29,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 33,
                        "end_lineno": 26,
                        "id": "max0",
                        "lineno": 26
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 18,
                    "end_col_offset": 34,
                    "end_lineno": 26,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 18,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 22,
                      "end_lineno": 26,
                      "id": "min_",
                      "lineno": 26
                    },
                    "keywords": [],
                    "lineno": 26
                  }
                },
                "lineno": 26,
                "op": {
                  "ast_class": "Add"
                },
                "right": {
                  "ast_class": "BinOp",
                  "col_offset": 10,
                  "end_col_offset": 36,
                  "end_lineno": 27,
                  "left": {
                    "ast_class": "Attribute",
                    "attr": "taux5",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 17,
                    "end_lineno": 27,
                    "lineno": 27,
                    "value": {
                      "ast_class": "Name",
                      "col_offset": 10,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 11,
                      "end_lineno": 27,
                      "id": "P",
                      "lineno": 27
                    }
                  },
                  "lineno": 27,
                  "op": {
                    "ast_class": "Mult"
                  },
                  "right": {
                    "args": [
                      {
                        "ast_class": "Name",
                        "col_offset": 25,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 29,
                        "end_lineno": 27,
                        "id": "f7vv",
                        "lineno": 27
                      },
                      {
                        "ast_class": "Name",
                        "col_offset": 31,
                        "ctx": {
                          "ast_class": "Load"
                        },
                        "end_col_offset": 35,
                        "end_lineno": 27,
                        "id": "max1",
                        "lineno": 27
                      }
                    ],
                    "ast_class": "Call",
                    "col_offset": 20,
                    "end_col_offset": 36,
                    "end_lineno": 27,
                    "func": {
                      "ast_class": "Name",
                      "col_offset": 20,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 24,
                      "end_lineno": 27,
                      "id": "min_",
                      "lineno": 27
                    },
                    "keywords": [],
                    "lineno": 27
                  }
                }
              },
              "lineno": 26,
              "op": {
                "ast_class": "Add"
              },
              "right": {
                "ast_class": "BinOp",
                "col_offset": 10,
                "end_col_offset": 36,
                "end_lineno": 28,
                "left": {
                  "ast_class": "Attribute",
                  "attr": "taux6",
                  "col_offset": 10,
                  "ctx": {
                    "ast_class": "Load"
                  },
                  "end_col_offset": 17,
                  "end_lineno": 28,
                  "lineno": 28,
                  "value": {
                    "ast_class": "Name",
                    "col_offset": 10,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 11,
                    "end_lineno": 28,
                    "id": "P",
                    "lineno": 28
                  }
                },
                "lineno": 28,
                "op": {
                  "ast_class": "Mult"
                },
                "right": {
                  "args": [
                    {
                      "ast_class": "Name",
                      "col_offset": 25,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 29,
                      "end_lineno": 28,
                      "id": "f7vt",
                      "lineno": 28
                    },
                    {
                      "ast_class": "Name",
                      "col_offset": 31,
                      "ctx": {
                        "ast_class": "Load"
                      },
                      "end_col_offset": 35,
                      "end_lineno": 28,
                      "id": "max2",
                      "lineno": 28
                    }
                  ],
                  "ast_class": "Call",
                  "col_offset": 20,
                  "end_col_offset": 36,
                  "end_lineno": 28,
                  "func": {
                    "ast_class": "Name",
                    "col_offset": 20,
                    "ctx": {
                      "ast_class": "Load"
                    },
                    "end_col_offset": 24,
                    "end_lineno": 28,
                    "id": "min_",
                    "lineno": 28
                  },
                  "keywords": [],
                  "lineno": 28
                }
              }
            }
          }
        ],
        "col_offset": 0,
        "decorator_list": [],
        "end_col_offset": 9,
        "end_lineno": 29,
        "lineno": 1,
        "name": "formula_2017_01_01"
      },
      "documentation": "\nCrédit d’impôt intérêts des emprunts pour l’habitation principale\n2017\n",
      "file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/credits_impot.py",
      "parameters": [
        "impot_revenu.calcul_credits_impots.inthab.add",
        "impot_revenu.calcul_credits_impots.inthab.max",
        "impot_revenu.calcul_credits_impots.inthab.taux1",
        "impot_revenu.calcul_credits_impots.inthab.taux5",
        "impot_revenu.calcul_credits_impots.inthab.taux6"
      ],
      "source_code": "def formula_2017_01_01(foyer_fiscal, period, parameters):\n    '''\n    Crédit d’impôt intérêts des emprunts pour l’habitation principale\n    2017\n    '''\n    maries_ou_pacses = foyer_fiscal('maries_ou_pacses', period)\n    nb_pac_majoration_plafond = foyer_fiscal('nb_pac2', period)\n    invalidite_decl = foyer_fiscal('caseP', period)\n    invalidite_conj = foyer_fiscal('caseF', period)\n    nbpac_invalideG = foyer_fiscal('nbG', period)\n    nbpac_invalideR = foyer_fiscal('nbR', period)\n    nbpac_invalideI = foyer_fiscal('nbI', period)\n    f7vt = foyer_fiscal('f7vt', period)\n    f7vv = foyer_fiscal('f7vv', period)\n    f7vx = foyer_fiscal('f7vx', period)\n    P = parameters(period).impot_revenu.calcul_credits_impots.inthab\n\n    invalide = invalidite_decl | invalidite_conj | (nbpac_invalideG != 0) | (nbpac_invalideR != 0) | (nbpac_invalideI != 0)\n    # NB : max0 = plafond initial du montant d'intérêts retenus pour calculer le crédit\n    #      max1..max4 = plafonds après imputations successives (dans l'ordre décrit dans la législation) des intérêts éligibles au crédit d'impôt\n    max0 = P.max * (maries_ou_pacses + 1) * (1 + invalide) + nb_pac_majoration_plafond * P.add\n    max1 = max_(max0 - f7vx, 0)\n    max2 = max_(max1 - f7vv, 0)\n\n    return (\n        P.taux1 * min_(f7vx, max0)\n        + P.taux5 * min_(f7vv, max1)\n        + P.taux6 * min_(f7vt, max2)\n        )\n",
      "start_line_number": 1238,
      "stop_line_number": 1267,
      "variables": [
        "caseF",
        "caseP",
        "f7vt",
        "f7vv",
        "f7vx",
        "maries_ou_pacses",
        "nbG",
        "nbI",
        "nbR",
        "nb_pac2"
      ]
    }
  },
  "json_type": "number",
  "label": "Crédit d’impôt intérêts des emprunts pour l’habitation principale",
  "last_review": "2017-01-01",
  "name": "inthab",
  "reference": {
    "0001-01-01": [
      {
        "href": "http://bofip.impots.gouv.fr/bofip/3863-PGP.html?identifiant=BOI-IR-RICI-350-20120912"
      }
    ]
  },
  "referring_variables": [
    "credits_impot"
  ],
  "start_line_number": 953,
  "stop_line_number": 1267,
  "value_type": "float"
}
