feat(data): add mock tournament dataset and placeholder artwork

This commit is contained in:
Lucas Kalil 2026-06-12 16:12:02 -03:00
parent 5ee42abb48
commit c7088bc31b
84 changed files with 3102 additions and 0 deletions

214
data/bracket-config.json Normal file
View file

@ -0,0 +1,214 @@
{
"round32": [
{
"id": "R32-1",
"home": {
"type": "group",
"ref": "A",
"pos": 1
},
"away": {
"type": "third",
"slot": 1
}
},
{
"id": "R32-2",
"home": {
"type": "group",
"ref": "C",
"pos": 1
},
"away": {
"type": "group",
"ref": "F",
"pos": 2
}
},
{
"id": "R32-3",
"home": {
"type": "group",
"ref": "B",
"pos": 1
},
"away": {
"type": "third",
"slot": 2
}
},
{
"id": "R32-4",
"home": {
"type": "group",
"ref": "D",
"pos": 1
},
"away": {
"type": "group",
"ref": "E",
"pos": 2
}
},
{
"id": "R32-5",
"home": {
"type": "group",
"ref": "E",
"pos": 1
},
"away": {
"type": "third",
"slot": 3
}
},
{
"id": "R32-6",
"home": {
"type": "group",
"ref": "F",
"pos": 1
},
"away": {
"type": "group",
"ref": "C",
"pos": 2
}
},
{
"id": "R32-7",
"home": {
"type": "group",
"ref": "G",
"pos": 1
},
"away": {
"type": "third",
"slot": 4
}
},
{
"id": "R32-8",
"home": {
"type": "group",
"ref": "H",
"pos": 1
},
"away": {
"type": "group",
"ref": "J",
"pos": 2
}
},
{
"id": "R32-9",
"home": {
"type": "group",
"ref": "I",
"pos": 1
},
"away": {
"type": "third",
"slot": 5
}
},
{
"id": "R32-10",
"home": {
"type": "group",
"ref": "J",
"pos": 1
},
"away": {
"type": "group",
"ref": "H",
"pos": 2
}
},
{
"id": "R32-11",
"home": {
"type": "group",
"ref": "K",
"pos": 1
},
"away": {
"type": "third",
"slot": 6
}
},
{
"id": "R32-12",
"home": {
"type": "group",
"ref": "L",
"pos": 1
},
"away": {
"type": "group",
"ref": "K",
"pos": 2
}
},
{
"id": "R32-13",
"home": {
"type": "group",
"ref": "A",
"pos": 2
},
"away": {
"type": "group",
"ref": "B",
"pos": 2
}
},
{
"id": "R32-14",
"home": {
"type": "group",
"ref": "D",
"pos": 2
},
"away": {
"type": "third",
"slot": 7
}
},
{
"id": "R32-15",
"home": {
"type": "group",
"ref": "G",
"pos": 2
},
"away": {
"type": "group",
"ref": "I",
"pos": 2
}
},
{
"id": "R32-16",
"home": {
"type": "group",
"ref": "L",
"pos": 2
},
"away": {
"type": "third",
"slot": 8
}
}
],
"thirdPlaceAssignment": {
"1": null,
"2": null,
"3": null,
"4": null,
"5": null,
"6": null,
"7": null,
"8": null
}
}

74
data/groups.json Normal file
View file

@ -0,0 +1,74 @@
{
"A": [
"MEX",
"SUI",
"KOR",
"JAM"
],
"B": [
"CAN",
"ESP",
"EGY",
"NZL"
],
"C": [
"BRA",
"ENG",
"TUN",
"UZB"
],
"D": [
"USA",
"NED",
"GHA",
"PAR"
],
"E": [
"ARG",
"AUT",
"CMR",
"QAT"
],
"F": [
"FRA",
"COL",
"NGA",
"AUS"
],
"G": [
"GER",
"URU",
"ALG",
"JPN"
],
"H": [
"POR",
"SRB",
"SEN",
"CRC"
],
"I": [
"ITA",
"ECU",
"KSA",
"HON"
],
"J": [
"BEL",
"POL",
"IRN",
"PAN"
],
"K": [
"CRO",
"TUR",
"CIV",
"CHI"
],
"L": [
"MAR",
"DEN",
"SCO",
"JOR"
]
}

1010
data/matches.json Normal file

File diff suppressed because it is too large Load diff

630
data/results.json Normal file
View file

