# ref: https://gist.github.com/tientran0019/c68b7095976386cf8b1812327228450e

_countries = [
    {
        "alpha2": "AD",
        "flag": "🇦🇩",
        "language": {"code": "ca", "name": "Catalan"},
        "name": "Andorra",
        "unicode": "U+1F1E6 U+1F1E9",
    },
    {
        "alpha2": "AE",
        "flag": "🇦🇪",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "United Arab Emirates",
        "unicode": "U+1F1E6 U+1F1EA",
    },
    {
        "alpha2": "AF",
        "flag": "🇦🇫",
        "language": {"code": "ps", "name": "Pashto"},
        "name": "Afghanistan",
        "unicode": "U+1F1E6 U+1F1EB",
    },
    {
        "alpha2": "AG",
        "flag": "🇦🇬",
        "language": {"code": "en", "name": "English"},
        "name": "Antigua and Barbuda",
        "unicode": "U+1F1E6 U+1F1EC",
    },
    {
        "alpha2": "AI",
        "flag": "🇦🇮",
        "language": {"code": "en", "name": "English"},
        "name": "Anguilla",
        "unicode": "U+1F1E6 U+1F1EE",
    },
    {
        "alpha2": "AL",
        "flag": "🇦🇱",
        "language": {"code": "sq", "name": "Albanian"},
        "name": "Albania",
        "unicode": "U+1F1E6 U+1F1F1",
    },
    {
        "alpha2": "AM",
        "flag": "🇦🇲",
        "language": {"code": "hy", "name": "Armenian"},
        "name": "Armenia",
        "unicode": "U+1F1E6 U+1F1F2",
    },
    {
        "alpha2": "AO",
        "flag": "🇦🇴",
        "language": {"code": "pt", "name": "Portuguese"},
        "name": "Angola",
        "unicode": "U+1F1E6 U+1F1F4",
    },
    {
        "alpha2": "AR",
        "flag": "🇦🇷",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Argentina",
        "unicode": "U+1F1E6 U+1F1F7",
    },
    {
        "alpha2": "AS",
        "flag": "🇦🇸",
        "language": {"code": "en", "name": "English"},
        "name": "American Samoa",
        "unicode": "U+1F1E6 U+1F1F8",
    },
    {
        "alpha2": "AUT",
        "flag": "🇦🇹",
        "language": {"code": "de", "name": "German"},
        "name": "Austria",
        "unicode": "U+1F1E6 U+1F1F9",
    },
    {
        "alpha2": "AU",
        "flag": "🇦🇺",
        "language": {"code": "en", "name": "English"},
        "name": "Australia",
        "unicode": "U+1F1E6 U+1F1FA",
    },
    {
        "alpha2": "AW",
        "flag": "🇦🇼",
        "language": {"code": "nl", "name": "Dutch"},
        "name": "Aruba",
        "unicode": "U+1F1E6 U+1F1FC",
    },
    {
        "alpha2": "AX",
        "flag": "🇦🇽",
        "language": {
            "code": "fi",
            "iso639_2": "fin",
            "name": "Finnish",
            "nativeName": "suomi",
        },
        "name": "Åland Islands",
        "unicode": "U+1F1E6 U+1F1FD",
    },
    {
        "alpha2": "AZ",
        "flag": "🇦🇿",
        "language": {"code": "az", "name": "Azerbaijani"},
        "name": "Azerbaijan",
        "unicode": "U+1F1E6 U+1F1FF",
    },
    {
        "alpha2": "BA",
        "flag": "🇧🇦",
        "language": {"code": "bs", "name": "Bosnian"},
        "name": "Bosnia and Herzegovina",
        "unicode": "U+1F1E7 U+1F1E6",
    },
    {
        "alpha2": "BB",
        "flag": "🇧🇧",
        "language": {"code": "en", "name": "English"},
        "name": "Barbados",
        "unicode": "U+1F1E7 U+1F1E7",
    },
    {
        "alpha2": "BD",
        "flag": "🇧🇩",
        "language": {"code": "bn", "name": "Bengali"},
        "name": "Bangladesh",
        "unicode": "U+1F1E7 U+1F1E9",
    },
    {
        "alpha2": "BE",
        "flag": "🇧🇪",
        "language": {"code": "nl", "name": "Dutch"},
        "name": "Belgium",
        "unicode": "U+1F1E7 U+1F1EA",
    },
    {
        "alpha2": "BF",
        "flag": "🇧🇫",
        "language": {"code": "fr", "name": "French"},
        "name": "Burkina Faso",
        "unicode": "U+1F1E7 U+1F1EB",
    },
    {
        "alpha2": "BG",
        "flag": "🇧🇬",
        "language": {"code": "bg", "name": "Bulgarian"},
        "name": "Bulgaria",
        "unicode": "U+1F1E7 U+1F1EC",
    },
    {
        "alpha2": "BH",
        "flag": "🇧🇭",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Bahrain",
        "unicode": "U+1F1E7 U+1F1ED",
    },
    {
        "alpha2": "BI",
        "flag": "🇧🇮",
        "language": {"code": "fr", "name": "French"},
        "name": "Burundi",
        "unicode": "U+1F1E7 U+1F1EE",
    },
    {
        "alpha2": "BJ",
        "flag": "🇧🇯",
        "language": {"code": "fr", "name": "French"},
        "name": "Benin",
        "unicode": "U+1F1E7 U+1F1EF",
    },
    {
        "alpha2": "BL",
        "flag": "🇧🇱",
        "language": {"code": "fr", "name": "French"},
        "name": "Saint Barthélemy",
        "unicode": "U+1F1E7 U+1F1F1",
    },
    {
        "alpha2": "BM",
        "flag": "🇧🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Bermuda",
        "unicode": "U+1F1E7 U+1F1F2",
    },
    {
        "alpha2": "BN",
        "flag": "🇧🇳",
        "language": {"code": "ms", "name": "Malay"},
        "name": "Brunei Darussalam",
        "unicode": "U+1F1E7 U+1F1F3",
    },
    {
        "alpha2": "BO",
        "flag": "🇧🇴",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Bolivia (Plurinational State of)",
        "unicode": "U+1F1E7 U+1F1F4",
    },
    {
        "alpha2": "BR",
        "flag": "🇧🇷",
        "language": {"code": "pt", "name": "Portuguese"},
        "name": "Brazil",
        "unicode": "U+1F1E7 U+1F1F7",
    },
    {
        "alpha2": "BS",
        "flag": "🇧🇸",
        "language": {"code": "en", "name": "English"},
        "name": "Bahamas",
        "unicode": "U+1F1E7 U+1F1F8",
    },
    {
        "alpha2": "BT",
        "flag": "🇧🇹",
        "language": {"code": "dz", "name": "Dzongkha"},
        "name": "Bhutan",
        "unicode": "U+1F1E7 U+1F1F9",
    },
    {
        "alpha2": "BV",
        "flag": "🇧🇻",
        "language": {"code": "no", "name": "Norwegian"},
        "name": "Bouvet Island",
        "unicode": "U+1F1E7 U+1F1FC",
    },
    {
        "alpha2": "BW",
        "flag": "🇧🇼",
        "language": {"code": "en", "name": "English"},
        "name": "Botswana",
        "unicode": "U+1F1E7 U+1F1FC",
    },
    {
        "alpha2": "BY",
        "flag": "🇧🇾",
        "language": {"code": "be", "name": "Belarusian"},
        "name": "Belarus",
        "unicode": "U+1F1E7 U+1F1FE",
    },
    {
        "alpha2": "BZ",
        "flag": "🇧🇿",
        "language": {"code": "en", "name": "English"},
        "name": "Belize",
        "unicode": "U+1F1E7 U+1F1FF",
    },
    {
        "alpha2": "CA",
        "flag": "🇨🇦",
        "language": {"code": "en", "name": "English"},
        "name": "Canada",
        "unicode": "U+1F1E8 U+1F1E6",
    },
    {
        "alpha2": "CC",
        "flag": "🇨🇨",
        "language": {"code": "en", "name": "English"},
        "name": "Cocos (Keeling) Islands",
        "unicode": "U+1F1E8 U+1F1E8",
    },
    {
        "alpha2": "CD",
        "flag": "🇨🇩",
        "language": {"code": "fr", "name": "French"},
        "name": "Congo (Democratic Republic of the)",
        "unicode": "U+1F1E8 U+1F1E9",
    },
    {
        "alpha2": "CF",
        "flag": "🇨🇫",
        "language": {"code": "fr", "name": "French"},
        "name": "Central African Republic",
        "unicode": "U+1F1E8 U+1F1EB",
    },
    {
        "alpha2": "CG",
        "flag": "🇨🇬",
        "language": {"code": "fr", "name": "French"},
        "name": "Congo",
        "unicode": "U+1F1E8 U+1F1EC",
    },
    {
        "alpha2": "CH",
        "flag": "🇨🇭",
        "language": {"code": "de", "name": "German"},
        "name": "Switzerland",
        "unicode": "U+1F1E8 U+1F1ED",
    },
    {
        "alpha2": "CI",
        "flag": "🇨🇮",
        "language": {"code": "fr", "name": "French"},
        "name": "Côte d'Ivoire",
        "unicode": "U+1F1E8 U+1F1EE",
    },
    {
        "alpha2": "CK",
        "flag": "🇨🇰",
        "language": {"code": "en", "name": "English"},
        "name": "Cook Islands",
        "unicode": "U+1F1E8 U+1F1F0",
    },
    {
        "alpha2": "CL",
        "flag": "🇨🇱",
        "language": {
            "code": "es",
            "iso639_2": "spa",
            "name": "Spanish",
            "nativeName": "Español",
        },
        "name": "Chile",
        "unicode": "U+1F1E8 U+1F1F1",
    },
    {
        "alpha2": "CM",
        "flag": "🇨🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Cameroon",
        "unicode": "U+1F1E8 U+1F1F2",
    },
    {
        "alpha2": "CN",
        "flag": "🇨🇳",
        "language": {"code": "zh", "name": "Chinese"},
        "name": "China",
        "unicode": "U+1F1E8 U+1F1F3",
    },
    {
        "alpha2": "CO",
        "flag": "🇨🇴",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Colombia",
        "unicode": "U+1F1E8 U+1F1F4",
    },
    {
        "alpha2": "CR",
        "flag": "🇨🇷",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Costa Rica",
        "unicode": "U+1F1E8 U+1F1F7",
    },
    {
        "alpha2": "CU",
        "flag": "🇨🇺",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Cuba",
        "unicode": "U+1F1E8 U+1F1FA",
    },
    {
        "alpha2": "CV",
        "flag": "🇨🇻",
        "language": {
            "code": "pt",
            "iso639_2": "por",
            "name": "Portuguese",
            "nativeName": "Português",
        },
        "name": "Cabo Verde",
        "unicode": "U+1F1E8 U+1F1FB",
    },
    {
        "alpha2": "CW",
        "flag": "🇨🇼",
        "language": {"code": "nl", "name": "Dutch"},
        "name": "Curaçao",
        "unicode": "U+1F1E8 U+1F1FC",
    },
    {
        "alpha2": "CX",
        "flag": "🇨🇽",
        "language": {"code": "en", "name": "English"},
        "name": "Christmas Island",
        "unicode": "U+1F1E8 U+1F1FD",
    },
    {
        "alpha2": "CY",
        "flag": "🇨🇾",
        "language": {"code": "tr", "name": "Turkish"},
        "name": "Cyprus",
        "unicode": "U+1F1E8 U+1F1FE",
    },
    {
        "alpha2": "CZ",
        "flag": "🇨🇿",
        "language": {"code": "cs", "name": "Czech"},
        "name": "Czech Republic",
        "unicode": "U+1F1E8 U+1F1FF",
    },
    {
        "alpha2": "DE",
        "flag": "🇩🇪",
        "language": {"code": "de", "name": "German"},
        "name": "Germany",
        "unicode": "U+1F1E9 U+1F1EA",
    },
    {
        "alpha2": "DJ",
        "flag": "🇩🇯",
        "language": {"code": "fr", "name": "French"},
        "name": "Djibouti",
        "unicode": "U+1F1E9 U+1F1EF",
    },
    {
        "alpha2": "DK",
        "flag": "🇩🇰",
        "language": {"code": "da", "name": "Danish"},
        "name": "Denmark",
        "unicode": "U+1F1E9 U+1F1F0",
    },
    {
        "alpha2": "DM",
        "flag": "🇩🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Dominica",
        "unicode": "U+1F1E9 U+1F1F2",
    },
    {
        "alpha2": "DO",
        "flag": "🇩🇴",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Dominican Republic",
        "unicode": "U+1F1E9 U+1F1F4",
    },
    {
        "alpha2": "DZ",
        "flag": "🇩🇿",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Algeria",
        "unicode": "U+1F1E9 U+1F1FF",
    },
    {
        "alpha2": "EC",
        "flag": "🇪🇨",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Ecuador",
        "unicode": "U+1F1EA U+1F1E8",
    },
    {
        "alpha2": "EE",
        "flag": "🇪🇪",
        "language": {"code": "et", "name": "Estonian"},
        "name": "Estonia",
        "unicode": "U+1F1EA U+1F1EA",
    },
    {
        "alpha2": "EG",
        "flag": "🇪🇬",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Egypt",
        "unicode": "U+1F1EA U+1F1EC",
    },
    {
        "alpha2": "ER",
        "flag": "🇪🇷",
        "language": {"code": "en", "name": "English"},
        "name": "Eritrea",
        "unicode": "U+1F1EA U+1F1F7",
    },
    {
        "alpha2": "ES",
        "flag": "🇪🇸",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Spain",
        "unicode": "U+1F1EA U+1F1F8",
    },
    {
        "alpha2": "ET",
        "flag": "🇪🇹",
        "language": {"code": "am", "name": "Amharic"},
        "name": "Ethiopia",
        "unicode": "U+1F1EA U+1F1F9",
    },
    {
        "alpha2": "FI",
        "flag": "🇫🇮",
        "language": {
            "code": "fi",
            "iso639_2": "fin",
            "name": "Finnish",
            "nativeName": "suomi",
        },
        "name": "Finland",
        "unicode": "U+1F1EB U+1F1EE",
    },
    {
        "alpha2": "FJ",
        "flag": "🇫🇯",
        "language": {"code": "en", "name": "English"},
        "name": "Fiji",
        "unicode": "U+1F1EB U+1F1EF",
    },
    {
        "alpha2": "FK",
        "flag": "🇫🇰",
        "language": {"code": "en", "name": "English"},
        "name": "Falkland Islands (Malvinas)",
        "unicode": "U+1F1EB U+1F1F0",
    },
    {
        "alpha2": "FM",
        "flag": "🇫🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Micronesia (Federated States of)",
        "unicode": "U+1F1EB U+1F1F2",
    },
    {
        "alpha2": "FO",
        "flag": "🇫🇴",
        "language": {"code": "fo", "name": "Faroese"},
        "name": "Faroe Islands",
        "unicode": "U+1F1EB U+1F1F4",
    },
    {
        "alpha2": "FR",
        "flag": "🇫🇷",
        "language": {"code": "fr", "name": "French"},
        "name": "France",
        "unicode": "U+1F1EB U+1F1F7",
    },
    {
        "alpha2": "GA",
        "flag": "🇬🇦",
        "language": {"code": "fr", "name": "French"},
        "name": "Gabon",
        "unicode": "U+1F1EC U+1F1E6",
    },
    {
        "alpha2": "GB",
        "flag": "🇬🇧",
        "language": {"code": "en", "name": "English"},
        "name": "United Kingdom of Great Britain and Northern Ireland",
        "unicode": "U+1F1EC U+1F1E7",
    },
    {
        "alpha2": "GD",
        "flag": "🇬🇩",
        "language": {"code": "en", "name": "English"},
        "name": "Grenada",
        "unicode": "U+1F1EC U+1F1E9",
    },
    {
        "alpha2": "GE",
        "flag": "🇬🇪",
        "language": {"code": "ka", "name": "Georgian"},
        "name": "Georgia",
        "unicode": "U+1F1EC U+1F1EA",
    },
    {
        "alpha2": "GF",
        "flag": "🇬🇫",
        "language": {"code": "fr", "name": "French"},
        "name": "French Guiana",
        "unicode": "U+1F1EC U+1F1EB",
    },
    {
        "alpha2": "GG",
        "flag": "🇬🇬",
        "language": {"code": "en", "name": "English"},
        "name": "Guernsey",
        "unicode": "U+1F1EC U+1F1EC",
    },
    {
        "alpha2": "GH",
        "flag": "🇬🇭",
        "language": {"code": "en", "name": "English"},
        "name": "Ghana",
        "unicode": "U+1F1EC U+1F1ED",
    },
    {
        "alpha2": "GI",
        "flag": "🇬🇮",
        "language": {"code": "en", "name": "English"},
        "name": "Gibraltar",
        "unicode": "U+1F1EC U+1F1EE",
    },
    {
        "alpha2": "GL",
        "flag": "🇬🇱",
        "language": {"code": "kl", "name": "Kalaallisut"},
        "name": "Greenland",
        "unicode": "U+1F1EC U+1F1F1",
    },
    {
        "alpha2": "GM",
        "flag": "🇬🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Gambia",
        "unicode": "U+1F1EC U+1F1F2",
    },
    {
        "alpha2": "GN",
        "flag": "🇬🇳",
        "language": {"code": "fr", "name": "French"},
        "name": "Guinea",
        "unicode": "U+1F1EC U+1F1F3",
    },
    {
        "alpha2": "GP",
        "flag": "🇬🇵",
        "language": {"code": "fr", "name": "French"},
        "name": "Guadeloupe",
        "unicode": "U+1F1EC U+1F1F5",
    },
    {
        "alpha2": "GQ",
        "flag": "🇬🇶",
        "language": {
            "code": "es",
            "iso639_2": "spa",
            "name": "Spanish",
            "nativeName": "Español",
        },
        "name": "Equatorial Guinea",
        "unicode": "U+1F1EC U+1F1F6",
    },
    {
        "alpha2": "GR",
        "flag": "🇬🇷",
        "language": {"code": "el", "name": "Greek (modern)"},
        "name": "Greece",
        "unicode": "U+1F1EC U+1F1F7",
    },
    {
        "alpha2": "GT",
        "flag": "🇬🇹",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Guatemala",
        "unicode": "U+1F1EC U+1F1F9",
    },
    {
        "alpha2": "GU",
        "flag": "🇬🇺",
        "language": {"code": "en", "name": "English"},
        "name": "Guam",
        "unicode": "U+1F1EC U+1F1FA",
    },
    {
        "alpha2": "GW",
        "flag": "🇬🇼",
        "language": {"code": "pt", "name": "Portuguese"},
        "name": "Guinea-Bissau",
        "unicode": "U+1F1EC U+1F1FC",
    },
    {
        "alpha2": "GY",
        "flag": "🇬🇾",
        "language": {"code": "en", "name": "English"},
        "name": "Guyana",
        "unicode": "U+1F1EC U+1F1FE",
    },
    {
        "alpha2": "HK",
        "flag": "🇭🇰",
        "language": {"code": "en", "name": "English"},
        "name": "Hong Kong",
        "unicode": "U+1F1ED U+1F1F0",
    },
    {
        "alpha2": "HN",
        "flag": "🇭🇳",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Honduras",
        "unicode": "U+1F1ED U+1F1F3",
    },
    {
        "alpha2": "HR",
        "flag": "🇭🇷",
        "language": {"code": "hr", "name": "Croatian"},
        "name": "Croatia",
        "unicode": "U+1F1ED U+1F1F7",
    },
    {
        "alpha2": "HT",
        "flag": "🇭🇹",
        "language": {"code": "fr", "name": "French"},
        "name": "Haiti",
        "unicode": "U+1F1ED U+1F1F9",
    },
    {
        "alpha2": "HU",
        "flag": "🇭🇺",
        "language": {"code": "hu", "name": "Hungarian"},
        "name": "Hungary",
        "unicode": "U+1F1ED U+1F1FA",
    },
    {
        "alpha2": "ID",
        "flag": "🇮🇩",
        "language": {"code": "id", "name": "Indonesian"},
        "name": "Indonesia",
        "unicode": "U+1F1EE U+1F1E9",
    },
    {
        "alpha2": "IE",
        "flag": "🇮🇪",
        "language": {"code": "ga", "name": "Irish"},
        "name": "Ireland",
        "unicode": "U+1F1EE U+1F1EA",
    },
    {
        "alpha2": "IL",
        "flag": "🇮🇱",
        "language": {"code": "he", "name": "Hebrew (modern)"},
        "name": "Israel",
        "unicode": "U+1F1EE U+1F1F1",
    },
    {
        "alpha2": "IM",
        "flag": "🇮🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Isle of Man",
        "unicode": "U+1F1EE U+1F1F2",
    },
    {
        "alpha2": "IN",
        "flag": "🇮🇳",
        "language": {"code": "hi", "name": "Hindi"},
        "name": "India",
        "unicode": "U+1F1EE U+1F1F3",
    },
    {
        "alpha2": "IO",
        "flag": "🇮🇴",
        "language": {"code": "en", "name": "English"},
        "name": "British Indian Ocean Territory",
        "unicode": "U+1F1EE U+1F1F4",
    },
    {
        "alpha2": "IQ",
        "flag": "🇮🇶",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Iraq",
        "unicode": "U+1F1EE U+1F1F6",
    },
    {
        "alpha2": "IR",
        "flag": "🇮🇷",
        "language": {"code": "fa", "name": "Persian (Farsi)"},
        "name": "Iran (Islamic Republic of)",
        "unicode": "U+1F1EE U+1F1F7",
    },
    {
        "alpha2": "IS",
        "flag": "🇮🇸",
        "language": {"code": "is", "name": "Icelandic"},
        "name": "Iceland",
        "unicode": "U+1F1EE U+1F1F8",
    },
    {
        "alpha2": "IT",
        "flag": "🇮🇹",
        "language": {"code": "it", "name": "Italian"},
        "name": "Italy",
        "unicode": "U+1F1EE U+1F1F9",
    },
    {
        "alpha2": "JE",
        "flag": "🇯🇪",
        "language": {"code": "en", "name": "English"},
        "name": "Jersey",
        "unicode": "U+1F1EF U+1F1EA",
    },
    {
        "alpha2": "JM",
        "flag": "🇯🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Jamaica",
        "unicode": "U+1F1EF U+1F1F2",
    },
    {
        "alpha2": "JO",
        "flag": "🇯🇴",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Jordan",
        "unicode": "U+1F1EF U+1F1F4",
    },
    {
        "alpha2": "JP",
        "flag": "🇯🇵",
        "language": {"code": "ja", "name": "Japanese"},
        "name": "Japan",
        "unicode": "U+1F1EF U+1F1F5",
    },
    {
        "alpha2": "KE",
        "flag": "🇰🇪",
        "language": {"code": "en", "name": "English"},
        "name": "Kenya",
        "unicode": "U+1F1F0 U+1F1EA",
    },
    {
        "alpha2": "KG",
        "flag": "🇰🇬",
        "language": {"code": "ky", "name": "Kyrgyz"},
        "name": "Kyrgyzstan",
        "unicode": "U+1F1F0 U+1F1EC",
    },
    {
        "alpha2": "KH",
        "flag": "🇰🇭",
        "language": {"code": "km", "name": "Khmer"},
        "name": "Cambodia",
        "unicode": "U+1F1F0 U+1F1ED",
    },
    {
        "alpha2": "KI",
        "flag": "🇰🇮",
        "language": {"code": "en", "name": "English"},
        "name": "Kiribati",
        "unicode": "U+1F1F0 U+1F1EE",
    },
    {
        "alpha2": "KM",
        "flag": "🇰🇲",
        "language": {"code": "fr", "name": "French"},
        "name": "Comoros",
        "unicode": "U+1F1F0 U+1F1F2",
    },
    {
        "alpha2": "KN",
        "flag": "🇰🇳",
        "language": {"code": "en", "name": "English"},
        "name": "Saint Kitts and Nevis",
        "unicode": "U+1F1F0 U+1F1F3",
    },
    {
        "alpha2": "KP",
        "flag": "🇰🇵",
        "language": {"code": "ko", "name": "Korean"},
        "name": "Korea (Democratic People's Republic of)",
        "unicode": "U+1F1F0 U+1F1F5",
    },
    {
        "alpha2": "KR",
        "flag": "🇰🇷",
        "language": {"code": "ko", "name": "Korean"},
        "name": "Korea (Republic of)",
        "unicode": "U+1F1F0 U+1F1F7",
    },
    {
        "alpha2": "KW",
        "flag": "🇰🇼",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Kuwait",
        "unicode": "U+1F1F0 U+1F1FC",
    },
    {
        "alpha2": "KY",
        "flag": "🇰🇾",
        "language": {"code": "en", "name": "English"},
        "name": "Cayman Islands",
        "unicode": "U+1F1F0 U+1F1FE",
    },
    {
        "alpha2": "KZ",
        "flag": "🇰🇿",
        "language": {"code": "kk", "name": "Kazakh"},
        "name": "Kazakhstan",
        "unicode": "U+1F1F0 U+1F1FF",
    },
    {
        "alpha2": "LA",
        "flag": "🇱🇦",
        "language": {"code": "lo", "name": "Lao"},
        "name": "Lao People's Democratic Republic",
        "unicode": "U+1F1F1 U+1F1E6",
    },
    {
        "alpha2": "LB",
        "flag": "🇱🇧",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Lebanon",
        "unicode": "U+1F1F1 U+1F1E7",
    },
    {
        "alpha2": "LC",
        "flag": "🇱🇨",
        "language": {"code": "en", "name": "English"},
        "name": "Saint Lucia",
        "unicode": "U+1F1F1 U+1F1E8",
    },
    {
        "alpha2": "LI",
        "flag": "🇱🇮",
        "language": {"code": "de", "name": "German"},
        "name": "Liechtenstein",
        "unicode": "U+1F1F1 U+1F1EE",
    },
    {
        "alpha2": "LK",
        "flag": "🇱🇰",
        "language": {
            "code": "si",
            "iso639_2": "sin",
            "name": "Sinhalese",
            "nativeName": "සිංහල",
        },
        "name": "Sri Lanka",
        "unicode": "U+1F1F1 U+1F1F0",
    },
    {
        "alpha2": "LR",
        "flag": "🇱🇷",
        "language": {"code": "en", "name": "English"},
        "name": "Liberia",
        "unicode": "U+1F1F1 U+1F1F7",
    },
    {
        "alpha2": "LS",
        "flag": "🇱🇸",
        "language": {"code": "en", "name": "English"},
        "name": "Lesotho",
        "unicode": "U+1F1F1 U+1F1F8",
    },
    {
        "alpha2": "LT",
        "flag": "🇱🇹",
        "language": {"code": "lt", "name": "Lithuanian"},
        "name": "Lithuania",
        "unicode": "U+1F1F1 U+1F1F9",
    },
    {
        "alpha2": "LU",
        "flag": "🇱🇺",
        "language": {"code": "fr", "name": "French"},
        "name": "Luxembourg",
        "unicode": "U+1F1F1 U+1F1FA",
    },
    {
        "alpha2": "LV",
        "flag": "🇱🇻",
        "language": {"code": "lv", "name": "Latvian"},
        "name": "Latvia",
        "unicode": "U+1F1F1 U+1F1FB",
    },
    {
        "alpha2": "LY",
        "flag": "🇱🇾",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Libya",
        "unicode": "U+1F1F1 U+1F1FE",
    },
    {
        "alpha2": "MA",
        "flag": "🇲🇦",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Morocco",
        "unicode": "U+1F1F2 U+1F1E6",
    },
    {
        "alpha2": "MC",
        "flag": "🇲🇨",
        "language": {"code": "fr", "name": "French"},
        "name": "Monaco",
        "unicode": "U+1F1F2 U+1F1E8",
    },
    {
        "alpha2": "MD",
        "flag": "🇲🇩",
        "language": {"code": "ro", "name": "Romanian"},
        "name": "Moldova (Republic of)",
        "unicode": "U+1F1F2 U+1F1E9",
    },
    {
        "alpha2": "ME",
        "flag": "🇲🇪",
        "language": {"code": "sr", "name": "Serbian"},
        "name": "Montenegro",
        "unicode": "U+1F1F2 U+1F1EA",
    },
    {
        "alpha2": "MF",
        "flag": "🇲🇫",
        "language": {"code": "en", "name": "English"},
        "name": "Saint Martin (French part)",
        "unicode": "U+1F1F2 U+1F1EB",
    },
    {
        "alpha2": "MG",
        "flag": "🇲🇬",
        "language": {"code": "fr", "name": "French"},
        "name": "Madagascar",
        "unicode": "U+1F1F2 U+1F1EC",
    },
    {
        "alpha2": "MH",
        "flag": "🇲🇭",
        "language": {"code": "en", "name": "English"},
        "name": "Marshall Islands",
        "unicode": "U+1F1F2 U+1F1ED",
    },
    {
        "alpha2": "MK",
        "flag": "🇲🇰",
        "language": {"code": "mk", "name": "Macedonian"},
        "name": "Macedonia (the former Yugoslav Republic of)",
        "unicode": "U+1F1F2 U+1F1F0",
    },
    {
        "alpha2": "ML",
        "flag": "🇲🇱",
        "language": {"code": "fr", "name": "French"},
        "name": "Mali",
        "unicode": "U+1F1F2 U+1F1F1",
    },
    {
        "alpha2": "MM",
        "flag": "🇲🇲",
        "language": {"code": "my", "name": "Burmese"},
        "name": "Myanmar",
        "unicode": "U+1F1F2 U+1F1F2",
    },
    {
        "alpha2": "MN",
        "flag": "🇲🇳",
        "language": {"code": "mn", "name": "Mongolian"},
        "name": "Mongolia",
        "unicode": "U+1F1F2 U+1F1F3",
    },
    {
        "alpha2": "MO",
        "flag": "🇲🇴",
        "language": {"code": "zh", "name": "Chinese"},
        "name": "Macao",
        "unicode": "U+1F1F2 U+1F1F4",
    },
    {
        "alpha2": "MP",
        "flag": "🇲🇵",
        "language": {"code": "en", "name": "English"},
        "name": "Northern Mariana Islands",
        "unicode": "U+1F1F2 U+1F1F5",
    },
    {
        "alpha2": "MQ",
        "flag": "🇲🇶",
        "language": {"code": "fr", "name": "French"},
        "name": "Martinique",
        "unicode": "U+1F1F2 U+1F1F6",
    },
    {
        "alpha2": "MR",
        "flag": "🇲🇷",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Mauritania",
        "unicode": "U+1F1F2 U+1F1F7",
    },
    {
        "alpha2": "MS",
        "flag": "🇲🇸",
        "language": {"code": "en", "name": "English"},
        "name": "Montserrat",
        "unicode": "U+1F1F2 U+1F1F8",
    },
    {
        "alpha2": "MT",
        "flag": "🇲🇹",
        "language": {"code": "mt", "name": "Maltese"},
        "name": "Malta",
        "unicode": "U+1F1F2 U+1F1F9",
    },
    {
        "alpha2": "MU",
        "flag": "🇲🇺",
        "language": {"code": "en", "name": "English"},
        "name": "Mauritius",
        "unicode": "U+1F1F2 U+1F1FA",
    },
    {
        "alpha2": "MV",
        "flag": "🇲🇻",
        "language": {"code": "dv", "name": "Divehi"},
        "name": "Maldives",
        "unicode": "U+1F1F2 U+1F1FB",
    },
    {
        "alpha2": "MW",
        "flag": "🇲🇼",
        "language": {"code": "en", "name": "English"},
        "name": "Malawi",
        "unicode": "U+1F1F2 U+1F1FC",
    },
    {
        "alpha2": "MX",
        "flag": "🇲🇽",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Mexico",
        "unicode": "U+1F1F2 U+1F1FD",
    },
    {
        "alpha2": "MY",
        "flag": "🇲🇾",
        "language": {"code": None, "name": "Malaysian"},
        "name": "Malaysia",
        "unicode": "U+1F1F2 U+1F1FE",
    },
    {
        "alpha2": "MZ",
        "flag": "🇲🇿",
        "language": {"code": "pt", "name": "Portuguese"},
        "name": "Mozambique",
        "unicode": "U+1F1F2 U+1F1FF",
    },
    {
        "alpha2": "NA",
        "flag": "🇳🇦",
        "language": {"code": "en", "name": "English"},
        "name": "Namibia",
        "unicode": "U+1F1F3 U+1F1E6",
    },
    {
        "alpha2": "NC",
        "flag": "🇳🇨",
        "language": {"code": "fr", "name": "French"},
        "name": "New Caledonia",
        "unicode": "U+1F1F3 U+1F1E8",
    },
    {
        "alpha2": "NE",
        "flag": "🇳🇪",
        "language": {"code": "fr", "name": "French"},
        "name": "Niger",
        "unicode": "U+1F1F3 U+1F1EA",
    },
    {
        "alpha2": "NF",
        "flag": "🇳🇫",
        "language": {"code": "en", "name": "English"},
        "name": "Norfolk Island",
        "unicode": "U+1F1F3 U+1F1EB",
    },
    {
        "alpha2": "NG",
        "flag": "🇳🇬",
        "language": {"code": "en", "name": "English"},
        "name": "Nigeria",
        "unicode": "U+1F1F3 U+1F1EC",
    },
    {
        "alpha2": "NI",
        "flag": "🇳🇮",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Nicaragua",
        "unicode": "U+1F1F3 U+1F1EE",
    },
    {
        "alpha2": "NL",
        "flag": "🇳🇱",
        "language": {"code": "nl", "name": "Dutch"},
        "name": "Netherlands",
        "unicode": "U+1F1F3 U+1F1F1",
    },
    {
        "alpha2": "NO",
        "flag": "🇳🇴",
        "language": {"code": "no", "name": "Norwegian"},
        "name": "Norway",
        "unicode": "U+1F1F3 U+1F1F4",
    },
    {
        "alpha2": "NP",
        "flag": "🇳🇵",
        "language": {"code": "ne", "name": "Nepali"},
        "name": "Nepal",
        "unicode": "U+1F1F3 U+1F1F5",
    },
    {
        "alpha2": "NR",
        "flag": "🇳🇷",
        "language": {"code": "en", "name": "English"},
        "name": "Nauru",
        "unicode": "U+1F1F3 U+1F1F7",
    },
    {
        "alpha2": "NU",
        "flag": "🇳🇺",
        "language": {"code": "en", "name": "English"},
        "name": "Niue",
        "unicode": "U+1F1F3 U+1F1FA",
    },
    {
        "alpha2": "NZ",
        "flag": "🇳🇿",
        "language": {"code": "en", "name": "English"},
        "name": "New Zealand",
        "unicode": "U+1F1F3 U+1F1FF",
    },
    {
        "alpha2": "OM",
        "flag": "🇴🇲",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Oman",
        "unicode": "U+1F1F4 U+1F1F2",
    },
    {
        "alpha2": "PA",
        "flag": "🇵🇦",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Panama",
        "unicode": "U+1F1F5 U+1F1E6",
    },
    {
        "alpha2": "PE",
        "flag": "🇵🇪",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Peru",
        "unicode": "U+1F1F5 U+1F1EA",
    },
    {
        "alpha2": "PF",
        "flag": "🇵🇫",
        "language": {"code": "fr", "name": "French"},
        "name": "French Polynesia",
        "unicode": "U+1F1F5 U+1F1EB",
    },
    {
        "alpha2": "PG",
        "flag": "🇵🇬",
        "language": {"code": "en", "name": "English"},
        "name": "Papua New Guinea",
        "unicode": "U+1F1F5 U+1F1EC",
    },
    {
        "alpha2": "PH",
        "flag": "🇵🇭",
        "language": {"code": "en", "name": "English"},
        "name": "Philippines",
        "unicode": "U+1F1F5 U+1F1ED",
    },
    {
        "alpha2": "PK",
        "flag": "🇵🇰",
        "language": {"code": "en", "name": "English"},
        "name": "Pakistan",
        "unicode": "U+1F1F5 U+1F1F0",
    },
    {
        "alpha2": "PL",
        "flag": "🇵🇱",
        "language": {"code": "pl", "name": "Polish"},
        "name": "Poland",
        "unicode": "U+1F1F5 U+1F1F1",
    },
    {
        "alpha2": "PM",
        "flag": "🇵🇲",
        "language": {"code": "fr", "name": "French"},
        "name": "Saint Pierre and Miquelon",
        "unicode": "U+1F1F5 U+1F1F2",
    },
    {
        "alpha2": "PR",
        "flag": "🇵🇷",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Puerto Rico",
        "unicode": "U+1F1F5 U+1F1F7",
    },
    {
        "alpha2": "PS",
        "flag": "🇵🇸",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Palestine, State of",
        "unicode": "U+1F1F5 U+1F1F8",
    },
    {
        "alpha2": "PT",
        "flag": "🇵🇹",
        "language": {"code": "pt", "name": "Portuguese"},
        "name": "Portugal",
        "unicode": "U+1F1F5 U+1F1F9",
    },
    {
        "alpha2": "PW",
        "flag": "🇵🇼",
        "language": {"code": "en", "name": "English"},
        "name": "Palau",
        "unicode": "U+1F1F5 U+1F1FC",
    },
    {
        "alpha2": "PY",
        "flag": "🇵🇾",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Paraguay",
        "unicode": "U+1F1F5 U+1F1FE",
    },
    {
        "alpha2": "QA",
        "flag": "🇶🇦",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Qatar",
        "unicode": "U+1F1F6 U+1F1E6",
    },
    {
        "alpha2": "RE",
        "flag": "🇷🇪",
        "language": {"code": "fr", "name": "French"},
        "name": "Réunion",
        "unicode": "U+1F1F7 U+1F1EA",
    },
    {
        "alpha2": "RO",
        "flag": "🇷🇴",
        "language": {"code": "ro", "name": "Romanian"},
        "name": "Romania",
        "unicode": "U+1F1F7 U+1F1F4",
    },
    {
        "alpha2": "RS",
        "flag": "🇷🇸",
        "language": {"code": "sr", "name": "Serbian"},
        "name": "Serbia",
        "unicode": "U+1F1F7 U+1F1F8",
    },
    {
        "alpha2": "RU",
        "flag": "🇷🇺",
        "language": {"code": "ru", "name": "Russian"},
        "name": "Russian Federation",
        "unicode": "U+1F1F7 U+1F1FA",
    },
    {
        "alpha2": "RW",
        "flag": "🇷🇼",
        "language": {"code": "rw", "name": "Kinyarwanda"},
        "name": "Rwanda",
        "unicode": "U+1F1F7 U+1F1FC",
    },
    {
        "alpha2": "SA",
        "flag": "🇸🇦",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Saudi Arabia",
        "unicode": "U+1F1F8 U+1F1E6",
    },
    {
        "alpha2": "SB",
        "flag": "🇸🇧",
        "language": {"code": "en", "name": "English"},
        "name": "Solomon Islands",
        "unicode": "U+1F1F8 U+1F1E7",
    },
    {
        "alpha2": "SC",
        "flag": "🇸🇨",
        "language": {"code": "fr", "name": "French"},
        "name": "Seychelles",
        "unicode": "U+1F1F8 U+1F1E8",
    },
    {
        "alpha2": "SD",
        "flag": "🇸🇩",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Sudan",
        "unicode": "U+1F1F8 U+1F1E9",
    },
    {
        "alpha2": "SE",
        "flag": "🇸🇪",
        "language": {"code": "sv", "name": "Swedish"},
        "name": "Sweden",
        "unicode": "U+1F1F8 U+1F1EA",
    },
    {
        "alpha2": "SG",
        "flag": "🇸🇬",
        "language": {"code": "en", "name": "English"},
        "name": "Singapore",
        "unicode": "U+1F1F8 U+1F1EC",
    },
    {
        "alpha2": "SH",
        "flag": "🇸🇭",
        "language": {"code": "en", "name": "English"},
        "name": "Saint Helena, Ascension and Tristan da Cunha",
        "unicode": "U+1F1F8 U+1F1ED",
    },
    {
        "alpha2": "SI",
        "flag": "🇸🇮",
        "language": {"code": "sl", "name": "Slovene"},
        "name": "Slovenia",
        "unicode": "U+1F1F8 U+1F1EE",
    },
    {
        "alpha2": "SK",
        "flag": "🇸🇰",
        "language": {"code": "sk", "name": "Slovak"},
        "name": "Slovakia",
        "unicode": "U+1F1F8 U+1F1F0",
    },
    {
        "alpha2": "SL",
        "flag": "🇸🇱",
        "language": {"code": "en", "name": "English"},
        "name": "Sierra Leone",
        "unicode": "U+1F1F8 U+1F1F1",
    },
    {
        "alpha2": "SM",
        "flag": "🇸🇲",
        "language": {"code": "it", "name": "Italian"},
        "name": "San Marino",
        "unicode": "U+1F1F8 U+1F1F2",
    },
    {
        "alpha2": "SN",
        "flag": "🇸🇳",
        "language": {"code": "fr", "name": "French"},
        "name": "Senegal",
        "unicode": "U+1F1F8 U+1F1F3",
    },
    {
        "alpha2": "SO",
        "flag": "🇸🇴",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Somalia",
        "unicode": "U+1F1F8 U+1F1F4",
    },
    {
        "alpha2": "SR",
        "flag": "🇸🇷",
        "language": {"code": "nl", "name": "Dutch"},
        "name": "Suriname",
        "unicode": "U+1F1F8 U+1F1F7",
    },
    {
        "alpha2": "SS",
        "flag": "🇸🇸",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "South Sudan",
        "unicode": "U+1F1F8 U+1F1F8",
    },
    {
        "alpha2": "ST",
        "flag": "🇸🇹",
        "language": {"code": "pt", "name": "Portuguese"},
        "name": "Sao Tome and Principe",
        "unicode": "U+1F1F8 U+1F1F9",
    },
    {
        "alpha2": "SV",
        "flag": "🇸🇻",
        "language": {"code": "es", "name": "Spanish"},
        "name": "El Salvador",
        "unicode": "U+1F1F8 U+1F1FB",
    },
    {
        "alpha2": "SY",
        "flag": "🇸🇾",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Syrian Arab Republic",
        "unicode": "U+1F1F8 U+1F1FE",
    },
    {
        "alpha2": "SZ",
        "flag": "🇸🇿",
        "language": {"code": "en", "name": "English"},
        "name": "Swaziland",
        "unicode": "U+1F1F8 U+1F1FF",
    },
    {
        "alpha2": "TC",
        "flag": "🇹🇨",
        "language": {"code": "en", "name": "English"},
        "name": "Turks and Caicos Islands",
        "unicode": "U+1F1F9 U+1F1E8",
    },
    {
        "alpha2": "TD",
        "flag": "🇹🇩",
        "language": {"code": "fr", "name": "French"},
        "name": "Chad",
        "unicode": "U+1F1F9 U+1F1E6",
    },
    {
        "alpha2": "TF",
        "flag": "🇹🇫",
        "language": {"code": "fr", "name": "French"},
        "name": "French Southern Territories",
        "unicode": "U+1F1F9 U+1F1EB",
    },
    {
        "alpha2": "TG",
        "flag": "🇹🇬",
        "language": {"code": "fr", "name": "French"},
        "name": "Togo",
        "unicode": "U+1F1F9 U+1F1EC",
    },
    {
        "alpha2": "TH",
        "flag": "🇹🇭",
        "language": {"code": "th", "name": "Thai"},
        "name": "Thailand",
        "unicode": "U+1F1F9 U+1F1ED",
    },
    {
        "alpha2": "TJ",
        "flag": "🇹🇯",
        "language": {"code": "tg", "name": "Tajik"},
        "name": "Tajikistan",
        "unicode": "U+1F1F9 U+1F1EF",
    },
    {
        "alpha2": "TK",
        "flag": "🇹🇰",
        "language": {"code": "en", "name": "English"},
        "name": "Tokelau",
        "unicode": "U+1F1F9 U+1F1F0",
    },
    {
        "alpha2": "TL",
        "flag": "🇹🇱",
        "language": {"code": "pt", "name": "Portuguese"},
        "name": "Timor-Leste",
        "unicode": "U+1F1F9 U+1F1F1",
    },
    {
        "alpha2": "TM",
        "flag": "🇹🇲",
        "language": {"code": "tk", "name": "Turkmen"},
        "name": "Turkmenistan",
        "unicode": "U+1F1F9 U+1F1F2",
    },
    {
        "alpha2": "TN",
        "flag": "🇹🇳",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Tunisia",
        "unicode": "U+1F1F9 U+1F1F3",
    },
    {
        "alpha2": "TO",
        "flag": "🇹🇴",
        "language": {"code": "en", "name": "English"},
        "name": "Tonga",
        "unicode": "U+1F1F9 U+1F1F4",
    },
    {
        "alpha2": "TR",
        "flag": "🇹🇷",
        "language": {"code": "tr", "name": "Turkish"},
        "name": "Turkey",
        "unicode": "U+1F1F9 U+1F1F7",
    },
    {
        "alpha2": "TT",
        "flag": "🇹🇹",
        "language": {"code": "en", "name": "English"},
        "name": "Trinidad and Tobago",
        "unicode": "U+1F1F9 U+1F1F9",
    },
    {
        "alpha2": "TV",
        "flag": "🇹🇻",
        "language": {"code": "en", "name": "English"},
        "name": "Tuvalu",
        "unicode": "U+1F1F9 U+1F1FB",
    },
    {
        "alpha2": "TW",
        "flag": "🇹🇼",
        "language": {"code": "zh", "name": "Chinese"},
        "name": "Taiwan",
        "unicode": "U+1F1F9 U+1F1FC",
    },
    {
        "alpha2": "TZ",
        "flag": "🇹🇿",
        "language": {"code": "en", "name": "English"},
        "name": "United Republic of Tanzania",
        "unicode": "U+1F1F9 U+1F1FF",
    },
    {
        "alpha2": "UA",
        "flag": "🇺🇦",
        "language": {"code": "uk", "name": "Ukrainian"},
        "name": "Ukraine",
        "unicode": "U+1F1FA U+1F1E6",
    },
    {
        "alpha2": "UG",
        "flag": "🇺🇬",
        "language": {"code": "en", "name": "English"},
        "name": "Uganda",
        "unicode": "U+1F1FA U+1F1EC",
    },
    {
        "alpha2": "US",
        "flag": "🇺🇸",
        "language": {
            "code": "en",
            "iso639_2": "eng",
            "name": "English",
            "nativeName": "English",
        },
        "name": "United States of America",
        "unicode": "U+1F1FA U+1F1F8",
    },
    {
        "alpha2": "UY",
        "flag": "🇺🇾",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Uruguay",
        "unicode": "U+1F1FA U+1F1FE",
    },
    {
        "alpha2": "UZ",
        "flag": "🇺🇿",
        "language": {"code": "uz", "name": "Uzbek"},
        "name": "Uzbekistan",
        "unicode": "U+1F1FA U+1F1FF",
    },
    {
        "alpha2": "VA",
        "flag": "🇻🇦",
        "language": {"code": "fr", "name": "French"},
        "name": "Holy See",
        "unicode": "U+1F1FB U+1F1E6",
    },
    {
        "alpha2": "VC",
        "flag": "🇻🇨",
        "language": {"code": "en", "name": "English"},
        "name": "Saint Vincent and the Grenadines",
        "unicode": "U+1F1FB U+1F1E8",
    },
    {
        "alpha2": "VE",
        "flag": "🇻🇪",
        "language": {"code": "es", "name": "Spanish"},
        "name": "Venezuela (Bolivarian Republic of)",
        "unicode": "U+1F1FB U+1F1EA",
    },
    {
        "alpha2": "VG",
        "flag": "🇻🇬",
        "language": {"code": "en", "name": "English"},
        "name": "Virgin Islands (British)",
        "unicode": "U+1F1FB U+1F1EC",
    },
    {
        "alpha2": "VI",
        "flag": "🇻🇮",
        "language": {"code": "en", "name": "English"},
        "name": "Virgin Islands (U.S.)",
        "unicode": "U+1F1FB U+1F1EE",
    },
    {
        "alpha2": "VN",
        "flag": "🇻🇳",
        "language": {"code": "vi", "name": "Vietnamese"},
        "name": "Viet Nam",
        "unicode": "U+1F1FB U+1F1F3",
    },
    {
        "alpha2": "VU",
        "flag": "🇻🇺",
        "language": {"code": "en", "name": "English"},
        "name": "Vanuatu",
        "unicode": "U+1F1FB U+1F1FA",
    },
    {
        "alpha2": "WF",
        "flag": "🇼🇫",
        "language": {"code": "fr", "name": "French"},
        "name": "Wallis and Futuna",
        "unicode": "U+1F1FC U+1F1EB",
    },
    {
        "alpha2": "WS",
        "flag": "🇼🇸",
        "language": {"code": "sm", "name": "Samoan"},
        "name": "Samoa",
        "unicode": "U+1F1FC U+1F1F8",
    },
    {
        "alpha2": "XK",
        "flag": "🇽🇰",
        "language": {"code": "sq", "name": "Albanian"},
        "name": "Republic of Kosovo",
        "unicode": "U+1F1FD U+1F1F0",
    },
    {
        "alpha2": "YE",
        "flag": "🇾🇪",
        "language": {"code": "ar", "name": "Arabic"},
        "name": "Yemen",
        "unicode": "U+1F1FE U+1F1EA",
    },
    {
        "alpha2": "YT",
        "flag": "🇾🇹",
        "language": {"code": "fr", "name": "French"},
        "name": "Mayotte",
        "unicode": "U+1F1FE U+1F1F9",
    },
    {
        "alpha2": "ZA",
        "flag": "🇿🇦",
        "language": {
            "code": "en",
            "iso639_2": "eng",
            "name": "English",
            "nativeName": "English",
        },
        "name": "South Africa",
        "unicode": "U+1F1FF U+1F1E6",
    },
    {
        "alpha2": "ZM",
        "flag": "🇿🇲",
        "language": {"code": "en", "name": "English"},
        "name": "Zambia",
        "unicode": "U+1F1FF U+1F1F2",
    },
    {
        "alpha2": "ZW",
        "flag": "🇿🇼",
        "language": {
            "code": "en",
            "iso639_2": "eng",
            "name": "English",
            "nativeName": "English",
        },
        "name": "Zimbabwe",
        "unicode": "U+1F1FF U+1F1FC",
    },
]

