export const GetNazioni = () => {
  return nazioniArray.map((nazione) => {
    return nazione.NOME;
  });
};

type Nazione = {
  NOME: string;
  CATASTO: string;
};

let nazioniMap: Map<string, Nazione> | null = null;

const initializeNazioniMap = () => {
  if (!nazioniMap) {
    nazioniMap = new Map();
    nazioniArray.forEach((nazione) => {
      const cleanedName = nazione.NOME.toUpperCase().replace(/[^A-Z]/g, "");
      nazioniMap!.set(cleanedName, nazione);
    });
  }
};

export const searchNazioneByIndex = (idx: number): Nazione | null => {
  initializeNazioniMap();
  return nazioniArray[idx] || null;
};

const nazioniArray: Nazione[] = [
  {
    CATASTO: "",
    NOME: "ITALIA",
  },
  {
    CATASTO: "Z100",
    NOME: "ALBANIA",
  },
  {
    CATASTO: "Z101",
    NOME: "ANDORRA",
  },
  {
    CATASTO: "Z102",
    NOME: "AUSTRIA",
  },
  {
    CATASTO: "Z103",
    NOME: "BELGIO",
  },
  {
    CATASTO: "Z104",
    NOME: "BULGARIA",
  },
  {
    CATASTO: "Z106",
    NOME: "STATO CITTA' DEL VATICANO",
  },
  {
    CATASTO: "Z107",
    NOME: "DANIMARCA",
  },
  {
    CATASTO: "Z108",
    NOME: "ISOLE FAER OER",
  },
  {
    CATASTO: "Z109",
    NOME: "FINLANDIA",
  },
  {
    CATASTO: "Z110",
    NOME: "FRANCIA",
  },
  {
    CATASTO: "Z112",
    NOME: "GERMANIA",
  },
  {
    CATASTO: "Z113",
    NOME: "GIBILTERRA",
  },
  {
    CATASTO: "Z114",
    NOME: "REGNO UNITO",
  },
  {
    CATASTO: "Z115",
    NOME: "GRECIA",
  },
  {
    CATASTO: "Z116",
    NOME: "IRLANDA",
  },
  {
    CATASTO: "Z117",
    NOME: "ISLANDA",
  },
  {
    CATASTO: "Z119",
    NOME: "LIECHTENSTEIN",
  },
  {
    CATASTO: "Z120",
    NOME: "LUSSEMBURGO",
  },
  {
    CATASTO: "Z121",
    NOME: "MALTA",
  },
  {
    CATASTO: "Z122",
    NOME: "ISOLA DI MAN",
  },
  {
    CATASTO: "Z123",
    NOME: "MONACO",
  },
  {
    CATASTO: "Z124",
    NOME: "NORMANNE (ISOLE) O ISOLE DEL CANALE",
  },
  {
    CATASTO: "Z125",
    NOME: "NORVEGIA",
  },
  {
    CATASTO: "Z126",
    NOME: "PAESI BASSI",
  },
  {
    CATASTO: "Z127",
    NOME: "POLONIA",
  },
  {
    CATASTO: "Z128",
    NOME: "PORTOGALLO",
  },
  {
    CATASTO: "Z129",
    NOME: "ROMANIA",
  },
  {
    CATASTO: "Z130",
    NOME: "SAN MARINO",
  },
  {
    CATASTO: "Z131",
    NOME: "SPAGNA",
  },
  {
    CATASTO: "Z132",
    NOME: "SVEZIA",
  },
  {
    CATASTO: "Z133",
    NOME: "SVIZZERA",
  },
  {
    CATASTO: "Z134",
    NOME: "UNGHERIA",
  },
  {
    CATASTO: "Z138",
    NOME: "UCRAINA",
  },
  {
    CATASTO: "Z139",
    NOME: "BIELORUSSIA",
  },
  {
    CATASTO: "Z140",
    NOME: "MOLDOVA",
  },
  {
    CATASTO: "Z144",
    NOME: "ESTONIA",
  },
  {
    CATASTO: "Z145",
    NOME: "LETTONIA",
  },
  {
    CATASTO: "Z146",
    NOME: "LITUANIA",
  },
  {
    CATASTO: "Z148",
    NOME: "MACEDONIA DEL NORD",
  },
  {
    CATASTO: "Z149",
    NOME: "CROAZIA",
  },
  {
    CATASTO: "Z150",
    NOME: "SLOVENIA",
  },
  {
    CATASTO: "Z153",
    NOME: "BOSNIA-ERZEGOVINA",
  },
  {
    CATASTO: "Z154",
    NOME: "FEDERAZIONE RUSSA",
  },
  {
    CATASTO: "Z155",
    NOME: "SLOVACCHIA",
  },
  {
    CATASTO: "Z156",
    NOME: "REPUBBLICA CECA",
  },
  {
    CATASTO: "Z158",
    NOME: "SERBIA",
  },
  {
    CATASTO: "Z159",
    NOME: "MONTENEGRO",
  },
  {
    CATASTO: "Z160",
    NOME: "KOSOVO",
  },
  {
    CATASTO: "Z161",
    NOME: "TERRITORI DELL'AUTONOMIA PALESTINESE",
  },
  {
    CATASTO: "Z200",
    NOME: "AFGHANISTAN",
  },
  {
    CATASTO: "Z203",
    NOME: "ARABIA SAUDITA",
  },
  {
    CATASTO: "Z204",
    NOME: "BAHREIN",
  },
  {
    CATASTO: "Z205",
    NOME: "BHUTAN",
  },
  {
    CATASTO: "Z206",
    NOME: "MYANMAR",
  },
  {
    CATASTO: "Z207",
    NOME: "BRUNEI",
  },
  {
    CATASTO: "Z208",
    NOME: "CAMBOGIA",
  },
  {
    CATASTO: "Z209",
    NOME: "SRI LANKA",
  },
  {
    CATASTO: "Z210",
    NOME: "REPUBBLICA POPOLARE CINESE",
  },
  {
    CATASTO: "Z211",
    NOME: "CIPRO",
  },
  {
    CATASTO: "Z212",
    NOME: "COCOS (ISOLE)",
  },
  {
    CATASTO: "Z213",
    NOME: "REPUBBLICA DI COREA",
  },
  {
    CATASTO: "Z214",
    NOME: "REPUBBLICA POPOLARE DEMOCRATICA DI COREA",
  },
  {
    CATASTO: "Z215",
    NOME: "EMIRATI ARABI UNITI",
  },
  {
    CATASTO: "Z216",
    NOME: "FILIPPINE",
  },
  {
    CATASTO: "Z217",
    NOME: "TAIWAN",
  },
  {
    CATASTO: "Z218",
    NOME: "GAZA (TERRITORIO DI)",
  },
  {
    CATASTO: "Z219",
    NOME: "GIAPPONE",
  },
  {
    CATASTO: "Z220",
    NOME: "GIORDANIA",
  },
  {
    CATASTO: "Z222",
    NOME: "INDIA",
  },
  {
    CATASTO: "Z223",
    NOME: "INDONESIA",
  },
  {
    CATASTO: "Z224",
    NOME: "IRAN",
  },
  {
    CATASTO: "Z225",
    NOME: "IRAQ",
  },
  {
    CATASTO: "Z226",
    NOME: "ISRAELE",
  },
  {
    CATASTO: "Z227",
    NOME: "KUWAIT",
  },
  {
    CATASTO: "Z228",
    NOME: "LAOS",
  },
  {
    CATASTO: "Z229",
    NOME: "LIBANO",
  },
  {
    CATASTO: "Z231",
    NOME: "MACAO",
  },
  {
    CATASTO: "Z232",
    NOME: "MALDIVE",
  },
  {
    CATASTO: "Z233",
    NOME: "MONGOLIA",
  },
  {
    CATASTO: "Z234",
    NOME: "NEPAL",
  },
  {
    CATASTO: "Z235",
    NOME: "OMAN",
  },
  {
    CATASTO: "Z236",
    NOME: "PAKISTAN",
  },
  {
    CATASTO: "Z237",
    NOME: "QATAR",
  },
  {
    CATASTO: "Z240",
    NOME: "SIRIA",
  },
  {
    CATASTO: "Z241",
    NOME: "THAILANDIA",
  },
  {
    CATASTO: "Z242",
    NOME: "TIMOR ORIENTALE",
  },
  {
    CATASTO: "Z243",
    NOME: "TURCHIA",
  },
  {
    CATASTO: "Z246",
    NOME: "YEMEN",
  },
  {
    CATASTO: "Z247",
    NOME: "MALAYSIA",
  },
  {
    CATASTO: "Z248",
    NOME: "SINGAPORE",
  },
  {
    CATASTO: "Z249",
    NOME: "BANGLADESH",
  },
  {
    CATASTO: "Z251",
    NOME: "VIETNAM",
  },
  {
    CATASTO: "Z252",
    NOME: "ARMENIA",
  },
  {
    CATASTO: "Z253",
    NOME: "AZERBAIGIAN",
  },
  {
    CATASTO: "Z254",
    NOME: "GEORGIA",
  },
  {
    CATASTO: "Z255",
    NOME: "KAZAKHSTAN",
  },
  {
    CATASTO: "Z256",
    NOME: "KIRGHIZISTAN",
  },
  {
    CATASTO: "Z257",
    NOME: "TAGIKISTAN",
  },
  {
    CATASTO: "Z258",
    NOME: "TURKMENISTAN",
  },
  {
    CATASTO: "Z259",
    NOME: "UZBEKISTAN",
  },
  {
    CATASTO: "Z260",
    NOME: "GERUSALEMME",
  },
  {
    CATASTO: "Z300",
    NOME: "NAMIBIA",
  },
  {
    CATASTO: "Z301",
    NOME: "ALGERIA",
  },
  {
    CATASTO: "Z302",
    NOME: "ANGOLA",
  },
  {
    CATASTO: "Z305",
    NOME: "BURUNDI",
  },
  {
    CATASTO: "Z306",
    NOME: "CAMERUN",
  },
  {
    CATASTO: "Z307",
    NOME: "CAPO VERDE",
  },
  {
    CATASTO: "Z308",
    NOME: "REPUBBLICA CENTRAFRICANA",
  },
  {
    CATASTO: "Z309",
    NOME: "CIAD",
  },
  {
    CATASTO: "Z310",
    NOME: "COMORE",
  },
  {
    CATASTO: "Z311",
    NOME: "CONGO",
  },
  {
    CATASTO: "Z312",
    NOME: "REPUBBLICA DEMOCRATICA DEL CONGO",
  },
  {
    CATASTO: "Z313",
    NOME: "COSTA D'AVORIO",
  },
  {
    CATASTO: "Z314",
    NOME: "BENIN",
  },
  {
    CATASTO: "Z315",
    NOME: "ETIOPIA",
  },
  {
    CATASTO: "Z316",
    NOME: "GABON",
  },
  {
    CATASTO: "Z317",
    NOME: "GAMBIA",
  },
  {
    CATASTO: "Z318",
    NOME: "GHANA",
  },
  {
    CATASTO: "Z319",
    NOME: "GUINEA",
  },
  {
    CATASTO: "Z320",
    NOME: "GUINEA BISSAU",
  },
  {
    CATASTO: "Z321",
    NOME: "GUINEA EQUATORIALE",
  },
  {
    CATASTO: "Z322",
    NOME: "KENYA",
  },
  {
    CATASTO: "Z324",
    NOME: "RIUNIONE",
  },
  {
    CATASTO: "Z325",
    NOME: "LIBERIA",
  },
  {
    CATASTO: "Z326",
    NOME: "LIBIA",
  },
  {
    CATASTO: "Z327",
    NOME: "MADAGASCAR",
  },
  {
    CATASTO: "Z328",
    NOME: "MALAWI",
  },
  {
    CATASTO: "Z329",
    NOME: "MALI",
  },
  {
    CATASTO: "Z330",
    NOME: "MAROCCO",
  },
  {
    CATASTO: "Z331",
    NOME: "MAURITANIA",
  },
  {
    CATASTO: "Z332",
    NOME: "MAURITIUS",
  },
  {
    CATASTO: "Z333",
    NOME: "MOZAMBICO",
  },
  {
    CATASTO: "Z334",
    NOME: "NIGER",
  },
  {
    CATASTO: "Z335",
    NOME: "NIGERIA",
  },
  {
    CATASTO: "Z336",
    NOME: "EGITTO",
  },
  {
    CATASTO: "Z337",
    NOME: "ZIMBABWE",
  },
  {
    CATASTO: "Z338",
    NOME: "RUANDA",
  },
  {
    CATASTO: "Z340",
    NOME: "SANT'ELENA",
  },
  {
    CATASTO: "Z341",
    NOME: "SAO TOME' E PRINCIPE",
  },
  {
    CATASTO: "Z342",
    NOME: "SEYCHELLES",
  },
  {
    CATASTO: "Z343",
    NOME: "SENEGAL",
  },
  {
    CATASTO: "Z344",
    NOME: "SIERRA LEONE",
  },
  {
    CATASTO: "Z345",
    NOME: "SOMALIA",
  },
  {
    CATASTO: "Z347",
    NOME: "SUD AFRICA",
  },
  {
    CATASTO: "Z348",
    NOME: "SUDAN",
  },
  {
    CATASTO: "Z349",
    NOME: "ESWATINI",
  },
  {
    CATASTO: "Z351",
    NOME: "TOGO",
  },
  {
    CATASTO: "Z352",
    NOME: "TUNISIA",
  },
  {
    CATASTO: "Z353",
    NOME: "UGANDA",
  },
  {
    CATASTO: "Z354",
    NOME: "BURKINA FASO",
  },
  {
    CATASTO: "Z355",
    NOME: "ZAMBIA",
  },
  {
    CATASTO: "Z357",
    NOME: "TANZANIA",
  },
  {
    CATASTO: "Z358",
    NOME: "BOTSWANA",
  },
  {
    CATASTO: "Z359",
    NOME: "LESOTHO",
  },
  {
    CATASTO: "Z360",
    NOME: "MAYOTTE",
  },
  {
    CATASTO: "Z361",
    NOME: "GIBUTI",
  },
  {
    CATASTO: "Z368",
    NOME: "ERITREA",
  },
  {
    CATASTO: "Z400",
    NOME: "BERMUDA",
  },
  {
    CATASTO: "Z401",
    NOME: "CANADA",
  },
  {
    CATASTO: "Z402",
    NOME: "GROENLANDIA",
  },
  {
    CATASTO: "Z403",
    NOME: "SAINT PIERRE E MIQUELON",
  },
  {
    CATASTO: "Z404",
    NOME: "STATI UNITI D'AMERICA",
  },
  {
    CATASTO: "Z501",
    NOME: "ANTILLE OLANDESI",
  },
  {
    CATASTO: "Z502",
    NOME: "BAHAMAS",
  },
  {
    CATASTO: "Z503",
    NOME: "COSTA RICA",
  },
  {
    CATASTO: "Z504",
    NOME: "CUBA",
  },
  {
    CATASTO: "Z505",
    NOME: "REPUBBLICA DOMINICANA",
  },
  {
    CATASTO: "Z506",
    NOME: "EL SALVADOR",
  },
  {
    CATASTO: "Z507",
    NOME: "GIAMAICA",
  },
  {
    CATASTO: "Z508",
    NOME: "GUADALUPA",
  },
  {
    CATASTO: "Z509",
    NOME: "GUATEMALA",
  },
  {
    CATASTO: "Z510",
    NOME: "HAITI",
  },
  {
    CATASTO: "Z511",
    NOME: "HONDURAS",
  },
  {
    CATASTO: "Z512",
    NOME: "BELIZE",
  },
  {
    CATASTO: "Z513",
    NOME: "MARTINICA",
  },
  {
    CATASTO: "Z514",
    NOME: "MESSICO",
  },
  {
    CATASTO: "Z515",
    NOME: "NICARAGUA",
  },
  {
    CATASTO: "Z516",
    NOME: "PANAMA",
  },
  {
    CATASTO: "Z517",
    NOME: "PANAMA ZONA DEL CANALE",
  },
  {
    CATASTO: "Z518",
    NOME: "PUERTO RICO",
  },
  {
    CATASTO: "Z519",
    NOME: "ISOLE TURKS E CAICOS",
  },
  {
    CATASTO: "Z520",
    NOME: "VERGINI AMERICANE (ISOLE)",
  },
  {
    CATASTO: "Z522",
    NOME: "BARBADOS",
  },
  {
    CATASTO: "Z524",
    NOME: "GRENADA",
  },
  {
    CATASTO: "Z525",
    NOME: "ISOLE VERGINI BRITANNICHE",
  },
  {
    CATASTO: "Z526",
    NOME: "DOMINICA",
  },
  {
    CATASTO: "Z527",
    NOME: "SAINT LUCIA",
  },
  {
    CATASTO: "Z528",
    NOME: "SAINT VINCENT E GRENADINE",
  },
  {
    CATASTO: "Z529",
    NOME: "ANGUILLA",
  },
  {
    CATASTO: "Z530",
    NOME: "ISOLE CAYMAN",
  },
  {
    CATASTO: "Z531",
    NOME: "MONTSERRAT",
  },
  {
    CATASTO: "Z532",
    NOME: "ANTIGUA E BARBUDA",
  },
  {
    CATASTO: "Z533",
    NOME: "SAINT KITTS E NEVIS",
  },
  {
    CATASTO: "Z600",
    NOME: "ARGENTINA",
  },
  {
    CATASTO: "Z601",
    NOME: "BOLIVIA",
  },
  {
    CATASTO: "Z602",
    NOME: "BRASILE",
  },
  {
    CATASTO: "Z603",
    NOME: "CILE",
  },
  {
    CATASTO: "Z604",
    NOME: "COLOMBIA",
  },
  {
    CATASTO: "Z605",
    NOME: "ECUADOR",
  },
  {
    CATASTO: "Z606",
    NOME: "GUYANA",
  },
  {
    CATASTO: "Z607",
    NOME: "GUYANA FRANCESE",
  },
  {
    CATASTO: "Z608",
    NOME: "SURINAME",
  },
  {
    CATASTO: "Z609",
    NOME: "MALVINE O FALKLAND (ISOLE)",
  },
  {
    CATASTO: "Z610",
    NOME: "PARAGUAY",
  },
  {
    CATASTO: "Z611",
    NOME: "PERU'",
  },
  {
    CATASTO: "Z612",
    NOME: "TRINIDAD E TOBAGO",
  },
  {
    CATASTO: "Z613",
    NOME: "URUGUAY",
  },
  {
    CATASTO: "Z614",
    NOME: "VENEZUELA",
  },
  {
    CATASTO: "Z700",
    NOME: "AUSTRALIA",
  },
  {
    CATASTO: "Z702",
    NOME: "CHRISTMAS (ISOLA)",
  },
  {
    CATASTO: "Z703",
    NOME: "ISOLE COOK",
  },
  {
    CATASTO: "Z704",
    NOME: "FIGI",
  },
  {
    CATASTO: "Z706",
    NOME: "GUAM (ISOLA)",
  },
  {
    CATASTO: "Z707",
    NOME: "IRIAN OCCIDENTALE",
  },
  {
    CATASTO: "Z708",
    NOME: "MACQUARIE (ISOLE)",
  },
  {
    CATASTO: "Z710",
    NOME: "MARIANNE (ISOLE)",
  },
  {
    CATASTO: "Z711",
    NOME: "ISOLE MARSHALL",
  },
  {
    CATASTO: "Z712",
    NOME: "MIDWAY (ISOLE)",
  },
  {
    CATASTO: "Z713",
    NOME: "NAURU",
  },
  {
    CATASTO: "Z714",
    NOME: "NIUE",
  },
  {
    CATASTO: "Z715",
    NOME: "NORFOLK (ISOLE E ISOLE DEL MAR DEI CORALLI)",
  },
  {
    CATASTO: "Z716",
    NOME: "NUOVA CALEDONIA",
  },
  {
    CATASTO: "Z719",
    NOME: "NUOVA ZELANDA",
  },
  {
    CATASTO: "Z721",
    NOME: "ISOLE CILENE (PASQUA E SALA Y GOMEZ)",
  },
  {
    CATASTO: "Z722",
    NOME: "ISOLE PITCAIRN",
  },
  {
    CATASTO: "Z723",
    NOME: "POLINESIA FRANCESE (ISOLE)",
  },
  {
    CATASTO: "Z724",
    NOME: "ISOLE SALOMONE",
  },
  {
    CATASTO: "Z725",
    NOME: "SAMOA AMERICANE (ISOLE)",
  },
  {
    CATASTO: "Z726",
    NOME: "SAMOA",
  },
  {
    CATASTO: "Z727",
    NOME: "TOKELAU O ISOLE DELL'UNIONE",
  },
  {
    CATASTO: "Z728",
    NOME: "TONGA",
  },
  {
    CATASTO: "Z729",
    NOME: "ISOLE WALLIS E FUTUNA",
  },
  {
    CATASTO: "Z730",
    NOME: "PAPUA NUOVA GUINEA",
  },
  {
    CATASTO: "Z731",
    NOME: "KIRIBATI",
  },
  {
    CATASTO: "Z732",
    NOME: "TUVALU",
  },
  {
    CATASTO: "Z733",
    NOME: "VANUATU",
  },
  {
    CATASTO: "Z734",
    NOME: "PALAU",
  },
  {
    CATASTO: "Z735",
    NOME: "STATI FEDERATI DI MICRONESIA",
  },
  {
    CATASTO: "Z800",
    NOME: "DIPENDENZE CANADESI",
  },
  {
    CATASTO: "Z801",
    NOME: "DIPENDENZE NORVEGESI ARTICHE",
  },
  {
    CATASTO: "Z802",
    NOME: "DIPENDENZE RUSSE",
  },
  {
    CATASTO: "Z900",
    NOME: "DIPENDENZE AUSTRALIANE",
  },
  {
    CATASTO: "Z901",
    NOME: "DIPENDENZE BRITANNICHE",
  },
  {
    CATASTO: "Z902",
    NOME: "DIPENDENZE FRANCESI",
  },
  {
    CATASTO: "Z903",
    NOME: "DIPENDENZE NEOZELANDESI",
  },
  {
    CATASTO: "Z904",
    NOME: "DIPENDENZE NORVEGESI ANTARTICHE",
  },
  {
    CATASTO: "Z905",
    NOME: "DIPENDENZE STATUNITENSI",
  },
  {
    CATASTO: "Z906",
    NOME: "DIPENDENZE SUDAFRICANE",
  },
  {
    CATASTO: "Z907",
    NOME: "SUD SUDAN",
  },
];