@ -0,0 +1,630 @@
[
{
"matchId": 1,
"homeScore": 1,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 2,
"homeScore": 1,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 3,
"homeScore": 3,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 4,
"homeScore": 4,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 5,
"homeScore": 4,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 6,
"homeScore": 0,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 7,
"homeScore": 1,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 8,
"homeScore": 2,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 9,
"homeScore": 1,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 10,
"homeScore": 0,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 11,
"homeScore": 4,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 12,
"homeScore": 2,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 13,
"homeScore": 3,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 14,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 15,
"homeScore": 3,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 16,
"homeScore": 1,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 17,
"homeScore": 2,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 18,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 19,
"homeScore": 4,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 20,
"homeScore": 2,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 21,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 22,
"homeScore": 4,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 23,
"homeScore": 1,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 24,
"homeScore": 4,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 25,
"homeScore": 1,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 26,
"homeScore": 4,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 27,
"homeScore": 2,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 28,
"homeScore": 3,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 29,
"homeScore": 4,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 30,
"homeScore": 0,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 31,
"homeScore": 2,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 32,
"homeScore": 1,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 33,
"homeScore": 0,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 34,
"homeScore": 1,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 35,
"homeScore": 3,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 36,
"homeScore": 1,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 37,
"homeScore": 2,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 38,
"homeScore": 1,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 39,
"homeScore": 4,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 40,
"homeScore": 4,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 41,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 42,
"homeScore": 3,
"awayScore": 2,
"status": "finished"
},
{
"matchId": 43,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 44,
"homeScore": 4,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 45,
"homeScore": 3,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 46,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 47,
"homeScore": 2,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 48,
"homeScore": 0,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 49,
"homeScore": 4,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 50,
"homeScore": 4,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 51,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 52,
"homeScore": 4,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 53,
"homeScore": 4,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 54,
"homeScore": 3,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 55,
"homeScore": 0,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 56,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 57,
"homeScore": 4,
"awayScore": 3,
"status": "finished"
},
{
"matchId": 58,
"homeScore": 1,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 59,
"homeScore": 2,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 60,
"homeScore": 1,
"awayScore": 1,
"status": "finished"
},
{
"matchId": 61,
"homeScore": 1,
"awayScore": 0,
"status": "live"
},
{
"matchId": 62,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 63,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 64,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 65,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 66,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 67,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 68,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 69,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 70,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 71,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 72,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 73,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 74,
"homeScore": 1,
"awayScore": 1,
"status": "finished",
"penalties": {
"home": 4,
"away": 3
}
},
{
"matchId": 75,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 76,
"homeScore": 2,
"awayScore": 0,
"status": "finished"
},
{
"matchId": 77,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 78,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 79,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 80,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 81,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 82,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 83,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 84,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 85,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 86,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 87,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 88,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 89,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 90,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 91,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 92,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 93,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 94,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 95,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 96,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 97,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 98,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 99,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 100,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 101,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 102,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 103,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
},
{
"matchId": 104,
"homeScore": null,
"awayScore": null,
"status": "scheduled"
}
]

242
data/stadiums.json Normal file
View file

