"""ISO 3166-2 FR standard representation.

References:
  - https://en.wikipedia.org/wiki/ISO_3166-2
  - https://www.iso.org/obp/ui/#iso:code:3166:FR
"""

from iso_standards.base import EntityCollection
from iso_standards.iso3166.types import Iso3166_2 as Entity


class Iso3166_2(EntityCollection):
    __slots__ = ()

    entities = {
        "FR-01": (Entity("Ain", "FR-01", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-02": (Entity("Aisne", "FR-02", "METROPOLITAN DEPARTMENT", "fr", "FR-HDF"),),
        "FR-03": (Entity("Allier", "FR-03", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-04": (
            Entity("Alpes-de-Haute-Provence", "FR-04", "METROPOLITAN DEPARTMENT", "fr", "FR-PAC"),
        ),
        "FR-05": (Entity("Hautes-Alpes", "FR-05", "METROPOLITAN DEPARTMENT", "fr", "FR-PAC"),),
        "FR-06": (Entity("Alpes-Maritimes", "FR-06", "METROPOLITAN DEPARTMENT", "fr", "FR-PAC"),),
        "FR-07": (Entity("Ardèche", "FR-07", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-08": (Entity("Ardennes", "FR-08", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),),
        "FR-09": (Entity("Ariège", "FR-09", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-10": (Entity("Aube", "FR-10", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),),
        "FR-11": (Entity("Aude", "FR-11", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-12": (Entity("Aveyron", "FR-12", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-13": (Entity("Bouches-du-Rhône", "FR-13", "METROPOLITAN DEPARTMENT", "fr", "FR-PAC"),),
        "FR-14": (Entity("Calvados", "FR-14", "METROPOLITAN DEPARTMENT", "fr", "FR-NOR"),),
        "FR-15": (Entity("Cantal", "FR-15", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-16": (Entity("Charente", "FR-16", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-17": (Entity("Charente-Maritime", "FR-17", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-18": (Entity("Cher", "FR-18", "METROPOLITAN DEPARTMENT", "fr", "FR-CVL"),),
        "FR-19": (Entity("Corrèze", "FR-19", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-20R": (
            Entity("Corse", "FR-20R", "METROPOLITAN COLLECTIVITY WITH SPECIAL STATUS", "fr", ""),
        ),
        "FR-21": (Entity("Côte-d'Or", "FR-21", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),),
        "FR-22": (Entity("Côtes-d'Armor", "FR-22", "METROPOLITAN DEPARTMENT", "fr", "FR-BRE"),),
        "FR-23": (Entity("Creuse", "FR-23", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-24": (Entity("Dordogne", "FR-24", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-25": (Entity("Doubs", "FR-25", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),),
        "FR-26": (Entity("Drôme", "FR-26", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-27": (Entity("Eure", "FR-27", "METROPOLITAN DEPARTMENT", "fr", "FR-NOR"),),
        "FR-28": (Entity("Eure-et-Loir", "FR-28", "METROPOLITAN DEPARTMENT", "fr", "FR-CVL"),),
        "FR-29": (Entity("Finistère", "FR-29", "METROPOLITAN DEPARTMENT", "fr", "FR-BRE"),),
        "FR-2A": (Entity("Corse-du-Sud", "FR-2A", "METROPOLITAN DEPARTMENT", "fr", "FR-20R"),),
        "FR-2B": (Entity("Haute-Corse", "FR-2B", "METROPOLITAN DEPARTMENT", "fr", "FR-20R"),),
        "FR-30": (Entity("Gard", "FR-30", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-31": (Entity("Haute-Garonne", "FR-31", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-32": (Entity("Gers", "FR-32", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-33": (Entity("Gironde", "FR-33", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-34": (Entity("Hérault", "FR-34", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-35": (Entity("Ille-et-Vilaine", "FR-35", "METROPOLITAN DEPARTMENT", "fr", "FR-BRE"),),
        "FR-36": (Entity("Indre", "FR-36", "METROPOLITAN DEPARTMENT", "fr", "FR-CVL"),),
        "FR-37": (Entity("Indre-et-Loire", "FR-37", "METROPOLITAN DEPARTMENT", "fr", "FR-CVL"),),
        "FR-38": (Entity("Isère", "FR-38", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-39": (Entity("Jura", "FR-39", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),),
        "FR-40": (Entity("Landes", "FR-40", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-41": (Entity("Loir-et-Cher", "FR-41", "METROPOLITAN DEPARTMENT", "fr", "FR-CVL"),),
        "FR-42": (Entity("Loire", "FR-42", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-43": (Entity("Haute-Loire", "FR-43", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-44": (Entity("Loire-Atlantique", "FR-44", "METROPOLITAN DEPARTMENT", "fr", "FR-PDL"),),
        "FR-45": (Entity("Loiret", "FR-45", "METROPOLITAN DEPARTMENT", "fr", "FR-CVL"),),
        "FR-46": (Entity("Lot", "FR-46", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-47": (Entity("Lot-et-Garonne", "FR-47", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-48": (Entity("Lozère", "FR-48", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-49": (Entity("Maine-et-Loire", "FR-49", "METROPOLITAN DEPARTMENT", "fr", "FR-PDL"),),
        "FR-50": (Entity("Manche", "FR-50", "METROPOLITAN DEPARTMENT", "fr", "FR-NOR"),),
        "FR-51": (Entity("Marne", "FR-51", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),),
        "FR-52": (Entity("Haute-Marne", "FR-52", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),),
        "FR-53": (Entity("Mayenne", "FR-53", "METROPOLITAN DEPARTMENT", "fr", "FR-PDL"),),
        "FR-54": (
            Entity("Meurthe-et-Moselle", "FR-54", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),
        ),
        "FR-55": (Entity("Meuse", "FR-55", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),),
        "FR-56": (Entity("Morbihan", "FR-56", "METROPOLITAN DEPARTMENT", "fr", "FR-BRE"),),
        "FR-57": (Entity("Moselle", "FR-57", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),),
        "FR-58": (Entity("Nièvre", "FR-58", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),),
        "FR-59": (Entity("Nord", "FR-59", "METROPOLITAN DEPARTMENT", "fr", "FR-HDF"),),
        "FR-60": (Entity("Oise", "FR-60", "METROPOLITAN DEPARTMENT", "fr", "FR-HDF"),),
        "FR-61": (Entity("Orne", "FR-61", "METROPOLITAN DEPARTMENT", "fr", "FR-NOR"),),
        "FR-62": (Entity("Pas-de-Calais", "FR-62", "METROPOLITAN DEPARTMENT", "fr", "FR-HDF"),),
        "FR-63": (Entity("Puy-de-Dôme", "FR-63", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-64": (
            Entity("Pyrénées-Atlantiques", "FR-64", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),
        ),
        "FR-65": (Entity("Hautes-Pyrénées", "FR-65", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-66": (
            Entity("Pyrénées-Orientales", "FR-66", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),
        ),
        "FR-67": (Entity("Bas-Rhin", "FR-67", "METROPOLITAN DEPARTMENT", "fr", "FR-6AE"),),
        "FR-68": (Entity("Haut-Rhin", "FR-68", "METROPOLITAN DEPARTMENT", "fr", "FR-6AE"),),
        "FR-69": (Entity("Rhône", "FR-69", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-69M": (
            Entity(
                "Métropole de Lyon",
                "FR-69M",
                "METROPOLITAN COLLECTIVITY WITH SPECIAL STATUS",
                "fr",
                "FR-ARA",
            ),
        ),
        "FR-6AE": (Entity("Alsace", "FR-6AE", "EUROPEAN COLLECTIVITY", "fr", "FR-GES"),),
        "FR-70": (Entity("Haute-Saône", "FR-70", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),),
        "FR-71": (Entity("Saône-et-Loire", "FR-71", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),),
        "FR-72": (Entity("Sarthe", "FR-72", "METROPOLITAN DEPARTMENT", "fr", "FR-PDL"),),
        "FR-73": (Entity("Savoie", "FR-73", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-74": (Entity("Haute-Savoie", "FR-74", "METROPOLITAN DEPARTMENT", "fr", "FR-ARA"),),
        "FR-75C": (
            Entity(
                "Paris", "FR-75C", "METROPOLITAN COLLECTIVITY WITH SPECIAL STATUS", "fr", "FR-IDF"
            ),
        ),
        "FR-76": (Entity("Seine-Maritime", "FR-76", "METROPOLITAN DEPARTMENT", "fr", "FR-NOR"),),
        "FR-77": (Entity("Seine-et-Marne", "FR-77", "METROPOLITAN DEPARTMENT", "fr", "FR-IDF"),),
        "FR-78": (Entity("Yvelines", "FR-78", "METROPOLITAN DEPARTMENT", "fr", "FR-IDF"),),
        "FR-79": (Entity("Deux-Sèvres", "FR-79", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-80": (Entity("Somme", "FR-80", "METROPOLITAN DEPARTMENT", "fr", "FR-HDF"),),
        "FR-81": (Entity("Tarn", "FR-81", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-82": (Entity("Tarn-et-Garonne", "FR-82", "METROPOLITAN DEPARTMENT", "fr", "FR-OCC"),),
        "FR-83": (Entity("Var", "FR-83", "METROPOLITAN DEPARTMENT", "fr", "FR-PAC"),),
        "FR-84": (Entity("Vaucluse", "FR-84", "METROPOLITAN DEPARTMENT", "fr", "FR-PAC"),),
        "FR-85": (Entity("Vendée", "FR-85", "METROPOLITAN DEPARTMENT", "fr", "FR-PDL"),),
        "FR-86": (Entity("Vienne", "FR-86", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-87": (Entity("Haute-Vienne", "FR-87", "METROPOLITAN DEPARTMENT", "fr", "FR-NAQ"),),
        "FR-88": (Entity("Vosges", "FR-88", "METROPOLITAN DEPARTMENT", "fr", "FR-GES"),),
        "FR-89": (Entity("Yonne", "FR-89", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),),
        "FR-90": (
            Entity("Territoire de Belfort", "FR-90", "METROPOLITAN DEPARTMENT", "fr", "FR-BFC"),
        ),
        "FR-91": (Entity("Essonne", "FR-91", "METROPOLITAN DEPARTMENT", "fr", "FR-IDF"),),
        "FR-92": (Entity("Hauts-de-Seine", "FR-92", "METROPOLITAN DEPARTMENT", "fr", "FR-IDF"),),
        "FR-93": (Entity("Seine-Saint-Denis", "FR-93", "METROPOLITAN DEPARTMENT", "fr", "FR-IDF"),),
        "FR-94": (Entity("Val-de-Marne", "FR-94", "METROPOLITAN DEPARTMENT", "fr", "FR-IDF"),),
        "FR-95": (Entity("Val-d'Oise", "FR-95", "METROPOLITAN DEPARTMENT", "fr", "FR-IDF"),),
        "FR-971": (Entity("Guadeloupe", "FR-971", "OVERSEAS DEPARTMENTAL COLLECTIVITY", "fr", ""),),
        "FR-972": (
            Entity("Martinique", "FR-972", "OVERSEAS UNIQUE TERRITORIAL COLLECTIVITY", "fr", ""),
        ),
        "FR-973": (
            Entity("Guyane", "FR-973", "OVERSEAS UNIQUE TERRITORIAL COLLECTIVITY", "fr", ""),
        ),
        "FR-974": (Entity("La Réunion", "FR-974", "OVERSEAS DEPARTMENTAL COLLECTIVITY", "fr", ""),),
        "FR-976": (Entity("Mayotte", "FR-976", "OVERSEAS DEPARTMENTAL COLLECTIVITY", "fr", ""),),
        "FR-ARA": (Entity("Auvergne-Rhône-Alpes", "FR-ARA", "METROPOLITAN REGION", "fr", ""),),
        "FR-BFC": (Entity("Bourgogne-Franche-Comté", "FR-BFC", "METROPOLITAN REGION", "fr", ""),),
        "FR-BL": (Entity("Saint-Barthélemy", "FR-BL", "OVERSEAS COLLECTIVITY", "fr", ""),),
        "FR-BRE": (Entity("Bretagne", "FR-BRE", "METROPOLITAN REGION", "fr", ""),),
        "FR-CP": (Entity("Clipperton", "FR-CP", "DEPENDENCY", "fr", ""),),
        "FR-CVL": (Entity("Centre-Val de Loire", "FR-CVL", "METROPOLITAN REGION", "fr", ""),),
        "FR-GES": (Entity("Grand-Est", "FR-GES", "METROPOLITAN REGION", "fr", ""),),
        "FR-HDF": (Entity("Hauts-de-France", "FR-HDF", "METROPOLITAN REGION", "fr", ""),),
        "FR-IDF": (Entity("Île-de-France", "FR-IDF", "METROPOLITAN REGION", "fr", ""),),
        "FR-MF": (Entity("Saint-Martin", "FR-MF", "OVERSEAS COLLECTIVITY", "fr", ""),),
        "FR-NAQ": (Entity("Nouvelle-Aquitaine", "FR-NAQ", "METROPOLITAN REGION", "fr", ""),),
        "FR-NC": (
            Entity(
                "Nouvelle-Calédonie", "FR-NC", "OVERSEAS COLLECTIVITY WITH SPECIAL STATUS", "fr", ""
            ),
        ),
        "FR-NOR": (Entity("Normandie", "FR-NOR", "METROPOLITAN REGION", "fr", ""),),
        "FR-OCC": (Entity("Occitanie", "FR-OCC", "METROPOLITAN REGION", "fr", ""),),
        "FR-PAC": (
            Entity("Provence-Alpes-Côte-d’Azur", "FR-PAC", "METROPOLITAN REGION", "fr", ""),
        ),
        "FR-PDL": (Entity("Pays-de-la-Loire", "FR-PDL", "METROPOLITAN REGION", "fr", ""),),
        "FR-PF": (Entity("Polynésie française", "FR-PF", "OVERSEAS COLLECTIVITY", "fr", ""),),
        "FR-PM": (Entity("Saint-Pierre-et-Miquelon", "FR-PM", "OVERSEAS COLLECTIVITY", "fr", ""),),
        "FR-TF": (Entity("Terres australes françaises", "FR-TF", "OVERSEAS TERRITORY", "fr", ""),),
        "FR-WF": (Entity("Wallis-et-Futuna", "FR-WF", "OVERSEAS COLLECTIVITY", "fr", ""),),
    }
