/*
 * Copyright 2010 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

/**
 * Localized names for the "lt" locale.
 */
public class LocalizedNamesImpl_lt extends LocalizedNamesImpl {

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "LT",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Pasaulis");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Šiaurės Amerika");
    namesMap.put("005", "Pietų Amerika");
    namesMap.put("009", "Okeanija");
    namesMap.put("011", "Vakarų Afrika");
    namesMap.put("013", "Centrinė Amerika");
    namesMap.put("014", "Rytų Afrika");
    namesMap.put("015", "Šiaurės Afrika");
    namesMap.put("017", "Vidurio Afrika");
    namesMap.put("018", "Pietų Afrika [018]");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Šiaurinė Amerika");
    namesMap.put("029", "Karibai");
    namesMap.put("030", "Rytų Azija");
    namesMap.put("034", "Pietų Azija");
    namesMap.put("035", "Pietryčių Azija");
    namesMap.put("039", "Pietų Europa");
    namesMap.put("053", "Australija ir Naujoji Zelandija");
    namesMap.put("054", "Melanezija");
    namesMap.put("057", "Mikronezijos regionas");
    namesMap.put("061", "Polinezija");
    namesMap.put("062", "Pietų vidurio Azija");
    namesMap.put("142", "Azija");
    namesMap.put("143", "Centrinė Azija");
    namesMap.put("145", "Vakarų Azija");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Rytų Europa");
    namesMap.put("154", "Šiaurės Europa");
    namesMap.put("155", "Vakarų Europa");
    namesMap.put("172", "Nepriklausomų Valstybių Sandrauga");
    namesMap.put("200", "Čekoslovakija");
    namesMap.put("419", "Lotynų Amerika ir Karibai");
    namesMap.put("AC", "Ascension sala");
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Jungtiniai Arabų Emyratai");
    namesMap.put("AF", "Afganistanas");
    namesMap.put("AG", "Antigva ir Barbuda");
    namesMap.put("AI", "Angilija");
    namesMap.put("AL", "Albanija");
    namesMap.put("AM", "Armėnija");
    namesMap.put("AN", "Olandijos Antilai");
    namesMap.put("AQ", "Antarktis");
    namesMap.put("AS", "Amerikos Samoa");
    namesMap.put("AT", "Austrija");
    namesMap.put("AU", "Australija");
    namesMap.put("AX", "Alandų salos");
    namesMap.put("AZ", "Azerbaidžanas");
    namesMap.put("BA", "Bosnija ir Hercegovina");
    namesMap.put("BB", "Barbadosas");
    namesMap.put("BD", "Bangladešas");
    namesMap.put("BE", "Belgija");
    namesMap.put("BF", "Burkina Fasas");
    namesMap.put("BG", "Bulgarija");
    namesMap.put("BH", "Bahreinas");
    namesMap.put("BI", "Burundis");
    namesMap.put("BJ", "Beninas");
    namesMap.put("BL", "Švento Baltramiejaus sala");
    namesMap.put("BN", "Brunėjus");
    namesMap.put("BO", "Bolivija");
    namesMap.put("BR", "Brazilija");
    namesMap.put("BS", "Bahamos");
    namesMap.put("BT", "Butanas");
    namesMap.put("BV", "Bouvet sala");
    namesMap.put("BW", "Botsvana");
    namesMap.put("BY", "Baltarusija");
    namesMap.put("BZ", "Belizas");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokosų salos");
    namesMap.put("CD", "Kongo Demokratinė Respublika");
    namesMap.put("CF", "Centrinės Afrikos Respublika");
    namesMap.put("CG", "Kongas");
    namesMap.put("CH", "Šveicarija");
    namesMap.put("CI", "Dramblio Kaulo Krantas");
    namesMap.put("CK", "Kuko salos");
    namesMap.put("CL", "Čilė");
    namesMap.put("CM", "Kamerūnas");
    namesMap.put("CN", "Kinija");
    namesMap.put("CO", "Kolumbija");
    namesMap.put("CP", "Clipperton sala");
    namesMap.put("CR", "Kosta Rika");
    namesMap.put("CS", "Serbija ir Juodkalnija");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Žaliasis Kyšulys");
    namesMap.put("CX", "Kalėdų sala");
    namesMap.put("CY", "Kipras");
    namesMap.put("CZ", "Čekija");
    namesMap.put("DE", "Vokietija");
    namesMap.put("DJ", "Džibutis");
    namesMap.put("DK", "Danija");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikos Respublika");
    namesMap.put("DZ", "Alžyras");
    namesMap.put("EA", "Ceuta ir Melilla");
    namesMap.put("EC", "Ekvadoras");
    namesMap.put("EE", "Estija");
    namesMap.put("EG", "Egiptas");
    namesMap.put("EH", "Vakarų Sachara");
    namesMap.put("ER", "Eritrėja");
    namesMap.put("ES", "Ispanija");
    namesMap.put("ET", "Etiopija");
    namesMap.put("EU", "Europos Sąjunga");
    namesMap.put("FI", "Suomija");
    namesMap.put("FJ", "Fidžis");
    namesMap.put("FK", "Falklando salos");
    namesMap.put("FM", "Mikronezija");
    namesMap.put("FO", "Farerų salos");
    namesMap.put("FR", "Prancūzija");
    namesMap.put("FX", "Prancūzija, Metropolitenas");
    namesMap.put("GA", "Gabonas");
    namesMap.put("GB", "Didžioji Britanija");
    namesMap.put("GE", "Gruzija");
    namesMap.put("GF", "Prancūzijos Gviana");
    namesMap.put("GG", "Guernsis");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Gibraltaras");
    namesMap.put("GL", "Grenlandija");
    namesMap.put("GM", "Gambija");
    namesMap.put("GN", "Gvinėja");
    namesMap.put("GP", "Gvadelupė");
    namesMap.put("GQ", "Pusiaujo Gvinėja");
    namesMap.put("GR", "Graikija");
    namesMap.put("GS", "Pietų Džordžija ir Pietų Sandvičo salos");
    namesMap.put("GT", "Gvatemala");
    namesMap.put("GU", "Guamas");
    namesMap.put("GW", "Bisau Gvinėja");
    namesMap.put("GY", "Gajana");
    namesMap.put("HK", "Honkongas");
    namesMap.put("HM", "Heardo ir McDonaldo Salų Sritis");
    namesMap.put("HN", "Hondūras");
    namesMap.put("HR", "Kroatija");
    namesMap.put("HT", "Haitis");
    namesMap.put("HU", "Vengrija");
    namesMap.put("IC", "Kanarų salos");
    namesMap.put("ID", "Indonezija");
    namesMap.put("IE", "Airija");
    namesMap.put("IL", "Izraelis");
    namesMap.put("IM", "Meino sala");
    namesMap.put("IN", "Indija");
    namesMap.put("IO", "Indijos vandenyno britų sritis");
    namesMap.put("IQ", "Irakas");
    namesMap.put("IR", "Iranas");
    namesMap.put("IS", "Islandija");
    namesMap.put("IT", "Italija");
    namesMap.put("JE", "Džersis");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordanija");
    namesMap.put("JP", "Japonija");
    namesMap.put("KE", "Kenija");
    namesMap.put("KG", "Kirgiztanas");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KI", "Kiribatis");
    namesMap.put("KM", "Komorai");
    namesMap.put("KN", "Sent Kitsas ir Nevis");
    namesMap.put("KP", "Šiaurės Korėja");
    namesMap.put("KR", "Pietų Korėja");
    namesMap.put("KW", "Kuveitas");
    namesMap.put("KY", "Kaimanų salos");
    namesMap.put("KZ", "Kazachstanas");
    namesMap.put("LA", "Laosas");
    namesMap.put("LB", "Libanas");
    namesMap.put("LC", "Šventoji Liucija");
    namesMap.put("LI", "Lichtenšteinas");
    namesMap.put("LK", "Šri Lanka");
    namesMap.put("LR", "Liberija");
    namesMap.put("LS", "Lesotas");
    namesMap.put("LT", "Lietuva");
    namesMap.put("LU", "Liuksemburgas");
    namesMap.put("LV", "Latvija");
    namesMap.put("LY", "Libija");
    namesMap.put("MA", "Marokas");
    namesMap.put("MC", "Monakas");
    namesMap.put("ME", "Juodkalnija");
    namesMap.put("MF", "Saint-Martin");
    namesMap.put("MG", "Madagaskaras");
    namesMap.put("MH", "Maršalo Salos");
    namesMap.put("MK", "Makedonija");
    namesMap.put("ML", "Malis");
    namesMap.put("MM", "Mianmaras");
    namesMap.put("MN", "Mongolija");
    namesMap.put("MO", "Macao");
    namesMap.put("MP", "Marianos šiaurinės salos");
    namesMap.put("MQ", "Martinika");
    namesMap.put("MR", "Mauritanija");
    namesMap.put("MS", "Montserratas");
    namesMap.put("MU", "Mauricijus");
    namesMap.put("MV", "Maldivai");
    namesMap.put("MW", "Malavis");
    namesMap.put("MX", "Meksika");
    namesMap.put("MY", "Malaizija");
    namesMap.put("MZ", "Mozambikas");
    namesMap.put("NA", "Namibija");
    namesMap.put("NC", "Naujoji Kaledonija");
    namesMap.put("NE", "Nigeris");
    namesMap.put("NF", "Norfolko sala");
    namesMap.put("NG", "Nigerija");
    namesMap.put("NI", "Nikaragva");
    namesMap.put("NL", "Nyderlandai");
    namesMap.put("NO", "Norvegija");
    namesMap.put("NP", "Nepalas");
    namesMap.put("NZ", "Naujoji Zelandija");
    namesMap.put("OM", "Omanas");
    namesMap.put("PF", "Prancūzų Polinezija");
    namesMap.put("PG", "Papua Naujoji Gvinėja");
    namesMap.put("PH", "Filipinai");
    namesMap.put("PK", "Pakistanas");
    namesMap.put("PL", "Lenkija");
    namesMap.put("PM", "Sen Pjeras ir Mikelonas");
    namesMap.put("PN", "Pitkernas");
    namesMap.put("PR", "Puerto Rikas");
    namesMap.put("PS", "Palestinos teritorija");
    namesMap.put("PT", "Portugalija");
    namesMap.put("PY", "Paragvajus");
    namesMap.put("QA", "Kataras");
    namesMap.put("QO", "Nuošali Okeanija");
    namesMap.put("RE", "Reunionas");
    namesMap.put("RO", "Rumunija");
    namesMap.put("RS", "Serbija");
    namesMap.put("RU", "Rusijos Federacija");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudo Arabija");
    namesMap.put("SB", "Saliamono salos");
    namesMap.put("SC", "Seišeliai");
    namesMap.put("SD", "Sudanas");
    namesMap.put("SE", "Švedija");
    namesMap.put("SG", "Singapūras");
    namesMap.put("SH", "Šventoji Elena");
    namesMap.put("SI", "Slovėnija");
    namesMap.put("SJ", "Svalbardo ir Jan Majen salos");
    namesMap.put("SK", "Slovakija");
    namesMap.put("SL", "Siera Leonė");
    namesMap.put("SM", "San Marinas");
    namesMap.put("SN", "Senegalas");
    namesMap.put("SO", "Somalis");
    namesMap.put("SR", "Surinamas");
    namesMap.put("ST", "San Tomė ir Principė");
    namesMap.put("SV", "Salvadoras");
    namesMap.put("SY", "Sirija");
    namesMap.put("SZ", "Svazilendas");
    namesMap.put("TC", "Turkso ir Caicoso salos");
    namesMap.put("TD", "Čadas");
    namesMap.put("TF", "Prancūzijos Pietų sritys");
    namesMap.put("TG", "Togas");
    namesMap.put("TH", "Tailandas");
    namesMap.put("TJ", "Tadžikistanas");
    namesMap.put("TL", "Rytų Timoras");
    namesMap.put("TM", "Turkmėnistanas");
    namesMap.put("TN", "Tunisas");
    namesMap.put("TR", "Turkija");
    namesMap.put("TT", "Trinidadas ir Tobagas");
    namesMap.put("TW", "Taivanas");
    namesMap.put("TZ", "Tanzanija");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "Jungtinių Valstijų mažosios aplinkinės salos");
    namesMap.put("US", "Jungtinės Valstijos");
    namesMap.put("UY", "Urugvajus");
    namesMap.put("UZ", "Uzbekistanas");
    namesMap.put("VA", "Vatikanas");
    namesMap.put("VC", "Šventasis Vincentas ir Grenadinai");
    namesMap.put("VE", "Venesuela");
    namesMap.put("VG", "Didžiosios Britanijos Mergelių salos");
    namesMap.put("VI", "Mergelių salos (JAV)");
    namesMap.put("VN", "Vietnamas");
    namesMap.put("WF", "Wallisas ir Futuna");
    namesMap.put("YE", "Jemenas");
    namesMap.put("YT", "Mayotte’as");
    namesMap.put("ZA", "Pietų Afrika");
    namesMap.put("ZM", "Zambija");
    namesMap.put("ZW", "Zimbabvė");
    namesMap.put("ZZ", "Nežinoma ar neteisinga sritis");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Pasaulis",
        "002": "Afrika",
        "003": "Šiaurės Amerika",
        "005": "Pietų Amerika",
        "009": "Okeanija",
        "011": "Vakarų Afrika",
        "013": "Centrinė Amerika",
        "014": "Rytų Afrika",
        "015": "Šiaurės Afrika",
        "017": "Vidurio Afrika",
        "018": "Pietų Afrika [018]",
        "019": "Amerika",
        "021": "Šiaurinė Amerika",
        "029": "Karibai",
        "030": "Rytų Azija",
        "034": "Pietų Azija",
        "035": "Pietryčių Azija",
        "039": "Pietų Europa",
        "053": "Australija ir Naujoji Zelandija",
        "054": "Melanezija",
        "057": "Mikronezijos regionas",
        "061": "Polinezija",
        "062": "Pietų vidurio Azija",
        "142": "Azija",
        "143": "Centrinė Azija",
        "145": "Vakarų Azija",
        "150": "Europa",
        "151": "Rytų Europa",
        "154": "Šiaurės Europa",
        "155": "Vakarų Europa",
        "172": "Nepriklausomų Valstybių Sandrauga",
        "200": "Čekoslovakija",
        "419": "Lotynų Amerika ir Karibai",
        "AC": "Ascension sala",
        "AD": "Andora",
        "AE": "Jungtiniai Arabų Emyratai",
        "AF": "Afganistanas",
        "AG": "Antigva ir Barbuda",
        "AI": "Angilija",
        "AL": "Albanija",
        "AM": "Armėnija",
        "AN": "Olandijos Antilai",
        "AQ": "Antarktis",
        "AS": "Amerikos Samoa",
        "AT": "Austrija",
        "AU": "Australija",
        "AX": "Alandų salos",
        "AZ": "Azerbaidžanas",
        "BA": "Bosnija ir Hercegovina",
        "BB": "Barbadosas",
        "BD": "Bangladešas",
        "BE": "Belgija",
        "BF": "Burkina Fasas",
        "BG": "Bulgarija",
        "BH": "Bahreinas",
        "BI": "Burundis",
        "BJ": "Beninas",
        "BL": "Švento Baltramiejaus sala",
        "BN": "Brunėjus",
        "BO": "Bolivija",
        "BR": "Brazilija",
        "BS": "Bahamos",
        "BT": "Butanas",
        "BV": "Bouvet sala",
        "BW": "Botsvana",
        "BY": "Baltarusija",
        "BZ": "Belizas",
        "CA": "Kanada",
        "CC": "Kokosų salos",
        "CD": "Kongo Demokratinė Respublika",
        "CF": "Centrinės Afrikos Respublika",
        "CG": "Kongas",
        "CH": "Šveicarija",
        "CI": "Dramblio Kaulo Krantas",
        "CK": "Kuko salos",
        "CL": "Čilė",
        "CM": "Kamerūnas",
        "CN": "Kinija",
        "CO": "Kolumbija",
        "CP": "Clipperton sala",
        "CR": "Kosta Rika",
        "CS": "Serbija ir Juodkalnija",
        "CU": "Kuba",
        "CV": "Žaliasis Kyšulys",
        "CX": "Kalėdų sala",
        "CY": "Kipras",
        "CZ": "Čekija",
        "DE": "Vokietija",
        "DJ": "Džibutis",
        "DK": "Danija",
        "DM": "Dominika",
        "DO": "Dominikos Respublika",
        "DZ": "Alžyras",
        "EA": "Ceuta ir Melilla",
        "EC": "Ekvadoras",
        "EE": "Estija",
        "EG": "Egiptas",
        "EH": "Vakarų Sachara",
        "ER": "Eritrėja",
        "ES": "Ispanija",
        "ET": "Etiopija",
        "EU": "Europos Sąjunga",
        "FI": "Suomija",
        "FJ": "Fidžis",
        "FK": "Falklando salos",
        "FM": "Mikronezija",
        "FO": "Farerų salos",
        "FR": "Prancūzija",
        "FX": "Prancūzija, Metropolitenas",
        "GA": "Gabonas",
        "GB": "Didžioji Britanija",
        "GE": "Gruzija",
        "GF": "Prancūzijos Gviana",
        "GG": "Guernsis",
        "GH": "Gana",
        "GI": "Gibraltaras",
        "GL": "Grenlandija",
        "GM": "Gambija",
        "GN": "Gvinėja",
        "GP": "Gvadelupė",
        "GQ": "Pusiaujo Gvinėja",
        "GR": "Graikija",
        "GS": "Pietų Džordžija ir Pietų Sandvičo salos",
        "GT": "Gvatemala",
        "GU": "Guamas",
        "GW": "Bisau Gvinėja",
        "GY": "Gajana",
        "HK": "Honkongas",
        "HM": "Heardo ir McDonaldo Salų Sritis",
        "HN": "Hondūras",
        "HR": "Kroatija",
        "HT": "Haitis",
        "HU": "Vengrija",
        "IC": "Kanarų salos",
        "ID": "Indonezija",
        "IE": "Airija",
        "IL": "Izraelis",
        "IM": "Meino sala",
        "IN": "Indija",
        "IO": "Indijos vandenyno britų sritis",
        "IQ": "Irakas",
        "IR": "Iranas",
        "IS": "Islandija",
        "IT": "Italija",
        "JE": "Džersis",
        "JM": "Jamaika",
        "JO": "Jordanija",
        "JP": "Japonija",
        "KE": "Kenija",
        "KG": "Kirgiztanas",
        "KH": "Kambodža",
        "KI": "Kiribatis",
        "KM": "Komorai",
        "KN": "Sent Kitsas ir Nevis",
        "KP": "Šiaurės Korėja",
        "KR": "Pietų Korėja",
        "KW": "Kuveitas",
        "KY": "Kaimanų salos",
        "KZ": "Kazachstanas",
        "LA": "Laosas",
        "LB": "Libanas",
        "LC": "Šventoji Liucija",
        "LI": "Lichtenšteinas",
        "LK": "Šri Lanka",
        "LR": "Liberija",
        "LS": "Lesotas",
        "LT": "Lietuva",
        "LU": "Liuksemburgas",
        "LV": "Latvija",
        "LY": "Libija",
        "MA": "Marokas",
        "MC": "Monakas",
        "ME": "Juodkalnija",
        "MF": "Saint-Martin",
        "MG": "Madagaskaras",
        "MH": "Maršalo Salos",
        "MK": "Makedonija",
        "ML": "Malis",
        "MM": "Mianmaras",
        "MN": "Mongolija",
        "MO": "Macao",
        "MP": "Marianos šiaurinės salos",
        "MQ": "Martinika",
        "MR": "Mauritanija",
        "MS": "Montserratas",
        "MU": "Mauricijus",
        "MV": "Maldivai",
        "MW": "Malavis",
        "MX": "Meksika",
        "MY": "Malaizija",
        "MZ": "Mozambikas",
        "NA": "Namibija",
        "NC": "Naujoji Kaledonija",
        "NE": "Nigeris",
        "NF": "Norfolko sala",
        "NG": "Nigerija",
        "NI": "Nikaragva",
        "NL": "Nyderlandai",
        "NO": "Norvegija",
        "NP": "Nepalas",
        "NZ": "Naujoji Zelandija",
        "OM": "Omanas",
        "PF": "Prancūzų Polinezija",
        "PG": "Papua Naujoji Gvinėja",
        "PH": "Filipinai",
        "PK": "Pakistanas",
        "PL": "Lenkija",
        "PM": "Sen Pjeras ir Mikelonas",
        "PN": "Pitkernas",
        "PR": "Puerto Rikas",
        "PS": "Palestinos teritorija",
        "PT": "Portugalija",
        "PY": "Paragvajus",
        "QA": "Kataras",
        "QO": "Nuošali Okeanija",
        "RE": "Reunionas",
        "RO": "Rumunija",
        "RS": "Serbija",
        "RU": "Rusijos Federacija",
        "RW": "Ruanda",
        "SA": "Saudo Arabija",
        "SB": "Saliamono salos",
        "SC": "Seišeliai",
        "SD": "Sudanas",
        "SE": "Švedija",
        "SG": "Singapūras",
        "SH": "Šventoji Elena",
        "SI": "Slovėnija",
        "SJ": "Svalbardo ir Jan Majen salos",
        "SK": "Slovakija",
        "SL": "Siera Leonė",
        "SM": "San Marinas",
        "SN": "Senegalas",
        "SO": "Somalis",
        "SR": "Surinamas",
        "ST": "San Tomė ir Principė",
        "SV": "Salvadoras",
        "SY": "Sirija",
        "SZ": "Svazilendas",
        "TC": "Turkso ir Caicoso salos",
        "TD": "Čadas",
        "TF": "Prancūzijos Pietų sritys",
        "TG": "Togas",
        "TH": "Tailandas",
        "TJ": "Tadžikistanas",
        "TL": "Rytų Timoras",
        "TM": "Turkmėnistanas",
        "TN": "Tunisas",
        "TR": "Turkija",
        "TT": "Trinidadas ir Tobagas",
        "TW": "Taivanas",
        "TZ": "Tanzanija",
        "UA": "Ukraina",
        "UM": "Jungtinių Valstijų mažosios aplinkinės salos",
        "US": "Jungtinės Valstijos",
        "UY": "Urugvajus",
        "UZ": "Uzbekistanas",
        "VA": "Vatikanas",
        "VC": "Šventasis Vincentas ir Grenadinai",
        "VE": "Venesuela",
        "VG": "Didžiosios Britanijos Mergelių salos",
        "VI": "Mergelių salos (JAV)",
        "VN": "Vietnamas",
        "WF": "Wallisas ir Futuna",
        "YE": "Jemenas",
        "YT": "Mayotte’as",
        "ZA": "Pietų Afrika",
        "ZM": "Zambija",
        "ZW": "Zimbabvė",
        "ZZ": "Nežinoma ar neteisinga sritis"
    };
  }-*/;
}
