/*
 * Copyright 2014 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA:
//  cldrVersion=25
//  date=$Date: 2013-08-29 04:32:04 +0200 (Thu, 29 Aug 2013) $
//  number=$Revision: 9287 $
//  type=uz

/**
 * Localized names for the "uz" locale.
 */
public class LocalizedNamesImpl_uz extends LocalizedNamesImpl {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AF",
        "AX",
        "AL",
        "AS",
        "AD",
        "AI",
        "AO",
        "AQ",
        "AG",
        "VI",
        "UM",
        "AR",
        "AM",
        "AW",
        "AU",
        "AT",
        "BS",
        "BH",
        "BD",
        "BB",
        "BE",
        "BZ",
        "BY",
        "BJ",
        "BM",
        "AE",
        "GB",
        "BG",
        "BO",
        "BA",
        "BW",
        "BR",
        "IO",
        "VG",
        "BN",
        "BF",
        "BI",
        "BT",
        "BV",
        "TD",
        "ME",
        "CZ",
        "CL",
        "DK",
        "DG",
        "JE",
        "DJ",
        "DM",
        "DO",
        "ET",
        "EC",
        "GQ",
        "SV",
        "ER",
        "IR",
        "EE",
        "PS",
        "FO",
        "FJ",
        "PH",
        "FI",
        "FK",
        "FR",
        "TF",
        "GF",
        "PF",
        "GA",
        "HT",
        "GM",
        "GH",
        "GY",
        "HM",
        "GG",
        "GI",
        "HN",
        "HK",
        "GD",
        "GL",
        "GR",
        "GE",
        "GU",
        "GP",
        "GT",
        "GN",
        "GW",
        "EH",
        "IN",
        "ID",
        "JO",
        "IE",
        "IQ",
        "IS",
        "ES",
        "IL",
        "IT",
        "ZA",
        "GS",
        "KR",
        "SS",
        "DZ",
        "CV",
        "KH",
        "CM",
        "CA",
        "IC",
        "BQ",
        "KY",
        "KE",
        "CY",
        "KI",
        "CP",
        "CC",
        "CO",
        "KM",
        "CG",
        "CD",
        "XK",
        "CR",
        "CI",
        "CU",
        "CK",
        "CW",
        "KW",
        "LA",
        "LV",
        "LS",
        "LR",
        "LT",
        "LB",
        "LY",
        "LI",
        "LU",
        "MG",
        "MO",
        "MK",
        "MW",
        "MY",
        "MV",
        "ML",
        "MT",
        "CF",
        "MA",
        "MH",
        "MQ",
        "MU",
        "MR",
        "YT",
        "MX",
        "IM",
        "FM",
        "EG",
        "MD",
        "MC",
        "MS",
        "MZ",
        "MN",
        "BL",
        "SH",
        "MM",
        "NA",
        "NR",
        "NP",
        "NL",
        "NE",
        "NG",
        "NI",
        "NU",
        "NF",
        "NO",
        "DE",
        "AZ",
        "UZ",
        "PW",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PK",
        "PL",
        "PT",
        "PR",
        "QA",
        "KG",
        "KZ",
        "US",
        "RE",
        "CX",
        "RU",
        "RW",
        "RO",
        "WS",
        "SM",
        "ST",
        "SA",
        "SJ",
        "SN",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "RS",
        "SC",
        "EA",
        "TL",
        "KP",
        "MP",
        "LK",
        "SE",
        "CH",
        "SG",
        "SX",
        "SK",
        "SI",
        "SB",
        "SO",
        "SD",
        "SR",
        "SY",
        "SZ",
        "SL",
        "TZ",
        "TH",
        "TW",
        "TG",
        "TJ",
        "TK",
        "TO",
        "TT",
        "TA",
        "TN",
        "TR",
        "TM",
        "TC",
        "TV",
        "WF",
        "UG",
        "UA",
        "OM",
        "UY",
        "VU",
        "VA",
        "VE",
        "HU",
        "AC",
        "VN",
        "CN",
        "HR",
        "YE",
        "JM",
        "NC",
        "NZ",
        "JP",
        "EU",
        "QO",
        "ZM",
        "ZW",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Dunyo");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Shimoliy Amerika");
    namesMap.put("005", "Janubiy Amerika");
    namesMap.put("009", "Okeaniya");
    namesMap.put("011", "Gʻarbiy Afrika");
    namesMap.put("013", "Markaziy Amerika");
    namesMap.put("014", "Sharqiy Afrika");
    namesMap.put("015", "Shimoliy Afrika");
    namesMap.put("017", "Markaziy Afrika");
    namesMap.put("018", "Janubi-Afrika");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Shimoli-Amerika");
    namesMap.put("029", "Karib havzasi");
    namesMap.put("030", "Sharqiy Osiyo");
    namesMap.put("034", "Janubiy Osiyo");
    namesMap.put("035", "Janubiy-Sharqiy Osiyo");
    namesMap.put("039", "Janubiy Yevropa");
    namesMap.put("053", "Avstralaziya");
    namesMap.put("054", "Melaneziya");
    namesMap.put("057", "Mikroneziya mintaqasi");
    namesMap.put("061", "Polineziya");
    namesMap.put("142", "Osiyo");
    namesMap.put("143", "Markaziy Osiyo");
    namesMap.put("145", "Gʻarbiy Osiyo");
    namesMap.put("150", "Yevropa");
    namesMap.put("151", "Sharqiy Yevropa");
    namesMap.put("154", "Shimoliy Yevropa");
    namesMap.put("155", "Gʻarbiy Yevropa");
    namesMap.put("419", "Lotin Amerikasi");
    namesMap.put("AC", "Vozneseniye oroli");
    namesMap.put("AE", "Birlashgan Arab Amirliklari");
    namesMap.put("AF", "Afgʻoniston");
    namesMap.put("AG", "Antigua va Barbados");
    namesMap.put("AI", "Angila");
    namesMap.put("AL", "Albaniya");
    namesMap.put("AM", "Armaniston");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AS", "Amerika Samoasi");
    namesMap.put("AT", "Avstriya");
    namesMap.put("AU", "Avstraliya");
    namesMap.put("AX", "Aland orollari");
    namesMap.put("AZ", "Ozarbayjon");
    namesMap.put("BA", "Bosniya va Gertsegovina");
    namesMap.put("BE", "Belgiya");
    namesMap.put("BF", "Burkina-Faso");
    namesMap.put("BG", "Bolgariya");
    namesMap.put("BH", "Bahrayn");
    namesMap.put("BL", "Muqaddas Varfalomey");
    namesMap.put("BN", "Bruney");
    namesMap.put("BO", "Boliviya");
    namesMap.put("BQ", "Karib Niderlandiyasi");
    namesMap.put("BR", "Braziliya");
    namesMap.put("BS", "Bagama orollari");
    namesMap.put("BT", "Butan");
    namesMap.put("BV", "Buvet oroli");
    namesMap.put("BW", "Botsvanna");
    namesMap.put("BY", "Belorusiya");
    namesMap.put("BZ", "Beliz");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokos (Kiling) orollari");
    namesMap.put("CD", "Kongo-Kinshasa");
    namesMap.put("CF", "Markaziy Afrika Respublikasi");
    namesMap.put("CG", "Kongo Brazzavil");
    namesMap.put("CH", "Shveysariya");
    namesMap.put("CI", "Kot-d-Ivuar");
    namesMap.put("CK", "Kuk orollari");
    namesMap.put("CL", "Chili");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Xitoy");
    namesMap.put("CO", "Kolumbiya");
    namesMap.put("CP", "Klipperton oroli");
    namesMap.put("CR", "Kosta-Rika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kabo-Verde");
    namesMap.put("CW", "Kurasao");
    namesMap.put("CX", "Rojdestvo oroli");
    namesMap.put("CY", "Kipr");
    namesMap.put("CZ", "Chexiya Respublikasi");
    namesMap.put("DE", "Olmoniya");
    namesMap.put("DG", "Diyego Garsiya");
    namesMap.put("DJ", "Djibuti");
    namesMap.put("DK", "Daniya");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikan Respublikasi");
    namesMap.put("DZ", "Jazoir");
    namesMap.put("EA", "Seyta va Melilla");
    namesMap.put("EC", "Ekvador");
    namesMap.put("EE", "Estoniya");
    namesMap.put("EG", "Misr");
    namesMap.put("EH", "Gʻarbiy Sahroi Kabir");
    namesMap.put("ER", "Eritreya");
    namesMap.put("ES", "Ispaniya");
    namesMap.put("ET", "Efiopiya");
    namesMap.put("EU", "Yevropa Ittifoqi");
    namesMap.put("FI", "Finlyandiya");
    namesMap.put("FJ", "Fiji orollari");
    namesMap.put("FK", "Folklend orollari");
    namesMap.put("FM", "Mikroneziya");
    namesMap.put("FO", "Farer orollari");
    namesMap.put("FR", "Fransiya");
    namesMap.put("GB", "Birlashgan Qirollik");
    namesMap.put("GE", "Gruziya");
    namesMap.put("GF", "Frantsuz Gvianasi");
    namesMap.put("GG", "Gernsi");
    namesMap.put("GH", "Gana");
    namesMap.put("GL", "Grenlandiya");
    namesMap.put("GM", "Gambiya");
    namesMap.put("GN", "Gvineya");
    namesMap.put("GP", "Gvadelupe");
    namesMap.put("GQ", "Ekvatorial Gvineya");
    namesMap.put("GR", "Gretsiya");
    namesMap.put("GS", "Janubiy Djordjiya va Janubiy Sendvich orollari");
    namesMap.put("GT", "Gvatemala");
    namesMap.put("GW", "Gvineya-Bisau");
    namesMap.put("GY", "Gayana");
    namesMap.put("HK", "Gonkong Xitoy MMH");
    namesMap.put("HM", "Gerd oroli va MakDonald orollari");
    namesMap.put("HN", "Gonduras");
    namesMap.put("HR", "Xorvatiya");
    namesMap.put("HT", "Gaiti");
    namesMap.put("HU", "Vengriya");
    namesMap.put("IC", "Kanar orollari");
    namesMap.put("ID", "Indoneziya");
    namesMap.put("IE", "Irlandiya");
    namesMap.put("IL", "Isroil");
    namesMap.put("IM", "Men oroli");
    namesMap.put("IN", "Hindiston");
    namesMap.put("IO", "Britaniya Hind okeani hududi");
    namesMap.put("IQ", "Iroq");
    namesMap.put("IR", "Eron");
    namesMap.put("IS", "Islandiya");
    namesMap.put("IT", "Italiya");
    namesMap.put("JE", "Djersi");
    namesMap.put("JM", "Yamayka");
    namesMap.put("JO", "Iordaniya");
    namesMap.put("JP", "Yaponiya");
    namesMap.put("KE", "Keniya");
    namesMap.put("KG", "Qirgʻiziston");
    namesMap.put("KH", "Kambodja");
    namesMap.put("KM", "Komor orollari");
    namesMap.put("KN", "Sent-Kits va Nevis");
    namesMap.put("KP", "Shimoliy Koreya");
    namesMap.put("KR", "Janubiy Koreya");
    namesMap.put("KW", "Kuvayt");
    namesMap.put("KY", "Kayman orollari");
    namesMap.put("KZ", "Qozogʻiston");
    namesMap.put("LB", "Livan");
    namesMap.put("LC", "Sent-Lyusiya");
    namesMap.put("LI", "Lixtenshteyn");
    namesMap.put("LK", "Shri-Lanka");
    namesMap.put("LR", "Liberiya");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litva");
    namesMap.put("LU", "Lyuksemburg");
    namesMap.put("LV", "Latviya");
    namesMap.put("LY", "Liviya");
    namesMap.put("MA", "Marokash");
    namesMap.put("MC", "Monako");
    namesMap.put("ME", "Chernogoriya");
    namesMap.put("MF", "Sent-Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshal orollari");
    namesMap.put("MK", "Makedoniya");
    namesMap.put("MM", "Myanma (Birma)");
    namesMap.put("MN", "Mugʻuliston");
    namesMap.put("MO", "Makao Xitoy MMH");
    namesMap.put("MP", "Shimoliy Marianna orollari");
    namesMap.put("MQ", "Martinika");
    namesMap.put("MR", "Mavritaniya");
    namesMap.put("MU", "Mavrikiy");
    namesMap.put("MV", "Maldiv orollari");
    namesMap.put("MW", "Malavi");
    namesMap.put("MX", "Meksika");
    namesMap.put("MY", "Malayziya");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Namibiya");
    namesMap.put("NC", "Yangi Kaledoniya");
    namesMap.put("NF", "Norfolk orollari");
    namesMap.put("NG", "Nigeriya");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Niderlandiya");
    namesMap.put("NO", "Norvegiya");
    namesMap.put("NU", "Niuye");
    namesMap.put("NZ", "Yangi Zelandiya");
    namesMap.put("OM", "Ummon");
    namesMap.put("PF", "Frantsuz Polineziyasi");
    namesMap.put("PG", "Papua Yangi Gvineya");
    namesMap.put("PH", "Filippin");
    namesMap.put("PK", "Pokiston");
    namesMap.put("PL", "Polsha");
    namesMap.put("PM", "Sent-Pyer va Mikelon");
    namesMap.put("PN", "Pitkarin orollari");
    namesMap.put("PR", "Puerto-Riko");
    namesMap.put("PS", "Falastin hududi");
    namesMap.put("PT", "Portugaliya");
    namesMap.put("PY", "Paragvay");
    namesMap.put("QO", "Yondosh Okeaniya");
    namesMap.put("RE", "Reyunon");
    namesMap.put("RO", "Ruminiya");
    namesMap.put("RS", "Serbiya");
    namesMap.put("RU", "Rossiya");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudiya Arabistoni");
    namesMap.put("SB", "Solomon orollari");
    namesMap.put("SC", "Seyshel orollari");
    namesMap.put("SE", "Shvetsiya");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Muqaddas Yelena orollari");
    namesMap.put("SI", "Sloveniya");
    namesMap.put("SJ", "Savlbard va Jan Mayen");
    namesMap.put("SK", "Slovakiya");
    namesMap.put("SL", "Syerra-Leone");
    namesMap.put("SM", "San-Marino");
    namesMap.put("SO", "Somali");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Janubiy Sudan");
    namesMap.put("ST", "San-Tome va Prinsipi");
    namesMap.put("SV", "El-Salvador");
    namesMap.put("SX", "Sint-Maarten");
    namesMap.put("SY", "Suriya");
    namesMap.put("SZ", "Svazilend");
    namesMap.put("TA", "Tristan de Kuna");
    namesMap.put("TC", "Turks va Kaykos orollari");
    namesMap.put("TF", "Frantsiya janubiy xududlari");
    namesMap.put("TH", "Tayland");
    namesMap.put("TJ", "Tojikiston");
    namesMap.put("TL", "Sharqiy-Timor");
    namesMap.put("TM", "Turkmaniston");
    namesMap.put("TN", "Tunis");
    namesMap.put("TR", "Turkiya");
    namesMap.put("TT", "Trinidad va Tobago");
    namesMap.put("TW", "Tayvan");
    namesMap.put("TZ", "Tanzaniya");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "AQSH yondosh orollari");
    namesMap.put("US", "Qoʻshma Shtatlar");
    namesMap.put("UY", "Urugvay");
    namesMap.put("UZ", "Oʻzbekiston");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Sent-Vinsent va Grenadin");
    namesMap.put("VE", "Venesuela");
    namesMap.put("VG", "Britaniya Virdjiniya orollari");
    namesMap.put("VI", "AQSH Virdjiniya orollari");
    namesMap.put("VN", "Vyetnam");
    namesMap.put("WF", "Uellis va Futuna");
    namesMap.put("YE", "Yaman");
    namesMap.put("YT", "Mayotta");
    namesMap.put("ZA", "Janubiy Afrika");
    namesMap.put("ZM", "Zambiya");
    namesMap.put("ZW", "Zimbabve");
    namesMap.put("ZZ", "Nomaʼlum hudud");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Dunyo",
        "002": "Afrika",
        "003": "Shimoliy Amerika",
        "005": "Janubiy Amerika",
        "009": "Okeaniya",
        "011": "Gʻarbiy Afrika",
        "013": "Markaziy Amerika",
        "014": "Sharqiy Afrika",
        "015": "Shimoliy Afrika",
        "017": "Markaziy Afrika",
        "018": "Janubi-Afrika",
        "019": "Amerika",
        "021": "Shimoli-Amerika",
        "029": "Karib havzasi",
        "030": "Sharqiy Osiyo",
        "034": "Janubiy Osiyo",
        "035": "Janubiy-Sharqiy Osiyo",
        "039": "Janubiy Yevropa",
        "053": "Avstralaziya",
        "054": "Melaneziya",
        "057": "Mikroneziya mintaqasi",
        "061": "Polineziya",
        "142": "Osiyo",
        "143": "Markaziy Osiyo",
        "145": "Gʻarbiy Osiyo",
        "150": "Yevropa",
        "151": "Sharqiy Yevropa",
        "154": "Shimoliy Yevropa",
        "155": "Gʻarbiy Yevropa",
        "419": "Lotin Amerikasi",
        "AC": "Vozneseniye oroli",
        "AE": "Birlashgan Arab Amirliklari",
        "AF": "Afgʻoniston",
        "AG": "Antigua va Barbados",
        "AI": "Angila",
        "AL": "Albaniya",
        "AM": "Armaniston",
        "AQ": "Antarktika",
        "AS": "Amerika Samoasi",
        "AT": "Avstriya",
        "AU": "Avstraliya",
        "AX": "Aland orollari",
        "AZ": "Ozarbayjon",
        "BA": "Bosniya va Gertsegovina",
        "BE": "Belgiya",
        "BF": "Burkina-Faso",
        "BG": "Bolgariya",
        "BH": "Bahrayn",
        "BL": "Muqaddas Varfalomey",
        "BN": "Bruney",
        "BO": "Boliviya",
        "BQ": "Karib Niderlandiyasi",
        "BR": "Braziliya",
        "BS": "Bagama orollari",
        "BT": "Butan",
        "BV": "Buvet oroli",
        "BW": "Botsvanna",
        "BY": "Belorusiya",
        "BZ": "Beliz",
        "CA": "Kanada",
        "CC": "Kokos (Kiling) orollari",
        "CD": "Kongo-Kinshasa",
        "CF": "Markaziy Afrika Respublikasi",
        "CG": "Kongo Brazzavil",
        "CH": "Shveysariya",
        "CI": "Kot-d-Ivuar",
        "CK": "Kuk orollari",
        "CL": "Chili",
        "CM": "Kamerun",
        "CN": "Xitoy",
        "CO": "Kolumbiya",
        "CP": "Klipperton oroli",
        "CR": "Kosta-Rika",
        "CU": "Kuba",
        "CV": "Kabo-Verde",
        "CW": "Kurasao",
        "CX": "Rojdestvo oroli",
        "CY": "Kipr",
        "CZ": "Chexiya Respublikasi",
        "DE": "Olmoniya",
        "DG": "Diyego Garsiya",
        "DJ": "Djibuti",
        "DK": "Daniya",
        "DM": "Dominika",
        "DO": "Dominikan Respublikasi",
        "DZ": "Jazoir",
        "EA": "Seyta va Melilla",
        "EC": "Ekvador",
        "EE": "Estoniya",
        "EG": "Misr",
        "EH": "Gʻarbiy Sahroi Kabir",
        "ER": "Eritreya",
        "ES": "Ispaniya",
        "ET": "Efiopiya",
        "EU": "Yevropa Ittifoqi",
        "FI": "Finlyandiya",
        "FJ": "Fiji orollari",
        "FK": "Folklend orollari",
        "FM": "Mikroneziya",
        "FO": "Farer orollari",
        "FR": "Fransiya",
        "GB": "Birlashgan Qirollik",
        "GE": "Gruziya",
        "GF": "Frantsuz Gvianasi",
        "GG": "Gernsi",
        "GH": "Gana",
        "GL": "Grenlandiya",
        "GM": "Gambiya",
        "GN": "Gvineya",
        "GP": "Gvadelupe",
        "GQ": "Ekvatorial Gvineya",
        "GR": "Gretsiya",
        "GS": "Janubiy Djordjiya va Janubiy Sendvich orollari",
        "GT": "Gvatemala",
        "GW": "Gvineya-Bisau",
        "GY": "Gayana",
        "HK": "Gonkong Xitoy MMH",
        "HM": "Gerd oroli va MakDonald orollari",
        "HN": "Gonduras",
        "HR": "Xorvatiya",
        "HT": "Gaiti",
        "HU": "Vengriya",
        "IC": "Kanar orollari",
        "ID": "Indoneziya",
        "IE": "Irlandiya",
        "IL": "Isroil",
        "IM": "Men oroli",
        "IN": "Hindiston",
        "IO": "Britaniya Hind okeani hududi",
        "IQ": "Iroq",
        "IR": "Eron",
        "IS": "Islandiya",
        "IT": "Italiya",
        "JE": "Djersi",
        "JM": "Yamayka",
        "JO": "Iordaniya",
        "JP": "Yaponiya",
        "KE": "Keniya",
        "KG": "Qirgʻiziston",
        "KH": "Kambodja",
        "KM": "Komor orollari",
        "KN": "Sent-Kits va Nevis",
        "KP": "Shimoliy Koreya",
        "KR": "Janubiy Koreya",
        "KW": "Kuvayt",
        "KY": "Kayman orollari",
        "KZ": "Qozogʻiston",
        "LB": "Livan",
        "LC": "Sent-Lyusiya",
        "LI": "Lixtenshteyn",
        "LK": "Shri-Lanka",
        "LR": "Liberiya",
        "LS": "Lesoto",
        "LT": "Litva",
        "LU": "Lyuksemburg",
        "LV": "Latviya",
        "LY": "Liviya",
        "MA": "Marokash",
        "MC": "Monako",
        "ME": "Chernogoriya",
        "MF": "Sent-Martin",
        "MG": "Madagaskar",
        "MH": "Marshal orollari",
        "MK": "Makedoniya",
        "MM": "Myanma (Birma)",
        "MN": "Mugʻuliston",
        "MO": "Makao Xitoy MMH",
        "MP": "Shimoliy Marianna orollari",
        "MQ": "Martinika",
        "MR": "Mavritaniya",
        "MU": "Mavrikiy",
        "MV": "Maldiv orollari",
        "MW": "Malavi",
        "MX": "Meksika",
        "MY": "Malayziya",
        "MZ": "Mozambik",
        "NA": "Namibiya",
        "NC": "Yangi Kaledoniya",
        "NF": "Norfolk orollari",
        "NG": "Nigeriya",
        "NI": "Nikaragua",
        "NL": "Niderlandiya",
        "NO": "Norvegiya",
        "NU": "Niuye",
        "NZ": "Yangi Zelandiya",
        "OM": "Ummon",
        "PF": "Frantsuz Polineziyasi",
        "PG": "Papua Yangi Gvineya",
        "PH": "Filippin",
        "PK": "Pokiston",
        "PL": "Polsha",
        "PM": "Sent-Pyer va Mikelon",
        "PN": "Pitkarin orollari",
        "PR": "Puerto-Riko",
        "PS": "Falastin hududi",
        "PT": "Portugaliya",
        "PY": "Paragvay",
        "QO": "Yondosh Okeaniya",
        "RE": "Reyunon",
        "RO": "Ruminiya",
        "RS": "Serbiya",
        "RU": "Rossiya",
        "RW": "Ruanda",
        "SA": "Saudiya Arabistoni",
        "SB": "Solomon orollari",
        "SC": "Seyshel orollari",
        "SE": "Shvetsiya",
        "SG": "Singapur",
        "SH": "Muqaddas Yelena orollari",
        "SI": "Sloveniya",
        "SJ": "Savlbard va Jan Mayen",
        "SK": "Slovakiya",
        "SL": "Syerra-Leone",
        "SM": "San-Marino",
        "SO": "Somali",
        "SR": "Surinam",
        "SS": "Janubiy Sudan",
        "ST": "San-Tome va Prinsipi",
        "SV": "El-Salvador",
        "SX": "Sint-Maarten",
        "SY": "Suriya",
        "SZ": "Svazilend",
        "TA": "Tristan de Kuna",
        "TC": "Turks va Kaykos orollari",
        "TF": "Frantsiya janubiy xududlari",
        "TH": "Tayland",
        "TJ": "Tojikiston",
        "TL": "Sharqiy-Timor",
        "TM": "Turkmaniston",
        "TN": "Tunis",
        "TR": "Turkiya",
        "TT": "Trinidad va Tobago",
        "TW": "Tayvan",
        "TZ": "Tanzaniya",
        "UA": "Ukraina",
        "UM": "AQSH yondosh orollari",
        "US": "Qoʻshma Shtatlar",
        "UY": "Urugvay",
        "UZ": "Oʻzbekiston",
        "VA": "Vatikan",
        "VC": "Sent-Vinsent va Grenadin",
        "VE": "Venesuela",
        "VG": "Britaniya Virdjiniya orollari",
        "VI": "AQSH Virdjiniya orollari",
        "VN": "Vyetnam",
        "WF": "Uellis va Futuna",
        "YE": "Yaman",
        "YT": "Mayotta",
        "ZA": "Janubiy Afrika",
        "ZM": "Zambiya",
        "ZW": "Zimbabve",
        "ZZ": "Nomaʼlum hudud"
    };
  }-*/;
}
