/*
 * 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 "yue" locale.
 */
public class LocalizedNamesImpl_yue extends LocalizedNamesImpl {

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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "世界");
    namesMap.put("002", "非洲");
    namesMap.put("003", "北美洲");
    namesMap.put("005", "南美洲");
    namesMap.put("009", "大洋洲");
    namesMap.put("011", "西非");
    namesMap.put("013", "中美");
    namesMap.put("014", "東非");
    namesMap.put("015", "北非");
    namesMap.put("017", "中非");
    namesMap.put("018", "非洲南部");
    namesMap.put("019", "美洲");
    namesMap.put("021", "北美");
    namesMap.put("029", "加勒比海");
    namesMap.put("030", "東亞");
    namesMap.put("034", "南亞");
    namesMap.put("035", "東南亞");
    namesMap.put("039", "南歐");
    namesMap.put("053", "澳洲同紐西蘭");
    namesMap.put("054", "美拉尼西亞");
    namesMap.put("057", "密克羅尼西亞");
    namesMap.put("061", "玻里尼西亞");
    namesMap.put("142", "亞洲");
    namesMap.put("143", "中亞");
    namesMap.put("145", "西亞");
    namesMap.put("150", "歐洲");
    namesMap.put("151", "東歐");
    namesMap.put("154", "北歐");
    namesMap.put("155", "西歐");
    namesMap.put("202", "撒哈拉以南非洲");
    namesMap.put("419", "拉丁美洲");
    namesMap.put("AC", "阿森松島");
    namesMap.put("AD", "安道爾");
    namesMap.put("AE", "阿拉伯聯合大公國");
    namesMap.put("AF", "阿富汗");
    namesMap.put("AG", "安提瓜同巴布達");
    namesMap.put("AI", "安圭拉");
    namesMap.put("AL", "阿爾巴尼亞");
    namesMap.put("AM", "亞美尼亞");
    namesMap.put("AO", "安哥拉");
    namesMap.put("AQ", "南極洲");
    namesMap.put("AR", "阿根廷");
    namesMap.put("AS", "美屬薩摩亞");
    namesMap.put("AT", "奧地利");
    namesMap.put("AU", "澳洲");
    namesMap.put("AW", "荷屬阿魯巴");
    namesMap.put("AX", "奧蘭群島");
    namesMap.put("AZ", "亞塞拜然");
    namesMap.put("BA", "波斯尼亞同黑塞哥維那");
    namesMap.put("BB", "巴貝多");
    namesMap.put("BD", "孟加拉");
    namesMap.put("BE", "比利時");
    namesMap.put("BF", "布吉納法索");
    namesMap.put("BG", "保加利亞");
    namesMap.put("BH", "巴林");
    namesMap.put("BI", "蒲隆地");
    namesMap.put("BJ", "貝南");
    namesMap.put("BL", "聖巴瑟米");
    namesMap.put("BM", "百慕達");
    namesMap.put("BN", "汶萊");
    namesMap.put("BO", "玻利維亞");
    namesMap.put("BQ", "荷蘭加勒比區");
    namesMap.put("BR", "巴西");
    namesMap.put("BS", "巴哈馬");
    namesMap.put("BT", "不丹");
    namesMap.put("BV", "布威島");
    namesMap.put("BW", "波札那");
    namesMap.put("BY", "白俄羅斯");
    namesMap.put("BZ", "貝里斯");
    namesMap.put("CA", "加拿大");
    namesMap.put("CC", "科科斯（基林）群島");
    namesMap.put("CD", "剛果（金夏沙）");
    namesMap.put("CF", "中非共和國");
    namesMap.put("CG", "剛果（布拉薩）");
    namesMap.put("CH", "瑞士");
    namesMap.put("CI", "象牙海岸");
    namesMap.put("CK", "庫克群島");
    namesMap.put("CL", "智利");
    namesMap.put("CM", "喀麥隆");
    namesMap.put("CN", "中華人民共和國");
    namesMap.put("CO", "哥倫比亞");
    namesMap.put("CP", "克里派頓島");
    namesMap.put("CR", "哥斯大黎加");
    namesMap.put("CU", "古巴");
    namesMap.put("CV", "維德角");
    namesMap.put("CW", "庫拉索");
    namesMap.put("CX", "聖誕島");
    namesMap.put("CY", "賽普勒斯");
    namesMap.put("CZ", "捷克");
    namesMap.put("DE", "德國");
    namesMap.put("DG", "迪亞哥加西亞島");
    namesMap.put("DJ", "吉布地");
    namesMap.put("DK", "丹麥");
    namesMap.put("DM", "多米尼克");
    namesMap.put("DO", "多明尼加共和國");
    namesMap.put("DZ", "阿爾及利亞");
    namesMap.put("EA", "休達與梅利利亞");
    namesMap.put("EC", "厄瓜多");
    namesMap.put("EE", "愛沙尼亞");
    namesMap.put("EG", "埃及");
    namesMap.put("EH", "西撒哈拉");
    namesMap.put("ER", "厄利垂亞");
    namesMap.put("ES", "西班牙");
    namesMap.put("ET", "衣索比亞");
    namesMap.put("EU", "歐盟");
    namesMap.put("EZ", "歐元區");
    namesMap.put("FI", "芬蘭");
    namesMap.put("FJ", "斐濟");
    namesMap.put("FK", "福克蘭群島");
    namesMap.put("FM", "密克羅尼西亞群島");
    namesMap.put("FO", "法羅群島");
    namesMap.put("FR", "法國");
    namesMap.put("GA", "加彭");
    namesMap.put("GB", "英國");
    namesMap.put("GD", "格瑞那達");
    namesMap.put("GE", "喬治亞共和國");
    namesMap.put("GF", "法屬圭亞那");
    namesMap.put("GG", "根西島");
    namesMap.put("GH", "迦納");
    namesMap.put("GI", "直布羅陀");
    namesMap.put("GL", "格陵蘭");
    namesMap.put("GM", "甘比亞");
    namesMap.put("GN", "幾內亞");
    namesMap.put("GP", "瓜地洛普");
    namesMap.put("GQ", "赤道幾內亞");
    namesMap.put("GR", "希臘");
    namesMap.put("GS", "南佐治亞島同南桑威奇群島");
    namesMap.put("GT", "瓜地馬拉");
    namesMap.put("GU", "關島");
    namesMap.put("GW", "幾內亞比索");
    namesMap.put("GY", "蓋亞那");
    namesMap.put("HK", "中華人民共和國香港特別行政區");
    namesMap.put("HM", "赫德島同麥克唐納群島");
    namesMap.put("HN", "宏都拉斯");
    namesMap.put("HR", "克羅埃西亞");
    namesMap.put("HT", "海地");
    namesMap.put("HU", "匈牙利");
    namesMap.put("IC", "加那利群島");
    namesMap.put("ID", "印尼");
    namesMap.put("IE", "愛爾蘭");
    namesMap.put("IL", "以色列");
    namesMap.put("IM", "曼島");
    namesMap.put("IN", "印度");
    namesMap.put("IO", "英屬印度洋領地");
    namesMap.put("IQ", "伊拉克");
    namesMap.put("IR", "伊朗");
    namesMap.put("IS", "冰島");
    namesMap.put("IT", "義大利");
    namesMap.put("JE", "澤西島");
    namesMap.put("JM", "牙買加");
    namesMap.put("JO", "約旦");
    namesMap.put("JP", "日本");
    namesMap.put("KE", "肯亞");
    namesMap.put("KG", "吉爾吉斯");
    namesMap.put("KH", "柬埔寨");
    namesMap.put("KI", "吉里巴斯");
    namesMap.put("KM", "葛摩");
    namesMap.put("KN", "聖基茨同尼維斯");
    namesMap.put("KP", "北韓");
    namesMap.put("KR", "南韓");
    namesMap.put("KW", "科威特");
    namesMap.put("KY", "開曼群島");
    namesMap.put("KZ", "哈薩克");
    namesMap.put("LA", "寮國");
    namesMap.put("LB", "黎巴嫩");
    namesMap.put("LC", "聖露西亞");
    namesMap.put("LI", "列支敦斯登");
    namesMap.put("LK", "斯里蘭卡");
    namesMap.put("LR", "賴比瑞亞");
    namesMap.put("LS", "賴索托");
    namesMap.put("LT", "立陶宛");
    namesMap.put("LU", "盧森堡");
    namesMap.put("LV", "拉脫維亞");
    namesMap.put("LY", "利比亞");
    namesMap.put("MA", "摩洛哥");
    namesMap.put("MC", "摩納哥");
    namesMap.put("MD", "摩爾多瓦");
    namesMap.put("ME", "蒙特內哥羅");
    namesMap.put("MF", "法屬聖馬丁");
    namesMap.put("MG", "馬達加斯加");
    namesMap.put("MH", "馬紹爾群島");
    namesMap.put("MK", "馬其頓");
    namesMap.put("ML", "馬利");
    namesMap.put("MM", "緬甸");
    namesMap.put("MN", "蒙古");
    namesMap.put("MO", "中華人民共和國澳門特別行政區");
    namesMap.put("MP", "北馬里亞納群島");
    namesMap.put("MQ", "馬丁尼克島");
    namesMap.put("MR", "茅利塔尼亞");
    namesMap.put("MS", "蒙哲臘");
    namesMap.put("MT", "馬爾他");
    namesMap.put("MU", "模里西斯");
    namesMap.put("MV", "馬爾地夫");
    namesMap.put("MW", "馬拉威");
    namesMap.put("MX", "墨西哥");
    namesMap.put("MY", "馬來西亞");
    namesMap.put("MZ", "莫三比克");
    namesMap.put("NA", "納米比亞");
    namesMap.put("NC", "新喀里多尼亞");
    namesMap.put("NE", "尼日");
    namesMap.put("NF", "諾福克島");
    namesMap.put("NG", "奈及利亞");
    namesMap.put("NI", "尼加拉瓜");
    namesMap.put("NL", "荷蘭");
    namesMap.put("NO", "挪威");
    namesMap.put("NP", "尼泊爾");
    namesMap.put("NR", "諾魯");
    namesMap.put("NU", "紐埃島");
    namesMap.put("NZ", "紐西蘭");
    namesMap.put("OM", "阿曼王國");
    namesMap.put("PA", "巴拿馬");
    namesMap.put("PE", "秘魯");
    namesMap.put("PF", "法屬玻里尼西亞");
    namesMap.put("PG", "巴布亞紐幾內亞");
    namesMap.put("PH", "菲律賓");
    namesMap.put("PK", "巴基斯坦");
    namesMap.put("PL", "波蘭");
    namesMap.put("PM", "聖皮埃爾同密克隆群島");
    namesMap.put("PN", "皮特肯群島");
    namesMap.put("PR", "波多黎各");
    namesMap.put("PS", "巴勒斯坦自治區");
    namesMap.put("PT", "葡萄牙");
    namesMap.put("PW", "帛琉");
    namesMap.put("PY", "巴拉圭");
    namesMap.put("QA", "卡達");
    namesMap.put("QO", "大洋洲邊疆群島");
    namesMap.put("RE", "留尼旺");
    namesMap.put("RO", "羅馬尼亞");
    namesMap.put("RS", "塞爾維亞");
    namesMap.put("RU", "俄羅斯");
    namesMap.put("RW", "盧安達");
    namesMap.put("SA", "沙烏地阿拉伯");
    namesMap.put("SB", "索羅門群島");
    namesMap.put("SC", "塞席爾");
    namesMap.put("SD", "蘇丹");
    namesMap.put("SE", "瑞典");
    namesMap.put("SG", "新加坡");
    namesMap.put("SH", "聖赫勒拿島");
    namesMap.put("SI", "斯洛維尼亞");
    namesMap.put("SJ", "斯瓦爾巴特群島同揚馬延島");
    namesMap.put("SK", "斯洛伐克");
    namesMap.put("SL", "獅子山");
    namesMap.put("SM", "聖馬利諾");
    namesMap.put("SN", "塞內加爾");
    namesMap.put("SO", "索馬利亞");
    namesMap.put("SR", "蘇利南");
    namesMap.put("SS", "南蘇丹");
    namesMap.put("ST", "聖多美同普林西比");
    namesMap.put("SV", "薩爾瓦多");
    namesMap.put("SX", "荷屬聖馬丁");
    namesMap.put("SY", "敘利亞");
    namesMap.put("SZ", "史瓦濟蘭");
    namesMap.put("TA", "特里斯坦達庫尼亞群島");
    namesMap.put("TC", "土克斯及開科斯群島");
    namesMap.put("TD", "查德");
    namesMap.put("TF", "法屬南方屬地");
    namesMap.put("TG", "多哥");
    namesMap.put("TH", "泰國");
    namesMap.put("TJ", "塔吉克");
    namesMap.put("TK", "托克勞群島");
    namesMap.put("TL", "東帝汶");
    namesMap.put("TM", "土庫曼");
    namesMap.put("TN", "突尼西亞");
    namesMap.put("TO", "東加");
    namesMap.put("TR", "土耳其");
    namesMap.put("TT", "千里達同多巴哥");
    namesMap.put("TV", "吐瓦魯");
    namesMap.put("TW", "台灣");
    namesMap.put("TZ", "坦尚尼亞");
    namesMap.put("UA", "烏克蘭");
    namesMap.put("UG", "烏干達");
    namesMap.put("UM", "美國本土外小島嶼");
    namesMap.put("UN", "聯合國");
    namesMap.put("US", "美國");
    namesMap.put("UY", "烏拉圭");
    namesMap.put("UZ", "烏茲別克");
    namesMap.put("VA", "梵蒂岡");
    namesMap.put("VC", "聖文森特同格林納丁斯");
    namesMap.put("VE", "委內瑞拉");
    namesMap.put("VG", "英屬維京群島");
    namesMap.put("VI", "美屬維京群島");
    namesMap.put("VN", "越南");
    namesMap.put("VU", "萬那杜");
    namesMap.put("WF", "瓦利斯同富圖納群島");
    namesMap.put("WS", "薩摩亞");
    namesMap.put("XK", "科索沃");
    namesMap.put("YE", "葉門");
    namesMap.put("YT", "馬約特");
    namesMap.put("ZA", "南非");
    namesMap.put("ZM", "尚比亞");
    namesMap.put("ZW", "辛巴威");
    namesMap.put("ZZ", "未知區域");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "世界",
        "002": "非洲",
        "003": "北美洲",
        "005": "南美洲",
        "009": "大洋洲",
        "011": "西非",
        "013": "中美",
        "014": "東非",
        "015": "北非",
        "017": "中非",
        "018": "非洲南部",
        "019": "美洲",
        "021": "北美",
        "029": "加勒比海",
        "030": "東亞",
        "034": "南亞",
        "035": "東南亞",
        "039": "南歐",
        "053": "澳洲同紐西蘭",
        "054": "美拉尼西亞",
        "057": "密克羅尼西亞",
        "061": "玻里尼西亞",
        "142": "亞洲",
        "143": "中亞",
        "145": "西亞",
        "150": "歐洲",
        "151": "東歐",
        "154": "北歐",
        "155": "西歐",
        "202": "撒哈拉以南非洲",
        "419": "拉丁美洲",
        "AC": "阿森松島",
        "AD": "安道爾",
        "AE": "阿拉伯聯合大公國",
        "AF": "阿富汗",
        "AG": "安提瓜同巴布達",
        "AI": "安圭拉",
        "AL": "阿爾巴尼亞",
        "AM": "亞美尼亞",
        "AO": "安哥拉",
        "AQ": "南極洲",
        "AR": "阿根廷",
        "AS": "美屬薩摩亞",
        "AT": "奧地利",
        "AU": "澳洲",
        "AW": "荷屬阿魯巴",
        "AX": "奧蘭群島",
        "AZ": "亞塞拜然",
        "BA": "波斯尼亞同黑塞哥維那",
        "BB": "巴貝多",
        "BD": "孟加拉",
        "BE": "比利時",
        "BF": "布吉納法索",
        "BG": "保加利亞",
        "BH": "巴林",
        "BI": "蒲隆地",
        "BJ": "貝南",
        "BL": "聖巴瑟米",
        "BM": "百慕達",
        "BN": "汶萊",
        "BO": "玻利維亞",
        "BQ": "荷蘭加勒比區",
        "BR": "巴西",
        "BS": "巴哈馬",
        "BT": "不丹",
        "BV": "布威島",
        "BW": "波札那",
        "BY": "白俄羅斯",
        "BZ": "貝里斯",
        "CA": "加拿大",
        "CC": "科科斯（基林）群島",
        "CD": "剛果（金夏沙）",
        "CF": "中非共和國",
        "CG": "剛果（布拉薩）",
        "CH": "瑞士",
        "CI": "象牙海岸",
        "CK": "庫克群島",
        "CL": "智利",
        "CM": "喀麥隆",
        "CN": "中華人民共和國",
        "CO": "哥倫比亞",
        "CP": "克里派頓島",
        "CR": "哥斯大黎加",
        "CU": "古巴",
        "CV": "維德角",
        "CW": "庫拉索",
        "CX": "聖誕島",
        "CY": "賽普勒斯",
        "CZ": "捷克",
        "DE": "德國",
        "DG": "迪亞哥加西亞島",
        "DJ": "吉布地",
        "DK": "丹麥",
        "DM": "多米尼克",
        "DO": "多明尼加共和國",
        "DZ": "阿爾及利亞",
        "EA": "休達與梅利利亞",
        "EC": "厄瓜多",
        "EE": "愛沙尼亞",
        "EG": "埃及",
        "EH": "西撒哈拉",
        "ER": "厄利垂亞",
        "ES": "西班牙",
        "ET": "衣索比亞",
        "EU": "歐盟",
        "EZ": "歐元區",
        "FI": "芬蘭",
        "FJ": "斐濟",
        "FK": "福克蘭群島",
        "FM": "密克羅尼西亞群島",
        "FO": "法羅群島",
        "FR": "法國",
        "GA": "加彭",
        "GB": "英國",
        "GD": "格瑞那達",
        "GE": "喬治亞共和國",
        "GF": "法屬圭亞那",
        "GG": "根西島",
        "GH": "迦納",
        "GI": "直布羅陀",
        "GL": "格陵蘭",
        "GM": "甘比亞",
        "GN": "幾內亞",
        "GP": "瓜地洛普",
        "GQ": "赤道幾內亞",
        "GR": "希臘",
        "GS": "南佐治亞島同南桑威奇群島",
        "GT": "瓜地馬拉",
        "GU": "關島",
        "GW": "幾內亞比索",
        "GY": "蓋亞那",
        "HK": "中華人民共和國香港特別行政區",
        "HM": "赫德島同麥克唐納群島",
        "HN": "宏都拉斯",
        "HR": "克羅埃西亞",
        "HT": "海地",
        "HU": "匈牙利",
        "IC": "加那利群島",
        "ID": "印尼",
        "IE": "愛爾蘭",
        "IL": "以色列",
        "IM": "曼島",
        "IN": "印度",
        "IO": "英屬印度洋領地",
        "IQ": "伊拉克",
        "IR": "伊朗",
        "IS": "冰島",
        "IT": "義大利",
        "JE": "澤西島",
        "JM": "牙買加",
        "JO": "約旦",
        "JP": "日本",
        "KE": "肯亞",
        "KG": "吉爾吉斯",
        "KH": "柬埔寨",
        "KI": "吉里巴斯",
        "KM": "葛摩",
        "KN": "聖基茨同尼維斯",
        "KP": "北韓",
        "KR": "南韓",
        "KW": "科威特",
        "KY": "開曼群島",
        "KZ": "哈薩克",
        "LA": "寮國",
        "LB": "黎巴嫩",
        "LC": "聖露西亞",
        "LI": "列支敦斯登",
        "LK": "斯里蘭卡",
        "LR": "賴比瑞亞",
        "LS": "賴索托",
        "LT": "立陶宛",
        "LU": "盧森堡",
        "LV": "拉脫維亞",
        "LY": "利比亞",
        "MA": "摩洛哥",
        "MC": "摩納哥",
        "MD": "摩爾多瓦",
        "ME": "蒙特內哥羅",
        "MF": "法屬聖馬丁",
        "MG": "馬達加斯加",
        "MH": "馬紹爾群島",
        "MK": "馬其頓",
        "ML": "馬利",
        "MM": "緬甸",
        "MN": "蒙古",
        "MO": "中華人民共和國澳門特別行政區",
        "MP": "北馬里亞納群島",
        "MQ": "馬丁尼克島",
        "MR": "茅利塔尼亞",
        "MS": "蒙哲臘",
        "MT": "馬爾他",
        "MU": "模里西斯",
        "MV": "馬爾地夫",
        "MW": "馬拉威",
        "MX": "墨西哥",
        "MY": "馬來西亞",
        "MZ": "莫三比克",
        "NA": "納米比亞",
        "NC": "新喀里多尼亞",
        "NE": "尼日",
        "NF": "諾福克島",
        "NG": "奈及利亞",
        "NI": "尼加拉瓜",
        "NL": "荷蘭",
        "NO": "挪威",
        "NP": "尼泊爾",
        "NR": "諾魯",
        "NU": "紐埃島",
        "NZ": "紐西蘭",
        "OM": "阿曼王國",
        "PA": "巴拿馬",
        "PE": "秘魯",
        "PF": "法屬玻里尼西亞",
        "PG": "巴布亞紐幾內亞",
        "PH": "菲律賓",
        "PK": "巴基斯坦",
        "PL": "波蘭",
        "PM": "聖皮埃爾同密克隆群島",
        "PN": "皮特肯群島",
        "PR": "波多黎各",
        "PS": "巴勒斯坦自治區",
        "PT": "葡萄牙",
        "PW": "帛琉",
        "PY": "巴拉圭",
        "QA": "卡達",
        "QO": "大洋洲邊疆群島",
        "RE": "留尼旺",
        "RO": "羅馬尼亞",
        "RS": "塞爾維亞",
        "RU": "俄羅斯",
        "RW": "盧安達",
        "SA": "沙烏地阿拉伯",
        "SB": "索羅門群島",
        "SC": "塞席爾",
        "SD": "蘇丹",
        "SE": "瑞典",
        "SG": "新加坡",
        "SH": "聖赫勒拿島",
        "SI": "斯洛維尼亞",
        "SJ": "斯瓦爾巴特群島同揚馬延島",
        "SK": "斯洛伐克",
        "SL": "獅子山",
        "SM": "聖馬利諾",
        "SN": "塞內加爾",
        "SO": "索馬利亞",
        "SR": "蘇利南",
        "SS": "南蘇丹",
        "ST": "聖多美同普林西比",
        "SV": "薩爾瓦多",
        "SX": "荷屬聖馬丁",
        "SY": "敘利亞",
        "SZ": "史瓦濟蘭",
        "TA": "特里斯坦達庫尼亞群島",
        "TC": "土克斯及開科斯群島",
        "TD": "查德",
        "TF": "法屬南方屬地",
        "TG": "多哥",
        "TH": "泰國",
        "TJ": "塔吉克",
        "TK": "托克勞群島",
        "TL": "東帝汶",
        "TM": "土庫曼",
        "TN": "突尼西亞",
        "TO": "東加",
        "TR": "土耳其",
        "TT": "千里達同多巴哥",
        "TV": "吐瓦魯",
        "TW": "台灣",
        "TZ": "坦尚尼亞",
        "UA": "烏克蘭",
        "UG": "烏干達",
        "UM": "美國本土外小島嶼",
        "UN": "聯合國",
        "US": "美國",
        "UY": "烏拉圭",
        "UZ": "烏茲別克",
        "VA": "梵蒂岡",
        "VC": "聖文森特同格林納丁斯",
        "VE": "委內瑞拉",
        "VG": "英屬維京群島",
        "VI": "美屬維京群島",
        "VN": "越南",
        "VU": "萬那杜",
        "WF": "瓦利斯同富圖納群島",
        "WS": "薩摩亞",
        "XK": "科索沃",
        "YE": "葉門",
        "YT": "馬約特",
        "ZA": "南非",
        "ZM": "尚比亞",
        "ZW": "辛巴威",
        "ZZ": "未知區域"
    };
  }-*/;
}