LANGUAGE_NAME_TO_CODE = {
    "English": "en",
    "Spanish": "es",
    "German": "de",
    "French": "fr",
    "Italian": "it",
    "Portuguese": "pt",
    "Dutch": "nl",
    "Polish": "pl",
    "Russian": "ru",
    "Turkish": "tr",
    "Greek": "el",
    "Hebrew": "he",
    "Hindi": "hi",
    "Indonesian": "id",
    "Japanese": "ja",
    "Korean": "ko",
    "Ukrainian": "uk",
    "Vietnamese": "vi",
    "Chinese": "zh",
    "Persian": "fa",
    "None": "None",
}


def _check_flag(flag, country):
    return country["flag"] == flag


def _return_language(country):
    return country["language"]["name"]


def _flag_is_minor_than(flag, country):
    return country["flag"] < flag


def _binary_search(validate_func, return_func, is_minor_func, array, target, low, high):
    # array MUST be ordered
    if low > high:
        return None
    else:
        mid = (low + high) // 2
        if validate_func(target, array[mid]):
            return return_func(array[mid])
        elif is_minor_func(target, array[mid]):
            return _binary_search(
                validate_func, return_func, is_minor_func, array, target, mid + 1, high
            )
        else:
            return _binary_search(
                validate_func, return_func, is_minor_func, array, target, low, mid - 1
            )


def find_language_by_unicode(flag_unicode):
    return _binary_search(
        _check_flag,
        _return_language,
        _flag_is_minor_than,
        _countries,
        flag_unicode,
        0,
        len(_countries) - 1,
    )