@ -0,0 +1,242 @@
[
{
"id": 1,
"name": "Estadio Azteca",
"city": "Mexico City",
"capacity": 87000,
"image": "stadiums/azteca.svg",
"timezone": "America/Mexico_City"
},
{
"id": 2,
"name": "Estadio Akron",
"city": "Guadalajara",
"capacity": 49850,
"image": "stadiums/akron.svg",
"timezone": "America/Mexico_City"
},
{
"id": 3,
"name": "Estadio BBVA",
"city": "Monterrey",
"capacity": 53500,
"image": "stadiums/bbva.svg",
"timezone": "America/Monterrey"
},
{
"id": 4,
"name": "Estadio Cuauhtemoc",
"city": "Puebla",
"capacity": 51726,
"image": "stadiums/cuauhtemoc.svg",
"timezone": "America/Mexico_City"
},
{
"id": 5,
"name": "Estadio Universitario",
"city": "Monterrey",
"capacity": 42000,
"image": "stadiums/universitario.svg",
"timezone": "America/Monterrey"
},
{
"id": 6,
"name": "Estadio Jalisco",
"city": "Guadalajara",
"capacity": 55020,
"image": "stadiums/jalisco.svg",
"timezone": "America/Mexico_City"
},
{
"id": 7,
"name": "SoFi Stadium",
"city": "Los Angeles",
"capacity": 70240,
"image": "stadiums/sofi.svg",
"timezone": "America/Los_Angeles"
},
{
"id": 8,
"name": "Levi's Stadium",
"city": "San Francisco",
"capacity": 68500,
"image": "stadiums/levis.svg",
"timezone": "America/Los_Angeles"
},
{
"id": 9,
"name": "Lumen Field",
"city": "Seattle",
"capacity": 69000,
"image": "stadiums/lumen.svg",
"timezone": "America/Los_Angeles"
},
{
"id": 10,
"name": "Rose Bowl",
"city": "Pasadena",
"capacity": 89702,
"image": "stadiums/rosebowl.svg",
"timezone": "America/Los_Angeles"
},
{
"id": 11,
"name": "Allegiant Stadium",
"city": "Las Vegas",
"capacity": 65000,
"image": "stadiums/allegiant.svg",
"timezone": "America/Los_Angeles"
},
{
"id": 12,
"name": "State Farm Stadium",
"city": "Phoenix",
"capacity": 63400,
"image": "stadiums/statefarm.svg",
"timezone": "America/Phoenix"
},
{
"id": 13,
"name": "Empower Field",
"city": "Denver",
"capacity": 76125,
"image": "stadiums/empower.svg",
"timezone": "America/Denver"
},
{
"id": 14,
"name": "AT&T Stadium",
"city": "Dallas",
"capacity": 80000,
"image": "stadiums/att.svg",
"timezone": "America/Chicago"
},
{
"id": 15,
"name": "NRG Stadium",
"city": "Houston",
"capacity": 72220,
"image": "stadiums/nrg.svg",
"timezone": "America/Chicago"
},
{
"id": 16,
"name": "Arrowhead Stadium",
"city": "Kansas City",
"capacity": 76416,
"image": "stadiums/arrowhead.svg",
"timezone": "America/Chicago"
},
{
"id": 17,
"name": "Soldier Field",
"city": "Chicago",
"capacity": 61500,
"image": "stadiums/soldier.svg",
"timezone": "America/Chicago"
},
{
"id": 18,
"name": "Caesars Superdome",
"city": "New Orleans",
"capacity": 73208,
"image": "stadiums/superdome.svg",
"timezone": "America/Chicago"
},
{
"id": 19,
"name": "Mercedes-Benz Stadium",
"city": "Atlanta",
"capacity": 71000,
"image": "stadiums/mercedesbenz.svg",
"timezone": "America/New_York"
},
{
"id": 20,
"name": "Hard Rock Stadium",
"city": "Miami",
"capacity": 64767,
"image": "stadiums/hardrock.svg",
"timezone": "America/New_York"
},
{
"id": 21,
"name": "Camping World Stadium",
"city": "Orlando",
"capacity": 60219,
"image": "stadiums/campingworld.svg",
"timezone": "America/New_York"
},
{
"id": 22,
"name": "Raymond James Stadium",
"city": "Tampa",
"capacity": 65890,
"image": "stadiums/raymondjames.svg",
"timezone": "America/New_York"
},
{
"id": 23,
"name": "MetLife Stadium",
"city": "New York",
"capacity": 82500,
"image": "stadiums/metlife.svg",
"timezone": "America/New_York"
},
{
"id": 24,
"name": "Lincoln Financial Field",
"city": "Philadelphia",
"capacity": 69796,
"image": "stadiums/lincoln.svg",
"timezone": "America/New_York"
},
{
"id": 25,
"name": "Gillette Stadium",
"city": "Boston",
"capacity": 65878,
"image": "stadiums/gillette.svg",
"timezone": "America/New_York"
},
{
"id": 26,
"name": "M&T Bank Stadium",
"city": "Baltimore",
"capacity": 71008,
"image": "stadiums/mtbank.svg",
"timezone": "America/New_York"
},
{
"id": 27,
"name": "BMO Field",
"city": "Toronto",
"capacity": 45736,
"image": "stadiums/bmo.svg",
"timezone": "America/Toronto"
},
{
"id": 28,
"name": "Olympic Stadium",
"city": "Montreal",
"capacity": 56040,
"image": "stadiums/olympic.svg",
"timezone": "America/Toronto"
},
{
"id": 29,
"name": "BC Place",
"city": "Vancouver",
"capacity": 54500,
"image": "stadiums/bcplace.svg",
"timezone": "America/Vancouver"
},
{
"id": 30,
"name": "Commonwealth Stadium",
"city": "Edmonton",
"capacity": 56302,
"image": "stadiums/commonwealth.svg",
"timezone": "America/Edmonton"
}
]

242
data/teams.json Normal file
View file

