/*
 * Copyright 2012 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",
        "AU",
        "AT",
        "AZ",
        "BS",
        "BH",
        "BY",
        "BD",
        "BB",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "GW",
        "BO",
        "BA",
        "BW",
        "BR",
        "BN",
        "BG",
        "BF",
        "BI",
        "BT",
        "BV",
        "CF",
        "TD",
        "CZ",
        "CL",
        "AC",
        "DK",
        "GB",
        "VG",
        "DG",
        "DM",
        "DO",
        "CI",
        "JE",
        "DJ",
        "EG",
        "EC",
        "ER",
        "EE",
        "ET",
        "EU",
        "FO",
        "FJ",
        "PH",
        "FK",
        "GA",
        "GY",
        "GM",
        "GH",
        "GG",
        "GI",
        "GR",
        "GD",
        "GL",
        "GE",
        "GU",
        "GP",
        "GT",
        "GN",
        "HT",
        "HM",
        "HN",
        "IN",
        "IO",
        "ID",
        "HK",
        "MO",
        "IQ",
        "IR",
        "IS",
        "ES",
        "IT",
        "IL",
        "JM",
        "JP",
        "YE",
        "JO",
        "US",
        "AE",
        "UM",
        "VI",
        "ME",
        "KY",
        "CX",
        "KH",
        "CM",
        "CA",
        "IC",
        "BQ",
        "QA",
        "KZ",
        "KE",
        "CN",
        "CY",
        "KG",
        "KI",
        "CW",
        "CP",
        "CC",
        "CO",
        "KM",
        "CG",
        "CD",
        "XK",
        "CR",
        "HR",
        "CU",
        "CK",
        "KW",
        "LA",
        "LV",
        "PL",
        "LS",
        "LB",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MG",
        "YT",
        "MK",
        "MY",
        "MW",
        "MV",
        "ML",
        "MT",
        "MP",
        "MA",
        "MH",
        "MQ",
        "MU",
        "MR",
        "MX",
        "IM",
        "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",
        "SS",
        "PN",
        "PT",
        "FR",
        "GF",
        "TF",
        "PF",
        "PR",
        "GQ",
        "RE",
        "TL",
        "RW",
        "RO",
        "RU",
        "SB",
        "SV",
        "WS",
        "SM",
        "ST",
        "SA",
        "SC",
        "BL",
        "SN",
        "MF",
        "PM",
        "KN",
        "RS",
        "EA",
        "SL",
        "SG",
        "SX",
        "SY",
        "SK",
        "SI",
        "SO",
        "SD",
        "FI",
        "SR",
        "SJ",
        "SZ",
        "KP",
        "LK",
        "SH",
        "SE",
        "CH",
        "VC",
        "LC",
        "TJ",
        "TH",
        "TW",
        "TZ",
        "TC",
        "TG",
        "TK",
        "TO",
        "TT",
        "TA",
        "TN",
        "TR",
        "TM",
        "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", "Pietinė Afrika");
    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", "Australazija");
    namesMap.put("054", "Melanezija");
    namesMap.put("057", "Mikronezijos regionas");
    namesMap.put("061", "Polinezija");
    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("419", "Lotynų Amerika");
    namesMap.put("AC", "Dangun Žengimo 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", "Antarktida");
    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", "Sen Bartelemi");
    namesMap.put("BN", "Brunėjus");
    namesMap.put("BO", "Bolivija");
    namesMap.put("BQ", "Karibų Nyderlandai");
    namesMap.put("BR", "Brazilija");
    namesMap.put("BS", "Bahamos");
    namesMap.put("BT", "Butanas");
    namesMap.put("BV", "Buvė Sala");
    namesMap.put("BW", "Botsvana");
    namesMap.put("BY", "Baltarusija");
    namesMap.put("BZ", "Belizas");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokosų (Kilingo) Salos");
    namesMap.put("CD", "Kongas-Kinšasa");
    namesMap.put("CF", "Centrinės Afrikos Respublika");
    namesMap.put("CG", "Kongas-Brazavilis");
    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", "Klipertono sala");
    namesMap.put("CR", "Kosta Rika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Žaliasis Kyšulys");
    namesMap.put("CW", "Kiurasao");
    namesMap.put("CX", "Kalėdų Sala");
    namesMap.put("CY", "Kipras");
    namesMap.put("CZ", "Čekija");
    namesMap.put("DE", "Vokietija");
    namesMap.put("DG", "Diego Garsija");
    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", "Seuta ir Melila");
    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", "Folklando Salos");
    namesMap.put("FM", "Mikronezija");
    namesMap.put("FO", "Farerų Salos");
    namesMap.put("FR", "Prancūzija");
    namesMap.put("GA", "Gabonas");
    namesMap.put("GB", "Didžioji Britanija");
    namesMap.put("GE", "Gruzija");
    namesMap.put("GF", "Prancūzijos Gviana");
    namesMap.put("GG", "Gernsis");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Gibraltaras");
    namesMap.put("GL", "Grenlandija");
    namesMap.put("GM", "Gambija");
    namesMap.put("GN", "Gvinėja");
    namesMap.put("GP", "Gvadelupa");
    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", "Ypatingasis Administracinis Kinijos Regionas Honkongas");
    namesMap.put("HM", "Herdo ir Makdonaldo Salos");
    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", "Meno 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", "Kirgizija");
    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", "Sen Martenas");
    namesMap.put("MG", "Madagaskaras");
    namesMap.put("MH", "Maršalo Salos");
    namesMap.put("MK", "Makedonija");
    namesMap.put("ML", "Malis");
    namesMap.put("MM", "Mianmaras (Birma)");
    namesMap.put("MN", "Mongolija");
    namesMap.put("MO", "Ypatingasis Administracinis Kinijos Regionas Makao");
    namesMap.put("MP", "Marianos Šiaurinės Salos");
    namesMap.put("MQ", "Martinika");
    namesMap.put("MR", "Mauritanija");
    namesMap.put("MS", "Montseratas");
    namesMap.put("MU", "Mauricijus");
    namesMap.put("MV", "Maldyvai");
    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("NU", "Niujė");
    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", "Reunjonas");
    namesMap.put("RO", "Rumunija");
    namesMap.put("RS", "Serbija");
    namesMap.put("RU", "Rusija");
    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", "Šv. Elenos Sala");
    namesMap.put("SI", "Slovėnija");
    namesMap.put("SJ", "Svalbardas ir Janas Majenas");
    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("SS", "Pietų Sudanas");
    namesMap.put("ST", "San Tomė ir Prinsipė");
    namesMap.put("SV", "Salvadoras");
    namesMap.put("SX", "Sint Martenas");
    namesMap.put("SY", "Sirija");
    namesMap.put("SZ", "Svazilandas");
    namesMap.put("TA", "Tristanas da Kunja");
    namesMap.put("TC", "Terkso ir Kaikoso Salos");
    namesMap.put("TD", "Čadas");
    namesMap.put("TF", "Prancūzijos Pietų sritys");
    namesMap.put("TG", "Togas");
    namesMap.put("TH", "Tailandas");
    namesMap.put("TJ", "Tadžikija");
    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 Tolimosios Salos");
    namesMap.put("US", "Jungtinės Valstijos");
    namesMap.put("UY", "Urugvajus");
    namesMap.put("UZ", "Uzbekistanas");
    namesMap.put("VA", "Vatikano Miesto Valstybė");
    namesMap.put("VC", "Šventasis Vincentas ir Grenadinai");
    namesMap.put("VE", "Venesuela");
    namesMap.put("VG", "Didžiosios Britanijos Mergelių Salos");
    namesMap.put("VI", "Jungtinių Valstijų Mergelių Salos");
    namesMap.put("VN", "Vietnamas");
    namesMap.put("WF", "Volisas ir Futuna");
    namesMap.put("XK", "Kosovas");
    namesMap.put("YE", "Jemenas");
    namesMap.put("YT", "Majotas");
    namesMap.put("ZA", "Pietų Afrika");
    namesMap.put("ZM", "Zambija");
    namesMap.put("ZW", "Zimbabvė");
    namesMap.put("ZZ", "nežinoma 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": "Pietinė Afrika",
        "019": "Amerika",
        "021": "Šiaurinė Amerika",
        "029": "Karibai",
        "030": "Rytų Azija",
        "034": "Pietų Azija",
        "035": "Pietryčių Azija",
        "039": "Pietų Europa",
        "053": "Australazija",
        "054": "Melanezija",
        "057": "Mikronezijos regionas",
        "061": "Polinezija",
        "142": "Azija",
        "143": "Centrinė Azija",
        "145": "Vakarų Azija",
        "150": "Europa",
        "151": "Rytų Europa",
        "154": "Šiaurės Europa",
        "155": "Vakarų Europa",
        "419": "Lotynų Amerika",
        "AC": "Dangun Žengimo sala",
        "AD": "Andora",
        "AE": "Jungtiniai Arabų Emyratai",
        "AF": "Afganistanas",
        "AG": "Antigva ir Barbuda",
        "AI": "Angilija",
        "AL": "Albanija",
        "AM": "Armėnija",
        "AN": "Olandijos Antilai",
        "AQ": "Antarktida",
        "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": "Sen Bartelemi",
        "BN": "Brunėjus",
        "BO": "Bolivija",
        "BQ": "Karibų Nyderlandai",
        "BR": "Brazilija",
        "BS": "Bahamos",
        "BT": "Butanas",
        "BV": "Buvė Sala",
        "BW": "Botsvana",
        "BY": "Baltarusija",
        "BZ": "Belizas",
        "CA": "Kanada",
        "CC": "Kokosų (Kilingo) Salos",
        "CD": "Kongas-Kinšasa",
        "CF": "Centrinės Afrikos Respublika",
        "CG": "Kongas-Brazavilis",
        "CH": "Šveicarija",
        "CI": "Dramblio Kaulo Krantas",
        "CK": "Kuko Salos",
        "CL": "Čilė",
        "CM": "Kamerūnas",
        "CN": "Kinija",
        "CO": "Kolumbija",
        "CP": "Klipertono sala",
        "CR": "Kosta Rika",
        "CU": "Kuba",
        "CV": "Žaliasis Kyšulys",
        "CW": "Kiurasao",
        "CX": "Kalėdų Sala",
        "CY": "Kipras",
        "CZ": "Čekija",
        "DE": "Vokietija",
        "DG": "Diego Garsija",
        "DJ": "Džibutis",
        "DK": "Danija",
        "DM": "Dominika",
        "DO": "Dominikos Respublika",
        "DZ": "Alžyras",
        "EA": "Seuta ir Melila",
        "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": "Folklando Salos",
        "FM": "Mikronezija",
        "FO": "Farerų Salos",
        "FR": "Prancūzija",
        "GA": "Gabonas",
        "GB": "Didžioji Britanija",
        "GE": "Gruzija",
        "GF": "Prancūzijos Gviana",
        "GG": "Gernsis",
        "GH": "Gana",
        "GI": "Gibraltaras",
        "GL": "Grenlandija",
        "GM": "Gambija",
        "GN": "Gvinėja",
        "GP": "Gvadelupa",
        "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": "Ypatingasis Administracinis Kinijos Regionas Honkongas",
        "HM": "Herdo ir Makdonaldo Salos",
        "HN": "Hondūras",
        "HR": "Kroatija",
        "HT": "Haitis",
        "HU": "Vengrija",
        "IC": "Kanarų salos",
        "ID": "Indonezija",
        "IE": "Airija",
        "IL": "Izraelis",
        "IM": "Meno 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": "Kirgizija",
        "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": "Sen Martenas",
        "MG": "Madagaskaras",
        "MH": "Maršalo Salos",
        "MK": "Makedonija",
        "ML": "Malis",
        "MM": "Mianmaras (Birma)",
        "MN": "Mongolija",
        "MO": "Ypatingasis Administracinis Kinijos Regionas Makao",
        "MP": "Marianos Šiaurinės Salos",
        "MQ": "Martinika",
        "MR": "Mauritanija",
        "MS": "Montseratas",
        "MU": "Mauricijus",
        "MV": "Maldyvai",
        "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",
        "NU": "Niujė",
        "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": "Reunjonas",
        "RO": "Rumunija",
        "RS": "Serbija",
        "RU": "Rusija",
        "RW": "Ruanda",
        "SA": "Saudo Arabija",
        "SB": "Saliamono Salos",
        "SC": "Seišeliai",
        "SD": "Sudanas",
        "SE": "Švedija",
        "SG": "Singapūras",
        "SH": "Šv. Elenos Sala",
        "SI": "Slovėnija",
        "SJ": "Svalbardas ir Janas Majenas",
        "SK": "Slovakija",
        "SL": "Siera Leonė",
        "SM": "San Marinas",
        "SN": "Senegalas",
        "SO": "Somalis",
        "SR": "Surinamas",
        "SS": "Pietų Sudanas",
        "ST": "San Tomė ir Prinsipė",
        "SV": "Salvadoras",
        "SX": "Sint Martenas",
        "SY": "Sirija",
        "SZ": "Svazilandas",
        "TA": "Tristanas da Kunja",
        "TC": "Terkso ir Kaikoso Salos",
        "TD": "Čadas",
        "TF": "Prancūzijos Pietų sritys",
        "TG": "Togas",
        "TH": "Tailandas",
        "TJ": "Tadžikija",
        "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 Tolimosios Salos",
        "US": "Jungtinės Valstijos",
        "UY": "Urugvajus",
        "UZ": "Uzbekistanas",
        "VA": "Vatikano Miesto Valstybė",
        "VC": "Šventasis Vincentas ir Grenadinai",
        "VE": "Venesuela",
        "VG": "Didžiosios Britanijos Mergelių Salos",
        "VI": "Jungtinių Valstijų Mergelių Salos",
        "VN": "Vietnamas",
        "WF": "Volisas ir Futuna",
        "XK": "Kosovas",
        "YE": "Jemenas",
        "YT": "Majotas",
        "ZA": "Pietų Afrika",
        "ZM": "Zambija",
        "ZW": "Zimbabvė",
        "ZZ": "nežinoma sritis"
    };
  }-*/;
}
