/*
 * 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: 2014-02-13 05:14:13 +0100 (Thu, 13 Feb 2014) $
//  number=$Revision: 9728 $
//  type=root

/**
 * Localized names for the "shi_Latn" locale.
 */
public class LocalizedNamesImpl_shi_Latn extends LocalizedNamesImpl_shi {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "andura");
    namesMap.put("AE", "limarat");
    namesMap.put("AF", "afɣanistan");
    namesMap.put("AG", "antiga d brbuda");
    namesMap.put("AI", "angila");
    namesMap.put("AL", "albanya");
    namesMap.put("AM", "arminya");
    namesMap.put("AN", "antiy n hulanda");
    namesMap.put("AO", "angula");
    namesMap.put("AR", "arjantin");
    namesMap.put("AS", "samwa tamirikanit");
    namesMap.put("AT", "nnmsa");
    namesMap.put("AU", "ustralya");
    namesMap.put("AW", "aruba");
    namesMap.put("AZ", "adrabijan");
    namesMap.put("BA", "busna d hirsik");
    namesMap.put("BB", "barbad");
    namesMap.put("BD", "bangladic");
    namesMap.put("BE", "bljika");
    namesMap.put("BF", "burkina fasu");
    namesMap.put("BG", "blɣara");
    namesMap.put("BH", "bḥrayn");
    namesMap.put("BI", "burundi");
    namesMap.put("BJ", "binin");
    namesMap.put("BM", "brmuda");
    namesMap.put("BN", "bruni");
    namesMap.put("BO", "bulibya");
    namesMap.put("BR", "brazil");
    namesMap.put("BS", "bahamas");
    namesMap.put("BT", "bhutan");
    namesMap.put("BW", "butswana");
    namesMap.put("BY", "bilarusya");
    namesMap.put("BZ", "biliz");
    namesMap.put("CA", "kanada");
    namesMap.put("CD", "tagdudant tadimukratit n Kongo");
    namesMap.put("CF", "tagdudant tanammast n ifriqya");
    namesMap.put("CG", "kungu");
    namesMap.put("CH", "swisra");
    namesMap.put("CI", "kut difwar");
    namesMap.put("CK", "tigzirin n kuk");
    namesMap.put("CL", "ccili");
    namesMap.put("CM", "kamirun");
    namesMap.put("CN", "ccinwa");
    namesMap.put("CO", "culumbya");
    namesMap.put("CR", "kusta rika");
    namesMap.put("CU", "kuba");
    namesMap.put("CV", "tigzirin n kabbirdi");
    namesMap.put("CY", "qubrus");
    namesMap.put("CZ", "tagdudant tatcikit");
    namesMap.put("DE", "almanya");
    namesMap.put("DJ", "djibuti");
    namesMap.put("DK", "danmark");
    namesMap.put("DM", "duminik");
    namesMap.put("DO", "tagdudant taduminikt");
    namesMap.put("DZ", "dzayr");
    namesMap.put("EC", "ikwadur");
    namesMap.put("EE", "istunya");
    namesMap.put("EG", "miṣṛ");
    namesMap.put("ER", "iritirya");
    namesMap.put("ES", "sbanya");
    namesMap.put("ET", "ityubya");
    namesMap.put("FI", "fillanda");
    namesMap.put("FJ", "fidji");
    namesMap.put("FK", "tigzirin n malawi");
    namesMap.put("FM", "mikrunizya");
    namesMap.put("FR", "fransa");
    namesMap.put("GA", "gabun");
    namesMap.put("GB", "tagldit imunn");
    namesMap.put("GD", "ɣrnaṭa");
    namesMap.put("GE", "jurjya");
    namesMap.put("GF", "gwiyan tafransist");
    namesMap.put("GH", "ɣana");
    namesMap.put("GI", "adrar n ṭaṛiq");
    namesMap.put("GL", "griland");
    namesMap.put("GM", "gambya");
    namesMap.put("GN", "ɣinya");
    namesMap.put("GP", "gwadalub");
    namesMap.put("GQ", "ɣinya n ikwadur");
    namesMap.put("GR", "lyunan");
    namesMap.put("GT", "gwatimala");
    namesMap.put("GU", "gwam");
    namesMap.put("GW", "ɣinya bisaw");
    namesMap.put("GY", "gwiyana");
    namesMap.put("HN", "hunduras");
    namesMap.put("HR", "krwatya");
    namesMap.put("HT", "hayti");
    namesMap.put("HU", "hnɣarya");
    namesMap.put("ID", "andunisya");
    namesMap.put("IE", "irlanda");
    namesMap.put("IL", "israyil");
    namesMap.put("IN", "lhind");
    namesMap.put("IO", "tamnaḍt tanglizit n ugaru ahindi");
    namesMap.put("IQ", "lɛiraq");
    namesMap.put("IR", "iran");
    namesMap.put("IS", "island");
    namesMap.put("IT", "iṭalya");
    namesMap.put("JM", "jamayka");
    namesMap.put("JO", "lurdun");
    namesMap.put("JP", "lyaban");
    namesMap.put("KE", "kinya");
    namesMap.put("KG", "kirɣizistan");
    namesMap.put("KH", "kambudya");
    namesMap.put("KI", "kiribati");
    namesMap.put("KM", "cumur");
    namesMap.put("KN", "sankris d nifis");
    namesMap.put("KP", "kurya n iẓẓlmḍ");
    namesMap.put("KR", "kurya n iffus");
    namesMap.put("KW", "lkwit");
    namesMap.put("KY", "tigzirin n kayman");
    namesMap.put("KZ", "kazaxstan");
    namesMap.put("LA", "laws");
    namesMap.put("LB", "lubnan");
    namesMap.put("LC", "santlusi");
    namesMap.put("LI", "likinctayn");
    namesMap.put("LK", "srilanka");
    namesMap.put("LR", "libirya");
    namesMap.put("LS", "liṣuṭu");
    namesMap.put("LT", "litwanya");
    namesMap.put("LU", "luksanburg");
    namesMap.put("LV", "latfya");
    namesMap.put("LY", "libya");
    namesMap.put("MA", "lmɣrib");
    namesMap.put("MC", "munaku");
    namesMap.put("MD", "muldufya");
    namesMap.put("MG", "madaɣacqar");
    namesMap.put("MH", "tigzirin n marcal");
    namesMap.put("MK", "masidunya");
    namesMap.put("ML", "mali");
    namesMap.put("MM", "myanmar");
    namesMap.put("MN", "mnɣulya");
    namesMap.put("MP", "tigzirin n maryan n iẓẓlmḍ");
    namesMap.put("MQ", "martinik");
    namesMap.put("MR", "muṛiṭanya");
    namesMap.put("MS", "munsirat");
    namesMap.put("MT", "malṭa");
    namesMap.put("MU", "muris");
    namesMap.put("MV", "maldif");
    namesMap.put("MW", "malawi");
    namesMap.put("MX", "miksik");
    namesMap.put("MY", "malizya");
    namesMap.put("MZ", "muznbiq");
    namesMap.put("NA", "namibya");
    namesMap.put("NC", "kalidunya tamaynut");
    namesMap.put("NE", "nnijir");
    namesMap.put("NF", "tigzirin n nurfulk");
    namesMap.put("NG", "nijirya");
    namesMap.put("NI", "nikaragwa");
    namesMap.put("NL", "hulanda");
    namesMap.put("NO", "nnrwij");
    namesMap.put("NP", "nibal");
    namesMap.put("NR", "nawru");
    namesMap.put("NU", "niwi");
    namesMap.put("NZ", "nyuzilanda");
    namesMap.put("OM", "ɛuman");
    namesMap.put("PA", "banama");
    namesMap.put("PE", "biru");
    namesMap.put("PF", "bulinizya tafransist");
    namesMap.put("PG", "babwa ɣinya tamaynut");
    namesMap.put("PH", "filibbin");
    namesMap.put("PK", "bakistan");
    namesMap.put("PL", "bulunya");
    namesMap.put("PM", "sanbyir d miklun");
    namesMap.put("PN", "bitkayrn");
    namesMap.put("PR", "burtu riku");
    namesMap.put("PS", "agmmaḍ n tagut d ɣzza");
    namesMap.put("PT", "bṛṭqiz");
    namesMap.put("PW", "balaw");
    namesMap.put("PY", "baragway");
    namesMap.put("QA", "qatar");
    namesMap.put("RE", "riyunyun");
    namesMap.put("RO", "rumanya");
    namesMap.put("RU", "rusya");
    namesMap.put("RW", "rwanda");
    namesMap.put("SA", "ssaɛudiya");
    namesMap.put("SB", "tigzirin n saluman");
    namesMap.put("SC", "ssicil");
    namesMap.put("SD", "ssudan");
    namesMap.put("SE", "sswid");
    namesMap.put("SG", "snɣafura");
    namesMap.put("SH", "santilin");
    namesMap.put("SI", "slufinya");
    namesMap.put("SK", "slufakya");
    namesMap.put("SL", "ssiralyun");
    namesMap.put("SM", "sanmarinu");
    namesMap.put("SN", "ssinigal");
    namesMap.put("SO", "ṣṣumal");
    namesMap.put("SR", "surinam");
    namesMap.put("ST", "sawṭumi d bransib");
    namesMap.put("SV", "salfadur");
    namesMap.put("SY", "surya");
    namesMap.put("SZ", "swazilanda");
    namesMap.put("TC", "tigzirin n turkya d kayk");
    namesMap.put("TD", "tcad");
    namesMap.put("TG", "ṭugu");
    namesMap.put("TH", "ṭayland");
    namesMap.put("TJ", "tadjakistan");
    namesMap.put("TK", "ṭuklaw");
    namesMap.put("TL", "timur n lqblt");
    namesMap.put("TM", "turkmanstan");
    namesMap.put("TN", "tuns");
    namesMap.put("TO", "ṭunga");
    namesMap.put("TR", "turkya");
    namesMap.put("TT", "trinidad d ṭubagu");
    namesMap.put("TV", "tufalu");
    namesMap.put("TW", "ṭaywan");
    namesMap.put("TZ", "ṭanẓanya");
    namesMap.put("UA", "ukranya");
    namesMap.put("UG", "uɣanda");
    namesMap.put("US", "iwunak munnin n mirikan");
    namesMap.put("UY", "urugway");
    namesMap.put("UZ", "uzbakistan");
    namesMap.put("VA", "awank n fatikan");
    namesMap.put("VC", "sanfansan d grinadin");
    namesMap.put("VE", "finzwila");
    namesMap.put("VG", "tigzirin timgad n nngliz");
    namesMap.put("VI", "tigzirin timgad n iwunak munnin");
    namesMap.put("VN", "fitnam");
    namesMap.put("VU", "fanwaṭu");
    namesMap.put("WF", "walis d futuna");
    namesMap.put("WS", "samwa");
    namesMap.put("YE", "yaman");
    namesMap.put("YT", "mayuṭ");
    namesMap.put("ZA", "afriqya n iffus");
    namesMap.put("ZM", "zambya");
    namesMap.put("ZW", "zimbabwi");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "andura",
        "AE": "limarat",
        "AF": "afɣanistan",
        "AG": "antiga d brbuda",
        "AI": "angila",
        "AL": "albanya",
        "AM": "arminya",
        "AN": "antiy n hulanda",
        "AO": "angula",
        "AR": "arjantin",
        "AS": "samwa tamirikanit",
        "AT": "nnmsa",
        "AU": "ustralya",
        "AW": "aruba",
        "AZ": "adrabijan",
        "BA": "busna d hirsik",
        "BB": "barbad",
        "BD": "bangladic",
        "BE": "bljika",
        "BF": "burkina fasu",
        "BG": "blɣara",
        "BH": "bḥrayn",
        "BI": "burundi",
        "BJ": "binin",
        "BM": "brmuda",
        "BN": "bruni",
        "BO": "bulibya",
        "BR": "brazil",
        "BS": "bahamas",
        "BT": "bhutan",
        "BW": "butswana",
        "BY": "bilarusya",
        "BZ": "biliz",
        "CA": "kanada",
        "CD": "tagdudant tadimukratit n Kongo",
        "CF": "tagdudant tanammast n ifriqya",
        "CG": "kungu",
        "CH": "swisra",
        "CI": "kut difwar",
        "CK": "tigzirin n kuk",
        "CL": "ccili",
        "CM": "kamirun",
        "CN": "ccinwa",
        "CO": "culumbya",
        "CR": "kusta rika",
        "CU": "kuba",
        "CV": "tigzirin n kabbirdi",
        "CY": "qubrus",
        "CZ": "tagdudant tatcikit",
        "DE": "almanya",
        "DJ": "djibuti",
        "DK": "danmark",
        "DM": "duminik",
        "DO": "tagdudant taduminikt",
        "DZ": "dzayr",
        "EC": "ikwadur",
        "EE": "istunya",
        "EG": "miṣṛ",
        "ER": "iritirya",
        "ES": "sbanya",
        "ET": "ityubya",
        "FI": "fillanda",
        "FJ": "fidji",
        "FK": "tigzirin n malawi",
        "FM": "mikrunizya",
        "FR": "fransa",
        "GA": "gabun",
        "GB": "tagldit imunn",
        "GD": "ɣrnaṭa",
        "GE": "jurjya",
        "GF": "gwiyan tafransist",
        "GH": "ɣana",
        "GI": "adrar n ṭaṛiq",
        "GL": "griland",
        "GM": "gambya",
        "GN": "ɣinya",
        "GP": "gwadalub",
        "GQ": "ɣinya n ikwadur",
        "GR": "lyunan",
        "GT": "gwatimala",
        "GU": "gwam",
        "GW": "ɣinya bisaw",
        "GY": "gwiyana",
        "HN": "hunduras",
        "HR": "krwatya",
        "HT": "hayti",
        "HU": "hnɣarya",
        "ID": "andunisya",
        "IE": "irlanda",
        "IL": "israyil",
        "IN": "lhind",
        "IO": "tamnaḍt tanglizit n ugaru ahindi",
        "IQ": "lɛiraq",
        "IR": "iran",
        "IS": "island",
        "IT": "iṭalya",
        "JM": "jamayka",
        "JO": "lurdun",
        "JP": "lyaban",
        "KE": "kinya",
        "KG": "kirɣizistan",
        "KH": "kambudya",
        "KI": "kiribati",
        "KM": "cumur",
        "KN": "sankris d nifis",
        "KP": "kurya n iẓẓlmḍ",
        "KR": "kurya n iffus",
        "KW": "lkwit",
        "KY": "tigzirin n kayman",
        "KZ": "kazaxstan",
        "LA": "laws",
        "LB": "lubnan",
        "LC": "santlusi",
        "LI": "likinctayn",
        "LK": "srilanka",
        "LR": "libirya",
        "LS": "liṣuṭu",
        "LT": "litwanya",
        "LU": "luksanburg",
        "LV": "latfya",
        "LY": "libya",
        "MA": "lmɣrib",
        "MC": "munaku",
        "MD": "muldufya",
        "MG": "madaɣacqar",
        "MH": "tigzirin n marcal",
        "MK": "masidunya",
        "ML": "mali",
        "MM": "myanmar",
        "MN": "mnɣulya",
        "MP": "tigzirin n maryan n iẓẓlmḍ",
        "MQ": "martinik",
        "MR": "muṛiṭanya",
        "MS": "munsirat",
        "MT": "malṭa",
        "MU": "muris",
        "MV": "maldif",
        "MW": "malawi",
        "MX": "miksik",
        "MY": "malizya",
        "MZ": "muznbiq",
        "NA": "namibya",
        "NC": "kalidunya tamaynut",
        "NE": "nnijir",
        "NF": "tigzirin n nurfulk",
        "NG": "nijirya",
        "NI": "nikaragwa",
        "NL": "hulanda",
        "NO": "nnrwij",
        "NP": "nibal",
        "NR": "nawru",
        "NU": "niwi",
        "NZ": "nyuzilanda",
        "OM": "ɛuman",
        "PA": "banama",
        "PE": "biru",
        "PF": "bulinizya tafransist",
        "PG": "babwa ɣinya tamaynut",
        "PH": "filibbin",
        "PK": "bakistan",
        "PL": "bulunya",
        "PM": "sanbyir d miklun",
        "PN": "bitkayrn",
        "PR": "burtu riku",
        "PS": "agmmaḍ n tagut d ɣzza",
        "PT": "bṛṭqiz",
        "PW": "balaw",
        "PY": "baragway",
        "QA": "qatar",
        "RE": "riyunyun",
        "RO": "rumanya",
        "RU": "rusya",
        "RW": "rwanda",
        "SA": "ssaɛudiya",
        "SB": "tigzirin n saluman",
        "SC": "ssicil",
        "SD": "ssudan",
        "SE": "sswid",
        "SG": "snɣafura",
        "SH": "santilin",
        "SI": "slufinya",
        "SK": "slufakya",
        "SL": "ssiralyun",
        "SM": "sanmarinu",
        "SN": "ssinigal",
        "SO": "ṣṣumal",
        "SR": "surinam",
        "ST": "sawṭumi d bransib",
        "SV": "salfadur",
        "SY": "surya",
        "SZ": "swazilanda",
        "TC": "tigzirin n turkya d kayk",
        "TD": "tcad",
        "TG": "ṭugu",
        "TH": "ṭayland",
        "TJ": "tadjakistan",
        "TK": "ṭuklaw",
        "TL": "timur n lqblt",
        "TM": "turkmanstan",
        "TN": "tuns",
        "TO": "ṭunga",
        "TR": "turkya",
        "TT": "trinidad d ṭubagu",
        "TV": "tufalu",
        "TW": "ṭaywan",
        "TZ": "ṭanẓanya",
        "UA": "ukranya",
        "UG": "uɣanda",
        "US": "iwunak munnin n mirikan",
        "UY": "urugway",
        "UZ": "uzbakistan",
        "VA": "awank n fatikan",
        "VC": "sanfansan d grinadin",
        "VE": "finzwila",
        "VG": "tigzirin timgad n nngliz",
        "VI": "tigzirin timgad n iwunak munnin",
        "VN": "fitnam",
        "VU": "fanwaṭu",
        "WF": "walis d futuna",
        "WS": "samwa",
        "YE": "yaman",
        "YT": "mayuṭ",
        "ZA": "afriqya n iffus",
        "ZM": "zambya",
        "ZW": "zimbabwi"
    };
  }-*/;
}