@ -0,0 +1,242 @@
[
{
"id": "MEX",
"name": "Mexico",
"flag": "flags/mex.svg"
},
{
"id": "USA",
"name": "United States",
"flag": "flags/usa.svg"
},
{
"id": "CAN",
"name": "Canada",
"flag": "flags/can.svg"
},
{
"id": "BRA",
"name": "Brazil",
"flag": "flags/bra.svg"
},
{
"id": "ARG",
"name": "Argentina",
"flag": "flags/arg.svg"
},
{
"id": "URU",
"name": "Uruguay",
"flag": "flags/uru.svg"
},
{
"id": "COL",
"name": "Colombia",
"flag": "flags/col.svg"
},
{
"id": "ECU",
"name": "Ecuador",
"flag": "flags/ecu.svg"
},
{
"id": "PAR",
"name": "Paraguay",
"flag": "flags/par.svg"
},
{
"id": "CHI",
"name": "Chile",
"flag": "flags/chi.svg"
},
{
"id": "FRA",
"name": "France",
"flag": "flags/fra.svg"
},
{
"id": "ENG",
"name": "England",
"flag": "flags/eng.svg"
},
{
"id": "ESP",
"name": "Spain",
"flag": "flags/esp.svg"
},
{
"id": "GER",
"name": "Germany",
"flag": "flags/ger.svg"
},
{
"id": "POR",
"name": "Portugal",
"flag": "flags/por.svg"
},
{
"id": "NED",
"name": "Netherlands",
"flag": "flags/ned.svg"
},
{
"id": "BEL",
"name": "Belgium",
"flag": "flags/bel.svg"
},
{
"id": "ITA",
"name": "Italy",
"flag": "flags/ita.svg"
},
{
"id": "CRO",
"name": "Croatia",
"flag": "flags/cro.svg"
},
{
"id": "SUI",
"name": "Switzerland",
"flag": "flags/sui.svg"
},
{
"id": "DEN",
"name": "Denmark",
"flag": "flags/den.svg"
},
{
"id": "AUT",
"name": "Austria",
"flag": "flags/aut.svg"
},
{
"id": "POL",
"name": "Poland",
"flag": "flags/pol.svg"
},
{
"id": "SRB",
"name": "Serbia",
"flag": "flags/srb.svg"
},
{
"id": "TUR",
"name": "Turkey",
"flag": "flags/tur.svg"
},
{
"id": "SCO",
"name": "Scotland",
"flag": "flags/sco.svg"
},
{
"id": "PAN",
"name": "Panama",
"flag": "flags/pan.svg"
},
{
"id": "CRC",
"name": "Costa Rica",
"flag": "flags/crc.svg"
},
{
"id": "JAM",
"name": "Jamaica",
"flag": "flags/jam.svg"
},
{
"id": "HON",
"name": "Honduras",
"flag": "flags/hon.svg"
},
{
"id": "JPN",
"name": "Japan",
"flag": "flags/jpn.svg"
},
{
"id": "KOR",
"name": "South Korea",
"flag": "flags/kor.svg"
},
{
"id": "AUS",
"name": "Australia",
"flag": "flags/aus.svg"
},
{
"id": "IRN",
"name": "Iran",
"flag": "flags/irn.svg"
},
{
"id": "KSA",
"name": "Saudi Arabia",
"flag": "flags/ksa.svg"
},
{
"id": "QAT",
"name": "Qatar",
"flag": "flags/qat.svg"
},
{
"id": "UZB",
"name": "Uzbekistan",
"flag": "flags/uzb.svg"
},
{
"id": "JOR",
"name": "Jordan",
"flag": "flags/jor.svg"
},
{
"id": "MAR",
"name": "Morocco",
"flag": "flags/mar.svg"
},
{
"id": "SEN",
"name": "Senegal",
"flag": "flags/sen.svg"
},
{
"id": "NGA",
"name": "Nigeria",
"flag": "flags/nga.svg"
},
{
"id": "EGY",
"name": "Egypt",
"flag": "flags/egy.svg"
},
{
"id": "ALG",
"name": "Algeria",
"flag": "flags/alg.svg"
},
{
"id": "TUN",
"name": "Tunisia",
"flag": "flags/tun.svg"
},
{
"id": "GHA",
"name": "Ghana",
"flag": "flags/gha.svg"
},
{
"id": "CIV",
"name": "Ivory Coast",
"flag": "flags/civ.svg"
},
{
"id": "CMR",
"name": "Cameroon",
"flag": "flags/cmr.svg"
},
{
"id": "NZL",
"name": "New Zealand",
"flag": "flags/nzl.svg"
}
]